这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sdo2026第3期】基于边缘AI的电机状态检测步进电机适配

共1条 1/1 1 跳转至页

【Let'sdo2026第3期】基于边缘AI的电机状态检测步进电机适配

高工
2026-10-31 21:42:29     打赏

        步进电机的适配,比起三轴传感器更加简单,因为步进电机的实现原理就很简单,就是io输出的组合(我的理解是通过两个线圈中电流产生的互斥的电磁力,推动转子正反转),通过延时控制步进速度。

配置四个gpio

        我选用了PC10 PC11 PC12和PD2,原因很简单,这四个脚在板子上靠的很近且没被占用。

        配置方法也简单,直接在cubemx上把这四个口配置成gpio,并在外围组件上把这四个脚配置成输入高阻,最后导出工程即可。

图片1.jpg

图片2.jpg

适配驱动

        这块的动作也是丢给大模型去做的,我只是写了下面这些语句,之后codex便生成了可以使用的代码。

目前已经实现了三轴加速度传感器驱动,见drivers目录,还差一个步进电机驱动没有实现,帮忙按照同样的标准(标准见drivers目录下的md文件)实现步进电机驱动。该驱动资料不多,唯一的资料是https://wiki.seeedstudio.com/Gear_Stepper_Motor_Driver_Pack/。 但老实说,我认为这份参考实现的写法太过粗暴,没任何封装可言。我要求至少把步进位置按照查表法保存,正转正向查表,反转逆向查表。 另外两个注意事项,一是我准备用PC10 PC11 PC12 PD2四个gpio做IN脚,分别对应IN1, IN2, IN3, IN4,目前已在cubemx上配置好,可以直接使用(注意目前配置的是输入高阻,我认为gpio需要在驱动内部配置成需要的工作模式,并在停用驱动时恢复输入高阻),二是,我想把几个脚的翻转操作丢给定时器实现(用定时器1,应用层设置转动方向、转动度数和转动速度,这个时候启动定时器,定时器时间到后跑一相,当所需要跑的相位数到了后,就停止定时器)

        同样的,这里就不贴代码了,代码角度来说,是一种污染。

硬件接线

c562电源板树莓派底板步静电机驱动板
PC10//IN1
PC11//IN2
PC12//IN3
PD2//IN4
GNDGNDGNDGND
/5VVBUSVCC
///电机供电开关从VM拨到VCC

        在这里用电源板的原因是调试发现c562的5V带不动步进电机,当步进电机驱动板的电机供电切换到VCC时,C562就下不进程序了。

最终效果

        确认完codex生成的代码功能为正转4096相再反转4096相,再编译烧录至c562板卡上运行,确认步进电机先正转一圈,再反转一圈,效果满足规格书要求。





关键词: 基于     边缘     电机     状态     检测     步进     适配    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]