王 茜1, 严卫生1, 2, 冯 凯1
自主式水下航行器舵机控制系统采样校正
王 茜, 严卫生, 冯 凯
(1. 西北工业大学航海学院, 陕西西安, 710072; 2. 水下信息处理与控制国家级重点实验室, 陕西西安, 710072)
目前, 采用模拟电路处理数字转换(A/D)采样的误差校正问题已比较成熟, 但这种方法实施起来相对困难, 且对于数字校正方面未有过实际验证。基于此, 针对自主式水下航行器(AUV)舵机控制系统的采样问题, 以AUV舵机控制系统为研究对象, 结合TMS320F2812芯片A/D采样模块的特性, 分析了采样偏差产生的原因、过程及结果, 阐述了采样-校正的原理, 并重点提出了图形法和公式法2种误差校正方法。其中, 图形法比较分析了实际脉冲宽度调制(PWM)占空比与采样理论值的差异, 并以图形处理的方式进行校正; 公式法将理论公式与实际输出相比较, 得出校正公式。试验结果表明, 经过内部数字校正后的舵机控制系统具有良好的位置跟踪性能, 控制精度完全满足稳态误差设计要求。
自主式水下航行器; 舵机控制; 采样; 误差校正
近年来, 自主水下航行器(autonomous underwater vehicle, AUV)已成为未来海洋开发利用和国家安全保障的重要工具, 在军事和民用领域受到越来越广泛的关注, 具有很大的科研和实用价值。
舵机控制系统是AUV控制系统的重要组成部分, 其本质上是一个位置伺服系统, 位置反馈的精确度决定着整个AUV舵机控制系统性能的好坏。舵机位置反馈以电压信号为输入, 包括反馈信号的模拟电路处理和数字信号处理(digital signal processing, DSP)的模拟到数字转换(analog to digital, A/D)采样2部分。文献[3]采用高级精简指令集机器(advanced RISC machines, ARM)内核的LPC2119嵌入式微处理器为主控制器, 设计了舵机控制器。文献[4]介绍了一种新的舵机控制系统, 以控制器局域网络(controller area network, CAN)总线为通信方式, 采用外围硬件计数器产生脉冲宽度调制(pulse width modulation, PWM)控制信号。文献[5]设计了一种基于AT89S52单片机的舵机控制系统。文献[6]~文献[8]也从不同方面对舵机控制系统进行了研究, 但是, 当前针对舵机控制系统采样校正过程的研究很少。
本文以一种新型AUV舵机控制系统为研究对象, 运用TMS320F2812的模数变换器(analog to digital converter, ADC)模块对采样过程中遇到的采样有效范围、采样真实曲线斜率和初值偏差等实际工程问题进行了深入研究。此舵机控制系统主要由CAN总线通信电路、舵机位置采样信号处理电路、电机控制电路等外围扩展电路构成, 通过位置反馈组成闭环控制系统, 达到精确控制舵机位置的目的。
整个AUV舵机控制系统的工作过程如下: 控制管理中心发出打舵指令(舵角的度数, 其范围为±15°), 经CAN总线传输到DSP, DSP的A/D采样模块对模拟电路滤波、缩小后的位置反馈信号进行接收处理, 并与打舵指令数据进行比较产生偏差信号, 该信号经比例积分(proportion-integral, PI)计算后产生适当的PWM信号, 最后经过相应的隔离和逻辑处理电路, 将PWM信号施加到智能功率模块(intelligent power module, IPM)搭建的H桥上, 进而完成对电机转动位置的控制, 即完成对舵机舵角位置的控制。
2.1 A/D采样过程
舵机控制系统中, DSP的A/D采样是由DSP内部的ADC采样模块来完成。该DSP的ADC模块是一个12位16通道的模/数转换器, 16个通道被分为2个8通道, 不仅可以实现对每个通道的顺序采样, 而且可以实现对2个通道的并发采样, 但是必须分时进行数字量的转换。ADC模块的性能好坏具体表现在其所能提供的最大通道数、最小转换速度、采样的精度等方面, 而采样的精度取决于DSP的A/D采样的位数以及DSP的工作电压。
DSP的ADC模块有16个模拟量输入通道, 模拟输入电压为0~3V, ADC工作在25 MHz时最高转换速率为ADCLK或12.5 MHz。本系统舵机位置信号经过运放处理后, 由±12V转换为0~3V, 故完全可以满足本系统设计要求。由于此ADC可以直接对0~3V电压范围采样, 也可以经过信号调理后对峰峰值不超过3V的双极性模拟信号进行采样。舵机位置信号的转换结果将存储到结果寄存器ADCRESULT中。
转换后的理论数字量表示为
2.2 误差校正原理
实际工作中, DSP内部ADC转换器存在各种误差, 本文主要考虑失调误差和增益误差。
增益误差和失调误差的ADC转换器的转换方程
理想情况下, ADC模块转换方程
式中:为ADC采样端口输入电压数值, 具体值为输入电压×4 095/3 V;为输出计数值;为理想增益1.0000。
根据文献[9], ADC的输入电压与输出数值的理想曲线是一条经过原点, 斜率为1的直线, 而实际曲线存在纵轴偏移量和斜率误差(如图1)。图中, 增益误差为输出直线的斜率, 比理想斜率稍大; 失调误差为输出直线的截距, 理想情况下截距为0, 实际情况下为, 且大于0。
2.3 误差校正参数计算
实际试验中, 分别取-12 V, 0 V, 5 V作为电压输入值, 模拟舵机位置反馈信号的电压。经过模拟电路信号处理后, 在DSP的采样输入端口测量电压值分别为-0.000 5 V, 1.483 V, 2.110 5 V。根据这3个不同的给定输入电压, 分别采集11组数据并计算其平均值, 如表1所示。
表1 3组实际测量值
由表1数据计算得到这条折线的2个实际增益值(斜率)和实际偏移量(截距)分别是=1.044,=14.07;=1.028,=46.46。
有了以上2组数据, 便可对采样的实际曲线进行分析。首先将2种斜率的采样直线图和理想曲线在图2中画出。图2中, 起点到第1个星形点的直线及其延长线为和得到的直线; 由1个星形点为起点与另1个星形点相连的直线, 为和得到的直线; 理想状态曲线是1条过零点的直线。由图2可看到, 理想状态和实际情况的存在偏差, 且偏差不是很大。随着电压的增加, 三者的偏差越来越大, 并在曲线的终端达到最大。终端部分的局部放大图如图3所示。
当达电压最大时, 3条曲线的值分别为4 289, 4 255和4 094。实际曲线与理想曲线相差61, 化为角度偏差为0.447°, 大大超过了0.1°~0.2°的稳态误差设计要求, 更不用说控制系统本身设计可能存在的稳态误差。因此, 无论从理论上还是从实际中都需要对上述误差进行纠正, 以符合控制过程对稳态误差的要求。
经过研究并结合以上实测处理的3个数据点, 运用最简单, 最实用的最小二乘法拟合了1条一次曲线。曲线如图4所示。
由最小二乘法得到该直线的和的值分别为:=1.040 4,=15.094 0。
2.4 误差校正方法
利用3组输入输出值求得了ADC模块的校正增益和校正失调, 然后再利用这2个值对采样通道的转换数据进行补偿, 从而提高了ADC模块转换的准确度。具体计算方法有2种。
2.4.1 图形法
在图5中, 假设DSP结果寄存器中采得的数值为4095, 沿该点(3921, 4095)作垂直于轴的竖线, 与理想曲线(虚线)相交于点(3921, 3924), 则3924即为真实值。在实际模拟电路中, DSP采样端的电压计算为(3924/4095)*3=2.874V, 对应的舵角度数为13.75°。
这种方法较为直观, 可作为分析处理的首选方法, 但是此方法不适合在线实时处理数据。
2.4.2 公式法
公式法计算过程简便, 且能实现实时处理, 其主要推导过程如下。
由式(4)得
(5)
由式(5)得
由以上各式得
(7)
运用该公式进行编程过程中要注意各个参数的类型, 特别是浮点型和整型数据的区别, 否则容易丢失精度, 造成数据偏差和错误。
2.5 应用场景分析
在以上讨论过程中不难发现, DSP本身自带的采样存在着一些问题。
由图5可知, 当采样结果达到最大值4095时, 其真实值仅为3 924, 即DSP采样端电压为2.84V, 不能达到最大的3V, 所以采样的有效区间为[0, 2.84]V, 对应本工程中的角度可控范围为[-15, 13.75]°。这也是本文拟合曲线选取的3个点没有采用12 V的原因。在实际工程设计中, 要特别注意这样的问题, 给相关的控制量留下足够的阈值。
采用采样校正后的数据, 经过相关的控制算法计算, 在最终调试中得到了良好的控制效果, 舵机控制系统的实际响应曲线如图6所示。
由图6看出, 舵机控制的实际响应时间为0.11 s, 控制精度完全满足稳态误差[0.1, 0.2]°的设计要求。
本文以在实际工程过程中遇到的问题为出发点, 讨论了AUV舵机控制系统的采样校正问题。试验结果表明, TMS320F2812控制芯片经过内部的数字校正后, 舵机控制系统具有良好的位置跟踪性能, 且起动快速、稳定。此校正方法的控制参数易于调整, 具有更好的实用性, 提高了系统的准确性和实时性。
[1] Marani G, Choi S, Yuh J. Underwater Autonomous Manipulation for Intervention Missions AUVs[J]. Ocean Engineering, 2009, 36(1): 15-23.
[2] Jun B, Park J, Lee F, et al. Development of the AUV ‘ISiMI’ and a Free Running Test in an Ocean Engineering Basin[J]. Ocean Engineering, 2009, 36(1): 2-14.
[3] 董荔宁, 严卫生, 杨立. 基于ARM的自主水下航行器舵控制系统设计[J]. 微电机, 2006, 39(6): 71-73.Dong Li-ning, Yan Wei-sheng, Yang Li. The Deign of the Servo Controller of AUV Based on ARM[J]. Micromotors, 2006, 39(6): 71-73.
[4] 绳涛. 基于CAN总线的舵机控制系统设计[J]. 现代电子技术, 2004, 24(191): 62-64.Sheng Tao. Control System Design Based on CAN Bus for Servo Motors[J]. Modern Electronics Technique, 2004, 24 (191): 62-64.
[5] 远飞. 基于AT89S52单片机的舵机控制系统设计[J].电子元器件应用, 2011, 13(12): 26-28.
[6] 韩庆瑶, 洪草根, 朱晓光, 等. 基于AVR单片机的多舵机控制系统设计及仿真[J]. 计算机测量与控制, 2011, 19(2): 332-334, 349.Han Qing-yao, Hong Cao-gen, Zhu Xiao-guang, et al. Design and Simulation Of Multi-Servo Motor Control System Based on AVR Single Chip Microcomputer[J]. Computer Measurement & Control, 2011, 19(2): 332-334, 349.
[7] 张蓓蕾, 夏伟杰, 周建江. 基于RTX的舵机控制系统研制[J]. 电子科技, 2011, 24(11): 77-79.Zhang Bei-lei, Xia Wei-jie, Zhou Jian-jiang. Development of Control System for Steering Gear Based on RTX[J]. Electr- onic Science and Technology, 2011, 24(11): 77-79.
[8] 王迪, 严卫生, 付江锋. 模糊控制在AUV舵机控制系统中的应用[J]. 火力与指挥控制, 2009, 34(12): 163-165.Wang Di, Yan Wei-sheng, Fu Jiang-feng. Fuzzy-PID Control for the Rudder Control System of AUV[J]. Fire Control and Command Control, 2009, 34(12): 163-165.
[9] 孙丽明. TMS320F2812原理及其C语言程序开发[M]. 北京: 清华大学出版社, 2008.
(责任编辑: 杨力军)
Sampling Correction of Steering Gear Control System for Autonomous Underwater Vehicle
WANG Qian, YAN Wei-sheng, FENG Kai
(College of Marine Engineering, Northwestern Polytechnical University, Xi′an 710072, China)
The error correction for analog-to-digital(A/D) sampling by analog circuit processing is relatively mature. But it is relatively difficult to be implemented. And the digital correction has not been actually verified. In this paper, aiming at the sampling problem of steering gear control system for an autonomous underwater vehicle(AUV), the reason, process and result of generating sampling deviation are analyzed by considering the characteristics of the A/D sampling module on a TMS320F2812 chip, and the principles of sampling correction are described. Accordingly, graphic method and formula method are proposed for the error correction. In graphic method, the difference between duty cycle of actual pulse width modulation(PWM) and theoretical sampling value are compared for error correction through a graphical way. In formula method the theoretical formula is compared with actual output to get correction formula. Experimental results show that the steering gear control system achieves a good position tracking performance through internal digital correction, and the control precision fully meets the design requirement of steady-state error.
autonomous underwater vehicle(AUV); steering gear control; sampling; error correction
TJ630.33; TP215
A
1673-1948(2013)03-0197-05
2012-12-27;
2013-01-31.
国家自然科学基金(509090082).
王 茜(1988-), 女, 硕士, 研究方向为计算机控制、智能控制、网络控制、容错控制.