完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
在我的初始化代码中,我通过一个GPIO引脚使用24V10A继电器打开两个24V电机驱动器。电机驱动器通过10欧姆NTC连接,以限制浪涌电流。相同的24V电源用于使用两个稳压器为STM32供电,这两个稳压器可转换24V-> 5V-> 3.3V。 在调试模式下,当我逐行执行时,没有问题,并且只要执行打开GPIO的命令,驱动程序就会打开。但是,当从主闪存启动时,一旦切换继电器就会触发硬故障处理程序。通过示波器检查MCU电力线时,可以看出MCU的3.3V电源线在~20ns内降至2.9V以下。如果我从连接器上拆下电机驱动器,如果没有负载就打开继电器就没有问题。 这是触发hardfault处理程序的原因吗?这是硬件问题吗?如何解决这个问题?
|
|
相关推荐
6个回答
|
|
|
你是否在微控制器和/或稳压器上安装了适当的去耦电容?
|
|
|
|
|
|
是的,我正在使用推荐的去耦电容,用于稳压器和MCU,如相应的数据表中所述。
|
|
|
|
|
|
20 ns的空白可能是一个“范围探测工件”。如果是我我会尝试更仔细的连接,探测非常接近,并且探头接地连接的电流回路面积很小。你的硬件错误可能有不同的来源。
|
|
|
|
|
|
当然,这是可能的。电源故障是一种已知的技术,通过使MCU误操作其程序来尝试绕过限制性算法,通常仅在大量自动化试验的一小部分中有用。一直做同样的事情可能会指向一个软件错误; 但是有很多方法可以达到硬故障处理程序。您应该检查您的软件和硬件,并修复任何看起来不那么强大的内容,无论它是否与此特定问题相关。
|
|
|
|
|
|
在调试模式下不会发生这个问题,motordrivers没有任何问题。MCU仅在从系统闪存启动时进入硬故障处理程序。那指的是什么吗?
|
|
|
|
|
|
学习到了。感谢分享。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2961 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2463 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2331 浏览 0 评论
2455 浏览 1 评论
1674 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 20:35 , Processed in 1.053962 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4964