关于STM32+编码器,用另一种思路来捕获我想要的方波,可否!

2019-07-14 22:15发布

最近,在做智能小车,用STM32+定时器+编码器来铺货方波,但是考虑到软件程序抓取的方波老是和示波器上的方波不一样,因为定时器频率的因素吧!

我老大给我提了一个这样的思路,不用定时器来测小车两轮的速度。因为示波器捕获的方波(光栅格)是一个个,很有规律的形状,那么用GPIO(应该是外设中断)进入中断后,判断上升/下降沿来记录方波的个数

举个例子:
   
进入中断,然后上升沿触发-(延时2.5ms)-下降沿触发,计数+1,就这样。比如1S内,左轮子计了100个,而右轮子计了96个,那么左边的轮子就比右边的轮子速度快。从而来调节两轮速度,使之平衡走直线。我感觉,很简单,非常好,但是就是心里面不不踏实,因为好像没有网友这样做的,这样的话,后面算法好用吗?


再说下我的思路(就是在网上找的),你们看看对不对。
①分别配置两个tiM(也可以是一个)对应两个直流电机,配置什么的就不说了,这样的帖子很多。
②然后就是①对应的定时器中断,TIM时钟频率都设置成一样的,10ms一次。那么在中断里每隔10ms TIM_GetCounter(TIMx)捕获一次方波的个数,然后根据这个,应用程序轮询来获取速度。
③一种思路是可以和②一样,另一种是用同一个定时器,在中断里加限制条件来TIM_GetCounter(TIMx)获一次方波的个数,然后求出速度。
④最后用相关的算法,来实时调节两轮子,使之速度相等,此为后话。

现在我不确定的是TIM_GetCounter(TIMx),一次是不是捕获的方波个数,也就是说10ms内捕获这么多方波。
没搞过硬件的人,真的不懂。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
张琪姐
1楼-- · 2019-07-15 06:01
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦来了
flyhung
2楼-- · 2019-07-15 11:59
ccly0208 发表于 2015-7-24 09:51
给一个智能车diy的参考有代码

x谢谢,我先看看
qq84395064
3楼-- · 2019-07-15 15:41
 精彩回答 2  元偷偷看……
xu13166981592
4楼-- · 2019-07-15 17:37
dsdfdff

一周热门 更多>