本项目是基于武汉芯源的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并且能懂各个外设和模块原理,并且熟悉寄存器定义和配置操作,因为CW32开发有时需要你去看数据手册里的寄存器定义和配置
实物图:
这里电机编码器接口设计错了,所以可以看到我用杜邦线来飞线,目前原理图和PCB都已经改正,然后就是之前串口1设计我一开始以为和stm32一样是PA9和PA10,所以理所当然的用这2个引脚,结果之前调试的时候发现CW32是PA8和PA9,原理图和PCB已经改了,所以Bin2引脚从PA8调到了PA10,到时候代码需要各位自己改一下。或者等下一版出我代码更新。
交流群:678911291
演示视频:
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持