假如电赛没有推迟 — 球形自走机器人
源码链接https://download.csdn.net/download/YOUNGAAAAA/85005257
因为电赛延期,从8.6日突发有想法做一个球形自走机器人,虽然过程坎坷,还是收获满满hhhh,话不多说,直接进入正题。
本文所用的方法属于自己的想法,如有缺陷请谅解。
结构框图如下:
该项目主要实现上面三个功能即可,平衡为里面最重要的一部分。在所有需要考虑的里面
机械结构 > else,尤其是涉及到平衡的问题。
机械结构前前后后调了不下十次,导致代码也改了又改,早点把机械结构调好省事很多。
因为想模拟下电赛的环境,没有的模块都是纯手焊,比如:
双轴遥杆
转接板:
电源板+开关
:
驱动板和主控板也就准备了,然后直接组装
代码方面的话,主要是2个定时器pwm+2个uart+iic+编码器输入捕获(在已有定时器上写的捕获,可以省一个定时器)
控制方面主要是速度环、直立环和平衡环(左右),pid是真的难调,凑合着能用就行吧。
因为使用的是减速电机,会存在死区问题,所以采用了串级结构将速度环和直立环整合。
主中断周期10ms,主要运行姿态控制,同时加入了保护(一定要加)。
至于通信协议的话,我的方法比较简单,直接发送X50Y50(数字表示遥感输出值)给MCU,识别的时候要加上误判的保护,不然接收错误信息突然故障折腾不起。
模块不多,时间充裕建议将电路整合在一两个板上,调好机械结构,就会事半功倍。