2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮

前言

首先要肯定电子设计竞赛的含金量,而也正是电子设计竞赛给了我本科阶段最好的体验。此文章介绍的作品是我所在团队于2019年参加电赛的参赛作品,在队友、指导老师的共同努力下有幸获得国家级二等奖。诚然,此作品确实存在很多不足,在此只是分享一下我们当时的方案和经历,供日后参加电赛的学生朋友们参考,不足之处望大家见谅。

完整题目

来自电赛官网:H题模拟电磁曲射炮

实现方案

本系统为自行设计并制作的模拟电磁曲射炮,采用STM32F1单片机作为控制核心,通过串口与外设模块进行通信;采用OpenMV作为图像传感器、TFmini激光测距模块作为距离传感器,通过PID等控制算法实现题目炮击功能。
云台:选用带有平台大圆盘底座的二自由度舵机云台
OpenMV:星瞳科技文档及教程
TFmini:北醒
HMI串口屏:淘晶驰
电磁炮:炮弹选用磁铁,注意炮管尺寸与炮弹形状匹配;线圈使用漆包线自行绕制,注意绕线尽量工整,线圈匝数适量;选用1000uf电容,充放电电路由直流稳压电源经升压模块升压后由12V升为75V,再经过继电器1与电容相连,通过使用单片机控制继电器1常开触点的通断来给电容充电。为了防止充电电流过大损坏继电器,在回路中串联了15欧姆的限流电阻。电容通过继电器2与电磁炮线圈相连,通过使用单片机控制继电器2常开触点的通断来给电容放电实现电磁炮的发射。

功能实现:硬件搭建结束后进行大量的舵机摆角和出射距离的测试,再进行线性拟合,确定部分区间的补偿偏置可近似实现给定距离的发射;发挥题目涉及自动寻靶,采用PID对舵机摆角进行调整,使靶心位于视野中央发射。

程序设计逻辑

外设逻辑:OpenMV实时处理图像确定目标靶位置,OLED实时显示由TFmini测得与目标靶的距离信息,HMI屏幕实时接收操控指令。以上OpenMV、TFmini、HMI各占用一个Usart,OLED遵循IIC协议。
开关逻辑:这里的开关指电磁炮充放电发射开关,依靠继电器实现。

/*
**********************************************************************
*函数名称:void vRelayContorl(void)
*函数功能:继电器控制电容充放电
*
*使用说明:无
*入口参数:无
*返 回 值:无
*
*函数作者:YJ_Xar
*创建日期:2019-8-8 11:26:28
**********************************************************************
*/
void vRelayContorl(void)
{   /*充电*/              ui_Timer1ms++;if(ui_Timer1ms <= 3500){HAL_GPIO_WritePin(C_Save_GPIO_Port, C_Save_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_RESET);}/*过渡*/else if(ui_Timer1ms > 3500 && ui_Timer1ms <= 5000)HAL_GPIO_WritePin(C_Save_GPIO_Port, C_Save_Pin, GPIO_PIN_RESET);/*放电*/else if(ui_Timer1ms > 5000 && ui_Timer1ms <= 10000)HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_SET);/*防止首尾相接*/      else if(ui_Timer1ms > 10000 && ui_Timer1ms <= 11000)HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_RESET);
}

启动逻辑:先通过HMI选择题目序号,PID调整舵机角度,继电器控制电容充放电,实现题目功能。

测试方案

将系统接上电源,把完整程序下载至STM32F1单片机中,用触摸屏控制系统完成题目中的各项要求指标并记录。

根据上述测试数据,系统仍存在偏差,此偏差由激光测距模块长距离测量偏差造成;考虑到子弹外径与炮管内径的偏差,子弹在炮管中运动时速度发生改变,炮击精度较差。

程序源码

链接:https://pan.baidu.com/s/1gOhM6ySnaQ1uQtsrI-b76A
提取码:s1xl
复制这段内容后打开百度网盘手机App,操作更方便哦

写在最后

1.电磁炮硬件电路
此题难点就在此处,比赛时也确实花费了很长时间搭硬件结构。首先,绕线圈,原则上线圈匝数、缠绕层数都是可以计算的,但一方面是不会算而现成计算工具涉及到的参数太多又比较难获取,另一方面是手动缠线圈缠得比较烦也没办法真的一圈圈去查,所以就看心情了,反正最后炮弹打多远影响因素也不止这一个,设计控制算法的时候一起debug了就得了。第二,电磁炮发射电路大概有可控硅方案和升压模块方案两种,因为需要的电压相对较高可控硅容易炸,实验室又有现成的升压模块,也就用上了,升压方案也是纠结了好久,因为一个升压模块可以将12V升到60V,但是60V电压不足以达到目标射程想到升压模块串联,由于开始选的电容和炮弹问题,电压升到120V也没射出去多远,当时因为电压太高有点害怕了(怕死第一名),后来选用1000uF电容充电速度和电压等参数就与系统要求匹配了,碰巧实现了功能;最后,炮弹材质,备选炮弹有磁珠、磁铁,当时各种尺寸的磁珠买了好多,但是实际放入炮管里炮击距离实在是有限,当时还想继续升压尽量让磁珠打远一些,但是最远距离也不够两米;使用磁铁小圆柱是个必然的意外,淘宝买的电磁炮套件里包含磁铁,放入自己的炮管里直接就打飞了,新技能Get√(磁铁形状、尺寸要配合系统慢慢试进行选择)。
2.控制装置
此处要给指导老师点赞,在备赛期间要求各组开发一款适用于各类场景的开发平台,图里可以看出来是提前开好的PCB板,串口、PWM、IIC等各种接口和一些基础电路比如供电电路、电机驱动电路等都画在上面,用长排针把32所有引脚都引出来也就是同时保留了裸开发板的全部功能。节省比赛时间、优化硬件结构。
3.关于合作
首先,肯定指导老师的指导作用,备赛期间一定要配合老师的安排,对老师充满信心、完全信任。
最重要的是队友的配合,我的两个队友是我在本科期间遇到的最有价值的朋友,毕业后我们三个仍保持联系,互相帮助。团队分工是这样的,队友P写软件,队友W搭硬件,我软硬件都做一些,主要起软硬件相互联系的作用。这样的分工其实是因为我的两个队友是绝对硬件或绝对软件,而且实力很强,而赛题里乱七八糟的活儿,比如外设程序、通信程序等这些由我这个一瓶子不满半瓶子咣当的人来完成。互相信任是首要的,次者是本人适合团队协调,东北人儿善于发挥团队润滑剂的作用哈哈哈,团队任务冲突其实并不多见当然也不可避免,是好的团队关系才支撑大家一起攻坚克难。
4.其他
加一点运气,加一点开心,加一点热情。

2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮相关推荐

  1. 2019全国计算机大赛二等奖,喜讯!这次是2019年TI杯全国大学生电子设计竞赛全国二等奖...

    12月21日,2019年TI杯全国大学生电子设计竞赛福建赛区颁奖大会在福州大学举行.大会对福建赛区获得全国大学生电子设计竞赛国赛和省赛奖项的队伍进行了表彰.在今年的比赛中,信息科学与技术学院参赛队伍获 ...

  2. 2019年TI杯全国大学生电子设计竞赛总结反思与经验交流

    2019年TI杯全国大学生电子设计竞赛终于尘埃落定,作为有三年电赛经验的小编来说,今年很有幸能够走完整个电赛流程(还差一步最后的全国颁奖,哈哈哈),再次特别感谢我的队友DYC.YXB还有一个学机械的外 ...

  3. 放大器非线性失真研究装置设计报告_活动 | 机电学子在2020年TI杯全国大学生电子设计竞赛中再创佳绩...

    点击蓝字 关注我们 机电学子在2020年TI杯全国大学生电子设计竞赛中再创佳绩 2020年10月,我院共有15队45名学生参加2020年TI杯福建省大学生电子设计竞赛.参赛学生精心选取了无线运动传感器 ...

  4. 2019全国大学生电子设计大赛H题 模拟电磁炮系统全国一等奖

    2019全国大学生电子设计大赛H题 模拟电磁炮系统全国一等奖 作者 xxx 队友 阿华 狗子 (想要比赛指导的可以xian鱼搜索 电子设计竞赛国一竞赛指导(发布人为晨星)) (想要源码和我比赛时候准备 ...

  5. 2023年TI杯全国大学生电子设计竞赛通知正式发布

    关于组织2023年 全国大学生电子设计竞赛的通知 (电组字[2023]01号) 各赛区组织委员会.各有关高等学校: 全国大学生电子设计竞赛(以下简称全国竞赛)组委会在认真总结往届电子设计竞赛经验的基础 ...

  6. 2017全国大学生电子设计竞赛H题:远程幅频特性测试仪:主控STM32F407

    2017年全国大学生电子设计竞赛 远程幅频特性测试仪(H题) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9sPfFjy1-1618627176227)(media/ ...

  7. 电磁炮设计笔记(2019全国大学生电子设计竞赛H题)

    全文框架 1.硬件笔记 1.1充放电回路 电容充电电路采用继电器对充电电路部分的通断进行控制,放电电路部分通过70TPS12单向可控硅对电路开关进行控制.由此实现单片机对各部分开关的控制, D2作用为 ...

  8. 关于支持合作赛区举办 2020 年 TI 杯省级大学生电子设计竞赛的通知

    摘要:根据部分合作赛区的要求和倡议,TI 从 2008 年开始支持合作赛区举办 TI 杯省级大学生电子设计竞赛.今年 TI 将继续支持相应的合作赛区,举办 2020 年 TI 杯省级大学生电子设计竞赛 ...

  9. 2008年“TI杯”湖北省大学生电子设计竞赛元件清单

    2008年"TI杯"湖北省大学生电子设计竞赛 ∴竞赛元器件清单 2008年"TI杯"湖北省大学生电子设计竞赛 基本仪器.主要元器件和TI 公司提供的元器件清单 ...

最新文章

  1. java B2B2C springmvc mybatis多租户电子商城系统-Spring Cloud Feign
  2. 在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理...
  3. linux中的jobs命令,Linux 中 jobs 命令详解
  4. Xcode7 beta 网络请求报错:The resource could not be loade
  5. Unity3D中常用的数据结构 学习
  6. 适用于Linux的Windows子系统WSL
  7. excel 单元格求和大于某个数后返回列号_Excel最常用的几个函数,我都帮你整理好了!...
  8. Java线程面试题 Top 50 (转载)
  9. 4.16_template_method_行为型模式:模板方法模式
  10. python在工作之余能做什么_励志!北京大学保安英语词汇15000,工作之余学Python...
  11. ie6下 jsonp无响应的问题
  12. 深入浅出BP神经网络(反向传播算法)
  13. linux c select函数返回值,linux c中select使用技巧
  14. linux 生成p12证书,Linux下使用openssl制作CA及证书颁发
  15. 让你重新爱上 Windows 的小众软件
  16. 小程序拨打电话功能,微信小程序点击手机号,拨打电话~!
  17. JavaFX入门(五):使用CSS样式美化你的UI控件
  18. 理解es6中的暂时性死区
  19. 群晖DS918+硬盘选择和阵列选择
  20. 目前主流浏览器、浏览器内核和兼容问题的解决方案

热门文章

  1. kubernetes HPA
  2. 助力所有ERP初学者(转)
  3. 常见电子元器件等效电路汇总
  4. mysql 烂泥,烂泥:学习mysql的binlog配置
  5. nodeJS生成随机token
  6. 基于51单片机来开发的智能感应开盖垃圾桶
  7. 认知网络知识点及例题总结
  8. 参加2020Jam初赛记录与部分题目解答
  9. 第6章 - 多无人车系统的协同控制 --> 多无人车协同控制
  10. OpenFaaS实战之六:of-watchdog(为性能而生)