STM32野火开源平衡小车(二)之外设搭建_编码器
野火开源平衡车官网板块[https://www.firebbs.cn/forum.php?mod=forumdisplay&fid=129&page=1](https://www.firebbs.cn/forum.php?mod=forumdisplay&fid=129&page=1)
参考资料
暂无
参考视频(这个群主讲的不错)
[https://www.bilibili.com/video/BV1j7411z7uX](https://www.bilibili.com/video/BV1j7411z7uX)
硬件平台
![](https://img-blog.csdnimg.cn/20200822212404140.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
开发平台
KEIL5, STM32F103X主控,程序用的SWD下载(啥下载器都行,能下载进去就好,用串口下载也是可以的)
开发(一)
把作者写好的程序移植过去,我们等下改程序就行, 千万不要自己写,要学会改
(喜欢自己写的,请麻烦去学开发板,不要来学车车了,有轮子就用,没轮子才要造)
![](https://img-blog.csdnimg.cn/20200822223842884.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
配置编码器引脚
![](https://img-blog.csdnimg.cn/20200822224442619.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200822224807968.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
右轮子的编译器用到了TIM2,PA0和PA1引脚(用视频UP的程序就行 不用改)
![](https://img-blog.csdnimg.cn/20200822224928121.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
同理 右轮用到了 TIM4.PB6和PB7,直接用就行
![](https://img-blog.csdnimg.cn/20200822225243879.png)
![](https://img-blog.csdnimg.cn/20200822225357273.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
编写读取编码器值函数
![](https://img-blog.csdnimg.cn/20200822225618790.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
编码器中断函数,给他一个中断地址
(因为TIM2,TIM4那边有 下面更新中断, 所以要中断服务函数
TIM_ClearFlag(TIM4,TIM_FLAG_Update);
TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);
)
![](https://img-blog.csdnimg.cn/20200822225701167.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p3ZGVuZzE5OTU=,size_16,color_FFFFFF,t_70)
编码器编写完成
没动过手,直接用别人的代码即可 不用修改
问下楼主,这个程序可以实现电机正反转对应编码器计数的加减吗? 追求卓越 发表于 2020-9-10 07:38
问下楼主,这个程序可以实现电机正反转对应编码器计数的加减吗?
可以的 编码器在T12模式下 正反转会相位差会超前/滞后90度 这样就能实现+-控制了
页:
[1]