[应用相关] 基于STM32的二轮自平衡小车

[复制链接]
2454|95
 楼主| 初级工程渣 发表于 2022-6-30 21:17 | 显示全部楼层
8275362bda25a8d308.png
电机线1/6接在电机模块的A/BOUT处,电机线2/5接5v以及接地,编码器AB相接在预留出来的定时器接口只有通道1/2支持
 楼主| 初级工程渣 发表于 2022-6-30 21:18 | 显示全部楼层
电机驱动模块

电机驱动模块选择的是TB6612模块,VM需要12v供电,SYBT需要5v供电否则电机不会转动, 同时输出两路PWM,同时控制两个电机。
189062bda2873356c.png
 楼主| 初级工程渣 发表于 2022-6-30 21:19 | 显示全部楼层
这里其实一开始选择是功能更强大的A4950,但是因为摔了一下电机模块就直接**(太便宜),所以在购置硬件时千万不要图便宜,买好的不买便宜的
 楼主| 初级工程渣 发表于 2022-6-30 21:19 | 显示全部楼层
降压模块

降压模块选择一块带数显的,方便观察电池电量,不多叙述。
6972262bda2f1e55fa.png
 楼主| 初级工程渣 发表于 2022-6-30 21:20 | 显示全部楼层
MPU-6050模块

不多赘述,同样6050也不要图便宜(这一块可能就是因为质量问题,导致程序无法进入6050的外部中断,最后没办法放入主程序运行)
 楼主| 初级工程渣 发表于 2022-6-30 21:21 | 显示全部楼层
8266962bda34bcc878.png
蓝牙通讯模块
 楼主| 初级工程渣 发表于 2022-6-30 21:22 | 显示全部楼层
 楼主| 初级工程渣 发表于 2022-6-30 21:23 | 显示全部楼层
转向环则是实现小车转弯的一环。通常利用上位机与平衡小车的交互来来控制转向,这里使用的是蓝牙模块HC-06,HC-05/HC-06 /SPP-C这些通用的型号都可以用,蓝牙模块通过串口通信来传输数据。
 楼主| 初级工程渣 发表于 2022-6-30 21:23 | 显示全部楼层
硬件准备
IO口分配

定时器TIM4预留给OLED 每10ms刷新一次数据

定时器TIM3用于测距通过OLED展示距离

另外注意编码器只能用通道1/2
 楼主| 初级工程渣 发表于 2022-6-30 21:24 | 显示全部楼层
 楼主| 初级工程渣 发表于 2022-6-30 21:25 | 显示全部楼层
原理图绘制

原理图如图所示,供电接口采用的T型接口,电机等处加入100nf电容进行滤波。

3285662bda44e04d1f.png

 楼主| 初级工程渣 发表于 2022-6-30 21:26 | 显示全部楼层
PCB绘制

PCB未铺铜如图所示
6832662bda499514aa.png
 楼主| 初级工程渣 发表于 2022-6-30 21:28 | 显示全部楼层
铺铜以及添加泪滴效果
3885762bda4e267be3.png
 楼主| 初级工程渣 发表于 2022-6-30 21:28 | 显示全部楼层
2D预览
9646962bda4f35c9ab.png
 楼主| 初级工程渣 发表于 2022-6-30 21:29 | 显示全部楼层
实物图
3731962bda54e0a586.png
 楼主| 初级工程渣 发表于 2022-6-30 21:30 | 显示全部楼层
硬件组装

3S电池搭建在最底层,中间放置降压模块,铜柱搭建最上方PCB,防止电机运动时的抖动影响系统的运行。

其实这里是有问题的,预留的OLED位置不够,导致只能放置在边上,PCB打孔处和降压模块冲突,整体排布也影响重心,需要调试机械中值。
 楼主| 初级工程渣 发表于 2022-6-30 21:30 | 显示全部楼层
实物图如下
9494062bda58c8e410.png
 楼主| 初级工程渣 发表于 2022-6-30 21:31 | 显示全部楼层
 楼主| 初级工程渣 发表于 2022-6-30 21:32 | 显示全部楼层
硬件装配完成,下面我们开始软件编程
 楼主| 初级工程渣 发表于 2022-6-30 21:32 | 显示全部楼层
软件调试

程序是删减后的,并不完整 ,程序还是自己写学习才更有意义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部