我用stm32接编码器问题,配置成功,但如果编码器速度快了之后自动复位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用stm32接编码器问题,配置成功,但如果编码器速度快了之后自动复位相关的知识,希望对你有一定的参考价值。
我用stm32接编码器,配置成功,但如果编码器速度快了之后自动复位,编码器换过,stm32也换过了还是一样。刚上电时特别容易复位,这个问题困扰我好久了,请问是什么问题。我接开发板是这样,然后自己做了PCB还是这样
我第一反应是,电路设计中,随着程序运行,功率变换,也就是电流变换。导致将电源电流拉低,使stm32复位。电源多并几个大点的电容和退耦电容追问编码器我用独立的电源供电还是这样,程序中我把编码器部分去掉之后,再转动编码器就不会复位了,貌似是程序问题,可程序应该不会导致单片机复位吧,看门狗应该也没什么问题啊
追答程序如果进入死循环,看门狗当然会复位单片机了。看网上很多故障其实就是程序的问题。我上学那会理论论证都没有问题。就是写程序的时候把clr 写成了cpl 。汇编语言。程序查错用了好几天。呵呵。有时候睡一觉,就豁然开朗了。
追问我发现每当计数值在200以下就特别容易复位,把编码器的定时器初始设在200,就是说编码器数值一直在200以上就不会死机了。好奇怪啊。问题就这样解决了,但还是不知道原因
参考技术A 用示波器看看电源,编码器速度快了后,会源电压会不会强烈波动 参考技术B 可以不开中断啊,不过开了就可以使能之后让mcu去做别的事情,到完成的时候再中断响应处理,如果你是查询就没有必要开中断了。STM32单片机接直流减速电机编码器注意点
在使用STM32定时器的编码器功能时,我们需要注意的不仅仅是:不是所有定时器都具有编码器功能的,具体是哪些定时器具有这个功能请自行搜素一下,而在有编码器功能的定时器,也只是在其通道1和通道2上可以使用此功能,在了解这两点的基础上特意提醒大家以下三点。
1.将电机的AB相接在同一定时器的通道1和通道2
比如说A接在TIM1CH1,B就接在TIM1CH2。
2.配置编码器时,注意设置自带的硬件滤波
编码器初始化函数中有一结构体数据为TIM_ICInitStructure.TIM_ICFilter,必须设置,6-10之间可行,再大没试过,不加硬件滤波的话数据会出现明显问题,切记。
3.调编码器的时候检查检查自己的驱动板上的引角有没有焊好
有一次调编码器的时候死活出不来,调了很久很久发现是学弟给我焊的板子上接编码器的引角没有焊好,我…#=_=’’#…
以上是关于我用stm32接编码器问题,配置成功,但如果编码器速度快了之后自动复位的主要内容,如果未能解决你的问题,请参考以下文章
STM32f407定时器用为编码器接口模式采集脉冲,但单片机供电后,复用引脚直接有电压输出