STM32野火开源平衡小车(九)_完工散花

野火开源平衡车官网板块

https://www.firebbs.cn/forum.php?mod=forumdisplay&fid=129&page=1

参考资料

暂无

参考视频(这个群主讲的不错)

https://www.bilibili.com/video/BV1j7411z7uX

硬件平台

开发平台

KEIL5, STM32F103X主控,程序用的SWD下载(啥下载器都行,能下载进去就好,用串口下载也是可以的)

开发(一)  还剩3,11,12没用,其他都有用到了, 电机电流那边有冲突,就不搞了

扫描二维码关注公众号,回复: 12323663 查看本文章

还有上电电机不受控制转动BUG也解决了

另外蓝牙修改回串口4, 因为RC是256K的 属于HD大容量, RBR8这些是MD中容量

main.c这边调整了顺序 解决了电机BUG

主循环这边, 窗口看门狗换成独立看门狗, 并且显示了电池电量,芯片温度,超声波距离,以及点了个流水灯

外循环这边

修改了OLED驱动, 原先的驱动死鬼难用,代码自己去看

修改了串口3变回4,不用重映射

下面中断和发送那边也改为uart4 而不是usart3

NVIC中断优先也改uart4

加入了ADC 采集电池和采集温度 代码自己看

采用平均值滤波方法

增加了基本定时器TIM6 做为刷新OLED数据用的时间, 中断1ms一次

增加了TIM3作为超声波接收时间计量, 代码自己看

增加了超声波测距,代码自己看

应该没有遗漏了

这应该是最后一节更新STM32野火开源平衡车了

最后车车OLED显示屏的内容

第一行为超声波距离

第二行为 DMP计算出来的 角度, 俯仰角,横滚角和翻滚角? 反正第一个是俯仰角

第三行为陀螺仪 x,y,z

第四行为加速度x,y,z

第五行为左右电机输出的PWM(有时超过了5位数,我也不知道为什么)

第六行为当前电池电压 以及芯片温度

肯定有人问为什么我OLED不放上面

因为我买的这个OLED是十来块钱的, 之前的那个二十多块的给同学做毕设拿走了

你看看OLED的VCC与GND的位置就知道了, 插错了肯定会烧OLED,严重就烧板子

最后放上车车的图

STM32野火开源平衡车到此结束 谢谢大家

代码在下面

链接:https://pan.baidu.com/s/1CJLoFFaEcq-41F4Xc13z8w 
提取码:g9ik

8.28日

添加了蓝牙边角控制,
注意:如果OLED和超声波没装, 程序会运行不了(卡到超声波接收那边了),此时把main.c里面OLED和 超声波的程序注释掉即可
如果看到流水灯一直在跑,那么一切正常

链接:https://pan.baidu.com/s/1x1cTE-UkZpmJn_yBrpd4rw 
提取码:3kn1

猜你喜欢

转载自blog.csdn.net/jwdeng1995/article/details/108237751