赞
踩
跌倒不可怕,可怕的是没有勇气站起来
电赛小结:
从七月初开始准备,当时32还是一点不会,于是从头开始学例程。每天从早到晚跟着入门教程敲代码,连着做了一周,还好有51基础感觉上手挺快的。然后就是去做去年的题,因为当时第一次接触项目代码,初看逻辑控制代码感觉冗长又复杂,一时间觉得这不像是两周就能训练出来的。没办法硬着头皮看呗,一行一行喂给AI逐行解释。过了几天终于理解人家为什么这样写了,硬件到了之后就根据别人的修改调试,刚开始时想偷懒用人家写好的pid,但用起来感觉好像不太对。看学长自己写的pid还不错,倍受鼓励,第二天看各种文章、博客和资料理解原理,自己也写出来了个pid用到项目中。一点一点做起来看着激光点的移动还挺有意思的,感觉调pid练得差不多了,就有没接着继续完善,现在想来当时就应该把队友的多级菜单加上去用一下,至少框架架起来才行,这也为后来的比赛埋下了伏笔啊。之后比赛清单出来,乍一看感觉没什么有特点的东西会被用到控制题里面,不管那么多先买回来,没有的话就麻烦了。我和学长还商量出了个有点损的计划:只要和控制有关的都在比赛前两三天买回来,比赛用到就去驿站取,用不到就拒收。哈哈哈,但即使这样也没什么用,还是出题后买的东西。看到清单里的麦克风扬声器以为还会是和22年的声源定位题一样,看了网上声源定位的开源资料后,对于声音差速算位置还是心里感觉没底的,内心就开始动摇,要不要坐小车,小车肯定出,而且根据往年经验很大概率是TI板,但是做小车的人会多一些,竞争也比较激烈。本着都准备一些的想法,于是开始看经典小车题:送药小车,拿着平衡车的电机就开始调了起来。说实话临近比赛的前几天内心还是焦灼和不安的,学习效率也大打折扣。简单的实现了控制轮子走指定的距离,但还有左转没法停下来的问题没有解决,最后就赌能出个运动控制的非小车类题目。
7月29号早上7点就起床了,赶去实验室的路上感觉浑身充满了干劲,肾上腺素飙升,耳边的风呼呼的挂过去,整个人非常兴奋啊。赛题7点半就在交流群里被爆出来了,看着题目还真有运动控制的非小车类题目啊,“三子棋游戏装置”“机械臂”,懵了,这玩意哪搞过啊,应该挺复杂的吧,再看小车题,好像相比之下简单一点,但用TIM0系列板子,我们虽然比赛前买了回来,但当时是以防万一准备的,代码移植什么的也不太熟练,估么着这个赛道应该挺卷的。于是就和学长一起选的三子棋,电赛买东西还是得早点抢比较好,晚一会不仅贵甚至可能还没货。早上出的题,上午十点就卖空下架了。机械臂第二天下午才到的,原本附带的气泵因为没货是从仓库分开发的,结果8月3号在去评测大巴车上才接到取货电话,这不搞笑呢吗,我都比完赛了你才送过来啊。前两天没东西,只能先看机械臂的工作原理,队友一个着手做openmv识别棋盘棋子,一个找对弈算法部分。再看看交流群里其他方案,一条一条看组委会问题解答,生怕漏过了什么。虽然看到了更容易点的用龙门架控制的方案,但网购的话都得定做需要三到五天,根本等不起。比赛完后看交流群里的成绩好的基本都是龙门架方案,机械臂姿态逆解属实难搞。第一天和学长学姐交流讨论怎么控制机械臂到指定空间坐标,但我们因为气泵吸棋子需要保持吸嘴竖直向下,网上的都是对于机械爪到指定坐标的方案,不能让我们的气泵垂直向下,这怎么办呢。聪明的学姐找到几何关系解决了垂直向下的问题,真的牛波一。第一天晚上回去正常睡觉,睡了六个小时第二天早上六点起来接着搞。第二天下午机械臂到了之后发现气泵吸棋子需要紧紧贴住棋子才能吸起来,这样的话就需要控制精准的到指定坐标,我一想这容错率这么低怎么行呢,本来机械结构就不是很紧,动起来就有误差,这气泵更是让我们的情况雪上加霜,赶紧拉来学长学姐讨论怎么办,无奈之下赶紧下单了电磁铁模块。当天晚上熬夜把机械臂的硬件组装好,一个一个舵机试范围,验证自己根据博客写的简单的姿态逆解算法,熬到凌晨4.30,困得不行了回去睡了四个钟头九点起来回实验室接着调。当天晚上开始结合openmv测坐标关系,其实这时候应该尝试进行openmv和32单片机的通信实验的,总结下来也是妥妥的经验与教训。半夜我发现这个x坐标还可以,但这个y坐标好像差别很大,于是从原理部分开始琢磨,推出来如果和博客一样的自由度的话我们是强行将最后一个舵机转过的角度用几何关系转化成水平的,这就相当于牺牲了具体位置换得最后一个舵机保持水平,我觉得这肯定达不到理想的效果。和学长学姐反映了这个问题,他们一开始还不信我,觉得调通了舵机和openmv的追踪移动应该是没问题的,过了两三个小时之后发现好像是这么回事,喊我过去看怎么办。我提议加一个自由度来专门控制最后一个舵机水平,说到后立即实验起来,最后效果还不错,基本在舵机能转的有效范围内实现了到目标坐标,虽然有些偏差。这天晚上6点半直接把在实验室冷板凳上睡了两个小时早上八点半醒的,感觉脑子混沌的很,精神状态和情绪都很差。第四天上午老师给我们找来了木板固定,锯木板钻孔固定机械臂,重新理线,但五路舵机线加电磁铁的线不管怎么理最后都会乱作一团,哈哈哈没办法。解决了机械臂运动到目标位置问题后接下来的任务就是和openmv结合起来,但不知道什么原因openmv一直没法给32传坐标,百思不得其解,队友也搞半天都想不明白。程序看了一遍又一遍,最后发现好像是硬件接触不良的问题,接线太长了。下午队友在赶晚上要交的报告。实在没办法最后打算写死坐标能做个前两问就好,焊好洞洞板,画好位置就开始一个一个测坐标,晚上身体和精神都达到了非常疲惫的极限状态,没办法接着熬,这个时候无论是思考问题还是做东西效率都不高了,还会犯一些小错误,做到半夜忽然发现好像这个磁铁不工作啊,当时还以为是继电器那块烧了,觉得完蛋了,整个人精神都萎靡了下来,各种着急找错误,甚至直接拿电源模块正负极接电磁铁,一接触直接产生电火花,吓我一跳。用万用表一个接线口一个接线口的测,发现我32给的控制信号端口高电平不接入继电器还能是3.3V,接上之后就变成了1V电压,想起来刚买回来的时候测试的引脚还是可以的,于是把控制端口改成第一次接的引脚,成了!(有点纳闷,两个端口的引脚配置模式明明是一模一样的,为什么这个可以那个不行)。接着就是用一些按键来控制不同的任务,(也不知道什么原因我们自己焊的矩阵键盘不起作用,看着焊接的接线连接应该是没问题的),要把队友的多级菜单往上加,但我比赛前自己画的板子设置的按键引脚也没有和队友商量导致用不上,那就在洞洞板上接着焊按键吧。队友写多级菜单加任务的程序,我只能先把东西再次固定好。不出意外的话就要出意外了,固定好之后准备测试一下脱机运行的情况,上电后一看,woc这电源灯怎么不亮啊,瞬间慌了。(现在回想起来会不会是因为用了stlink和mini口一起供电),马上就要封箱了,这不就完蛋了吗。(补充一下,因为比赛前没有找到排母,主控板子是焊死在自己画的拓展版上的,整个又焊死在洞洞板上,牵一发而动全身)。队友提醒我说赶紧找个新的32用杜邦线接一下吧,我冷静下来,想着与其坐以待毙不如最后殊死一搏。把洞洞板上的接线用电烙铁去掉,再接上新的32,心惊肉跳的干完这一切,烧上程序,还好跑了起来。本以为最后就只有个第一问,还好队友冷静的坐在那写出来了多级菜单程序,不得不说当别人吵吵嚷嚷的时候队友还是很冷静的,能够不受外界干扰的写代码。最后队友说完成了试一下,我赶紧找来面包板接上按键和oled屏,这次还挺顺利,一试就通。我们高高兴兴的就准备封箱了,想着测评的时候把前两问做的结果展示一下,至少是我们努力做出的东西。
评测前一天晚上睡觉前担心电磁铁的控制端口没改过来,还让队友把最后的代码发过来看了一下,确定没问题才安心睡觉了。3号上午早早的起来坐学校大巴车去郑州参加评测去了,评测准备阶段小心翼翼地检查接线,摆好棋子一试,哎呦喂,真是担心什么来什么,电磁铁开和关的顺序是反的,没法吸起来棋子,到时间老师催促着让赶紧开始,试做第一问后给老师解释说电磁铁出问题了,但位置是对的。评测老师也不管你那么多,只看结果,完成就是完成了,没完成就是没完成,最后就这样草草的收了尾。评测完之后再去看最后的代码,发现是程序里控制电磁铁的开关函数那标志位给反了,队友copy的是夜里两点的时候的代码,那时正是发现电磁铁问题的时候,我在程序里改来改去找问题,把我错误的代码拷走了,最后封箱前检查代码也只注意到了高低电平的正确与否,一着不慎,满盘皆输!听别的队伍继电器也出问题,但人家手动控制接线,这老师竟然也允许。
第一次参加电赛学到了各种经验和教训,四天四夜总共睡了13个小时,对智力和体力都达到了极限,刚出题的时候还和队友讲这要是完完整整的做下来感觉能吹一辈子啊,哈哈哈短时间内确实难以完成。虽然最后结果不尽如人意,略有遗憾,但中间的过程还是很精彩的,一个月来也是收获了许多。印象里除了高考好久都没有这么拼命的完成一件事了,尽力了不后悔。最后感谢队友和小伙伴们的一路相伴,感谢老师的支持与指导,感谢坚持下来的自己。
——谨以此文纪念疯狂又无悔的青春
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。