步进电机实现加速、匀速、减速的程序如何编写?

步进电机实现加速、匀速、减速的程序如何编写?,第1张

加速和减速的程序不用太复杂吧?就用delay(x),循环一次,x减1循环个几次,就是加速程序了。要想减速程序,就是上面的减的程序变成x加1.再循环几次,就可以了。 定时:根据需要设定 加速:加入是P1.0发脉冲,就是P1=0x00delay(x)P1=0x01delay(x)循环一次x- -;需要减几次自己定,不要超出电机的最高频率 减速:程序与上面差不多,就是x++,就可以了

用PLC可能不是很容易实现. 因为你需要控制脉冲频率缓慢平滑的变化. 除非使用专用的模块, 否则还比较的费事.

如果你使用MaxDuino编程, 就简单多了:

MOTOR.begin(TIM1,200,DO1,DO2) //初始化步进电机.

MOTOR.speed(300) //设定转速300RPM.

MOTOR.Ramp(100) //加减速距离100个脉冲.

MOTOR.OpenRamp()//开启加减速控制.

MOTOR.run(DIR_ZHENG,1000) //电机开始往正方向运转1000个脉冲.

整个过程电机的S曲线加减速是自动完成的. 不需要认为控制, 比较的方便.

匀减速运动最好用PLSV,这个指令特点是每个扫描周期都可以变换脉冲频率(也就是私服的速度),这样每个扫描周期减去一定的频率就是匀减速运动。至于你说圆盘每转一圈就向前移动一定的距离,要看你的具体运动方式,如果你是圆盘转完一圈后再移动距离的话,可以用DRVI

但如果是在圆盘转的过程中前进的话有两个方案;1、用PLSV,然后以圆盘转动轴的频率为主动轴频率,在PLC程序中做一个方程匹配前进轴的速度(也就是说前进轴的速度随转动轴而变动);2、PLC只控制转动轴,而前进轴用私服的电子凸轮跟进。(但方案2造假较高)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7766338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存