做完24年电赛题后感受和总结

前两周做了一下今年的电赛题,之前一直有一些其他事,所以拖了一些时间,现在也来写一下自己的感受,也总结一下学到的东西。

一、题目

  设计一个采用 TI MSPM0 系列 MCU 控制的自动行驶小车,能在指定路径 上自动行驶,行驶场地示意如图所示。场地面积不小于 220cm×120cm。图中 两个对称半圆弧线的半径为 40cm,弧线为黑色,线宽 1.8cm 左右,弧线的四个 顶点分别定义为 A、B、C 和 D 点。建议场地采用白色哑光喷绘布制作。场地除 两个半圆弧外,不得添加任何标记。

  要求 :

        (1)将小车放在位置 A 点,小车能自动行驶到 B 点停车,停车时有声光提 示。用时不大于 15 秒。

        (2)将小车放在位置 A 点,小车能自动行驶到 B 点后,沿半弧线行驶到 C 点,再由 C 点自动行驶到 D 点,最后沿半弧线行驶到 A 点停车,每经过一个点, 声光提示一次。完成一圈用时不大于 30 秒。

        (3)将小车放在位置 A 点,小车能自动行驶到 C 点后,沿半弧线行驶到 B 点,再由 B 点自动行驶到 D 点,最后沿半弧线行驶到 A 点停车。每经过一个点, 声光提示一次。完成一圈用时不大于 40 秒。

        (4)按要求 3 的路径自动行驶 4 圈停车,用时越少越好。

这里我只是通过这道题来练习所以就用了手头上现有的板子,没有用题目要求的。我用的是stm32Mini板。

二、制作过程

1、做题思路

这里我先去了解了一下参加比赛的学长的思路,他们用的是编码电机和pid算法来控制小车的行驶方向、距离和速度,陀螺仪来控制转向角度,利用红外循迹。一开始我基本沿用了他们的思路,但我们之前用过的陀螺仪mpu6050零漂很严重,所以在学长的帮助下,我们最后用的是jy60。

第一题用的就是简单的编码器控制行驶距离,但在走直线时,轮子总会有些许偏差,所以我们利用了pid算法将这里误差降到最小,防止对之后的问题解决产生影响。

第二题和第三题我一开始用的是循迹模块来控制各个过程之间的切换,结果发现很容易出错,所以后来我用了编码器控制行驶距离,稳定性好了很多。转弯的角度通过陀螺仪来控制。

第三题和第二题思路基本相同,只是在起点处加上角度谝传就可以了。

2、遇到的问题

思路很简单,但是实现的时候出现了很多问题。

第一个问题就是编码器的问题,我所用的编码电机在刚启动时总是会先反转一下在进行正常的运行,这个总会让我的编码器值出错,有些时候甚至会溢出。后来我发现是电机接线与板子的复位产生了冲突,换了接口后就解决了。

还有一个问题是循迹模块的灵敏度问题,在小车行驶的时候总会出现循迹模块的一两个灯出现常亮,后来得知是循迹模块的灵敏度设置的过高,但调了几次后还是效果不好,于是我们就又加了一个循迹模块,将那几个传感器禁用,通过其他传感器进行调节。

在使用陀螺仪的时候,角度的计算总会有一些偏差,导致在实现第四题时效果不是很好,这个问题困扰了很久,我们一直在寻找更好的算法,但效果不太明显,后来我们调整了一下硬件结构,就发现稳定了很多。但这个方法不太推荐在比赛期间使用,通过之前的一些经验来看,硬件结构一般不要修改,不然很有可能就会功亏一篑。

三、总结

总的来说,昨晚这道电赛题收获不少,毕竟虽然学了很长时间的32,但在实际运用上还是很少的,在测试中发生的问题,还有硬件结构的设计问题让我受益良多。也希望能通过这次体验让以后少走一些弯路吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值