基于单片机和FPGA的位移测量装置的设计
2010-01-29彭立艮王珽琦夏敏莉
阳 兵,彭立艮,王珽琦,夏敏莉
(武汉大学 电子信息学院,湖北 武汉 430079)
位移传感器广泛应用于工业和控制领域,如过程检测、物理测量和自动控制等[1]。由于其测量精度不高,往往满足不了社会需求,也限制了传感器的应用。因此,这里设计了一套基于单片机和FPGA的位移测量装置,能够实现较高的精度测量,同时也能够达到较高的线性度,能够在各种恶劣环境下替代人工工作,实现较高精度的测量,并具有一定的实用价值。
1 整体设计方案及实现框图[2]
系统整体实现框图如图1所示,由信号产生部分、差分放大部分、变压器耦合部分、信号处理部分、数据采样部分和处理及显示部分组成。利用DDS技术产生的信号经THS4503的差分放大之后送入差动变压器,差动变压器输出的信号经放大、整流以及滤波处理之后送入MAX197采样,采样得到的数据经处理单元处理后在LCD上显示测得的位移量。
图1 系统整体框图Fig.1 Overall block diagram of system
2 理论分析与计算
2.1 DDS信号产生理论分析
在系统时钟频率和相位累加器位数一定的情况下,输出波形频率由频率控制字决定。设M为所设计的相位累加器的位数,N为频率控制字,则DDS系统输出信号的频率为
实验中,激励信号的频率是100 kHz,采用的时钟频率是40 MHz,频率控制字是24位,相位累加器的位数是29位。然后经过D/A转换器,输出的信号经一个截止频率是150 kHz的有源低通滤波器输出,得到稳定、连续平滑的波形。
2.2 数据处理方法分析
差动变压器是开磁路,原、副边间的互感随磁芯移动而做相应的变化,使输出的两次级线圈的电压随之发生变化,将位移的变化转化为输出的电压的变化,整流后采集数据,并进行数据处理,得到d值,图2所示为差动变压器数据处理采用查表法:首先采用游标卡尺测量若干组位移值,测量的组数根据测量范围以及测量结果来确定,并记录下相应的d值,绘制成一张表格。在实际测量时,根据测得的d值通过查表确定位移范围,并在这一范围内采用分段折线法处理得到精确的位移值。采用查表法可精确定位移范围,得到的数据误差较小,精度较高。
图2 差动变压器Fig.2 Differential transformer
3 单元模块电路设计[3-5]
3.1 线性可变差动变压器的设计
设计时应该考虑以下两方面因素:1)能保证衔铁工作时不会超出线圈之外;2)差动变压器灵敏度。当按匝数增加时,可使灵敏度S增加,但按匝数的增加将受到线圈导线允许电流密度、导线发热的散热情况及磁饱和等因素的约束。
综合以上分析,线圈分为上、中、下 3段式,长度各为2 cm,中间部分线圈为初级线圈,上下两部分为次级线圈。初、次级线圈的匝数比均为1∶1,与之配套的磁棒长度也为2 cm。此线圈在线性移动范围内效果较好,但是当移动到边缘部分时由于磁力线分散,测得非线性的数据,但通过校准后仍能达到很高的精度。
3.2 差分放大电路
选用THS4503来做差分放大电路。由于激励信号的频率固定为100 kHz,故在差分放大器的反馈电阻上加上电容,达到滤波与避免自激的效果。从低通滤波器输出的信号需经过差分放大器放大后输出一对差分信号为变压器的初级线圈提供电压。电源采用±5 V双电源供电,THS4503的2个输出端经2个阻值为12 Ω的隔离电阻与变压器的初级线圈的两端相连接。具体电路图如图3所示。
3.3 检波电路
图3 差分放大电路Fig.3 Differential amplifier circuit
图4为检波电路。差动变压器将位移量转换成电压信号,测量信号幅值或有效值再进行数据处理,便可得到相应的位移值。对于有效值的检测,选用真有效值测量芯片AD637实现。平均电容C1设定平均时间常数,并决定低频准确度,输出纹波大小和稳定时间。信号经放大后输入到AD637进行有效值检波,两电位器分别进行调零和调幅,以使AD637的输出更准确。
3.4 A/D采样电路
铁芯在移动的过程中,输出的电压值变化范围较大,因此,接入程控放大器,先通过A/D转换器采样,按照事先划分的幅度带对待处理信号进行幅度定位,然后控制放大器的档位,以提高A/D转换器的采样精度,从而减小测量误差。MAX197采用的是内部时钟和内部基准源,几乎不需要外围电路,电路结构简单,应用方便。具体电路图如图5所示。
图5 MAX197的连接电路图Fig.5 Connection circuit of MAX197
3.5 直流电机驱动电路
采用专用芯片L298HN作为电机驱动。电机起动时需要较大的电流,为了保证电机起动时对单片机控制板的供电系统不至于产生影响而产生掉电现象,需要采用光电耦合器TLP521-2GB进行电源隔离,同时应注意需要对L298HN的供电电压进行去耦,以保证驱动电路的工作稳定。电机驱动电路如图6所示。
图6 电机驱动电路图Fig.6 Motor drive circuit
4 系统软件程序设计[6-7]
本系统由单片机与FPGA共同控制实现,FPGA主要用于ADC时序的控制以及数据的运算,单片机则用来实现人机的交互。程序采用结构化设计思想,软件采用模块化设计,主程序中调用各子程序,有专门的数据处理子程序、信号发生器子程序、扫描键盘子程序等。除了数据运算和显示外,本系统还附加了自校正功能,即通过比较两路信号的幅值控制电机的正转和反转,最终使铁芯停在参考零的位置。图7为程序流程。
图7 程序流程图Fig.7 Flow chart of program
5 系统测试与结果分析
5.1 使用仪器及型号
PC 机:Intel奔腾 D,主频:2.5 G,内存:1 G;伟福仿真机:E51/S;直流稳压稳流电源:SG1733SB3A;双踪数字存储示波器:TEKTRONIX TDS1002。
5.2 测试内容与结果
在电路调试的过程中,针对各个模块分别进行调试,调试结果效果不错,调试数据表格省略。进行整机调试时,测量了A、B、C 3点的信号波形。其中C处的信号波形良好,无失真。A、B 2点的输出的直流信号无纹波抖动,而且数值准确。对于位移测量,实验数据如表1和表2所示。对该位移测量结果进行分析,可以看出位移测量的精度较高,最大误差是0.5 mm,测量范围是-20~20 mm,总体来说,整个系统的完成情况较好。
6 结束语
该系统测量位移范围扩展到-20~20 mm,实际测量到自制差动变压器的近似线性范围约为-24~24 mm,能够实现较高的精度测量,同时也能够达到不错的动态范围,但线性度不是很好,这主要是受线圈绕制的非理想均匀、对称以及铁芯规格不理想等因素的限制,但通过软件校正可大大提高位移测量的精度,而且线性度的稳定性也会有提高。
表1 直接测试结果Tab.1 Direct test result
表2 直流电机控制测量值Tab.2 Test result of DC motor control
[1]冯永政.基于直线位移传感器的运转辊间闸距测量[J].传感器与微系统,2009,28(9):104-105.FENG Yong-zheng.Gap measurement of running rollers based on linear displacement sensor[J].Transducer and Microsystem Technologies,2009,28(9):104-105.
[2]沈申生.差动变压器式位移传感器检测系统研究[J].传感器与微系统,2006,25(3):41-43.SHEN Shen-sheng.Study on measuring system for differential transformer type displacement sensor[J].Transducer and Microsystem Technologies,2006,25(3):41-43.
[3]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品精选[M].北京:北京理工大学出版社,2005.
[4]谢自美.电子线路设计·实验·测试[M].武汉:华中理工大学出版社,2000.
[5]李朝青.单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.
[6]马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2004.
[7]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.