题目规定必须使用TI板子MSPM0 系列 MCU 控制,不得采用其他型号的 MCU。
我的方案在灰度识别,电机上有其他芯片,在极少数赛区(3个左右,如天津)会判违规。
为何使用带有其他mcu的模块,考虑到历年电赛不禁止皆可为的形式,判断 “必须使用TI板子MSPM0 系列 MCU 控制” 其目的是为了防止MSP点灯,其他mcu主控的情况,而得出赛方会对模块自带的mcu宽容处理的结果。
一.设计思路
题目难点
审题之后,我们可以得到一个结论,这道题的最难点为:
MSPM0系列板子为2023年中推出,距离比赛的2024年7月,刚好为一年,TI板受众也没有STM广泛,导致网上资料少,社区支持少,4天3夜从0开始学习这块板子时间紧任务重。
所以在方案的设计上,简单易上手则成为重中之重。
方案设计
赛道分为有线赛道和无线赛道,有线赛道,毫无疑问使用多路灰度传感器来识别黑线赛道来控制转弯,很多人会在里面加入PID算法让行进更湿滑,但是对于题目中这种简单的圆弧寻迹,使用if else更简单更快速,包括进出线的检测也是如此。
重点是接下来的无线行进,大多数人使用陀螺仪+直流电机或编码器+直流电机来控制车身姿态,其原因是,直流电机会因为不同电源电压,电机电枢绕组老化程度不同等问题导致不能同步,从而需要陀螺仪或编码器闭环控制。而我们打算使用步进电机,步进电机在负载不大,速度不高的情况下,几乎不会丢步,这就可以让小车不依靠更多的传感器完成既定路线行进。
遇到的问题
在设计路线时,因为弯道出线时角度会有不同,导致直线行驶的目的地会有一定偏差,为了减少偏差,我们加入了弧线行驶和s型行驶,这样可以更好的入线。
当时在我完成题目除蜂鸣器外的所有要求后,打算使用嘀嗒定时器来触发蜂鸣器,但使用滴答定时器后不知为何发生了堵塞,导致原定路线发生偏移,考虑到时间问题,我们并没有花费过多时间解决这个问题,而是采用了第二块MSPM0,通过简单的io翻转电平通讯让其响应,从物理上隔离了堵塞对主控的影响。
方案优点
绝大多数的方案为:MSPM0+直流电机+陀螺仪+灰度传感器+蜂鸣器
我的方案为:MSPM0+步进电机+灰度传感器+蜂鸣器
因为不使用陀螺仪/编码器闭环控制,而使用步进电机,所以我们不需要使用IIC,PID,也不需要处理陀螺仪的数据,飘零等现象,可以节省大量时间。
二.程序源码
GitHub:https://github.com/GreatWhiteShark-dbs/TI-Cup-2024-H-Line-Following-Car