本帖最后由 csey22 于 2023-6-14 12:17 编辑
本项目是基于武汉芯源的MCU,型号为CW32F030C8T6作为主控来实现对平衡小车的整体控制。
小车功能有超声波跟随或超声波避障,循迹,蓝牙控制等一系列功能(目前功能还在开发中,项目目前能实现直立平衡和定位返回)。板子设计把MCU上所有的引脚资源都预留了接口,方便后面添加模块可以使用,而且对OLED,蓝牙,超声波模块,SW都有做相应的接口进行布局排放,还加了3个按键可以后面实现功能模式的切换。然后就是目前整体供电由12V的锂电池供电,实现12V转5V的压降和5V转3.3V的压降,实现对相应的模块和MCU供电。
项目思路简介:
通过MPU6050官方的DMP库的移植使用得到Pitch,Roll,Yaw的相应的角度,然后我们可以根据这个确定机械中值。也就是手动平衡时的角度,一般是Pitch,这要看你是怎么设计摆放MPU6050。然后通过MPU6050数据手册里的寄存器介绍来读取对应的x,y,z的角速度。然后就是通过串联PD(直立环),PI(速度环)来实现PID闭环控制平衡小车实现平衡和定位恢复。可以加入转向环来实现直线行驶。
直立环:
速度环PID串联:
项目还在完善。
开发建议:使用过stm32并且能懂各个外设和模块原理,并且熟悉寄存器操作配置。
实物图:
这里电机编码器接口设计错了,所以可以看到我用杜邦线来飞线,目前原理图和PCB都已经改正,然后就是之前串口1设计我一开始以为和stm32一样是PA9和PA10,所以理所当然的用这2个引脚,结果之前调试的时候发现CW32是PA8和PA9,原理图PCB已经改了,所以Bin2引脚从PA8调到了PA10,到时候代码需要各位自己改一下。或者等下一版出我代码更新。
开源地址:https://oshwhub.com/csey21/ping-heng-xiao-che
|