目前手上有个带7寸显示屏和步进电机的新项目,用的是D21x单主控方案。步进电机只需控制AB点往返,但需要加减速控制,而Linux的PWM不支持细粒度控制,所以选了RTOS SDK进行开发,UI用AWTK。也是第一次用RT-Thread,但发现其代码质量和功能都要弱于Linux,后续还是打算切换到Linux,这就需要搞定Linux下的步进电机的加减速控制。
之前已经研究过播放wav音频 + 音频功放驱动步进电机是可行的,参见这里:
https://www.bilibili.com/video/BV1nj411D754
然而D21x的音频输出信号不是模拟信号而是PWM信号,是否可以参考上述方案用这个PWM实现step/dir接口的步进电机驱动?或者是否有其它更好的单主控驱动方案?
最近编辑记录 海石生风 (2024-09-13 10:41:43)
离线
D21x本来就是面向显控一体应用的,有专门用于电机控制的PWM,可以使用这些PWM输出step/dir波形。
看了下linux sdk里的PWM驱动,跟rtos sdk一样只实现了经过多个固定频率的PWM周期后就关闭PWM的功能。但这实现不了step/dir接口的加减速控制呀,加减速控制需要每经过一个PWM周期就修改一次频率!
不过改下linux驱动还是可以实现的,目前在rtos sdk上就是改了驱动才能实现加减速控制。
也是个好消息,D21x在Linux下是可以实现步进电机的加减速控制的,只是要修改下驱动。单主控方案没问题。
离线