基于STM32的高炮四炮手模拟训练装置设计与实现
2015-02-23孙书鹰李伟刘江义曹彬乾
孙书鹰,李伟,刘江义,曹彬乾
(1.军械工程学院,石家庄050003;2.解放军77618部队,拉萨850000)
基于STM32的高炮四炮手模拟训练装置设计与实现
孙书鹰1,李伟1,刘江义1,曹彬乾2
(1.军械工程学院,石家庄050003;2.解放军77618部队,拉萨850000)
尽管现代高炮武器系统自动化程度很高,但是人工瞄准射击仍然不可或缺,在人工瞄准射击过程中,四炮手的操作、训练难度较大,因为航向装定要建立较强的空间平行感,需要平时刻苦训练来提高航向判装精度。以STM32微控制器为核心,利用光电编码器、MEMS加速度计和步进电机等设计了一款四炮手训练装置,该装置自动产生目标航向信息,并完成航向给定;参训炮手根据给定航向,转动模拟航向头,使之与给定航向保持平行,微控制器通过航向给定值和装定值之间的误差即可对参训炮手训练水平进行评估。实验表明,该装置只需四炮手一人就能完成训练,可帮助四炮手快速建立平行感,是四炮手速成的好帮手。
高炮,人工瞄准,四炮手,STM32
0 引言
现役高炮武器系统,大部分已实现自动化且主要以火控系统法实施对空作战,可以实现目标自动识别、跟踪,并连续解算射击诸元和控制高炮对空射击。但是,在部队机动途中、占领或撤出阵地或系统故障等情况下,只能采用人工瞄准射击的方法。因此,人工瞄准射击的训练仍然十分必要。
某型高炮人工瞄准射击中,要求四炮手具备良好的平行感以正确装定目标航向。目前我军所使用的高炮四炮手训练器材多以航路装定练习器为主。航路装定练习器是纯机械装置,采取人工控制的方式,需要两人配合训练,影响四炮手训练效率。
针对上述问题,本文以STM32F103微控制器为控制核心,采用步进电机、微型直流电机、光电编码器和加速度计等部件,设计了一种新型的高炮四炮手训练装置,较好地解决了传统训练器材存在的不足,可改善四炮手训练条件、提高训练效率,对于帮助参训炮手快速建立空间平行感,进而提高训练效果具有积极意义。
1 系统总体设计
四炮手训练装置主要由航向给定装置、航向装定装置、控制板及PC机4部分组成,其中航向给定部分包含步进电机、飞机模型、加速度计、微型直流电机及相关接口电路;航向装定部分由光电编码器、飞机模型、加速度计及相应接口电路组成;控制板则主要由STM32微控制器及其外围电路、A3988电机驱动电路组成,系统总体结构如图1所示。
图1 系统总体结构图
设计使用部队配发的按20∶1标准制作的飞机模型,架设航向给定装置时,用火炮瞄准镜内分划瞄准飞机机翼两端,前后移动航路给定装置,当飞机模型两机翼两端在瞄准镜内宽为0-06时,便是航向给定装置的安放位置[6]。STM32微控制器自动产生目标航向信息,并控制电机带动飞机模型指向目标航向信息确定的水平航向和斜航向角度方向,完成目标航向给定。
炮手根据观察航向给定值确定的飞机模型指向,判断目标水平航向角和斜航向角,并转动带有加速度计(测斜航向角)和光电编码器(测水平航向角)的模拟航路头与飞机模型指向平行,完成航向装定。STM32微控制器实时采集加速度计和光电编码器的信息,获取参训炮手航向装定值,并与航向给定值相比较得出二者偏差的大小,对于多次连续训练结果可绘制出航向给定值、航向装定值及相应误差曲线。通过分析各次误差曲线变化规律,结合军事训练考核评定标准即可对参训炮手的训练水平进行评估。
2 系统硬件设计
系统硬件设计以STM32F103微控制器为核心,使用该控制器的多通道PWM、定时器、IO口和SPI接口等外设,扩展小量的硬件电路,实现步进电机多细分控制、直流电机驱动、光电码盘旋变信号采集和加速度计角度信息采集等功能。
2.1 电机驱动电路设计
设计选用动态力矩大、定位精度高的YK42BYGH28-0404A13型步进电机实现水平航向角给定功能,该电机步距角为0.9°,采用多细分算法,可以实现电机微步距控。由于飞机模型体积有限,选择微型直流电机(J928)植入飞机模型内部以完成斜航向角给定,该电机具有结构原理简单、体积小、功耗低和调速方便等优点,电机驱动原理框图如图2所示。
图2 电机驱动原理图
上位机经接口电路给STM32F103微控制器发送控制命令。控制定时器1产生2路成正、余弦规律变化的PWM脉宽调制信号经过低通滤波后分别与电机驱动器A3988的VREF1和VREF2引脚相连,为步进电机驱动提供参考电压;控制定时器2产生一路占空比可控的PWM脉宽调制信号经滤波后与A3988的VREF3引脚相连为直流电机驱动提供参考电压。
同时,微控制器的PB6、PB7引脚分别与A3988的相位控制引脚PHASE1和PHASE2相连接,用于控制流过步进电机各相电流的方向[2],而微控制器的PB8引脚则与A3988的PHASE3引脚相连,用于控制直流电机的转向,Rs1~Rs4则用于控制和检测流经电机各相电流大小。
2.2 光电编码器及其接口电路设计
采用KSWL-3806S-1800-G5-24C型光电编码器实现水平航向装定信号采集,该型编码器采用集电极开路的形式(如图3所示)输出A,B,Z三相信号,其中A,B为相位差90°的方波信号,依据其旋转每圈产生的脉冲数决定编码器分辨率,Z相为每转一圈的零位起点标志信号,每圈只产生一个脉冲信号,用于标定机械角度零位。设计中将编码器的A、B、Z相分别与STM32F103的3个IO端口PC9、PC10、PC11连接,并在各个引脚分别连接一个上拉电阻,电阻的另一端接3.3 V电源。
图3 光电码盘输出等效电路图
2.3 加速度计及其接口电路设计
系统斜航向给定和装定信号均利用LIS3DH加速度计芯片进行采集。LIS3DH可以提供相互正交的X、Y、Z三轴方向上的加速度值,具有体积小、功耗低、功能强大等优点,芯片采用1.71 V~3.6 V电压进行供电,可以在±2 g/±4 g/±8 g/±16 g全量程范围内提供非常精确的数据输出[3],并且通过I2C/SPI串口将测得的加速度值发送给STM32微控制器。其接口电路设计如图4所示。
图4 加速度计接口电路
其中,INT1、INT2为可编程中断控制引脚,分别与PC4、PC5相连;SPC与PA4连接,为芯片提供实时时钟;SDI和SDO为数据输入和输出引脚,分别与PA5和PA6相连;CS与PA7相连为芯片提供使能信号。STM32微控制器通过PC4、PC5和PA5 3个引脚输出控制信号,完成对加速度计芯片寄存器的初始化配置,并且利用SPI通信读取相应寄存器值,获得三轴加速度值,微控制器对接收到的加速度值进行数值滤波就可计算出模拟航路给定角度信息。
3 系统软件设计
系统开机后首先完成STM32微控制器相关外设、A3988电机驱动器和三轴加速度计等的初始化配置,之后通过USART1串口等待接收上位机发送控制命令,控制步进电机和微型直流电机旋转,实现航向给定;参训炮手按照观察到的航向,在水平和俯仰两个方向转动模拟航路头,完成航向装定。因此,系统软件开发主要围绕航向给定部分和航向装定部分进行。
3.1 航向给定部分软件设计
航向给定部分软件设计主要涉及电机驱动和加速度计信号采集。此处着重介绍电机驱动软件设计,而加速度计信息采集软件则在航向装定部分进行详细介绍。
3.1.1 步进电机驱动软件设计
系统水平航向给定主要由步进电机64细分控制实现,细分控制是对电机电流的控制,A3988电机控制器各相电流ITripMax与该相的采样电阻Rs、参考电压VREFx有如下关系[4]:
其中,VREFx按正弦或余弦规律变化,由PMW组成的DAC实现[5]。通过改变VREFx就能得到按恒幅均匀变化的电机内部合成磁场矢量,从而实现对转子位置的细微精确控制。设计选用STM32高级定时器TIM1通道1、2产生2路PWM波,设置定时器自动装载寄存器ARR-1的值为1 150,编程时,通过改变寄存器CCRx的值来改变PWM占空比,寄存器CCRx值计算公式如下[2]:
由此得到256个0~2π范围内按正弦规律变化的CCRx值并将其存放在数组BLOCK[256]内,编程时,通过查表的方法,使定时器TIM1输出占空比成正弦规律变化的的PWM,因余弦与正弦相差90°,故可与正弦共用一个表,查表时,对应的捕获比较寄存器CCRx取值应该错开256/4=64个数组元素取值,PWM脉宽调制信号通过低通滤波器后产生VREFx波形如图5所示。
图5 两相电流相位关系
从图5中可以看出,输出信号VREFx波形达到了预期目标。两相电压相位相差90°,决定了两相电流相位差也一定是90°。
由于此时的参考电压值全为正值,并不能产生正弦变换的电流值,因此,需要通过改变Phasex信号来控制流入各相绕组的电流流向以获取需要的正余弦电流信号,Phasex与各相电压对应关系如图6所示。
图6 相位与各相电压对应关系
当Phasex为高电平时对应输出电流为正,反之为负。通过周期性改变Phasex的值,可实现实际输出电流ITrip以2π为周期成正弦规律变化,在0~2π对应产生256个电流值,从而实现步进电机的细分控制。
3.1.2 直流电机驱动软件设计
系统斜航向给定由STM32微控制器控制嵌入飞机模型内部的微型直流电机带动飞机模型在俯仰方向旋转实现,斜航向给定过程中由加速度计实时测量出斜航向角现在量并反馈给控制器,微控制器将斜航向角现在量与斜航向角给定量进行比较并计算出位置误差δ,利用位置补偿的方法不断消除斜航向角给定误差,最终实现斜航向角给定。
其原理框图如下。
图7 直流电机控制框图
程序开始时,系统利用STM32高级定时器TIM2通道1产生占空比可变的PWM信号,该信号经低通滤波后输入电机驱动芯片作为直流电机驱动参考电压,编程时,通过判别误差信号β的正负情况,将与A3988相位控制引脚PHASE3相连接的微控制器引脚PB8置高或者置低,从而控制流往电机的电流流向并控制电机按指定方向旋转,最终消除斜航向角误差量,完成斜航向给定。
3.2 航向装定部分软件设计
系统航向装定部分软件设计主要包括光电编码器信号采集和加速度计信号采集两部分。其中光电编码器负责水平航向角装定信息采集,而加速度计则完成斜航向角角度信息采集。
3.2.1 光电编码器数据采集模块软件设计
光电编码器采用的是增量式,数据采集采用外部中断方式检测光电码盘各相脉冲,为了实现倍频,A、B相配置为上升沿和下降沿均触发方式,Z相配置为上升沿触发方式。光电码盘信号变换关系如图8所示。
图8 信号波形图
当编码器正转时,状态变化为10>11>01>00,反转时,状态变化为01>11>10>00,并且以此周期循环。根据各次状态的唯一性,可根据A、B相电平的变化实现倍频、判向并且实现计数。
当A、B相脉冲触发中断时,调用外部中断函数读取相应引脚输入值,通过移位运算得到A、B相的编码值,并根据现组合编码值的前一个状态来实现判相、计数。将得到的计数值按比例关系进行换算就可以得出水平航向角装定信息,最后将计算所得的水平航向角装定值发送给上位机进行后续分析和显示。由于增量式光电编码器开机默认位置为零点,因此,使用前要与给定装置标定。
3.2.2 加速度计数据采集软件设计
设模拟航路头及飞机模型俯仰方向旋转轴与三轴加速度计Y轴重合,此时只需要测量加速度计X轴的倾角就可获得俯仰方向角度变化量,STM32微控制器与加速度计之间通过SPI进行通信,由于系统测量的是相对稳定状态下的目标模型倾角,此时目标模型的在X轴方向上的加速度分量不会大于g。因而加速度计寄存器值初始化时,往CTRL_REG4寄存器中写入0x00将加速度计测量范围设定为±2 g[4],加速度计软件控制流程如图9所示。
图9 加速度计软件设计流程
读取出OUTX_L、OUTX_H寄存器值之后,将其进行移位处理,换算为16位有符号数N,由于此时加速度计测量范围为±2 g,因此,按照比例换算关系就可计算出此时在X轴上的重力加速度分量a,计算公式如下:
然后对该加速度值a按公式:
求取反正弦就可得出X轴倾角θx即斜航向角装定信息,同样将计算所得的斜航向角装定值发送回上位机进行评估和显示。
4 人机交互界面设计与应用
根据军事训练相关成绩评定标准,要求四炮手模拟训练装置具有数据显示及成绩评定功能,采用C++Builder6集成开发工具完成软件开发,设计人机交互界面如图10所示。
图10 模拟训练装置人机交互窗口
如图所示,该四炮手模拟训练人机交互系统能够实时显示出航向给定和航向装定信息,并且绘制出相关曲线图。同时,对每一次训练的航向给定与装定误差值进行数理统计。训练时,以8 s为一次训练周期,在完成规定的训练次数后(以5次为例),按照训练精度超过允许误差的次数0/1/2分别记为优秀/良好/及格,每次超过8 s则降低成绩一等[7]。最后根据数理统计结果给出参训人员训练成绩评估。
5 结束语
本文设计了一款基于STM32F103微控制器的四炮手模拟训练装置。实验与应用表明,该四炮手模拟训练装置较传统的航向装定练习器而言,具有自动化程度较高、操作简单、考评客观公正、不受人为因素影响等特点。符合高炮四炮手训练需求,达到了预订的设计要求,其推广应用对于帮助参训四炮手快速建立平行感,提高训练效率具有重要意义。
[1]杨晓沸.步进电机细分控制的PWM实现[J].机电一体化,2008,14(10):51-55.
[2]曹彬乾,程远增.基于STM32步进电机多细分控制的设计[J].科学技术与工程,2013,13(23):6893-6897.
[3]意法半导体.LSM3DH英文参考手册[S].www.st.com, 2010:1-6.
[4]Allegro Micro.A3988数据手册[S].http://www.allegromicro.com,2006:4-7.
[5]秦健.一种基于PWM的电压输出DAC电路设计[J].现代电子技术,2004,28(14):81-82.
[6]总参兵种部.防空兵兵器与操作教程[M].北京:解放军出版社,2003.
[7]总参谋部.军事训练成绩评定标准[M].北京:解放军出版社,1995.
Design and Implementation of a Simulated Training Device for the Fourth Gun Operator in Anti-aircraft Gun Based on STM32
SUN Shu-ying1,LI Wei1,LIU Jiang-yi1,CAO Bin-qian2
(1.Ordnance Engineering College,Shijiazhuang 050003,China;2.77618 Troops of PLA,Lasa 850000,China)
Although modern anti-aircraft gun weapon system with a high degree of automation,but artificial aimed shot is still essential.In the process of artificial aimed shot,the operation and training of the fourth gunner is turn out to be more difficult for the reason that the binding of course need to establish a strong sense of space parallel,this needs us training hard to improve the discrimination and binding precision of a course.In this paper,a fourth gunner training device is designed,using the photoelectricencoder,theMEMSaccelerometerandthesteppermotor,basedontheSTM32 microcontroller as the core.This device can automatically produce the course information and complete the course binding.The participation gunner then turn the course simulation head to make it parallel to the given one according to the given course information,and the microcontroller may evaluate the participation gunner training level through the error between course given value and the binding value. Experimental results show that the fourth gunner will be able to complete the training only by himself by using this device,and it can help the fourth gunner quickly create a parallel sense,so this device is a good helper in quick method of training for fourth gunner.
anti-aircraft gun,artificial aimed,fourth gunner,STM32
TJ35
A
1002-0640(2015)02-0170-05
2014-01-06
2014-02-07
孙书鹰(1957-),男,山东烟台人,副教授,硕士生导师。研究方向:导航、制导与控制。