工程名称: 2019年电赛H题 电磁炮(激光版)

工程作者:zzxw

工程主页链接: https://oshwhub.com/kakaka/tu-ya-zhi-neng-yun-duo

开源协议: GPL 3.0

简介

2021年的电赛开始了,给大家推荐几期前几年的题目参考参考。
本系统采用STM32F103作为主控模块,外接触摸屏实现人机交互。以舵机云台搭载电磁炮和标靶测量模块,实现两自由度转动。电磁炮模块采用斩波升压和大电容作为驱动,通过激光测距模块识别和测量标靶距离。

前言

听到举办立创搞电赛征集令,我赶紧报了名,但是由于中途接到立创要搞课程设计,本将在清明就是开始做的项目,就暂时落下了,好在课程设计比较顺利,在4月13的时候实物已经调试完毕,紧接着开设搞这个项目,虽然时间比较赶,但是在制作方面也没有含糊了事,认认真真开始搞这个项目,这个题目是2019本科组国赛题,赛题中有某些指标好多人采用摄像头方案,当时我的第一反应也是加上视觉来完成各项指标,但是后面想用上摄像头如果开源之后有人想跟则一起做岂不是也要会摄像头,让很多想做的小伙伴望而却步,这里我给我写程序的队友提了一个要求,这个题目全部用stm32写完,希望做到大部分人都可以跟着一起做,但是又要完美的完成各项指标,当时我队友有点不愿意,但是还是被我说服了,本作品只要有兴趣的都可以跟着一起做,我把技术细节和源代码全部开源,第一次开源没有什么经验,有不足的希望大家多多指教,互相学习。这里还要感谢一下嘉立创打样,前一天下午下单,第二天晚上准时达到,才让我作品顺利快速完成。
我本人主要专业方向是通信和嵌入式还有FPGA,但是我其实最喜欢的就是做电源,一直在自学开关电源,逆变器,恰巧这个题目差不多是一个标准的程控电源题,所有我选择做这个题。
项目分析
1.1基本要求
(1) 电磁炮能够将弹丸射出炮口。
(2) 环形靶放置在靶心距离定标点 200~300cm 间,且在中心轴线上的位置处,键盘输入距离 d 值,电磁炮将弹丸发射至该位置,距离偏差的绝对值不大于 50cm。
(3) 用键盘给电磁炮输入环形靶中心与定标点的距离 d 及与中心轴线的偏离角度a,一键启动后,电磁炮自动瞄准射击,按击中环形靶环数计分;若脱靶则不计分。
2.发挥部分
(1) 在指定范围内任意位置放置环形靶(有引导标识,参见说明 2),一键启动后,电磁炮自动搜寻目标并炮击环形靶,按击中环形靶环数计分,完成时间≤30s。
(2) 环形靶与引导标识一同放置在距离定标点 d=250cm 的弧线上(以靶心定位),引导标识处于最远位置。电磁炮放置在定标点,炮管水平方H - 3 / 4向与中轴线夹角a =-30°、仰角 0°。一键启动电磁炮,炮管在水平方向与中轴线夹角a从-30°至 30°、再返回-30°做往复转动,在转动过程中(中途不得停顿)电磁炮自动搜寻目标并炮击环形靶,按击中环形靶环数计分,启动至击发完成时间≤10s。

根据题目要求我们来分析一下这个题目各项指标该如何完成,电磁炮击发时的电磁转换需要极大能量,因此需要专门的充能-储能单元作为电磁炮的驱动单元。本系统选择采用UC3843构成的斩波升压充电电路和大电容组合而成的充能-储能单元,UC3843 是高性能固定频率电流模式控制器专为离线和直流至直流变换器应用而设置,为设计人员提供只需最少外部元件就能获得成本效益高的解决方案。这些集成电路具有可微调的振荡器、能进行精确的占空比控制、温度补偿的参考、高增益误差放大器、电流取样比较器和大电流图腾柱式输出,是驱动功率MOSFET的理想器件,用pwm然后通过阻容器件接如3843的电压反馈脚来达到控制电压大小从而控制发射距离,综合考虑采用3843作为升压电路的主控芯片,下面我们来看一下3843的芯片引脚图,就八个角,非常适合本次设计需要。

题目要求中需要找到标靶并且测量标靶与炮台的距离,本来想着用摄像头,但是由于摄像头操作调试过与繁琐,占用主控系统计算比较大,并且开源的话,不一定会stm32的同学也会摄像头的算法思前想后,我还是舍弃了这个方案,最终我还是采用了TW10S,
TW10S激光测距模块根据对反射激光相位差的检测感知标靶距离,可以实现毫米级分辨率。同时,该模块激光收发部分具有较高的信噪比,目标颜色、表面粗糙度和材质等因素对检测结果影响很小。扫描速度快,具有较高的数据速率,检测速度快。本系统对标靶检测速度和距离测量要求较高,识别目标单一,与外部环境差别较大。选用激光测距模块实现标靶测量,功能易于实现,对主控模块计算资源占用少,在精度上远远超于普通摄像头,并且是用串口与单片机通信,朝左比较方便,所以采用TW10S,下面看实物展示。


人机交互方面采用串口屏,具有可操控灵活性高,页面制作简便,对系统占用也比较少,电路板上引脚预留了WiFi模块接口,后续ota之后采用手机控制,无奈我会安卓的队友这段时间比较忙,没时间搞,后阶段等他项目搞完之后会讲此功能跟进,
在发射的时候瞬间电流比较大,我本来采用mos管,继电器等方案,但是由于在射击的时候电容高达上百伏特,电流经过测试达到20A,mos就被舍弃了,后面采用继电器方案,发现 发射几次继电器就烧坏,故这两种方法都不行,后面想到用可控硅,型号为70tps16,开启状态电压: 1.4 V @ 100 A最大转折电流 IBO: 1400 A额定重复关闭状态电压 VDRM: 1600 V,完全符合设计需求,经过后续测试也是如此。芯片参数展示如下。

这块电路板我打算采用两块pcb来完成,分别是主控板和升压板,为什么这样设计,升压板电压有几百伏特,如果隔离处理不当,容易高压触电,并且烧坏主控,现在stm32比较珍贵,故分两块pcb来完成,升压电路展示。

理论分析与计算

电磁炮工作原理类似于圆筒形直线异步感应电动机,驱动电源为储能电容。通电瞬间电容对线圈放点产生圆环电流id,变化电流产生磁场,使得金属弹丸产生了与驱动线圈同轴的环形电流ip,圆环电流id和ip产生的磁场相互作用,实现弹丸击发。

线圈加速过程比较复杂,电、磁、机械联系紧密,为了方便分析,忽略弹丸空气阻力、回路电感等因素进行简化分析,可得电磁炮等效模型如图:

U0为电容初始电压,Rd为线圈电路总电阻,Ld为线圈电路总电感,Lp为金属弹丸总电感,Rp为金属弹丸等效电阻,M为线圈和金属弹丸之前的互感系数。

分别对线圈和弹丸分析,可得方程组:

金属弹丸在磁场内运动时方程为:

式中:vp、m分别为弹丸速度和重量,up、ud分别为弹药和线圈电压。

弹道展示

各原理图电路分析

1.结构框架


电路总体模块如图所示。电磁炮和激光测距头均搭载于舵机云台上同步运动。触控屏实现人机交互和参数设定。STM32通过PWM控制充电电容电压,实现对击发距离的控制。STM32F103主控电路、舵机云台控制电路、激光测距电路原理较为简单,不做详细阐述。下面重点阐述电磁炮充能及击发控制模块,相关部分电路如图

充能电路


充能模块通过一个UC3843芯片控制BOOST升压电路实现。由于电磁炮的发射能量与电容上储存的能量存在正相关,电容上储存的能量由于电容的容值正相关,因此本系统需要选择较大的电解电容,在实际的过程中选择了2个470uF/450V的电容进行并联。考虑到电感电流纹波等因素,BOOST电路选择了1.5mA的电感。开关管选择的是IERP460,这是一款500V/20A的MOSFET。在正常工作过程中,C6和C7的电压比较高,因此D1选择的是快恢复二极管MUR460,它的反向耐压值为600V。在充能电路中,可以通过在P5端口加入PWM控制,调节UC3843芯片的VFB引脚的电压,从而调节UC3843的控制信号,控制BOOST升压电路的输出。

3.击发电路

电磁炮击发时的电容电压大约为150-200V左右,经过测量线圈电阻在15欧姆左右,电磁炮击发时电容对线圈电感进行放电,放电电流大约在10多安培左右,根据电流大小本系统选择可控硅70TPS16作为放电开关。70TPS16额定电压1600V,额定电流70A,完全满足本系统的需求。在驱动电路上,选择了专用的驱动光耦TLP250。

4.充电电源控制


由于在电磁炮发射瞬间时电容对电感放电,工作电流比较大,因此此时充能模块不能够继续工作,否则就会产生持续的大电流,有可能对电路元件进行损坏,因此加入了继电器控制充电电源的通断,使充电电源在电磁炮发射瞬间处于断开状态。

电路pcb设计分析

电源电路pcb布线非常关键,要关注emi和大功率下正常运转和做好电源与控制器的隔离,我在设计pcb的时候特别注意这些问题

首先是电源电路的大电流回路必须要粗并且互相不会感染这里我用立创的时候用到描绘形状的功能,并且让大电流回路导线开窗处理,为后续覆铜。

大功率电源电路一般不覆铜,但是为了防止EMI干扰,在信号控制区域采用覆铜处理并且做好隔离采用边框裁切来隔离高压和信号,反馈导线经过mos管哪里我思考好久,这样走会产生干扰,但是走顶层又怕出现触电危险,走飞线电路板不美感,最后还是走在mos管附近。

实物展示

升压板实物展示
mos管记得加散热片,电容如果有1000uf的一个就可以了,如果只有500uf可以选择装两个。

整体展示

程序设计

程序流程图

充电阶段,STM32控制充电电源开关电路接通直流电源与升压充能模块,对电容充电储能;单片机通过P5端子输入PWM信号调控UC3843芯片2号引脚参考电位,控制储能电容电压。充电完成后,电源开关电路断开,结束充电,电磁炮进入待发状态。STM32控制电磁炮击发部分导通晶闸管,储能电容对电感线圈放电,形成磁场驱动金属弹丸发射,发射完成后关闭晶闸管。

本系统设置了三种工作模式:手动、半自动、自动。手动模式下,手动、半自动模式通过触摸屏设定标靶距离,系统根据公式计算充电电压。点击发射后自动调整至35°仰角,开始充电,电压稳定后提示击发。自动模式下,云台在-35°~35°范围进行自动测距扫描,确定环形靶偏转角和距离,控制云台定位于偏转角,计算充电电压后自动进入击发环节。

主要程序展示

串口屏界面展示



总结

我在测试的过程中遇到了各种各样的问题,但是通过思考和积极修改,克服了难关,我本人学的专业是电子信息工程,在专业课程里面也没有电源知识,但是通过自学也可以做基础的电源了,可能也是因为热爱吧,希望小伙伴在制作的过程中遇到困难也不要灰心,细心排查问题,我在这次也有做的不当的地方,在采购的时候少买了一个元器件,好在实验室板子上找到这个芯片,在后面的工作中一定要细致认知,学到的不仅仅学到理论,也锻炼了团队协作能力,只有团队协作顺利才能让我这么快质量这么高的完成任务,另外这是我第一次开源,要是有不当的地方希望小伙伴们指正,互相学习。

【立创EDA开源推荐】005期 | 2019年电赛H题 电磁炮(激光版)相关推荐

  1. 2019电赛 H题-电磁炮 视觉部分

    2019电赛-H题-电磁炮-视觉自瞄部分; 硬件平台: Jetson Nano, Realsense D435 实现功能:识别到引导标志反馈坐标及距离,串口输出 #include <iostre ...

  2. 2019年电赛D题《简易电路特性测试仪》全过程

    本人为团队中负责硬件部分,为了准备2022年电赛,本队伍已经制作2019年和2021年电赛信号题,本次主要讲解为2019年电赛D题硬件部分,少部分为软件需要做的部分.后续会对整个硬件进行优化和整理. ...

  3. 【立创EDA开源推荐】001期 | 基于航顺HK32F030R8串行Flash烧录器

    工程名称: 串行Flash烧录器 工程作者: micespring 工程主页链接:https://oshwhub.com/micespring/hk32_serialflashprogrammer 开 ...

  4. 【立创EDA开源推荐】09期基于ESP32的物联网时钟

    作者: 立创EDA官方 工程主页链接: https://oshwhub.com/course-examples/wu-lian-wang-shi-zhong 简介: 立创EDA&高校联合实验室 ...

  5. [随笔]2019省电赛无人机题(B题)总结

    2019/8/7~2019/8/10在江苏赛区参加了省电子设计竞赛,这次也是省电赛和全国电赛重合的一年 选择的题目是无人机题 先说结果吧,直接白给了,挺遗憾的 电赛结束挺久了,作为一个从飞行器设计转到 ...

  6. 单片机STM8S测量电压电路_纸张计数测量显示装置+【2019年电赛F题国一获奖作品】...

    一 题目要求: 二 设计方案 1.硬件部分 硬件部分的制作,当初我们组内讨论了三套方案 用FCD2214芯片去采,两极板之间的电容,通过FCD2214转化为AD值,经过测试,发现FCD2214的值,受 ...

  7. 模拟电磁炮国一设计资料【2019电赛H题国一作品】

    经历重重测试,从初赛杀进综测再到去上海复测,真是一路坎坷啊!回顾电赛准备阶段,在实验室基地的我们熬了多少个夜,废寝忘食的学习-仅仅是为了能更有信心的面对电赛:在电赛的四天三夜中我们经历了太多,我们将近 ...

  8. 【全国大学生电子设计竞赛】2019电赛H题复盘录——电磁曲射炮+综合测评

    这是我本科阶段的最后一战,本来期待一个完美收官,但是意外频频,打的不尽如人意,但收获还是有的,故在此复盘,留下一些可供后来人参考的东西. 在此感谢我的队友CJC,WJJ,陪我一起熬夜! 笔者才疏学浅, ...

  9. 2019年美赛C题画图,python函数库basemap下载

    第一次接触建模,就碰到要画美国的地图(2019年美赛C题),实在是头疼.解决的函数找到了,结果第三方库无法下载,虽然知道可以通过.whl直接下载,但有100多M下载时间实在太长,分享一个下载包括所有的 ...

最新文章

  1. (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)
  2. 装饰模式(Decorator Pattern)--------结构型模式
  3. Ubuntu 18启动失败 Started Hold until boot procss finishes up
  4. hdu1542 线段树扫描线求矩形面积的并
  5. 正则表达式中关于字符集的问题
  6. sit是什么环境_软件环境常识 --dev sit uat
  7. linux服务器时间不同步解决方法
  8. Nginx反向代理 实现Web负载均衡
  9. Android Studio 4.0 发布
  10. git rebase 的使用
  11. 如果人工智能最终将毁灭人类,挽救人类你能做什么?
  12. tkinter 实现简单登录窗
  13. wpf 修改输入框 光标_WPF中鼠标光标的设置
  14. 相聚 桂林电子科技大学第三届ACM程序设计竞赛
  15. vs code 国内镜像源
  16. 用u盘linux系统视频,用U盘怎么安装Linux系统
  17. iOS 9的App Thinning方案如何节省存储空间
  18. 群晖7.1使用SHR添加硬盘
  19. java中between and什么意思,关于 oracle between and的用法!
  20. google maps js v3 api教程(3) -- 创建infowindow

热门文章

  1. 三种常见的正则化模型研究2
  2. 未来三年中职生涯规划计算机应用,中职生职业生涯规划书 计算机
  3. 人脸识别技术原理你知道吗?
  4. 阿里云轻量级服务器安装docker
  5. java毕业设计离散制造业产品销售管理系统mybatis+源码+调试部署+系统+数据库+lw
  6. 完全离线的OCR图片转文字识别工具Umi-OCR
  7. 【结构体Struct——简单使用】
  8. KSWeb使用旧手机制作网站服务器
  9. [InnoDB] [FATAL] Tablespace id is xx in the data dictionary but in file .\test\t3.ibd it is xx!
  10. Docker -- 科普文