您尚未登录。

楼主 # 2024-09-13 10:32:43

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 649
积分: 782
个人网站

Linux系统驱动步进电机方案探索

目前手上有个带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)

离线

楼主 #4 2024-09-13 17:17:12

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 649
积分: 782
个人网站

Re: Linux系统驱动步进电机方案探索

AICxia 说:

D21x本来就是面向显控一体应用的,有专门用于电机控制的PWM,可以使用这些PWM输出step/dir波形。

看了下linux sdk里的PWM驱动,跟rtos sdk一样只实现了经过多个固定频率的PWM周期后就关闭PWM的功能。但这实现不了step/dir接口的加减速控制呀,加减速控制需要每经过一个PWM周期就修改一次频率!

不过改下linux驱动还是可以实现的,目前在rtos sdk上就是改了驱动才能实现加减速控制。

也是个好消息,D21x在Linux下是可以实现步进电机的加减速控制的,只是要修改下驱动。单主控方案没问题。

离线

楼主 #5 2024-09-13 17:24:57

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 649
积分: 782
个人网站

Re: Linux系统驱动步进电机方案探索

wupaul2001 说:

外挂一个MCU吧,两块多,你要精准控制,Linux做不到的

不是成本的问题,增加控制器无论是硬件还是软件整体复杂度都增加不少。

离线

楼主 #6 2024-09-13 17:41:36

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 649
积分: 782
个人网站

Re: Linux系统驱动步进电机方案探索

wupaul2001 说:

或者你可以看看T113,内置异构核,应该可以实现你想要的功能

工业应用一般都要求实时控制,所以有不少MPU+MCU的多核异构芯片方案,期待匠芯能出这种方案。全志就算了,SDK都藏头躲尾的。

最近编辑记录 海石生风 (2024-09-13 17:46:50)

离线

楼主 #11 2024-09-15 20:15:14

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 649
积分: 782
个人网站

Re: Linux系统驱动步进电机方案探索

david 说:

找根IO线控制方向 用SPI的MOSI产生波形 事先算好了转化成SPI数据 DMA过去

确实是种办法,不过D21x的Linux驱动还是有可能支持加减速控制的,SPI这个办法应该是最后的手段了。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn