关于步进电机 加减速问题

两相50齿,8细分,电机每转一圈1600步,也就是1600个脉冲,现在我需要电机每次转动在10-200个脉冲,这个加减速怎么设置?

我现在没有用加减速的程序电机加负载声音很大,抖动也很大,我是直接给电机4000Hz的脉冲,如果我想平滑的变速,应该怎么设置初速度?

我这里的问题是每次送给电机的脉冲最多也就是200个,少了可能10几个,这种加减速有实现的可能吗?

你好 这个简单 步进电机的优点之一就是实现平滑启动 这里告诉你个方法
不管你怎么控制 4000Hz的脉冲都有定标器 一般用定时器来控制 以12M时钟来说明
最高转速4000Hz 每周期250微秒定时器125微秒中断一次初值TH0 = 0x0FF; TL0 = 0x83;
起始初速度200Hz 每周期5ms定时器2.5ms中断一次初值TH0 = 0x0F6; TL0 = 0x3C;
只要通过键盘改变这个这个数据就行,如 Time0_yuzhi_h,Time0_yuzhi_l这两个变量是存放定时器初值的,通过对这两个变量的加减操作就改变了电机的转速。如每一次+10,或-10就实现了现场调速。也可以是通过定时器每过0.1s自动加10,实现平滑启动。每次中断不是直接送数据,而是通过 Time0_yuzhi_h,Time0_yuzhi_l 这两个变量来加载数据,就是TH0 = Time0_yuzhi_h,TL0=Time0_yuzhi_l 明白追问

不明白,th0,tl0都是什么额,看的我晕乎乎的

追答

你好 你会单片机吗 如果不会 怎么驱动 th0 单片机定时器

追问

我用的fpga,verilog语言,看不懂定时器这些

追答

呵呵 玩的东西有点不同 编程阵列也不错 不过过程控制就差了点 建议转dsp

追问

没办法,这个IO多,我知道dsp坐主控,然后利用fpga的io输出比较好,但是现在的情况就是我只有fpga

追答

呵呵你好 我们探讨一下 阵列 是面向硬件的 单片机已处理软件为主 dsp 我们搞设备的最佳选择 但是精力有限 学精那一门都不容易 所以我现在就是单片机 就是有歇不足 可以用硬件弥补

追问

我问的主要是我这种实际情况下,这种少脉冲下的10-200个脉冲的加减速能实现吗?
速度还没升上去就马上要将下来,这样电机不会震动吗?
怎么实现我只要有个想法就一定能实现,我却经验~

追答

你好 这样 只玩硬件 控制时钟用硬件控制硬件 假如时钟由555产生 用一电位器调节 自动控制 可用锯齿波发生器控制 你感觉呢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-24
一般步进电机有两个限制:一是最高频率,一是最大力矩。这两个限制都不应超过。
特别是“最大力矩”如超过可以引起“失步”。
因此,您需要根据您的负载的惯性大小,来确定加速和减速时的加速度绝对值的界限。如果不好计算,也可以试验决定。

特别是:不宜使转速“突变”一个较大的幅度。我们知道,“突变”意味着加速度的绝对值无穷大,这当然是不好的。最好能做到“匀加速”、“匀减速”。

实现方法有很多种。上面smokeghost介绍的是大概是用51单片机定时器实现的方法。如果是其他背景,可以灵活掌握。

可以参看以下两个链接的问题里我的回答。特别是其中的后一个,有较具体的算法。限于篇幅这里不重复了。
http://zhidao.baidu.com/question/343849199.html
http://zhidao.baidu.com/question/326160812.html追问

你这个回答在我提问前就看过了,我问的问题有些具体,不知道适用不

第2个回答  2020-12-31

利用初中几何知识,实现步进电机的加速启动和减速停止