你好 这个简单 步进电机的优点之一就是实现平滑启动 这里告诉你个方法
不管你怎么控制 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 明白
一般步进电机有两个限制:一是最高频率,一是最大力矩。这两个限制都不应超过。
特别是“最大力矩”如超过可以引起“失步”。
因此,您需要根据您的负载的惯性大小,来确定加速和减速时的加速度绝对值的界限。如果不好计算,也可以试验决定。
特别是:不宜使转速“突变”一个较大的幅度。我们知道,“突变”意味着加速度的绝对值无穷大,这当然是不好的。最好能做到“匀加速”、“匀减速”。
实现方法有很多种。上面smokeghost介绍的是大概是用51单片机定时器实现的方法。如果是其他背景,可以灵活掌握。
可以参看以下两个链接的问题里我的回答。特别是其中的后一个,有较具体的算法。限于篇幅这里不重复了。
http://zhidao.baidu.com/question/343849199.html
http://zhidao.baidu.com/question/326160812.html
利用初中几何知识,实现步进电机的加速启动和减速停止