stm32停机

2019-07-14 15:07发布



大家好,请教一个问题:我用STM32f103c8作为主控通过功率驱动电路来控制一个有刷直流电机,当电机速度增大(增大PWM占空比)到一定程度时,stm32就停机了,PWM停止没有输出,其他功能也停止了工作,按理说应该是stm32受到干扰代码跑飞了,但奇怪的是,当我去转动几下电机轴后stm32又接着开始正常工作了(没有重启,速度还是停机前的速度),过一会又停机了,再转动几下电机轴后stm32又接着开始正常工作了,非常奇怪的是在stm32停机的时候它处于一个什么状态?难道是时钟停止了工作?请各位分析一下原因,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
dfzvzs
1楼-- · 2019-07-14 21:28
 精彩回答 2  元偷偷看……
ctwewer
2楼-- · 2019-07-14 22:24
dfzvzs 发表于 2018-12-19 14:26
谢谢指导,硬件电路没有过流保护功能,stm32时钟电路受干扰会不会停止工作?

一般说来,即使受到干扰,时钟也不会停止,只能是程序跑飞了。一旦跑飞了,是回不来的。而你转动一下电机,又能正常工作,所以个人认为时钟和程序应该都一直在正常工作,问题应该出在电机硬件上。
zhouxk
3楼-- · 2019-07-14 23:10
用示波器看一下PWM波形,电机两端的电压。电压低带不动电机也有可能,或者电机在某个位置时的力矩不够。
前段时间弄个直流电机,PWM有输出,但是电机不转。是因为电压不够,我用了5V供电,PWM占空比是25%。当设置占空比到50%后,电机转起来了,然后再降回25%,依然在转。
dfzvzs
4楼-- · 2019-07-15 03:19
ctwewer 发表于 2018-12-19 14:41
一般说来,即使受到干扰,时钟也不会停止,只能是程序跑飞了。一旦跑飞了,是回不来的。而你转动一下电机,又能正常工作,所以个人认为时钟和程序应该都一直在正常工作,问题应该出在电机硬件上。

谢谢指导!在停机时用示波器看stm32的PWM输出引脚没有PWM波形,难道stm32受到干扰后寄存器会随机改变吗,比如像这种现象是不是pwm控制寄存器受到干扰而改变了?
dfzvzs
5楼-- · 2019-07-15 07:26
zhouxk 发表于 2018-12-19 14:54
用示波器看一下PWM波形,电机两端的电压。电压低带不动电机也有可能,或者电机在某个位置时的力矩不够。
前段时间弄个直流电机,PWM有输出,但是电机不转。是因为电压不够,我用了5V供电,PWM占空比是25%。当设置占空比到50%后,电机转起来了,然后再降回25%,依然在转。 ...

谢谢!  停机时,用示波器查看了STM32的PWM波形和电机两端电压,pwm停止输出了,电机两端也没有了电压。而且这种现象比较随机,不是每次都出现,10次可能就会出现2两次。
testd018
6楼-- · 2019-07-15 12:09
 精彩回答 2  元偷偷看……

一周热门 更多>