基于STM32的锁枪机构控制系统设计

2015-01-27 03:13陈晓东张延杰
自动化与仪表 2015年2期
关键词:管脚凸轮枪支

沈 伟,陈晓东,张延杰

(中国空空导弹研究院 凯迈(洛阳)电子有限公司,洛阳 471003)

枪支是公安民警执行警务和对敌斗争的重要武器。警务枪支的保管和使用历来是公安机关对敌斗争的重要环节,如果保管或使用不当,极易造成负面影响或严重后果[1]。传统的枪柜没有枪支在位检测装置,无法自动记录枪支的领取和归还时间,枪支管理的信息化建设滞后,枪支集中保管而彼此没有锁枪机构及其控制系统,若管理疏漏易出现枪支误取误拿的情况。2013年公安部颁布的公共安全行业标准对智能枪柜提出了具体要求,在出现非正常领取枪支和枪支未按时归还的情况要及时报警,对于枪支弹药存取信息要有记录并且不能人工修改或删除[2]。然而,传统枪柜人工管理方式落后,枪支配发、存放、使用等相关信息不能及时生成,更不能实现信息远程及时共享。鉴于此,本文设计了STM32F103ZET6微控处理器为核心的锁枪机构控制系统,构造了一个模块化、可重构、可扩充的软、硬件控制系统[3]。实时检测和统计枪支的在位情况、记录枪支的存取状况,控制锁枪机构来有效管控枪支,从而弥补了传统枪柜系统的诸多不足。

1 系统的总体架构

控制系统实现的功能是采集各路枪支存放状态、记录枪支在位变化和控制某路或多路锁枪机构开启。每个控制系统可以控制N(N<25)路锁枪机构。每增加N把枪需要管控,只要增加一个控制系统并设置好地址,挂接到485总线上,即可实现枪支在位的监控和锁枪机构开启的有效控制。

1.1 微控处理器及外围电路

如图1所示,本系统由STM32F103VET6微控处理器和外围电路构成。微处理器STM32F103VET6是一款32位Coretex-M3内核处理器,其工作频率为72 MHz,内置高速存储器,包括512 KB字节的闪存、64 KB字节的SRAM,具有丰富的增强型GPIO端口[4-5]。

图1 锁枪机构控制系统的总体框架图Fig.1 Structure diagram of the gun lock control system

STM32微控制器基于ARM体系结构,在Keil MDK环境下主要依托于固件库函数开发[6]。与单片机不同,编程时只需调用STM32库函数即可驱动相关硬件资源,这使得开发不再直接面对底层的寄存器进行操作,无需深入掌握细节,用户也可以轻松应用每一个外设,程序编写简洁而高效。

外围电路包括:JTAG调试下载单元、终端地址设置单元、电源转换单元、终端复位单元、485总线通信单元和N路(N<25)锁枪机构采集和控制单元。该系统需要外部+7 V直流电源供电,+7 V经过AS1117R-3.3芯片转化为+3.3 V给系统中的STM32芯片和485总线芯片供电。JTAG接口用于烧写程序和在线调试,它连接着STM32芯片的JTCK、JTMS、JTDI、JTDO、JRST 和/RST 管脚。 终端地址设置单元由拨码开关构成,它规定了该系统的RS-485总线地址。终端复位单元用于给系统复位。

1.2 控制系统对外通信的设计

该系统作为独立模块对外部控制系统提供RS-485总线接口进行通信。RS-485通信总线的外部控制系统作为主站,挂接的多个控制系统作为从站,每个从站有各自的协议地址。当外部控制系统发送命令到总线上时,各从站都可接收到该命令,但只有地址匹配的从站返回响应包。锁枪机构控制系统收到的命令分为2类:一类是获取各路枪支在位情况,另一类是控制某路或多路锁枪机构开启。

2 锁枪机构采集和控制单元

如图2所示,锁枪机构采集和控制单元与一路锁枪机构的接口为5XS1,每路锁枪机构需要3个I/O资源,1个输出I/O用于控制锁枪机构内电机的转动与停止,2个输入I/O用于采集传感器信号。

图2 锁枪机构采集和控制单元原理图Fig.2 Schematic diagram of sample and control unit for gun lock

2.1 锁枪机构采集电路实现

一路锁枪机构的锁开信号接5XS1接口的2脚,该路锁枪机构的锁开到位信号接5XS1接口的3脚,STM32的I/O输入管脚CG1_1接一路锁枪机构的锁开传感器信号且该管脚通过上拉电阻5R60接+3.3 V。STM32的I/O输入管脚CG1_2接该路锁枪机构的锁开到位传感器信号且该管脚通过上拉电阻5R61接+3.3 V。管脚CG1_1平时为高电平,当锁开信号有效时,STM32检测到该管脚为低电平。管脚CG1_2平时为高电平,当锁开到位信号有效时,STM32检测到该管脚为低电平。

2.2 锁枪机构控制电路实现

SQ1连接锁枪机构内部电机供电的正端。当STM32将连接CJ1的I/O输出管脚置为高电平时,三极管5Q1导通,继电器5K1线圈形成回路,发光二极管5VL4发光,继电器5K1的公共端3和5K1的6端连通,SQ1输出7 V,电机转动。当STM32将连接CJ1的I/O输出管脚置低电平,三极管5Q1截止,发光二极管5VL4熄灭,继电器5K1的公共端3和5K1的5端连通,SQ1输出0 V,电机停止。

3 锁枪机构开启的控制策略

锁枪机构内部由开到位传感器、锁开传感器、直流电机、凸轮、拨片和弹簧等器件构成。凸轮固定位于直流电机的转轴前端,当电机加电转动,凸轮旋转到拨片位置时会推动拨片将锁打开,此时锁枪机构的锁开信号有效。正常情况当凸轮旋转到开到位传感器时,电机停止转动,采样到开到位信号有效,一个开锁过程结束。开锁过程状态和图如图3所示。开锁后凸轮停止的位置有个限定范围,否则会影响到锁枪机构的闭合。在控制中,通过检测锁开到位信号就可确定凸轮是否停在限定范围内。

图3 开锁过程的状态机图Fig.3 State machine diagram of opening gun lock process

3.1 锁枪机构特殊性

系统控制的锁枪机构具有特殊性:因锁开到位信号和与直流电机电源正输入信号物理上连接,即有关联性。若电机一直加电转动,即使凸轮按压到锁开到位传感器,依然获取不到低电平信号。只有当电机掉电且凸轮按压到开到位传感器这两个条件同时满足时才能获得低电平信号。所以,为了捕捉到有效的锁开到位信号,电机要处于 “转动-停止”交替状态。锁枪机构这样设计的优点是:采样到锁开到位信号有效时,电机已停止加电,凸轮因惯性停止到拨片位置造成锁枪机构无法锁闭的情况不易产生。其缺点是:由于双重条件才会产生有效信号,若信号采样频率不够快,电机“转动-停止”交替的时间间隔设置不合适,就无法在电机转动一圈内采集锁开到位信号有效,导致锁开启后凸轮调整时间增加。在每路锁枪机构开启过程中,凸轮将拨片推开所需的瞬时电流最高为1 A。因此,当需开启多路锁枪机构时,考虑到硬件电路瞬时功耗较大,要控制各路间隔0.5 s依次开启而非同时开启。

锁枪机构闭合时枪支的扳机护环被锁住,领取枪支时系统控制锁枪机构自动打开,枪支可以取出,但归还枪支时需要人工手动闭合锁枪机构。

3.2 锁枪机构开启过程

根据锁枪机构的特性,开锁过程分为初始态、开启态、调整态和校验态4个状态。

初始态锁枪机构闭合,其内部电机处于停止状态。

开启态电机加电转轴和凸轮处于转动状态,若限定时间检测到锁开信号有效则进入调整态,否则结束开锁过程跳转到初始态。

调整态此态锁枪机构已经开启,但其内部凸轮没有转动到限定范围,故电机处于“转动-停止”交替的状态来调整凸轮位置。若在限定时间内检测锁开到位信号有效则进入校验态,否则结束开锁过程跳转到初始态。

校验态在校验态中电机已经停止转动,进入该状态0.5 s后检测锁开到位信号,若有效则开锁过程结束进入初始态,否则跳转到开启态中。

4 系统软件设计

系统一方面轮询各路锁枪机构获取枪位状态;另一方面响应收到的获取枪位状态和控制锁枪机构开启命令。具体的流程如图4所示。

图4 控制系统的软件流程图Fig.4 Software flow chart of the control system

系统上电后首先初始化了STM32芯片定时器、UART串口、GPIO、RTC、FLASH等模块,然后进入主流程[7-9]。在主流程超级循环中响应外部控制系统发送的命令并记录枪位变化事件到STM32的片内FLASH中。在系统20 ms定时器中断中实时检测当前各路枪位的状态,并比对每路枪位状态是否变化。

5 结语

本文提出了一种基于STM32的锁枪机构控制系统设计,实现了锁枪机构的自动解锁和枪支在位检测及记录功能,从而解决了枪支在传统枪柜存放及人工管理方式中效率低、可控性差、信息不可追溯等缺点。控制系统采用485总线方式与外部通信,便于扩展、灵活、可靠性强。本设计已经应用到某地公安枪柜管理系统中,实践表明该控制系统使用方便、安全、稳定。由于控制系统相对独立,在位检测与可控物品的范围不拘泥于枪支,因而有更广阔的应用前景。

[1]张七利.多功能一次性压舌板枪支信息指纹智能管理系统:中国,CN200610155146[P].2007-09-12.

[2]GA 1051-2013.中华人民共和国公共安全行业标准,枪支弹药专用保险柜[S].北京:中国标准出版社,2013.

[3]周永龙,雷金奎.基于STM32的数字舵机控制系统的设计[J].计算机测量与控制,2011,19(1):66-68.

[4]蒙博宇.STM32自学笔记[M].北京:北京航空航天大学出版社,2012.

[5]彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.

[6]唐定兵,高晓丁,薛世润.基于STM32F103ZET6的开放式数控运动控制系统[J].机电工程,2014,31(8):1062-1066.

[7]张逢雪,王香婷,王通生,等.基于STM32单片机的无线智能家居控制系统[J].自动化技术与应用,2011,30(8):98-101.

[8]张国营,刘凤林,李进香,等.以STM32F103为核心的智能灭火机器人[J].单片机与嵌入式系统应用,2014(3):73-75.

[9]苏鹏,周风余,陈磊.基于STM32的嵌入式语音识别模块设计[J].单片机与嵌入式系统应用,2011(2):42-45.

猜你喜欢
管脚凸轮枪支
负半径滚子从动件凸轮机构设计、仿真与验证
面向DSP+FPGA通用处理架构检测的硬件系统设计
凸轮零件的内花键拉削工艺的自动化生产线
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
巴西成为全球因枪支死亡人数最多的国家
“枪支共享”
澳大利亚民众上缴逾5.7万支非法持有枪支
基于MATLAB的盘形凸轮逆向工程
略谈如何利用三极管管脚间电阻值判断其型号及管脚
Moving On