基于STM32的高精度扭矩测量系统设计*
2015-05-11王金全王小鹏
王金全, 王小鹏, 于 挥
(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
基于STM32的高精度扭矩测量系统设计*
王金全, 王小鹏, 于 挥
(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
为提高测控应用中扭矩测量精度,提出了一种基于STM32的高精度扭矩测量设计方案。首先,扭矩传感器输出信号经过低通滤波后,送入内置PGA的24位高精度Σ-Δ A/D转换器ADS1255。然后,主控制器STM32通过SPI读取A/D转换结果,通过移动加权平均滤波算法消除随机干扰噪声,进而计算扭矩值,将测量结果存储在外部FLASH并送LCD实时显示。现场测试结果表明:系统精度达到0.6 %F.S.。
扭矩测量; STM32; A/D转换; 移动加权平均滤波
0 引 言
扭矩是测控应用中常要采集的一类数据,扭矩测量对传动系统控制、工作零件强度设计、运转寿命及安全性等都具有重要意义,提高扭矩测量的精度、可靠性和响应速度至关重要。
扭矩的测量可以通过多种方式实现。目前,国内外研制的扭矩传感器主要有应变式扭矩传感器、光式扭矩传感器[1~3]及磁式扭矩传感器[4~6]。光式扭矩传感器的优点是电气绝缘性能好,缺点是调试困难,价格贵,易受环境因素干扰,性能难以发挥。磁式扭矩传感器属于非接触式传感器,寿命长、延时短,缺点是受温度和外界电磁干扰影响较大,精度低。应变式扭矩传感器具有测量精度高、成本低、响应速度快、温度补偿性能好等诸多优点,且适用于静态和低速扭矩测量。扭矩传感器输出信号非常微弱(mV/V范围),易受工业环境干扰、传输误差以及信号检测方法等因素影响,导致现有的扭矩测量系统精度远低于传感器的精度。
本文采用基于应变测量原理的直流供电静态扭矩传感器,设计了一种基于STM32的高精度扭矩实时测量系统,通过工业现场测试,测量精度显著提高,满足实际应用对扭矩精度的要求。
1 系统总体设计
系统由静态扭矩传感器内部应变测量电桥测得与扭矩大小呈正比的微弱电压信号,为保证测量结果的精度指标,只有采用高灵敏度、高精度的采集系统才能满足要求。系统硬件电路框图如图1所示,传感器输出的模拟差分信号通过低通滤波后送入ADS1255的信号输入引脚,ADS1255通过SPI与主控制器连接。系统工作时,主控制器按照设定好的频率启动A/D转换,读取A/D转换结果并进行加权移动平均滤波,进而计算得到扭矩值,并将计算结果送LCD实时显示。为实现扭矩测量数据和报警信息的查询,系统通过FSMC总线扩展Flash模块用于存储测量结果和报警信息,并引出标准输出接口供外部读取。
图1 系统硬件框图
2 硬件电路设计
2.1 主控制电路
测控应用要求处理速度快、效率高、较少的胶合逻辑,且易于实现。因此,系统主控制器采用32位ARM Cortex-M3内核的低功耗微控制器STM32F103ZET6,工作频率高达72 MHz,满足实时性要求。该芯片外设资源丰富,方便外围模块连接。STM32通过外部中断读取A/D转换数据,并实现数字滤波、扭矩计算、显示、报警以及存储查询功能。
2.2 AD采集电路
为提高测量精度,选用24位高精密A/D转换器ADS1255,其内置PGA,具有完整的模拟前端和噪声低、线性度好等特性[7],可以对来自传感器的信号进行放大和A/D转换,满足系统的要求,并且ADS1255采用过采样技术,前端只需一个低通滤波器就能满足器件对抗混叠滤波的要求,不需要额外增加器件,降低了功耗。如图2为AD采集电路,采用差分方式,输入范围由参考端Vref控制。
图2 AD采集电路
ADS1255在应用时要注意电源和地的布线,模拟电源和数字电源通过磁珠和电容器进行隔离,每个电源输入引脚并联0.1 ,10 μF去耦电容器。时钟由外部晶振提供,布线时晶振须靠近ADS1255。SYNC管脚和寄存器须正确配置,否则,A/D转换器会一直处于复位状态,无法转换。数据输入DIN在不用时将其拉高,时钟信号SCLK串连低阻电阻器以减小噪声尖峰。同时,在输入端加稳压二极管或瞬态抑制管(TVS)以吸收电瞬变脉冲和浪涌,保护器件。
2.3 基准源电路
高质量的参考电压对A/D转换性能至关重要,噪声和漂移都将降低系统性能。为进一步提高A/D转换器的转换精度,系统A/D转换基准电压选用低噪声、低温漂、高精度的电压基准芯片REF5020提供,外部基准电压2.048 V,初始精度为可以达到0.05 %,并且对负载变化有很强的鲁棒性。系统中用运放OPA350将基准源与A/D转换器隔离并增大基准源的驱动能力。
2.4 SPI隔离电路
电路上的寄生电感和高频电流产生的电压噪声,会对A/D转换器产生重要影响,因此,采用多点接地并对模拟电源进行滤波,为模拟器件提供干净的接地参考非常重要。此外,由于工业现场复杂的环境噪声,各节点之间存在很高的共模电压,对SPI进行电气隔离可以起到保护器件的作用。为此,系统采用低功耗、高数据速率和高共模抑制能力的数字隔离器ADuM7441实现SPI隔离[8]。
3 系统软件设计
3.1 系统主程序设计
系统软件利用STM32官方固件函数库在RealView MDK环境下采用C语言编写,主要包括系统初始化(包含STM32,ADC,LCD和FSMC的初始化)、AD采集、数据处理、LCD显示、存储及数据传输部分。图3为主程序流程。
图3 主程序流程
3.2 数据采集
系统上电后,STM32首先初始化端口及SPI、定时器、FSMC等片内外设。然后通过SPI1对ADS1255进行配置,包括复位、PGA、数据速率、开启输入缓冲等设置并进行自校准以纠正漂移和增益误差。图4为AD采集程序流程。
图4 AD采集程序流程
3.3 数据处理
为保证测量精度的可靠性,除了在硬件上采取必要的抗干扰措施和ADS1255自校准以外,STM32在计算扭矩前,先通过移动加权平均滤波器对数据进行平滑滤波。算法是定义一个窗(窗的大小选择12点),每进行一次新的测量,将窗后移一点,并对窗内数据加以不同的权值,越接近现在时刻的数据权值越大,然后对窗内数值取平均值作为滤波器输出。算法可表示为
(1)
式中 y(n)为第n次采样值经滤波后的输出,x(n-i)为第n-i次采样值,Ci为加权系数。数据处理程序流程如图5所示。
图5 数据处理程序流程
4 系统测试
为验证系统的稳定性和测量精度,根据JJG2407—2006《扭矩计量器具鉴定系统表》规定,系统测试使用扭矩校准杠杆施加确定扭矩(标准值)与实测扭矩值比较。测试结果如表1所示,扭矩测量正向最大误差1.08N·m,反向最大误差1.21N·m,线性误差最大为0.6 %,精度达到0.6 %F.S.,表明系统性能满足应用要求。
5 结束语
本文采用STM32和24位高精度A/D转换器ADS1255设计实现了扭矩精确测量系统,并实现了测量结果实时显示、查询以及超限报警功能,具有功耗低、体积小、集成化、成本低等优势。经过工业现场测试表明:系统测量精度高,稳定性强,能够满足多种针对扭矩精确测量的工业现场应用,有助于提高相关工业生产的自动化、智能化水平。
[1] 喻洪麟,刘旭飞,吴永烽.光栅扭矩传感器的信号电路设计[J].光电工程,2005, 32(8):93-96.
[2] 谢 平,刘 彬,王 霄,等.新型光纤扭矩测量方法[J].光电工程,2006, 33(2):111-114.
[3] 李志鹏,方玉良.电动助力转向系统扭矩传感器研究现状与发展趋势[J].传感器与微系统,2013,32(8):11-13.
[4] 李纪明.切削过程监测用磁弹性扭矩传感器试验研究[J].机床与液压,2008,36(6) :101-103.
[5] 喻洪麟,熊 欢.环形空间阵列扭矩传感器信号处理[J].传感器与微系统,2011,30(10) :78-81.
[6] 吴永烽,喻洪麟.环形球栅扭矩测量原理研究[J].仪器仪表学报,2010,31(11):2580-2585.
[7] Texas Instruments.ADS1256 Datasheet[DB/OL].[2013—09—17].http:∥www.ti.com.cn/cn/lit/ds/symlink/ads1256.pdf.
[8] Analog Devices.Functional SPI Isolation[DB/OL].[2012—02—11].http:∥www.analog.com/static/imported-files/tech_articles/Functional_SPI_Isolation.pdf.
Design of high-precision torque measurement system
based on STM32*WANG Jin-quan, WANG Xiao-peng, YU Hui
(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
To improve precision of torque measurement in monitoring and control applications,a high-precision torque measurement design scheme based on STM32 is proposed.First,output signal of torque sensor is sent to ADS1255 which is a 24 bit,high-precision,built-in PGA,Σ-Δ A/D converter after low-pass filtering.Then,the master controller STM32 reads A/D conversion result by SPI and calculates the torque values by moving weighted average filtering algorithm to eliminate random noise.Finally,these values can be stored in an external Flash memory and be send to LCD to display in real-time.Site measuremental result indicates that precision of system reaches 0.6 %F.S..
torque measurement;STM32;A/D conversion;moving weighted average filtering
2014—07—22
甘肃省科技支撑计划资助项目(1204GKCA051);兰州市科技发展计划资助项目(2013—4—63)
10.13873/J.1000—9787(2015)04—0099—03
TP 271
A
1000—9787(2015)04—0099—03
王金全(1988-),男,山东临沂人,硕士研究生,主要研究方向为数字信号处理。