野火开源平衡车官网板块
https://www.firebbs.cn/forum.php?mod=forumdisplay&fid=129&page=1
参考资料
暂无
参考视频(这个群主讲的不错)
https://www.bilibili.com/video/BV1j7411z7uX
硬件平台
开发平台
KEIL5, STM32F103X主控,程序用的SWD下载(啥下载器都行,能下载进去就好,用串口下载也是可以的)
开发(一) 还剩3,11,12没用,其他都有用到了, 电机电流那边有冲突,就不搞了
还有上电电机不受控制转动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