发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名

【微信精选】开源项目|两轮平衡小车的设计与实现

2019-9-9 07:30:00  2102 开源软件 电机
分享
1


硬件上,MCU选用STM32f407zgt6,imu选用gy-86(mpu6050+hmc5883+ms5611)。电机为大疆无刷电机m2006,电机驱动为电调c610,所以选用6s航模锂电池,所以需要设计24V转5v,5v转3.3v稳压电路,分别使用lm2576-5.0和asm1117-3.3稳压芯片,由于电调使用can总线通信,所以需要单片机外接can芯片,选用TJA1050,除此之外就是MCU的一些接口电路,包括LED,key,sw下载接口、多路串口、PWM和IO。总得来说比较简单(需要注意一点是:电池24v输出到电调24v输入,是在PCB上走线,单路额定电流10A,线宽需要注意,最好双面都布线)。
这是AD18的PCB工程链接,这是pcb的3d图:




软件上,我是使用的这个目录下的bsp:https://github.com/RT-Thread/rt- ... 0/bsp/stm32f4xx-HAL,需要的功能可以在rtconfig.h文件中开启对应的宏。







26.png


https://github.com/iamluoyijie/snowstorm_car/blob/master/%E6%BA%90%E4%BB%A3%E7%A0%81/boarddrivers/ps2.c

1、速度内环的pid效果不太理想,500的电机目标转速,实际转速波动有正负50。角度外环0度的期望角度,有正负0.5度的波动,小车运动过程中,速度过快就会倒。我感觉最重要的原因就是电池太重,导致小车重心偏高,其次就角度更新频率太慢,电机转速值不准,pid参数也不是最优。
2、代码上,使用了太多全局变量。led的状态显示没好好弄,ps2的好多按键没利用上。
3、接下里的工作就是,使用RT-Thread的IPC机制,尽量减少全局变量的使用。 通过yaw角度或电机编码器,实现转向环 速度 的闭环控制。增加 前进 和 转向 的位置控制。(前面的都是速度控制),也就是说还要增加3组pid控制。
4、可能会重新设计电机支架,把电池放到电机下面,降低平衡车重心。会增加树莓派,用opencv实现简单的目标跟踪等工作。

27.png
25.png
24.png
23.png
22.png

相关经验

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表