关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 便携式伺服机构静态测试仪的系统设计

便携式伺服机构静态测试仪的系统设计

作者:周毅然 张怡文时间:2016-12-28来源:电子产品世界
编者按:本文基于某火箭配套各级伺服机构产品油面电压及充气压力的静态测试,设计了一套便携式伺服机构静态检测仪。系统硬件采用模块化设计,分为数据采集模块、数据显示存储模块和供电模块,采用FPGA+A/D芯片的方案对高速数据采集处理和控制,基于AM3359的嵌入式单板机开发平台对数据进行存储和实时显示,供电使用铅酸电池;系统软件采用基于Labview2011虚拟仪器技术,软件按功能分为数据采集模块、数据处理模块、数据存储模块和错误处理模块。系统具有测量精度高,实时性好,操作简单和便携等优点,满足伺服机构的生产、试验、外

作者/ 周毅然 张怡文 上海航天控制技术研究所(上海 200233)

本文引用地址:http://www.eepw.com.cn/article/201612/342203.htm

摘要:本文基于某火箭配套各级伺服机构产品油面电压及充气压力的静态测试,设计了一套伺服机构静态检测仪。系统硬件采用设计,分为数据采集模块、数据显示存储模块和供电模块,采用+A/D芯片的方案对高速数据采集处理和控制,基于AM3359的嵌入式单板机开发平台对数据进行存储和实时显示,供电使用铅酸电池;系统软件采用基于Labview2011虚拟仪器技术,软件按功能分为数据采集模块、数据处理模块、数据存储模块和错误处理模块。系统具有测量精度高,实时性好,操作简单和便携等优点,满足伺服机构的生产、试验、外场测试的需要。

引言

  伺服机构是运载火箭控制系统的执行机构,根据控制系统的指令,伺服机构控制喷管的摆角或二次喷射阀门的开度,改变发动机喷焰的排出方向,实现火箭飞行姿态控制。为了确保被测伺服机构产品工作可靠性,需要定期对伺服机构进行静态测试。伺服机构的测试现场,现场环境复杂,伺服机构体积较大,数量较多,占地比较分散,数据测试频率较高,传统的伺服机构自动化测试系统,采用PC机+机柜的方案,虽然测试功能比较丰富,可以测试伺服机构静态和动态参数,测量精度更高,但其体积庞大,携带不方便,测试效率比较低。

  本论文设计的伺服机构静态测试仪(以下简称静态测试仪)用于伺服机构产品的静态检测,信号的采集、调理基于自制板卡实现,存储和显示等功能基于嵌入式单板机实现,不需要独立的计算机,因此使得检测仪的体积大大减小,显著提高了仪器的小型化和便携化程度[1]。伺服机构和静态测试仪通过电缆连接,可以同时测量伺服机构所有静态参数,大大提高了静态测试的效率。文章详细介绍了油气压检测仪的组成、工作原理及软硬件设计。

1 系统工作原理

  伺服机构产品的静态检测主要是指在产品不工作的状态下对多通道油面电压和充气压力等静态参数的检测。伺服机构的油面电压通过变阻式的位置传感器转换为量程为±15V的数值输出,转换系数为1V/V,充气压力同样通过变阻式的位置传感器为量程+6V的数值输出,转换系统为4.167MPa/V,静态测试仪需提供±15V和+6V电压给伺服机构,伺服机构内部原理图如图1所示。

  静态测试仪系统由硬件部分、软件部分和电缆组成,硬件部分集中于一个独立的机箱,便携、可靠,封闭性好,硬件主要由三部分组成,即数据采集模块、数据显示存储模块和供电模块。数据采集模块以为核心,对采集信号进行调理,控制ADC转换操作,最后以串口形式传送给数据到显示存储模块;数据显示存储模块存储采用AM3359的嵌入式单板机为开发平台,采集数据在flash中,并在彩色触摸屏上显示;供电模块采用电池供电,分为两个部分,一部分为静态测试仪系统供电,一部分为伺服机构供电。测试软件采用Labview2011平台编写程序,设计,可读性好,可维护性好,操作方便。系统总体框图如图2所示。

2 系统硬件设计

2.1 数据采集模块

  数据采集模块主要实现对采集信号的调理、模数转换和串口通讯。鉴于功能强大、逻辑速度快、集成度高、电路设计简单、开发周期短、编程配置灵活等一系列优点,采用FPGA来控制ADC,并将处理后的数据通过串口送到数据显示存储模块,保证数据采集的实时性和准确性。

  (1)基于产品的输出阻抗较小、输出电压值较高的特点,需要对产品信号进行电压跟随、分压和隔离等数据调理,提高设备的输入阻抗,转换信号到合适量程中。

  (2)数据采集模块的采集通道数有6路,A/D转换芯片采用ADI公司的AD7656。AD7656为6通道16位逐次逼近型、低功耗、可处理输入频率高达8MHz的信号、最大采集速度为250kS/s的A/D转换芯片。

  本设计使用AD7656高速并行接口,与FPGA并行连接,工作原理如下:芯片内部包含六个ADC,分别由CONVSTA、B、C引脚控制转换开始,在CONVSTx的上升沿,被选中的ADC的跟踪保持电路会被置为保持模式,转换开始。在CONVSTx信号的上升沿后,BUSY信号会置1,这表示转换正在进行。转换时钟是由内部产生的,转换时间是从CONVSTx信号上升沿开始的3μs,当BUSY信号变成低电平,表示转换结束。在BUSY信号的下降沿,跟踪保持电路返回跟踪模式,数据通过并行接口从输出寄存器中被读出,图3为AD7656并行接口字模式下的读操作数据流[2]

  (3)串口功能的实现主要有三个模块构成,即波特率发生器模块、发送模块和接收模块[3]

  a.波特率发生器实际是一个分频器,从定系统时钟频率得到要求的波特率。RS-232-C有一系列波特率标准:2400b/s、4800b/s、9600b/s、14.4kb/s、19.2kb/s等。一般来讲,为了提高系统的容错性处理,要求波特率发生器的输出时钟为实际串口数据波特率的N倍,N可以取值为8、16、32、64等。在本设计中,取N为16,波特率为9600b/s,因此,波特率发生器的输出信号频率应该为9600×16=153.6k/s,由于系统时钟为50MHz,经过计算,需要325分频实现9600波特率的产生。

  b.发送模块:由于波特率发生器产生的时钟信号clk的频率为9600Hz的16倍,因此,在发送器中,每16个clk周期发送一个有效比特,发送数据格式严格按照串口数据帧来完成:首先是起始位,其次是8个有效数据比特,最后是一位停止位。发送模块的状态转移图如图4所示,包括5个状态:s_idle、s_start、s_wait、s_shift和s_stop。

  其中,s_idle为空闲状态,当发送任务已完成时,发送模块就处于s_idle状态,等待下一个发送指令tx_cmd的到来。s_idle中,发送完成指示tx_ready为高电平,表明可以接受发送指令。当tx_cmd有效时,发送模块的下一状态s_start。

  s_start为发送模块的起始状态,拉低tx_ready信号,表明发送模块正处于工作中,并拉低发送比特线txd,给出起始位,然后跳转到s_wait状态。

  s_wait为发送模块的等待状态,保持所有信号值不变。当发送模块处于这一状态时,等待计满16个clk后,判断8个有效数据比特是否发送完毕,如果发送完毕,跳转到s_stop,结束有效数据的发送;否则,跳转到s_shift状态,发送下一个有效比特。

  s_shift为数据移位状态,发送模块在这一状态将下一个发送的数据移动到发送端口上,然后跳到s_wait状态。

  s_stop状态完成停止位的发送,当有效数据发送完成后,发送模块进入该状态,发送一个停止位,发送完成后自动进入s_idle状态,并且将tx_ready信号拉高。

  c.接收模块:在接受系统中,为了避免毛刺影响,能够得到正常的起始信号和有效数据,需要完成一个简单的最大似然判决,其方法如下:由于clk信号的频率为9600Hz的16倍,则对于每个数据都会有16个样值,最终采样比特值为出现次数超过8次的电平逻辑值,接收模块的状态转移图如图5所示,包括3个状态:s_idle、s_sample和s_stop。

  其中,s_idle状态为空闲状态,系统复位后,接收模块就处于这一状态,一直检测接收指令rxd是否从1跳变为0,一个起始位代表着新的一帧数据。一旦检测到起始位,立刻进入s_sample状态,采集有效数据。

  s_sample为数据采样状态,在此状态下,接收模块连续采样数据,并对每16个采样值进行最大似然判决,得到相应的逻辑值,这一过程重复8次。然后依次完成串并转换,直到接收完8个数据比特后,直接进入s_stop状态。

  s_stop状态用于检测停止位,为了使得接收模块的使用范围更广,在这一状态等待一定的时间后,直接跳转到s_idle。

  (4) FPGA芯片使用的是Xilinx公司Spartan-3A系列的XC3S400A,采用90nm工艺,密度高达74880个逻辑单元。工作时钟为50MHz。FPGA开发工具采用Xilinx公司推出的ISE软件,配置模式上串行模式,采用串行PROM编程FPGA;设计输入方式是硬件描述语言输入,根据A/D和串口的工作原理,采用Verilog硬件描述语言编写A/D和串口程序。

2.2 数据显示、存储模块

  数据显示、存储模块是对串口采集的数据进行显示和存储,采用SBC8600B作为硬件平台。SBC8600B是英蓓特公司推出的一款基于AM3359的嵌入式单板机,具有丰富的接口和外设,支持Linux 3.2.0、WinCE 7及Android2.3三种操作系统。本设计中软件使用的是WinCE 7,显示器采用7英寸的彩色触摸屏,支持各种主流通信方式,系统硬件结构图如图6所示。

2.3 供电模块

  为了满足仪表便携、轻便,运行方便快捷的要求,本设计采用可充电电池供电。主流可充电电池主要有铅酸电池、镍镉电池和液态锂离子电池等,基于铅酸电池成本低、可以较大电流放电、结实耐用、安全性好等特点,选用Yuasa标准NP系列汤浅可充电铅酸电池,寿命5年,输出电压为12V,额定容量为12Ah,输出最大电流为0.25×容量=3A,经过测试整个系统消耗的电流不到2A,电池满足功率方面要求[4]

3 系统软件设计

  软件采用Labview平台开发,该平台具有独特的多循环应用程序框架,可以提高程序的模块性,减少顶层框架图的大小,提升应用程序的灵活性、可靠性、可维护性、可扩展性和稳定性。应用程序框架的灵活性,可以通过将常用的功能元素划分为聚合的任务,并将并行循环应用于每个任务来优化。并行循环提供同时执行多个任务的灵活性。Labview为每一个并行循环分配一个单独的线程,而每个线程可以运行在单独的并行处理机上。此外,并行循环允许使用While循环的延迟和定时循环的优先权来指定和调整每个任务的有限级。因此,基于多个并行循环的应用程序框架有助于优化应用程序的性能。软件按功能分为数据采集模块、数据处理模块、数据存储模块和错误处理模块。软件框图如图7所示。

  数据采集线程实现的串口通讯,通讯方式、通讯参数、通讯协议在配置文件中进行自动配置,软件采用应答模式定时进行数据交互,然后对接收数据进行数据解析,再把解析后的原始数据通过队列发送给数据处理线程和数据存储线程。

  数据处理线程实时处理数据采集线程采集的测试数据,处理方式有均值处理、低通滤波处理、高通滤波处理、最大值最小值比对等各种处理方式。该线程的运行周期由采集线程运行决定,为被动等待方式。

  数据存储线程和数据处理线程类似,该线程实时存储数据原始数据和各种处理后的数据,方便用户事后查询历史数据,检验数据解析方式的功能和性能。

  错误处理线程实时监测其他线程的状态,把错误类型分为不同等级:警告、一般、严重。当其他线程运行过程中发生错误,该线程首先识别该错误的等级,然后按照等级程度处理错误。若为警告错误,则记录该警告的识别码、描述等信息,不作处理,若为一般错误,则根据错误出处进行划分,采集线程中的错误,则立即停止采样,记录错误信息,退出软件,其他线程中的错误,作警告错误处理。若为严重错误,处理方式与采集线程一般错误一致[5]

4 测试系统实现

4.1 测试系统硬件实物

  测试系统硬件实物如图8所示。测试系统的机箱采用派力肯公司的型号为1400的军用机箱,具有抗震、防爆和密封等特性,机箱内部可安装触摸屏和操作面板,触摸屏为7英寸的彩色触摸屏,操作面板上有丰富的接口。

4.2 测试系统的测试实验

  通过标准仪表万用表和静态测试仪分别对伺服机构产品的一路油面电压和充气压力进行测试,测试结果如表1所示。

5 结论

  本文介绍用于伺服机构产品油面电压及充气压力检测的静态检测仪,采用模块化软硬件设计,基于AM3359的嵌入式单板机硬件开发平台,软件采用Labview平台开发,使用军用便携式机箱,实现了测试设备的小型化,便于设备的修改、维护和扩展,提高了设备的稳定性和可靠性,满足伺服机构的生产、试验、外场测试的需要。实际试验结果表明,本文设计的伺服机构油气压测试设备满足油面电压及充气压力的静态特征测试需求,油面电压和充气压力精度均<0.5%。

参考文献:

  [1]刘军山,王宁.基于ARM的便携式电容耦合非接触电导检测器[J].仪器装置与实验技术,2013,4(04):616-620

  [2] 韩西宁,许晖,焦留芳.基于FPGA 的同步数据采集处理系统的设计与实现[J].测控技术与仪器仪表,2009 (01)

  [3] 徐文波,田耘. Xilinx FPGA开发实用教程 [M].北京:清华大学出版社,2012:259-274

  [4] 夏永峰. 铅酸电池组快速充电装置的研制 [D],重庆大学硕士学位论文,2008

  [5] 陈树学,刘宣.LabVIEW宝典[M].电子工业出版社,2011


本文来源于《电子产品世界》2017年第1期第65页,欢迎您写论文时引用,并注明出处。



评论

技术专区

关闭