stm32停机

2019-07-14 15:07发布



大家好,请教一个问题:我用STM32f103c8作为主控通过功率驱动电路来控制一个有刷直流电机,当电机速度增大(增大PWM占空比)到一定程度时,stm32就停机了,PWM停止没有输出,其他功能也停止了工作,按理说应该是stm32受到干扰代码跑飞了,但奇怪的是,当我去转动几下电机轴后stm32又接着开始正常工作了(没有重启,速度还是停机前的速度),过一会又停机了,再转动几下电机轴后stm32又接着开始正常工作了,非常奇怪的是在stm32停机的时候它处于一个什么状态?难道是时钟停止了工作?请各位分析一下原因,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
dfzvzs
1楼-- · 2019-07-16 01:24
通过测试发现,程序并没有跑飞,还在继续运行,但是有的外设停止工作(pwm输出口和其他几个IO停止工作,比如LED输出没有反应)。各位遇到过这种情况吗?
huazhe
2楼-- · 2019-07-16 03:16
感觉跟你代码有关系,可以考虑换个测试代码验证你现有代码有无问题;
另外好好检查下各个电源脚的连接和焊接情况;
HELLOKITTYNEW
3楼-- · 2019-07-16 07:59
dfzvzs 发表于 2018-12-19 16:49
通过测试发现,程序并没有跑飞,还在继续运行,但是有的外设停止工作(pwm输出口和其他几个IO停止工作,比如LED输出没有反应)。各位遇到过这种情况吗?

不排除虚焊的可能,我有过此案例。PWM输出有时有,有时无!后来拿放大镜看才发现引脚搭焊在PCB上,焊锡没有流通,重新焊接后就OK了。
wtefewrws
4楼-- · 2019-07-16 11:53
 精彩回答 2  元偷偷看……
dfzvzs
5楼-- · 2019-07-16 16:16
huazhe 发表于 2018-12-19 16:57
感觉跟你代码有关系,可以考虑换个测试代码验证你现有代码有无问题;
另外好好检查下各个电源脚的连接和焊接情况;

本帖最后由 科科1987 于 2018-1-19 11:41 编辑

谢谢指导!
更换了代码(非常简单,仅上电后打开PWM),电机运行一会停止,手动转动电机轴有恢复了。
焊接检查没有问题。
dfzvzs
6楼-- · 2019-07-16 18:27
wtefewrws 发表于 2018-12-19 17:16
1、如果你觉得有干扰的话,在STM32和驱动芯片之间增加光耦,这样控制端就不会受电机侧的干扰。
2、不知道你这个是不是H桥,H桥的话你要确定桥臂上管和下管的驱动之间要有死区时间,感觉有可能是你死区时间设置过小,在增加PWM占空比过大时,出现了上下管近似同时导通的状态,
3、还有一个就是监控一下你的直流母线电压,看 ...

谢谢!
1、有光耦隔离;
2、不是H桥,单个mos管控制;
3、用示波器看过,排除了功率不够的可能;
现象是:速度调高后,PWM和部分IO没有输出,好像是失效了。

一周热门 更多>