单片机控制多路步进电机运行。
时间:10-02
整理:3721RD
点击:
现在制作一个产品,产品中具有8个步进电机,其中有些步进电机需要并行运行。解决1:利用多片555(或类似芯片)产生PWM(频率、占空比固定),通过与门来控制PWM输出或关闭。但是可能会照成主控MCU无法准确的计算发出脉冲导致步进电机运行距离不准确。
解决2:利用多片MCU产生PWM,自行数脉冲数。主控MCU和其利用UART等方式通讯控制调节。但是多片MCU只为产生PWM是否有点浪费。
这是我暂时想到的办法,请教各位老师有没有遇到过类似的情况,你们是如何解决这个问题的?是硬件上解决,还是软件上解决(利用伪并行RTOS)?请不吝指教!
解决2:利用多片MCU产生PWM,自行数脉冲数。主控MCU和其利用UART等方式通讯控制调节。但是多片MCU只为产生PWM是否有点浪费。
这是我暂时想到的办法,请教各位老师有没有遇到过类似的情况,你们是如何解决这个问题的?是硬件上解决,还是软件上解决(利用伪并行RTOS)?请不吝指教!
595就可以呀。3个引脚可以控制多路的步进电机
一个MCU可以有多个IO口可以产生PWM啊,为了提高效率,使用单片机的硬件PWM,我表示该方法绝对可行!单片机要选好,资源要够用。
595是串转并,利用它有几个问题:1,频率不高(速度慢);2,如果电机同频率、同时启停还可以操作。但是不同时呢?不同速呢?
个人认为用595应该可行,对于频率不高的问题,从步进电机的最高转速就可以算出来对步进电机的最高控制频率,但这个频率不可能高过595的数据传输速率,传输速率怎么也是us级的。
不同时启停,不同速,不同频率,这只是在于你的驱动码而已,即使不同595,同样有这个问题,在这里,595只是一个端口扩展和数据传输的作用,传输什么样的数据则是程序控制的问题
使用FPGA啊~FPGA天生的并行操作。同时驱动8电机没压力~如果需要显示直流的话就采用FPGA+单片机的模式。
一片 STM32 就可以了,既可以输出 PWM,又可以进行通讯控制
是的 stm32有很多定时器资源