林娟,王永靖
(兰州工业学院电气工程学院,甘肃兰州,730050)
关键字:STM32F103ZET6单片机;线圈电磁炮;舵机;超声波传感器
采用单片机为控制核心,超声波模块检测引导标识的位置,并以脉冲电信号的形式反馈给单片机,经单片机计算处理后用来调整云台的位置。系统包括单片机、舵机、继电器模块、储能式电容、电源模块组成。由舵机来控制炮筒转动精确的角度,利用超声波模块测出电磁炮与靶之间的距离。
系统方案如图1所示,单片机STM32F103资源丰富,32位的单片机使PWM信号的脉冲宽度实现微秒级的变化,从而提高电机的转角精度单片机完成控制算法,再将计算结果转化为PWM信号输出到电机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可以通过直流电机来带动旋转臂,从而带动摆杆。
图1 系统方案
根据电磁感应定律,模拟电磁炮利用强脉冲电磁能来发射子弹。电磁炮采用线圈式推进,储能式电容放电,从而产生较强电流作用。电流通过线圈后产生瞬间的强磁场,作用在金属子弹上产生涡流,子弹受到安培力作用后加速。电磁炮将电源的电能转化为子弹的动能和内能。线圈将电能转变为磁场能,通过电磁相互作用,最终实现能量的转换:
其质点外弹道运动方程组如下:
式中v为弹丸存速(m/s),t为弹丸飞行时间(s),ρ为空气密度(kg/m3),m为弹丸质量(kg),S为弹丸最大横截面积(m2),Cx为阻力系数,g为重力加速度(m/s2),θ为弹道倾角(rad),x为弹道上任意点水平距离(m),y为弹道上任意点高度(m),其中:t=0,v=v0,θ=θ0,x=y=0。
弹道系数的计算公式为
中,C为弹道系数,i为弹形系数,d为弹径,G为弹丸重量。
采用STM32F103单片机,它是一款增强型32位单片机,该单片机采用Cortex-M3内核内核,可运行在72MHz总线频率上。拥有256KB FLASH;48KB RAM;18通道A/D模数转换器;30通道PWM输出。
电机驱动模块电路如图2所示。
图2 电机驱动模块电路
本模块使用方法简单,一个控制口发一个10μS以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,即可以达到移动测量的值。
电源整流电路如图3所示。
图3 电源整流电路
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的:0.5ms--0度;1.0ms--45度;1.5ms--90度;2.0ms--135度;2.5ms--180度。整体硬件接线图如图4所示。
图4 硬件接线图
模拟电磁炮软件流程如图5所示,由手动模式和自动模式组成,超声波检测,仰角计算等组成。
图5 模拟电磁炮软件流程如图
实物测试如图5所示,对系统的硬件进行测试,测试结果如表1所示。
表1 电磁炮能够将弹丸射出炮口
对硬件手动进行测试,在弹道内放入子弹,经测试,系统的相应时间为2s左右,基本满足设计要求。
图6 实物测试图
手动调节电磁炮的角度,并在不同的距离处采集数据,为后期算法处理提供原始数据,采集的数据如表2所示。
表2 电磁炮将弹丸发射至环形靶的位置
以电磁炮为圆心,将目标靶放置不同的距离处,让系统自动进行扫描打靶,测试的数据如下表3所示。
表3 跟随标识移动
本系统通过按键电路选择自动或者手动模式,在手动模式下,用户可以手动输入靶心与系统的距离以及水平偏差角度,在自动模式下,用户一键启动之后,系统自动扫描,在外界干扰不大的情况下,利用超声波检测的数据,自主计算出需要旋转的仰角角度,并且驱动继电器将储能电容的能量作用于线圈,在线圈产生的强磁场下,安培力作用子弹加速运动,击中目标,经测试系统功能良好。