找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5682|回复: 1
打印 上一主题 下一主题
收起左侧

模拟电磁曲射炮设计思路(电赛题目)Aiduino实现

[复制链接]
跳转到指定楼层
楼主
不喜勿喷,有想法可以发送邮件给我
本文设计完成一款以ATMage328P为主控芯片的便携式模拟电磁曲射炮。研究内容包括硬件电路的设计及其软件程序的设计。硬件设计有设计方案的选择、器件的选型、主控芯片与外围模块的接口方式、接线方法。程序设计使用ATMage328P 单片机的软件架构及标准库函数,设计实现了单片机主程序及其外围功能模块的子程序的设计。此次设计有两种工作模式,分别为手动模式和自动模式。手动模式工作方式为环形靶放置在靶心距离定标点 200~300cm 间,且在中心轴线上的位置, 键盘输入距离值,电磁炮将弹丸发射至环形靶范围;自动模式工作方式为在指定范围内任意位置放置环形靶,一键启动后,电磁炮自动搜寻目标并炮击环形靶。

标靶物

系统整体电路设计



本章通过对设计需求的分析得到完成此次设计所需要的各个模块以及各个模块之间的所需要传输的数据。模拟电磁曲射炮的总体设计不仅要满足基本功能要求,而且要保证在整个设计运行过程中保持良好的可控性和稳定性,保证各个模块在运行过程中在控制功耗的追求下保持极高的可靠性。

1.1模拟电磁曲射炮功能需求分析

电磁炮与环形靶的位置示意如图1所示。电磁炮放置在定标点处,炮管初始水平方向与中轴线夹角为 0°、垂直方向仰角为 0°。 环形靶水平放置在地面,靶心位置在与定标点距离 200cm≤d≤300cm,与中心轴线夹角a≤±30°的范围内。

图1 电磁炮与环形靶的位置示意图

此次设计有两种工作模式,分别为手动模式和自动模式。手动模式工作方式为环形靶放置在靶心距离定标点 200~300cm 间,且在中心轴线上的位置, 键盘输入距离值,电磁炮将弹丸发射至环形靶范围;自动模式工作方式为在指定范围内任意位置放置环形靶,一键启动后,电磁炮自动搜寻目标并炮击环形靶。

1.2系统整体设计

本文设计的模拟电磁曲射炮总体分为四大模块,如图2所示,分别是控制模块、发射模块、识别模块、显示模块。

图2  系统结构图

(1)控制模块:实现对模拟电磁曲射炮系统整体控制,输入键盘用于键入标靶物与定标点之间的距离及角度。

(2)识别模块:扫描定标点前方一定区域,确定标靶物相对于定标点的距离及角度并回传相应数据到主控芯片。

(3)发射模块:控制电磁炮的充能和发射,根据定标点与标靶物的距离来调整电磁炮炮管的抬起角度。

(4)显示模块:显示当前工作模式以及标靶物与定标点的角度和距离。

1.3模拟电磁曲射炮整体设计方案论证

外部组件的选择决定了模拟电磁曲射炮的实现难度和功能的完整性。因此,需要合理选择硬件,在满足需求的条件下最大限度地提高系统工作的可靠性和可靠性。

1.3.1主控板选型

ATMega328P属于AVR系列单片机。ATMega328P单片机配有数字端口和模拟端口两种类型的,其中14个数字端口组可以进行脉宽调制,因此端口将连接到许多外围模块和设备,例如传感器、无线传输模块和执行器等外接设备。ATMega328P操作简易、接口丰富且处理速度快,可以与大量外围设备连接,直接使用USB口与电脑对接下载程序,所以本设计选择ATMega328P作为此次设计的主控芯片。

1.3.2激光距离模块论证

TFmini激光测距模块可以实现实时、非接触式测距功能,其测量结果准确、稳定。TFmini激光测距模块的工作原理是使用周期性红外调制波,当调制波在空间传播过程中撞击物体后,物体反射调制波。反射时间一定的情况下得到定标点与标靶物之间的距离。TFmini激光测距模块的测距范围是0.3m-12m, 在 0.3m-2m 内由于测距档位切换, 会产生个别点误差在±6cm,6m-12m之间测量结果与实际距离之间的误差小于实际距离的±1%。采用光路和算法优化来减少因外部不可抗力对测量结果的影响。由于其使用光的反射时间来确定测量的距离,所以仍会受到黄江光和物体表面材料的影响。

TFmini激光测距模块的有效距离边长度只有在要测量的目标长度大于或等于有效距离边长度时,数据才稳定,安全可靠。一定探测距离内可测量物体的边长由该激光测距的视场角决定,计算公式为

其中, Distance表示有效测距边长,D 表示探测距离,β为TFmini激光测距模块的接收半角1.15°,一般的有效测距边长与探测距离的对应关系,见表1 TFmini激光测距模块有效测距边长与探测距离的对应关系。

表1 TFmini激光测距模块有效测距边长与探测距离的对应关系

探测距离

1m

2m

3m

4m

5m

6m

7m

8m

9m

10m

有效边长

4cm

8cm

12cm

16cm

20cm

24cm

28cm

32cm

36cm

40cm


综上所述,TFmini激光测距模块具有分辨率高、抗干扰能力强、测量精度高等特点,满足本设计的所有的需求,本设计采用TFmini激光测距模块作为本设计的距离传感器模块。

1.3.3显示模块论证

显示模块对于模拟电磁曲射炮系统十分必要,可以通过显示模块得知键入值、当前工作模式以及标靶物与定标点的角度和距离。主控板与液晶显示模块使用IIC通信协议进行通信,极大的节约了主控板引脚资源,降低了系统整体功耗。

1.3.4云台模块论证

发射模块主要有舵机云台组成。由于要满足水平方向移动和垂直方向移动的需求,所以采用双自由度舵机云台。实现了水平方向移动和垂直方向移动电磁曲射炮炮管,KS-3518舵机支持0-180°旋转,满足此次设计的需求。

1.3.5电磁发射电路论证

线圈炮电路设计原理一般是指用脉冲或交变电流产生磁行波来驱动带有线圈的或磁性材料的发射体的发射装置。最基本的线圈型电磁变送器是两个线圈,一个是称为驱动线圈的定子,另一个是由称为传输线圈的驱动线圈的电磁炮的驱动电枢。而此次设计所采用的电磁炮仅使用一个线圈,在线圈中输入脉冲电流,使线圈产生洛伦兹力,线圈中防止磁性材料弹丸。采用磁阻型线圈式发射方式,感应线圈炮原理使用脉冲或者交变电流产生磁行波来驱动弹丸,此次设计中使用大容量电解电容提供脉冲电流来达到发射弹丸的目的。

1.4模拟电磁曲射炮的整体原理

主控芯片负责对整个系统进行信息的控制。TFmini 是一款小型激光雷达模组。主要实现实时、无接触式的距离测量功能,具有测量准确、稳定、高速的特点。TFmini周期性的向外发出近红外光调制波,调制波遇物体后反射,通过反射时间计算定标点与被测目标之间的相对距离。键盘可以进行模式的选择与发射角度的控制。IIC LCD1602实时显示当前工作模式及当前定标点与标靶物之间的距离。

2模拟电磁曲射炮硬件电路设计

各个模块的硬件电路连接的稳定性决定了整个设计的稳定性,各个模块之间的通信方式的选择决定着整个设计的资源分配和各模块之间的通信效率。模拟电磁曲射炮的硬件设计包括核心主控板电路设计、按键控制模块设计、显示模块设计、发射模块电路设计、激光测距模块设计。本章通过结合基本理论和现有经验选择合适的电路连接方式,完成电磁曲射炮硬件电路设计。模拟电磁曲射炮硬件电路整体设计如图3所示。

2.1 ATmega328P主控芯片电路设计

ATmega328P属于高性能、低功耗微控制器。选择此款控制芯片是因为本系统设计并非追求更低的成本或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各项实验项目所需的外围扩展电路。ATMega328P主控芯片的电路图如图4所示。

2.2激光测距电路设计

激光测距模块使用标准输出模式。标准数据输出数据帧长度为9个字节。其输出的数据类型是十六进制,包括距离信息、信号强度信息、温度、数据校验字节等。

TFmini和ATMega328P之间的连接方式是串行端口连接。TFmini激光测距模块与ATMega328P电路之间的连接如图5所示。

2.3按键电路设计

此次设计的按键模块使用轻触按键,与ATMega328P的D6、D7、D8和D9引脚线连接,下拉电阻可以将一个不确定的信号,通过一个电阻与GND相连保证当轻触按键按下时其输入固定在低电平,保证按键信号的稳定输入。按键电路设计如图6所示。

图3 模拟电磁曲射炮硬件电路整体设计

图4 ATmega328P芯片电路示意图

2.4显示单元电路设计

显示模块采用带有PCF8574芯片的LCD1602液晶显示屏,LCD1602进行角度和距离数据的显示,IIC LCD1602与ATMega328P的电路连接如图7所示。

2.5电磁炮发射电路设计

电磁发射电路采用磁阻型线圈式发射方式,感应线圈炮原理使用脉冲或者交变电流产生磁行波来驱动弹丸,此次设计中使用大容量电解电容C1(35V 10000uf)提供脉冲电流来达到发射弹丸的目的。总体电路如图8所示。

升压模块通过将低压转换为高压给电解电容C1充电。本设计采用的升压模块可以将输入到VIN+的3~5V电压生压为OUT+输出的25~28V,达到给电解电容C1充电的效果。

图5  TFmini激光测距模块与ATMega328P电路连接

电磁继电器采用高电平触发模式。VIN为低电平时,COM口与NC1接通,此时电磁发射电路处于充电状态;当VIN输入为高电平时,COM口与NO1接通,此时电磁发射电路处于放电状态,电容C1储存的电量转换为脉冲电流,脉冲电流用过线圈L1产生磁场达到发射电磁炮的效果。

图6 按键电路设计

图7 IIC LCD1602与ATMega328P的电路连接

图8 电磁发射电路

2.6云台模块电路设计

瞄准模块主要由舵机和云台组成,实现水平方向移动和垂直方向移动电磁曲射炮炮管。舵机与单片机连接电路如图9所示。

图9 舵机与ATMega328P主控芯片连接电路

舵机采用KS-3518数字舵机,该舵机可转动范围0~180°,符合本此设计的设计需求。此次设计的垂直方向控制舵机与ATMega328P的D9引脚线连接,水平方向控制舵机与ATMega328P的D10引脚线连接。

3模拟电磁曲射炮软件设计

此设计总共分为手动模式和自动模式两种模式。系统整体流程图如图10所示。在程序启动时选择手动模式,测量标靶物相对于定标点的角度和距离,使用按键输入标靶物相对于定标点的角度,将测量得到的标靶物与定标点的距离通过查询弹道表的方式转换为模拟电磁曲射炮炮管的抬起角度,将角度值输入后云台转动到指定角度,点击确认发射即可。自动模式通过云台水平舵机的转动以及激光测距模块实时采集距离值,当采集到的距离值大于200cm且小于300cm厘米时,停止转动水平舵机,根据距离值调整云台垂直舵机角度随后发射电磁炮。模拟电磁曲射炮的软件设计包括核心控制器程序设计、显示模块程序设计、距离识别模块程序设计、发射控制模块程序设计。

3.1激光测距模块程序设计

激光测距模块采用串口通信方式与控制器连接。首先定义串口RXD和TXD,接着定义串口通信波特率及数据包帧头,数据包帧头设置为0x59, 数据包帧头主要用于判断是否将接下来激光测距模块传来的数据存入数组。将激光测距模块传来的数据进行奇偶校验,若校验结果不正确,则需要重新开始判断接口是否有数据输入,若校验结果正确,通过计算激光测距模块传回的数据得到距离值以及信号强度。激光测距模块程序设计框图如图11所示。

3.2显示模块程序设计

根据IIC LCD1602的时序图,对IIC LCD1602进行操纵,IIC LCD1602的程序原理图如下图12所示,其软件实现分为以下4个部分:

(1) 使用函数LiquidCrystal_I2C lcd(0x27,16,2)确定LCD1602通信地址;

(2) 初始化LCD1602.lcd.init()显示屏幕初始化,lcd.backlight()打开屏幕背光;

(3) 通过lcd.setCursor(0,0)设置显示位置;

(4) 利用lcd.print("XXX")函数设置要显示的数据内容。

3.3电磁炮发射程序设计

电磁炮发射控制开关为电磁继电器,通过改变输入电磁继电器的信号来控制电磁炮的充电和发射过程。电磁继电器通过与控制器引脚连接,充电时控制器引脚输出为低电平,发射时控制器引脚输出为高电平。电磁炮发射程序原理图如图13所示。

4模拟电磁曲射炮系统调试与测试

利用驱动程序对各种外设进行控制,同时协调各个硬件模块实现自动识别以及电磁炮自动发射的功能,提高电磁炮在0-3m范围内的命中概率。

4.1按键、手动模式和自动模式的切换测试

首先调试了按键输入模块,在测试过程中,当整体系统重新启动后会出现引脚悬空的状态,这种状态下,如果使用控制器去读该引脚的值,会出现高电平状态或者低电平状态,导致整体系统混乱。在后续的调试过程中,使用下拉电阻,将不确定的信号通过一个电阻嵌位在低电平,这样就解决了程序运行过程中因按键引起的程序混乱。

系统启动后,IIC LCD1602显示通过选择按键选择一种模式,如图14所示。此时按下KEY_3进入手动模式,按下KEY_4进入自动模式。

4.2电磁炮充电发射测试与弹道表绘制4.2.1电磁炮充电发射测试

电磁炮主要使用升压模块将低压转换为高压给电解电容C1充电。由于电磁炮要击中200cm以外的目标,此时对电磁炮发射系统稳定性较高,所以每次控制电磁炮的充电电压为28V,通过控制稳定的充电电压,达到稳定电磁炮发射系统的目的。

在控制每次发射电压都为28V的前提下,经过多次测试,得到了云台垂直舵机角度与射程的测量数据,测量数据如表2所示。

表2 云台垂直舵机角度与射程的测量数据

云台垂直舵机角度(°)

116

118

120

122

124

射程(cm)

200

208

219

221

226

126

128

130

132

134

136

138

140

228

230

234

232

242

244

246

234


4.2.2弹道表绘制

在电磁炮发射测试过程中得到了多组关于云台垂直舵机角度与射程的数据,这些数据为散点,可以通过拟合的方法将散点拟合成一条直线或者曲线,Matlab有一个功能强大的曲线拟合工具箱cftool,使用方便,能实现多种类型的线性、非线性曲线拟合。下面将使用两种拟合方式对散点图进行拟合,并求出拟合后的曲线或者直线的表达式。

(1)Polynomial(多项式形式)方式拟合散点

使用Polynomial方式拟合得到的曲线如图15所示,所得到的距离关于云台垂直舵机转动角度的函数关系式为:,其中p1=0.5261,p2=8.0555,则关系式为:

(2)Exponential(指数形式)方式拟合散点

使用Exponential方式拟合得到的曲线如图16所示,所得到的距离关于云台垂直舵机转动角度的函数关系式为:,其中a=49,b=0.0042,则关系式为:

通过观察上述方法拟合出来的两条曲线,Polynomial和Exponential方式拟合得到的曲线相差很小,综合考虑ATMega328P计算能力有限,所以选择Polynomial方式得到的曲线方程作为此次设计电磁炮的射程距离关于云台垂直舵机转动角度的函数关系式。

图10  系统整体流程图

图11 激光测距模块程序框图

图12  LCD1602的程序原理图

图13 电磁炮发射程序原理图

图14 两种模式的选择界面

图15 使用Polynomial方式拟合得到的曲线

图16 使用Exponential方式拟合得到的曲线

5结束语

此次设计是基于ATMega328P的电磁曲射炮系统,该系统主要分为硬件子系统和软件子系统。本设计通过测量标靶物相对于定标点的角度和距离实现手动控制电磁炮发射和自动寻找目标并自动发射的两个功能,实现电磁炮的小型化和智能化。利用驱动程序对各种外设进行控制,同时协调各个硬件模块实现自动识别以及电磁炮自动发射的功能。经多次调试测试,所设计的电磁曲射炮实现了0-3m范围内对目标的高命中率。此次设计的手动控制电磁炮发射和自动寻找目标并自动控制电磁炮发射的功能,都是本次设计中的亮点,各功能模块工作稳定,射中目标概率较高,基本实现了电磁炮的小型化和智能化。


不喜勿喷,有想法可以发送邮件到shouldyoulyn@outlook.com

以上的Word格式文档51黑下载地址:
模拟点此曲射炮设计.docx (1.01 MB, 下载次数: 31)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:910181 发表于 2021-4-23 21:41 | 只看该作者
能发一下代码和元件清单吗?感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表