火炮随动控制平台的设计

2019-06-13 03:12刘叶楠陈超波
自动化与仪表 2019年5期
关键词:子程序火炮按键

刘叶楠,陈超波,张 峰

(西安工业大学 电子信息工程学院,西安710021)

随着现代军事科技的不断发展,以计算机为核心的智能控制系统得到了广泛的应用,各种空中目标在不断的创新, 现代攻击战术可谓日新月异,这些对现代防空系统提出了更高要求[1];火炮作为中低空防空体系中主要力量, 在新的作战形式下,需要不断的改进,应该具有抗恶劣环境、强实时性、高可靠性和高安全性等特点[2];火炮随动系统是典型的伺服系统,其动态性能与静态性能直接影响了武器系统的作战能力[3]。因此在通过多方面、多角度的研究、探讨与总结,综合了国内外相应控制系统的特点之后,决定采用一种新型的基于CAN 总线的火炮随动系统,该系统主要用于完成对火炮状态的检测和向炮台控制系统下达操作指令,实现对火炮方位和高低的准确控制以及火炮状态的显示功能[4-5]。

1 火炮系统总体设计

1.1 火炮系统整体结构设计

火炮系统控制台主要由信号采集模块、ARM 处理器模块、信息存储模块、通信模块、液晶显示模块、键盘输入模块组成。系统通过信号采集模块采集火炮状态的相关参数,将采集的信息传输到ARM 处理器模块,处理后的数据一方面通过信息存储模块实现对数据的存储功能,另一方面通过通信模块实现远程的信息传输和对火炮状态的远程监控和调整;液晶显示模块主要用来显示火炮的控制模式、电机的位置、射速及射击长度的设定值[6-7];键盘输入模块主要是对相关参数进行修改,保证系统最优的工作状态[8];CAN 总线驱动模块负责单片机与炮控驱动器的通信,完成数据的交换与命令的传输[9-10]。火炮系统整体结构如图1所示。

图1 火炮系统整体结构框图Fig.1 Overall structure block diagram of artillery system

1.2 火炮系统核心处理器

核心处理器作为整个系统控制的核心部分,是整个火炮控制系统的关键,确定了核心处理器的型号才能够对系统外围的电路进行设计。综合多方面的考量之后, 为了能够准确地控制火炮的方位,本系统选用ARM 处理器作为核心处理器[11]。

ARM 处理器STM32 具有数据处理速度快、功耗低和性能高等优点,本系统选用STM32F103 作为核心处理器。STM32F103 的工作频率高达72 MHz,内部嵌有中断控制器, 采用尾链的方式进行中断,以达到降低CPU 周期的问题[12]。

1.3 CAN 总线

CAN(controller area network)是ISO 国际标准化的串行通信协议[13],CAN 控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据, 且CAN 协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN 总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性[14-15]。CAN 具有的完善的通信协议可由CAN 控制器芯片及其接口芯片来实现,从而大大降低系统开发难度, 缩短了开发周期,CAN 总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。本文基于CAN 总线驱动模块,采用点对点的通信模式,负责单片机与炮控驱动器的通信,完成数据的交换与命令的传输[16]。

2 系统硬件电路设计

2.1 STMF103 处理器

处理器电路包括STM32F103 芯片引脚连接和外围电路设计, 主要包括位电路,JTAG 接口电路、外部晶振电路、去耦电路图等。ARM 处理器电路如图2所示。

图2 处理器电路图Fig.2 Processor circuit diagram

芯片的供电引脚19、32、48、64 接3.3 V 电压。ARM 处理器中的引脚16(PA2)、引脚17(PA3)分别为串行发送口、 串行接收口,CAN 驱动模块的串行接收口(P0.09)、串行发送口(P0.08)。其外围电路包括JTAG 接口电路、复位电路、外部晶振电路、去耦电路,如图3所示。

图3 处理器外围电路Fig.3 Processor peripheral circuit

2.2 CAN 控制器电路设计

CAN 总线由于采用了许多新技术及其独特的设计, 与一般的通信总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。为了进一步提高系统的抗干扰能力, 在CAN 控制器引脚CANTX、CANRX 和收发器PCA82C250 之间并不是直接相连,而是通过由高速光耦6N137 构成的隔离电路后再与PCA82C250 相连,这样就可以很好地实现总线上各节点的电气隔离。这部分增加了节点的复杂性,但它却提高了节点的稳定性和安全性。CAN控制器电路如图4所示。

在STM32F103 与CAN 总线接口部分也采用了一些安全和抗干扰措施,PCA82C250 的CANH 和CANL 引脚各自通过一个120 Ω 的电阻与CAN 总线相连, 电阻可起到一定的限流作用, 从而保护PCA82C250 免受过流的冲击。在CANH 和CANL 与地之间各自接一个0.1 μF 的小电容,可以起到滤除总线上的高频干扰和防电磁辐射的作用。

2.3 LCD 显示模块

该液晶模块有8 条数据线和3 条控制线。设计中选择用端口P5 作为数据线,P4.3 接控制引脚RD,P4.4 接控制引脚WR,P4.5 接控制引脚RS,P4.6 接控制引脚A0。液晶显示接口电路设计如图5所示。

图4 CAN 控制器电路Fig.4 CAN controller circuit

3 火炮随动系统软件程序的编写

信号采集模块采集到火炮的相关信息之后,将采集的信息传输到ARM 处理器,ARM 处理器对接收的数据进行相关处理,处理后的数据一方面通过信息存储模块实现对数据的存储功能,另一方面通过通信模块实现远距离信息传输,最后通过LCD 显示出来,软件程序包括主程序、初始化子程序、按键扫描子程序、数据存储程序、CAN 通信子程序、显示子程序。ARM 处理器实现对信号采集模块采集到的火炮状态信息进行处理和调整,显示子程序的功能是将信号采集模块采集到的火炮状态信息和调整结果显示在显示屏上,按键子程序设置PA0 按键主要是起到紧急开关的作用, 当出现紧急情况时,可以通过按键控制火炮状态。

图5 液晶显示接口电路设计Fig.5 Design of LCD interface circuit

3.1 主程序

主程序是整个系统正常工作的核心。主程序工作流程如下:系统开启之后,主程序调用初始化子程序,完成对系统的初始化,完成系统初始化及开启中断之后,系统调用键盘扫描子程序,判断是否有按键按下,如果有按键按下,系统就可以设定相应的变量值,之后系统按照设定的值驱动火炮程序和信号采集程序;如果没有任何按键按下,系统则会对之前的数据进行存储,同时通过显示模块将火炮的相关信息显示出来。系统主程序流程如图6所示。

3.2 键盘扫描子程序

本系统采用定时中断的方式对按键状态进行查询。该方式与传统的方行列扫描方式相比较有明显的优势,它既可以利用软件程序进行消抖,还能有效的避免了由通信冲突引起的数据丢失问题,提高了系统的稳定性,极大地节省了CPU 资源,提高了扫描效率。键盘扫描具体流程如图7所示。

3.3 CAN 通信子程序

本系统ARM 处理器以CAN 通信的方式与火炮驱动器进行数据传输。当开启中断之后,ARM 处理器与驱动器建立连接, 系统便可以读取数据,并通过串口发送数据, 当数据读取并发送结束之后,系统就会退出中断。CAN 通信流程如图8所示。

图6 主程序流程Fig.6 Main program flow chart

图7 键盘扫描流程图Fig.7 Keyboard scanning flow chart

4 系统功能测试

在完成系统整体方案设计的基础之上,根据系统所搭建的软硬件平台,对所设计的火炮随动系统主要从数据采集功能,数据处理功能及远程通信功能这3 个方面进行功能测试。测试结果表明,火炮随动系统不仅可以实现自检功能、位置信息的采集与存储功能,还可以对火炮进行相关参数设置以及对火炮的控制功能,并且能够应用于实际的工程项目。

图8 CAN 通信流程图Fig.8 CAN communication flow chart

5 结语

本系统主要是以嵌入式技术为基础,设计了一套火炮随动系统。硬件部分包括信息采集模块电路、 信息存储模块电路、 通信模块电路、ARM 处理器、LCD 显示模块等。软件部分主要包括主程序、键盘扫描子程序、显示程序等。该系统提高信号信息采集模块完成对火炮状态信息的采集, 在ARM 处理器模块完成对信息的处理,在LCD 显示屏显示相关信息,并实现对火炮状态的控制。系统测试结果表明:①该系统完成对火炮状态的检测和炮台控制系统下达操作指令,实现对火炮方位和高低的准确控制以及火炮状态的显示功能;②基于嵌入式技术开发的火炮随动系统具有安全性高、可靠性强和稳定性好等特点; ③以ARM 处理器作为核心处理器具有处理速度快等优点。

本系统以ARM 处理器为平台进行了系统软硬件平台的搭建,不仅可以实现自检功能,位置信息的采集与存储功能,还可以对火炮进行相关参数设置以及对火炮的控制功能。系统安全性高、可靠性强。

声明

最近社会上有一些机构和个人,冒充《自动化与仪表》编辑部收取文章发表版面费,本刊特在此作如下声明:《自动化与仪表》杂志的网站为www.zdhyyb.com,投稿邮箱为zdhyyb@vip.sina.com,其他的网站和邮箱地址,均与本编辑部无关,请作者提高警惕,谨防上当!

《自动化与仪表》编辑部

猜你喜欢
子程序火炮按键
基于有限状态机的按键检测程序设计
火炮也减肥
多按键情况下,单片机端口不足的解决方法
按键消抖在单片机和FPGA实验教学中的应用
乌拉尔车辆厂将建立一条自动化生产线
一种多方向导光按键结构设计
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用