当前位置:首页 期刊杂志

基于STM32+DSP的火炮伺服系统设计

时间:2024-07-28

刘兰强,童仲志,侯远龙

(南京理工大学,江苏 南京 210094)

0 引言

轮式自行火炮具有高机动、强火力、多功能的特点,易于使用和维修,与履带式自行火炮相比,结构简单、成本低廉。现代战争中,对武器的精度、灵敏度有很高的要求,对轮式自行火炮来说,既要抵抗来自外界不确定环境的干扰,又要解决火炮的射击力矩引起车体姿态变化及炮管的扰动。在受到扰动时快速、精确地将炮调到位显得尤为重要[1]。为解决这些因素对调炮精度、响应时间的影响,就要制定科学、有效的伺服系统控制方法[2]。对火炮交流伺服系统的硬件设计和软件设计进行研究。

1 系统总体设计

火炮伺服系统控制主要由调炮高低角和方向角控制的两个交流伺服系统构成。控制器主要控制伺服系统的速度环、位置环,高低角和方向角的位置量由两路旋转变压器采集到控制器,车体的倾斜度由倾斜仪采集信号;上位机(计算机)主要负责输入命令和显示,下位机控制器为主要控制部分,控制器通过D/A转换、伺服放大模块控制驱动器从而控制永磁同步电机[3]。图1为火炮伺服系统的控制流程图。

图1 火炮伺服系统总体控制流程图

其工作过程如下:系统由计算机给定初始目标的高低角和方向角,控制器将给定的初始高低角、方向角与倾斜仪输入的倾角进行解算,得到最终的高低角和方向角。控制器会计算出系统所需的控制信号,通过D/A转换和伺服放大进入交流调速系统,对系统速度环进行调整,使电机转速达到要求。通过两路旋转变压器(高低旋变、方向旋变)将火炮的实际高低角和方向角信号反馈给控制器,控制器再计算出控制量。设计采用了STM32和DSP两款处理器,充分运用了STM32F107RCT6的控制可靠性高的特点和TMS320F28335处理速度快,计算能力强的优势。

2 硬件设计

下位机采用双CPU控制,TI公司的数字信号处理器(digital signal processor,DSP)TMS320F28335[4]和 ARM的Cortex-M3处理器STM32F107RCT6[5]。两款芯片均是32位处理器,两个处理器分工不同,TMS320F28335主要负责位置信号的采集、A/D信号采集和算法的处理,STM32F107RCT6主要负责D/A控制输出、存储和与上位机通信,两款芯片之间的通信方式为SPI。图2为下位机总体硬件设计简图。

图2 下位机总体硬件设计简图

2.1 TMS320F28335的外围电路设计

TI公司的TMS320F28335采用176引脚LQFP四边形封装,其主要性能如下:高性能的静态CMOS技术,指令周期为6.67 ns,主频达150 MHz;高性能的32位CPU,单精度浮点运算单元(FPU)[6]。TMS320F28335主要负责位置信号的采集、A/D信号采集和算法的处理,下面分别介绍各模块的电路设计。

1) 角度信号采集

RDC模块的作用是将旋转变压器的粗通道、精通道的正余弦信号转换成16位TTL电平的并口锁存输出,由于DSP的电平为0~3.3 V,而MTS16R输出角位置信号的电平范围为0~5 V,电平不匹配。因此要进行电平转换,这里用74LVX4245芯片进行电平转换,74LVX4245是双向3.3 V转5 V芯片,可以满足转换要求。

2) 倾斜仪信号采集

在实际调炮过程中,要考虑车体的倾斜问题。车体的倾斜用倾斜仪来测量,由于倾斜仪输出的倾斜信号为模拟量,因此要进行A/D转换,将电压信号转化成数字信号再传到DSP中进行处理。倾斜仪输出的倾斜信号是两路范围为-10 V~+10 V的电压信号,这里选用AD7606-4芯片进行A/D转换,AD7606-4是ADI公司的一款16位精度,四通道的高精度模数转换芯片,它的输出电平和DSP电平兼容。AD7606-4采样频率可达20 ksps,各通道的输入阻抗均为1 MΩ。ADC模块的电路原理图如图3。

图3 ADC模块原理图

2.2 STM32F107RCT6的外围电路设计

STM32F107RCT6为32位基于ARM Cortex-M3处理器的微控制器,72 M主频,100引脚LQFP四边形封装,STM32F107是互连型系列微控制器,集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性于一身,同时还保持了集成度高和易于开发的特点[7]。

1) D/A模块

伺服放大器的输入为模拟电压信号,因此需要把DSP输出的数字信号转换为模拟信号再送入伺服放大模块。本文选用16位精度的DAC8541作为D/A转换芯片。

为了输出精确的模拟电压信号,需要给DAC8541提供高精度的参考电压。本文选用TI公司的REF02芯片为DAC8541芯片提供高精度的5V基准电压,DAC8541可以使用REF02输出5 V的高精度的参考电压,从而在D/A转换中输出高精度0~5 V电压信号。REF02芯片具有低温漂(低至8.5 ppm/℃)、噪声小和电流消耗少的特点,电源电压、环境温度或负载条件的变化对输出电压的影响极小。

2) SD卡存储

在火炮运行过程中要保存一些重要数据信息便于以后查看。这里选用miniSD卡作为辅助存储设备,以TXT格式保存。为了更方便地对SD卡进行操作,在STM32F107RCT6中移植文件系统。SD卡有两种读写模式,一种是SD专门的读写模式,另一种是SPI模式。STM32有两个SPI,因此这里采用SPI模式对miniSD卡进行读写。

2.3 伺服放大电路设计

伺服放大电路主要作用是将DAC8541芯片D/A输出的电压控制信号进行放大,从而控制驱动器。DAC8541芯片D/A转换输出的电压信号范围是0~5 V,而火炮伺服系统的驱动器输入电压为-10 V~+10 V,因此需要设计伺服放大电路对控制信号进行放大。对驱动器而言,输入转速和电压呈线性关系。当输入电压为0 V时,电动机运行速度为0;当输入电压>0 V时,给电动机正转信号;当输入电压<0 V时,给电动机反转信号。伺服放大电路主要包括隔离电路、初级放大电路、比较电路、差分放大电路四部分。伺服放大电路简图如图4所示。

图4 伺服放大电路原理简图

3 软件设计

软件设计主要包括上位机软件设计和下位机软件设计。上位机主要是人机交互界面,输入调炮角度命令,显示调炮过程的调炮曲线;下位机主要是STM32F107RCT6和TMS320F28335的C语言程序,STM32F107RCT6主要负责D/A控制输出、存储和与上位机通信,TMS320F28335主要负责位置信号的采集、A/D信号采集和算法的处理。

3.1 上位机界面设计

上位机是研华IPC-610-E工控机,采用WINDOWS XP操作系统,该型号工控机具有主频高,计算能力强,抗干扰能力强和通讯接口多的优点。上位机界面在VC++6.0软件中的MFC平台采用VC++语言编写[7]。上位机主要任务是将调炮角度发送给下位机,接收下位机的调炮数据并实时显示调炮曲线,上位机和下位机通信接口为RS232串口。上位机人机交互界面如图5。

图5 上位机控制界面

上位机调炮操作,首先进入界面输入调炮高低角和方向角,然后点击开始调炮按钮,将调炮信息发送到下位机,并不断接收下位机传上来的实时调炮位置显示到界面坐标图中,便于观察。

3.2 下位机软件设计

下位机的任务包括位置信号的采集、A/D信号采集、算法的处理、D/A控制输出、存储和与上位机通信。上位机采用双CPU控制,TMS320F28335和STM32F107RCT6。

1) TMS320F28335软件设计[9]

DSP主要负责高低角旋转变压器和方向角旋转变压器的位置信号采集,倾斜仪A/D转换的倾斜信号,控制算法的处理,将算出的控制输出信号和角位置信号传给STM32,DSP程序流程图如图6。

图6 下位机DSP程序运行流程图

2) STM32F107RCT6软件设计

STM32F107RCT6主要负责D/A控制输出、存储和与上位机通信[10]。STM32将DSP传过来的控制输出信号通过D/A转换输入伺服放大模块;STM32通过RS232接口与上位机进行通信,接收上位机命令和发送角位置信号;STM32还连接miniSD卡,移植文件系统,将重要数据保存到SD卡中[11]。STM32的程序运行流程图如图7。

图7 下位机STM32程序运行流程图

4 实验仿真及结果

在完成STM32+DSP集成软硬件模块设计的基础上,搭建某火炮电动伺服加载系统。图8为试验台搭建实物图。

图8 交流伺服系统试验台搭建实物图

采用常规自适应PID控制,正弦响应特性及误差曲线如图9所示。从图中可以看出输出信号能迅速跟随控制信号,误差很小,具有较好的稳态性能。

图9 自适应PID控制下的位置跟踪曲线及其误差图

通过实际的操作、实验及评审,本设计操作方便,运算速度快,能够高效、可靠地控制某轮式自行火炮的交流伺服系统。

[1] 雷瑛. 轮式自行火炮的现状和发展趋势[J]. 兵工标准化,1999(5):33-35.

[2] 韦佳辉,陈国光,王波,等. 现代自行火炮系统的特点与发展展望[J]. 机械工程与自动化,2015(2):223-224.

[3] 李志宁,何忠波,石志勇.自行火炮随动系统模拟训练装置[J]. 火力与指挥控制, 2010, 35(12):123-125.

[4] 孔建平,高强,侯远龙.基于双DSP在交流位置伺服系统的小波神经网络控制 [J]. 机械制造与自动化, 2014, 43(5):167-169.

[5] 孙书鹰,陈志佳,寇超. 新一代嵌入式微处理器STM32F103开发与应用[J]. 微计算机应用,2014(5):167-169.

[6] 田斌. 基于DSP的炮射导弹制导控制系统设计与仿真[D]. 北京:北京理工大学,2015.

[7] 丁力,宋志平,徐萌萌,等. 基于STM32的嵌入式测控系统设计[J]. 中南大学学报(自然科学版),2013(S1):260-265.

[8] 李帅,刘全利,王伟.基于QT的车载监控系统主控单元软件设计及实现[A].中国自动化学会过程控制专业委员会.第25届中国过程控制会议论文集[C].中国自动化学会过程控制专业委员会,2014.

[9] 潘晓伟.基于TMS320F28335的随动控制系统设计及其控制算法研究[D]. 南京:南京理工大学,2012.

[10] 南亦民.基于STM32标准外设库STM32F103xxx外围器件编程[J]. 长沙航空职业技术学院学报,2010(4):41-45.

[11] 郑明忠,樊水康. 基于S3C6410的嵌入式Linux文件系统移植[J]. 火力与指挥控制,2012(S1):73-76.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!