基于STM32和LabVIEW的发射动力学参数采集系统设计

2017-03-01 10:56:27邵焕杰
电子设计工程 2017年2期
关键词:采集卡调理上位

邵焕杰,夏 静

(南京理工大学 机械工程学院,江苏 南京210094)

基于STM32和LabVIEW的发射动力学参数采集系统设计

邵焕杰,夏 静

(南京理工大学 机械工程学院,江苏 南京210094)

为能够实现多通道、高速、高精度地采集火箭武器试验时的发射动力学参数,设计一种基于STM32和LabVIEW的16位精度、8通道的数据采集系统。采集卡采用16位无丢失码(NMC)高精度性能采样速率达到500ksps的ADS8332逐次逼近寄存器(SAR)模数转换器(ADC)。选用STM32作为主控制器,使采集卡具有高稳定性,高速采集处理的性能。以LabVIEW作为上位机开发应用平台,进行实时观测、处理、分析,STM32通过USB实现上位机的联系。

STM32;数据采集;LabVIEW;实时观察

发射系统动力学规律决定了火箭武器发射系统的精度和稳定性,发射动力学作为研究武器系统发射过程中受力和运动规律的综合学科,被广泛运用于提高发射精度、稳定性和安全性研究[1],基于测试系统对发射动力学参数的采集分析对发射系统的改进优化具有重要意义。发射动力参数采集主要是针对火箭武器发动机喷射出的燃气流作用在炮筒和发射车相关位置上,产生的压力、应力、振动(加速度)等参数[2]。传统使用专业的数据采集卡,虽然采集精度高,处理速度快,但价格昂贵,受设备的约束性比较强,采集通道扩充性较为局限,便携性较差。文中采用以STM32为核心实现发射动力学参数的高精度调理、高速多通道采集、大容量存储和实时观测等功能,采用C语言编写下位机数据采集电路程序和信号调零程序,通过USB与LabVIEW进行数据信号传输。

1 系统硬件设计

系统硬件结构框图如图1所示,系统主要采用ST公司的微控制器 STM32F103RC,AD公司的AD8221放大器,轨至轨运放OPA365、TI公司的高精度的 A/D转换器件 ADS8332和 NI公司的LabVIEW软件相结合的数据采集系统。由于需满足多通道,测试多参数的需求,A/D转换采集控制核心单元与信号调理单元,分为两个模块。

图1 硬件结构框图

1.1 信号调理模块

一般传感器输出的电压信号特别小,基本是mV级的。就压力采集信号调理电路,采用压阻式传感器,满量程输出信号范围在70~350 mV之间。传感器信号采用巴特沃斯低通滤波,截止频率约在1 kHz,滤波后送入仪用放大器AD8221进行放大,AD8221是通过引脚1、8间跨接电阻R来实现控制放大增益[3],关系如式(1)。

信号调理模块电路中添加STM32F103RC微控制器,芯片通过A/D采样信号,D/A输出模拟电压到AD8221的REF引脚实现传感器的调零,输出电压公式如式(2)。

1.2 数据采集模块

1.2.1 STM32F103RC控制硬件

本系统采用 ST (意法半导体)公司生产的STM32F103RC作为控制核心。STM32F103RC基于Cortex-M3内核,拥有48 kB SRAM、256 kB FLASH。外围接口丰富,有3个SPI,5个串口,1个USB,1个can接口[4],完全满足设计要求又方便后续升级。

STM32F103RC作为数据采集系统的控制核心,与ADS8332通过SPI2实现数据传递,与SD卡通过SPI1实现数据存储,与上位机通过USB实现控制及数据传递。数据采集模块供电方法有USB连接供电和锂电池供电。将锂电池采用电阻分压,通过A/D转换,设计一个简单的电源监测,以防止在无上位机情况下的采集突然掉电,在低于一定值时采集卡上会有LED0灯上电发光。ADS8332采集基准电压供电主要由 STM32DAC输出模拟电压并通过运放ADOP07CH放大去耦来实现,可以根据信号调理模块信号电压输入范围对AD8332基准电压进行调准,以期达到得到更好的精度。本系统中,STM32外接8 MHz时钟,经过内部PLL倍频至72 MHz[5]。

1.2.2 OPA365和ADS8332硬件接口

OPA365是德州仪器(TI)推出的一款零交越、单输入级的轨至轨运算放大器,具有超低失真,极低噪声以及50 MHz的增益带宽,应用于便携式仪表,数据采集测量系统和音频中[6]。设定最大信号电压幅值,使流入AD的电压在规定范围,充当电压追随器,以期能来保护ADS8332。在每个输入口前采用RC滤波电路,其结构简单、成本低[7],可用来滤除运放产生的噪声,接法如图2所示。

图2 OPA365及RC电路

1.2.3 ADS8332与STM32F103RC硬件接口

ADS8332是一个低耗能,灵活电压输入,最高采样率达到500ksps的16位AD转换器,支持单极8通道输入[8]。通过SPI与STM32F103RC进行通信。如图3,ADS8332 IN0~IN7是输入通道,SDO为SPI输出通道,SDI为SPI输入通道,分别与STM32的SPI2 MISO,SPI2 MOSI相连。在转换过程中需要IN输入端和COM输入端与其他内部功能断开连接,输入范围应在规定范围内。采用STM32通过SPI SCLK提供的外部时钟,在串行时钟SCLK的上升沿触发内部时钟CCLK,且CCLK的频率为SPI SCLK时钟频率的一半。电源外接去耦电容保证电压供应稳定。CS为控制片选信号,EOC/CDI为中断结束转换端口,CONVST为开始转换控制端口,分别与STM32 PB1,PB2,PB3相连。通过STM32控制片选信号,转换端口来实现控制字的写入和数据的读取。

图3 ADS8332接线图

1.2.4 STM32和SD卡硬件设计

采集卡载有标准的SD卡接口,来扩大容量存储设备,存储大量测试数据,防止丢失。SD卡与STM32进行SPI通信,接口为SPI1,SD_CS接到PA3上。

1.2.5 STM32和USB硬件设计

STM32的USB模块是一个支持USB2.0的全速设备,USB+、USB-分别与STM32的PA11 PA12相连,由于采用的是USB转串口技术,PC机上需安装STM32虚拟串口驱动程序[9]。

2 系统的软件设计

2.1 信号调理模块调零程序设计

STM32F103RC采用MDK作为开发环境。信号调理模块程序主要是STM32调零程序,板子上电后,传感器输出信号经过滤波、放大,传入到STM32的ADC模块进行转换,将转换的数值与程序设定的值进行比较后,进行相应的增减,DAC输出后,再次采集,循环以上步骤,直至调零至一允许的范围,板子上LED亮起,表示可以开始数据采集。传感器在受到温度、湿度等影响后,会有少许变化,因此可以根据具体实验环境,调整内部设置值,来保证调零精度。

2.2 数据采集模块程序设计

系统采集软件由主程序和子程序组成,主要包括ADS8332采集程序、SD卡存储程序、DAC1基准电压控制程序、ADC1锂电池电源监测程序和USB与LabVIEW的通信程序。结构框图如图4所示。

图4 软件设计流程框图

在STM32软件设计中包含对ADS8332的初始化,程序控制字的写入。SD卡和ADS8332采用SPI接口,程序会对于SPI1和SPI2进行初始化。与ADS8332通信的SPI2配置程序如下:

ADS8332初始化先发送0xC000读取CFR配置,然后写入0xECFF配置CFR寄存器,前四位1110表示写入控制字,控制模式为选用外部SCLK,自动轮转通道采样模式,转换在EOC上升沿后3个CCLK自动触发,选定ADS8332引脚9输出信号为EOC(结束转换信号),配置输出带有3位TAG(标志位)用作通道识别。ADS8332发送接收程序如下:

SD卡保存数据过程,接收到数据先暂存至STM32片内开辟的BUFFER0区间,写满后转存BUFFER1,同时将BUFFER0的数据写入SD卡后清空,依次循环。在SD卡中移植入FATFS文件管理系统,操作系统中组织、存储以及命令文件的结构是文件系统。移植开源代码FATFS,采用FAT32格式实现SD卡文件管理。在使用FATFS时,必须先用过函数f_mount注册工作区,来开始后续的API使用[10]。以此实现STM32能直接创建,和数据写入文件,方便查阅和保存,主要用到以下函数。

ADS8332的基准电压设置,依照信号调理电路输出信号电压范围来选择合适的基准电压,来提高转换精度,通过上位机传送值来设定DA输出电压大小。

在信号调理模块上电调零完毕后,程序中设计了3种开启采集方式。

1)运用LabVIEW上位机发送开始启动、结束采集命令。

2)在USB未连接的情况下,通过采集板的开关进行开始采样,并设置LED1闪烁表示正在采集,自动保存入SD卡中。

3)在火箭武器发射炮筒后盖放置易熔断铜丝,一端接地,一端接连同电源的大电阻,STM32 PC11端口设置推挽输入。在点火后,尾流迅速燃断铜丝,STM32 PC11获得高电平,程序进入点火触发采集程序,数据保存处理可以按照上面两种方式。可通过上位机选择来实现该种开始采集方式。

3 LabVIEW上位机软件编程

本课题采用了LabVIEW2012作为上位机软件开发平台,装载STM32虚拟串口驱动程序,使得上下位机实现通信连接。LabVIEW是美国国家仪器(Nation Instrument)公司开发的一款基于图形化编程语言G语言(graphicas language)的虚拟软件开发工具,利用LabVIEW可以很容易的生成一款虚拟仪器系统[12]。主要包括前面板和程序框图两个部分。前面板主要是图形化显示界面,实现输入测试参数,控制采集等功能,后面板是模块连接图,为实现前面板的功能进行编程[13]。

3.1 前面板的设计

前面板的设计主要包括采集数据的实时显示和存储、采集卡电池电压的显示、AD基准电压的控制输入和开始采集方式的选择。如图5所示,测试结果的实时显示主要包括X轴(时间)的实时显示区间,波形图内显示的通道数,以及控制某一个或某几个通道的显示,并能通过通道指示灯查看通道工作情况。

图5 前面板设计

3.2 程序框图设计

主要包括采集开始前的串口搜索,配置,采集主程序以及数据处理3个部分,来实现上位机主要功能。

3.2.1 采集前串口配置

通过VISA查找资源,得出资源列表,通过配置VISA串口,VISA写入向串口发送数据。如果下位机STM32接收到数据,发送返回数据,上位机VISA读取如果与预定值相同则表明串口配置连接成功,得到串口名称,与下位机STM32取得联系[14]。

3.2.2 采集主程序

类似于串口配置,通过将“VISA读取.vi”置于while循环当中,读取串口发送的程序。按下停止采集键,串口向STM32发送结束指令,STM32拉高片选,结束采集,VISA关闭。

3.2.3 数据处理程序

在LabVIEW中实现实时观测需将 “VISA读取. vi”放入while循环中,并设置读取的字节数为3,前两个为数据位,最后一个包含通道位和采集卡的电压。STM32发送过来的是字符串,需要转换成数值,才能在波形图表上显示以及存储。

通过“截取字符串.vi”函数将串口接收到的数据中的通道位和数据位分开。通过 “字符串至字节数组.vi”、“索引数组.vi”、“将十六进制转换为字符串. vi”等将Hex string转变ASCII string,“十六进制字符串至数值转换.vi”将采集到通道数据[15-17],通道标号和采集卡电压读取出来。通道数据通过 “替换数组.vi”,将其保存到相应的通道数组中,通过波形图表显示实时曲线,并保存。

4 结束语

文中介绍一种可用于火箭武器发射动力学参数采集的测试系统设计,实现了信号的精密调理和调零,采用STM32和ADS833实现了八通道、高精度、高速采集。结合SD卡,实现数据的大量存储。以LabVIEW为上位机,具有实时观察,发送指令和数据存储等功能,具有较好的运用价值。

[1]蓝仁恩,王雷.某车载导弹发射动力学参数化仿真设计[J].战术导弹技术,2015,5:97-100.

[2]芮筱亭.多体系统发射动力学[M].北京:国防工业出版社,1995.

[3]王永明,李平,陈景光,等.高精度仪表放大器AD8221增益控制的设计[J].工程与试验,2012,52(4):61-62.

[4]张河新,王晓辉,黄晓东.基于STM32和CAN总线的智能数据采集节点设计[J].化工自动化及仪表,2008,39(1):78-80.

[5]张勇,董浩斌.基于STM32和LabVIEW的地震数据采集卡的设计 [J].电子技术应用,2012,38(10): 72-74.

[6]张齐,王超.可用于片上集成的绝对值电路[J].电子器件,2008,31(4):1144-1147.

[7]赵亮,刘先勇,袁长迎,等.微弱信号调理电路的设计及研究[J].西南科技大学学报,2010,25(1):74-76.

[8]李大鹏.基于STM32的16位多通道生理信号采集系统的设计[D].山东:山东师范大学,2014.

[9]韦力明.基于USB通信设备类的虚拟串口研究与设计[D].西安:西安电子科技大学,2012.

[10]徐建功,赵捷,李伟.基于STM32F103XX微处理器的Micro SD卡读写 [J].现代电子技术,2010,33(20):26-28.

[11]常霞,马建伟.基于STM32的列车空气动力学数据采集系统[J].仪表技术与传感器,2011,4:45-48.

[12]雷振山.LabVIEW高级编程与虚拟仪器工程应用[M].北京:中国铁道出版社,2013.

[13]岂兴明,田京京.LABVIEW入门与实战开发100例[M].2版.北京:电子工业出版社,2014.

[14]黄丰磊,卢海峰,朱浩然.基于STM32与LabVIEW的电参数测量系统设计[J].电器与能效管理技术,2014,15:37-39.

[15]齐攀,李莹.基于STM32和LabVIEW的虚拟数字电压表设计与实现[J].有线电视技术,2012,6:84-87.

[16]孟祥君,季知祥,杨祎.智能电网大数据平台及其关键技术研究[J].供用电,2015(8):19-24.

[17]刘勇,闫鲁杰.基于物联网、云计算和大数据的工业能源管理系统 [J].供用电,2014(12):28-32.

The design of launch dynamics parameter acquisition card based on STM32 and LabVIEW

SHAO Huan-jie,XIA Jing
(Mechanical Engineering School,Nanjing University of Science and Technology,Nanjing 210094,China)

To realize the acquisition of launch dynamics parameters with high speed,high precision when testing rocket weapon,making effort to design a 16 bits,8 channels data acquisition system based on STM32 and LabVIEW.Acquisition card uses a 16 bits No Missing Codes(NMC),Successive Approximation Register(SAR)analog-to-digital called ADS8332 with speed up to 500ksps.Choosing STM32 as the main controller makes the acquisition card with high stability,and high collection speed. Selecting LabVIEW as PC application development platform,realize the real-time observation,process and analysis by the connection of USB.

STM32;data acquisition;LabVIEW;real-time observation

TN06

:A

:1674-6236(2017)02-0185-05

2016-01-20稿件编号:201601173

邵焕杰(1992—),男,江苏常熟人,硕士研究生。研究方向:固体火箭发动机测试。

猜你喜欢
采集卡调理上位
高精度AD采集卡性能测试及评价方法研究
中国测试(2022年2期)2022-03-19 09:57:30
脾胃失调该如何调理
今日农业(2021年19期)2021-11-27 00:45:49
“过劳肥”的中医调理
基层中医药(2021年5期)2021-07-31 07:58:24
流翔高钙系列肥 我能土壤调理剂
今日农业(2020年13期)2020-08-24 07:35:28
秋季蛋鸡 抓好调理
今日农业(2019年16期)2019-01-03 11:39:20
特斯拉 风云之老阿姨上位
车迷(2018年12期)2018-07-26 00:42:22
面向数控机床的多通道传感数据采集卡设计
“三扶”齐上位 决战必打赢
并行高速采样在地震物理模拟采集中的应用
基于ZigBee和VC上位机的教室智能监测管理系统