我们是来自 中北大学 的参赛队伍(焦道坤,赵之岑,李炳金),同时参加了智能车和电赛,并在2019年全国电子设计竞赛H题组获得国一的成绩,感谢达尔闻邀约。
应标题,我的答案是:智能车——
虽然连续两年做智能车都没取得满意的成绩,但是我还是力推,因为今年电赛国一的成绩离不开做车2年的“磨练”。在2019电赛中用到的所有的硬件知识,都得益于智能车的经验。 有人说智能车是情怀,电赛是经历,作为两赛都参加的选手,这一点感触颇深。 所以我将全部心得写在文末,给不知道参加什么比赛的同学一些建议。
由于是刚做完智能车直接参加电赛,因此采纳的是NXP的平台,建议大家时间充裕可以多学学STM32,资料丰富,第三方支持多,价格便宜。
系统方案
本系统包括MK66FX1M0VLQ18单片机,MT9V032摄像头模块,线圈式电磁炮,升压模块,高压大容量电容,两轴舵机云台,电磁继电器模块。高速摄像头配合单片机实时采集头像,寻找引导标识,在通过激光雷达获取距离,解算发射角度与发射电压,达到最准精度,并设计了简单的人机交互界面,实时调试参数。装置整体结构简洁、系统稳定,能够实现预期任务要求。
1、系统结构
模拟曲线电磁炮系统是一个高压的,高精度的控制系统,通过控制舵机云台转动与电磁炮的电压来控制射击精度,因此安全与稳定同样重要。稳定机械结构是提升射击精度稳定的基础,因此我们使用机械臂改装云台,铁质底座与双轴大扭矩舵机保证了炮弹在发射时机械结构的稳定,并使用两个电磁继电器模块将整个电路强电与弱电隔离,既保护操作人员也保护微控制器。
2、方案选择
(1) 电磁炮的结构
我在这次比赛总共是见过三种方案:
方案一: 轨道炮:弹丸速度快,射程远,但耗能较大,成本比较高,效率低不易搭建。
方案二 :升压线圈炮:模型简单易建,效率高。通过一个升压模块把12V升到200-300V达到发射所需要的能量。
方案三: 两级加速的线圈炮:在两级之前加光电传感器,这样就不需要进行升压,直接通过市电220V就可以满足要求,但是根据最后测试结果来看,误差还是比较大的。
最开始没想那么多,就查了一份电路图,淘宝上的模型就是升压线圈炮,就一个方案一直这样做下去了。
(2) 舵机云台
我们这次是使用的舵机,在比赛过程中我也遇见了使用步进电机的,其实两个都差不多,我们是觉得步进电机程序好写,手上正好准备了舵机云台。大家做的时候随便选一个就行了。
做控制就是越简单越好,我们用舵机云台,找一个角度对应关系就可以了。
3、控制方案
线圈炮的控制策略就两种方案,要么控制电压,要么控制俯仰角,要么你两个都用,不过不推荐两个都用,多一个参数,曲线更难拟合,用一个就行了。
方案一:通过控制电容的充电电压来控制发射距离,假定电容所储存的能量全部传递给了炮弹,由电容的能量计算公式E=1/2*C*U²=1/2*m*v²和距离公式x=V²*sin2θ可得,发射距离x与充电电压U为二次方的的关系,但由于电解电容会有自放电的特性,导致每一次发射时的电压并不完全相同,还会随着电容寿命减少而使误差变大。
方案二:通过控制发射角度来控制发射距离,假定电容所储存的能量全部传递给了炮弹,由距离公式x=V²*sin2θ可得,发射距离x与发射角度θ为正弦函数关系,并且由于题目要求发射距离较远为2m—3m,所以发射距离与发射角度几乎为线性关系。在使用舵机的过程中,我们发现舵机转动的角度与给定的PWM波的占空比几乎是线性关系,在电压不变的情况下,角度又与发射的距离呈现线性关系。
所以我们的控制方案为控制发射角度构造拟合函数,从而实现电磁炮精准发射。还有一点比较重要,电磁炮的精准度和电容有很大关系,我们实验室另外一组就是选的电容就很不好,自放电速度特别快,同样电压同样角度,两次发射出去能差十几厘米,这样就没办法拟合曲线。
所以大家在选电容的时候要尽量测一测选一个好电容,能省去很多麻烦。
还有一个问题是炮弹的选择,在发炮的过程中由于强磁场的关系,炮弹会有磁化现象,所有大家选炮弹的时候尽量选一个强磁材料,我们用的就是多功能螺丝刀套装盒里的螺丝刀头,它基本上不怎么会被磁化,可以打几个小时才冲一下磁,我见其他几组有好多用钢球的,同样电压同样角度打出去两次都有较大误差或者打几次就得换弹,我们每次都打同一个螺丝刀头,省了很多事。并且螺丝刀头上的条纹也使炮弹的稳定性大大增强。
理论分析与计算
1、电容容量计算与选择
由于我们使用高压大容量电容对线圈进行快速充放电,使用升压模块对电容充电后,利用电容对线圈瞬间放电产生的强磁场,驱动电磁材料进行发射,若忽略线圈内部损耗,炮弹初始能量为:
E=1/2*C*U^2=1/2*Li*i²
可得,电容的电压和容值越大,炮弹的初始能量越大,经过反复实验,我们测得450V/220uf电容能够较好的满足我们的需求。
2 、炮弹射程计算
在对曲线电磁炮建立物理和数学模型后,参考相关文献后,我们发现炮弹在炮筒内为直线运动,离开炮管后的运动曲线为抛物线。
电路与程序设计
1、电路的设计
我们就是直接用飞卡的板子改装的,删掉了电机接口,增加了ADC和舵机接口,大家不要学我们,该学STM32还是得学,恩智浦的芯片做嵌入式还是有很多缺点的。
主控系统总体设计
电磁炮子系统电路原理图
2、程序结构与设计
(1)程序功能描述与设计思路
由于引导标识与靶标之间的位置关系固定,所以,可以通过确定引导标识位置来换算出靶标位置。由灰度摄像头返回其所拍到图像区的灰度值,区分并计算引导标识与其背景的间类均方差值,从而拟合出引导标识边缘,及其相对背景的水平角度参数信息,再由激光测距传感器,返回其与炮台间的垂直距离,经拟合的运动曲线及欧拉空间角转换,精确得到靶标位置。
(2)程序流程图
主程序流程图
电磁炮子系统流程图
心得体会
1)还是我一直强调的,做控制很多时候都不是在做控制而是做结构,做电赛更是,第一天就是搭结构,从上上届的风力摆,上届的板球系统都可以看出来,没有好的结构是肯定做不出来的。
2) 关于电赛 我们准备的也不多,就是智能车华北赛回来做了做前年的板球,如果非要让我给小白指 导的话,我就推荐大家做智能车,我所有的硬件知识都是在智能车中学到的(虽然比了两年就拿了个华北赛区的三等奖,哭唧唧),做完智能车你真的就会觉得国赛这都是小菜一碟,再难调能有车难调?再心态爆炸也没有比赛时一道上帝之光爆炸。
3) 最后就是四天三夜的比赛让我感到电赛就是比的一个坚持和耐力,在这么短的时间里解决一个前所未有的难题真的是什么问题都会遇到,我们调的第二天连烧两块核心板都感觉自己肯定凉了,最后我拖着我队友一直做下去才会有最后的成绩,所以希望大家在学习和作比赛的过程中一定不要放弃。
4) 我看还有很多同学对要不要提前画板子有疑问,我觉得可以画,我就是提前画好,反正每年控制都是那几个器件,把adc,舵机,电机,iic,屏幕口都画好,题目下来了直接搭配就行了,也免得用杜邦线,感觉挺不稳定的。电赛要搬来搬去,稳定才是最重要的。
最后祝大家学习生活都能顺心如意,各种大赛能够拿奖拿到手软。
END
往期电赛文章合集
//end
若觉得文章不错, 转发分享 ,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等!
在公众号内回复「更多资源」,即可免费获取,期待你的关注~ 长按识别 图中二维码 关注