完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
ctwewer 发表于 2018-12-19 14:12 谢谢指导,硬件电路没有过流保护功能,stm32时钟电路受干扰会不会停止工作? |
|
|
|
一般说来,即使受到干扰,时钟也不会停止,只能是程序跑飞了。一旦跑飞了,是回不来的。而你转动一下电机,又能正常工作,所以个人认为时钟和程序应该都一直在正常工作,问题应该出在电机硬件上。 |
|
|
|
用示波器看一下PWM波形,电机两端的电压。电压低带不动电机也有可能,或者电机在某个位置时的力矩不够。
前段时间弄个直流电机,PWM有输出,但是电机不转。是因为电压不够,我用了5V供电,PWM占空比是25%。当设置占空比到50%后,电机转起来了,然后再降回25%,依然在转。 |
|
|
|
ctwewer 发表于 2018-12-19 14:41 谢谢指导!在停机时用示波器看stm32的PWM输出引脚没有PWM波形,难道stm32受到干扰后寄存器会随机改变吗,比如像这种现象是不是pwm控制寄存器受到干扰而改变了? |
|
|
|
zhouxk 发表于 2018-12-19 14:54 谢谢! 停机时,用示波器查看了STM32的PWM波形和电机两端电压,pwm停止输出了,电机两端也没有了电压。而且这种现象比较随机,不是每次都出现,10次可能就会出现2两次。 |
|
|
|
dfzvzs 发表于 2018-12-19 15:27 先测试一下空载,确保空载时PWM正常。 然后建议换一个电机试试看,电机前端加上电容了吗? 电机调速时,用示波器检测MCU供电电压是否有被拉。 最好提供必要的现象证据以供分析。 |
|
|
|
testd018 发表于 2018-12-19 15:43 谢谢!都是在空载的情况下测试的,电机前端加过电容,现象依然会出现,stm32程序没有跑飞,也没有复位,只是停在那里不动了,如果转动几下电机有可以继续运行,就这点想不明白。 |
|
|
|
dfzvzs 发表于 2018-12-19 15:49 示波器测试一下晶振是否有停振?cpu不会无缘无故停在那里不动,除非进入halt之类模式,除非停振。 |
|
|
|
谢谢! 也怀疑过外部晶振停止,程序改成内部时钟后也会出现这种现象;如果进入halt就不会继续接着运行了。 |
|
|
|
|
|
|
|
看了讨论很是有感,威廉希尔官方网站
就是不论不清楚。既然程序没有跑飞、说明MCU的电源电压无大问题;芯片晶振还有,核心频率也无问题;仅仅是PWM波没有了?可以从这几个地方考虑:1.产生PWM波是否采用了中断,中断程序有无检测某些信号造成信号未返回而停止在这块等着?这个可能性较大!2.PWM处于死区自锁,这个可能性不太大,因为您是控制普通电机,如果没有反馈监测死区可能问题不大。其他的没有遇到过,因为想不起来了,试试吧
|
|
|
|
HELLOKITTYNEW 发表于 2018-12-19 16:35 本帖最后由 科科1987 于 2018-1-18 19:38 编辑 谢谢! 这是定时器的配置,没有开中断,今天测试发现其他有的GPIO输出也失效了(再次转动电机后又恢复正常了),但输入一直有效。stm32的gpio口会不会在受到干扰后锁死呢? |
|
|
|
通过测试发现,程序并没有跑飞,还在继续运行,但是有的外设停止工作(pwm输出口和其他几个IO停止工作,比如LED输出没有反应)。各位遇到过这种情况吗?
|
|
|
|
|
|
|
|
dfzvzs 发表于 2018-12-19 16:49 不排除虚焊的可能,我有过此案例。PWM输出有时有,有时无!后来拿放大镜看才发现引脚搭焊在PCB上,焊锡没有流通,重新焊接后就OK了。 |
|
|
|
1、如果你觉得有干扰的话,在STM32和驱动芯片之间增加光耦,这样控制端就不会受电机侧的干扰。
2、不知道你这个是不是H桥,H桥的话你要确定桥臂上管和下管的驱动之间要有死区时间,感觉有可能是你死区时间设置过小,在增加PWM占空比过大时,出现了上下管近似同时导通的状态, 3、还有一个就是监控一下你的直流母线电压,看在发生你这个问题时,电压是否变化,看是不是电源功率不够,带不起来 |
|
|
|
本帖最后由 科科1987 于 2018-1-19 11:41 编辑 谢谢指导! 更换了代码(非常简单,仅上电后打开PWM),电机运行一会停止,手动转动电机轴有恢复了。 焊接检查没有问题。 |
|
|
|
wtefewrws 发表于 2018-12-19 17:16 谢谢! 1、有光耦隔离; 2、不是H桥,单个mos管控制; 3、用示波器看过,排除了功率不够的可能; 现象是:速度调高后,PWM和部分IO没有输出,好像是失效了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32串口接受中断使用C++STL中的queue导致所有中断失效
2822 浏览 1 评论
2645 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1279 浏览 0 评论
3509 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
3306 浏览 4 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 07:14 , Processed in 0.978158 second(s), Total 107, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号