描述
基于立创·梁山派的平衡小车设计
演示视频链接:2023年寒假的成果—平衡小车_哔哩哔哩_bilibili
需购买物品:
1、7.4V 1400mah的18650锂电池(容量可以不同,电压要求大于6V,选择大电压电池时,需要将电源输入端的去耦电容换成额定电压高的电容)。
2、N20电机(带编码器)x2(选用的是6V 310转)。
3、蓝牙模块(此次采用汇承HC-04蓝牙模块)。
4、立创·梁山派。
5、7.4V的锂电池充电器。
6、焊接与调试工具:焊枪、焊锡;电脑、手机、万用表等。
硬件部分
1、电源
电机电源:由于我手里面有一个7.4V 1400mah的18650锂电池,所以此次设计采用了这个电池。由于使用的N20电机是6V的,于是需要将7.4V电压降到6V。电路如下:
图中采用的降压芯片是MT2492,通过改变R3,R4的阻值改变输出电压。FB引脚为0.6V。输出电压=0.6*(R3+R4)/R4。
开发板电源:在设计时,考虑到梁山派上的降压芯片的输入电压不能太高,电池电压不能直接加在板子的5V电压上。所以需要一个降压电路,没有使用电机电源的原因在于:担心电机启动时会对开发板产生影响,所以额外增加了一个7.4V到5V降压电路。电路如下:
MPU6050、蓝牙、编码器电源:梁山派开发板上的降压电路是DC/DC电源,纹波较大。我担心纹波会对芯片造成影响,出现数据波动大的情况,于是采用低纹波的LDO电源 AMS1117稳压电源。电路如下:
2、MPU6050模块
电路如下:
通过MPU6050采取平衡小车的姿态角和加速度。
3、电机驱动模块
电机驱动模块采用的时TB6612FNG芯片。电源供电电压2.5~13.5V,H桥输出的平均电流1.2A,最大可到3.2A。内置过热保护和低压检测关断电路,PWM控制的频率可达100kHZ。应用上基本与DRV8833相似,但性能更好,价格也相对较高。电路如下:
4、蓝牙模块
蓝牙模块采用的时汇承的HC-04。此公司有相应的安卓蓝牙APP和蓝牙串口助手,方便调试。官网:广州汇承信息科技有限公司 (hc01.com)
5、主控为梁山派GD32F450
立创·梁山派开发板是基于GD32F450ZGT6全国产化开源开发板,资源接口丰富,完善的配套视频教程、文档教程、实验案例。提供在线编译器,10分钟快速入门。开源技术迭代,项目式学习,让学习更加深入,让创意得到升华.
软件部分
1、MPU6050数据读取。
2、编码器测速。
3、串口通信。
4、电池电量检测。
5、N20电机驱动。
代码如附件5
硬件调试
电路板成品图如下:
注意:使用蓝牙时,将两个跳线帽接上。
硬件调试遇到的问题:
1、电池充电接口与充电器不匹配。可以重新买一个匹配的充电器,但是有点小贵,所以将一个与充电器匹配的充电接口焊接了上去。因与原来电路板不匹配,有个引脚并未焊接在电路板上,导致充不进去电。经过检查发现,这个未接的引脚是充电接口的GND。通过排针(类似飞线)解决了问题。
2、MPU6050买到了假货,自检一直不成功。去掉自检,得到的数据在-180~180之间变化,完全不对。于是重新买了一个芯片。问题解决。
经验证。电路无任何问题。
PID调试
可以有线调试,也可以无线调试。
有线调试:通过开发板上的串口连接电脑,在电脑上的串口助手输入相应指令,改变PID的值。此方法比较麻烦。不建议使用。
指令如下:
我选择的是无线调试,通过手机蓝牙APP与平衡小车通信,改变KP、KD、Ki的值。在调试时,一定要将下列main.c文件中的信息打印函数注释取消,
手机蓝牙APP是汇承的HC蓝牙助手。手机蓝牙APP PID调试界面设置如下:
手机蓝牙APP 平衡小车控制界面设置如下:
平衡小车的PID调试步骤可以参考哔哩哔哩的一位UP主:HZ12I38。