你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm32f407zet6 步進馬達干擾問題

[复制链接]
Wei0405 提问时间:2023-11-18 11:34 / 未解决
我目前在嘗試用stm32接收sbus的訊號並控制4顆步進馬達遇到了一下問題。

硬體部分,我們買硬石的stm32f407標準板
我們用stm32zet6連結光耦隔離來去輸出pulse,用來控制步進的驅動器
電源的部分,馬達驅動器 跟板子的電源各別供電
,而光偶的電源跟馬達是吃同一組

軟體部分
Pulse輸出是用output compare 然後toggle模式來去輸出
然後透過delay elapsed callback來去設定下一個CCR

而sbus是轉了uart後進來 用dma的方式來去讀取數據
然後透過rxcpltcallback來去解析sbus的訊號

我們遇到的問題
當馬達那一塊沒上電時,程式跟訊號輸出都非常正常
但當馬達那塊上電後,會不定時的很像stm32死機一樣,一直輸出固定的pluse,然後整台機器不能操作,很像卡死循環一樣。

還有當馬達沒上電時,stlink可以很順利的寫入 debug程式
但上電後 怎麼寫都會抱錯。

想請問有什麼可能性導致這樣的問題
收藏 评论3 发布时间:2023-11-18 11:34

举报

3个回答
butterflyspring 回答时间:2023-11-20 10:15:54
这个现象看上去很像系统受到了干扰,导致整个系统工作故障。

可以量测一下关键的信号,比如通讯线上,关键电源,复位引脚等

如果干扰比较大,那么要从硬件线路结构上改善并采取措施了。
watershade 回答时间:2023-11-20 10:17:50

你可以用示波器比较一下电机开没开对stm32电源的影响。不知道你的SBUS的供电如何,有没有使用隔离的232收发器。

另外为了验证你的设备是否死机,可以在stm32上电的时候打印一行信息出来,或者定时打印心跳信息。这样你可以看到是不是死机了。

xmshao 回答时间:2023-11-20 11:13:30
从你反馈的问题现象来看,原因应该说还是比较清晰明了的。
就是马达的运行给微处理这边带来影响。


这里聊几句,供参考。


你看看隔离这块有无改善空间;


布局上马达驱动电路跟微处理器尽量避开;


马达驱动大电流信号线尽量远离数字小信号、时钟源、复位脚这些,必要时考虑使用屏蔽线或加屏蔽体;


地线也是重中之重,大电流地、小信号地最好分开走,并保证系统接地良好;


微处理器电源脚周边去耦电容不要省了,且就近电源脚摆放,这点可以参考数据手册电源框架图的示意与提醒;


另外,可以考虑给微处理器电源脚加上磁珠的做法;


。。。
这都是些比较常见的常规手段,你这边结合具体现状、操作便利性、成本等考虑后适当调整;


说到底,处理这些往往要花更多精力和更多成本。


再就是 软件处理方面可以做些防范措施,最简单有效的办法就是加上看门狗。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版