《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STC89C52的高精度宽频带数显毫伏表的设计
基于STC89C52的高精度宽频带数显毫伏表的设计
来源:电子技术应用2012年第7期
张青春
淮阴工学院 电子与电气工程学院, 江苏 淮安223003
摘要: 设计了基于STC89C52微控制器的数显毫伏表,运用AD811、CD5406集成器件构成程控放大器,采用AD637、MAX187进行RMS-DC变换和模数转换,简化了系统设计的复杂性,提高了系统的抗干扰能力和测量精度,具有量程自动变换和超限保护及报警功能,有效地改善了系统的非线性和频率特性,可以满足1 000 mV以内微弱交流信号的测量需要。
中图分类号: TM932
文献标识码: A
文章编号: 0258-7998(2012)07-0084-03
The design of high-precision and broadband digital millivoltmeter based on STC89C52
Zhang Qingchun
Faculty of Electronic and Electrical Engineering, Huaiyin Institute of Technology, Huaian 223003, China
Abstract: Microcontroller based STC89C52 digital millivoltmeter, using AD811and CD5406 integrated device constitutes a program-controlled amplifier, using AD637 and MAX187 complete RMS-DC conversion and analog-digital conversion, simplified the complexity of system design, enhanced anti-interference ability and accuracy, with functions of automatic range change , overrun protection and alarm, effectively improve the system's nonlinear and frequency to meet the measurement needs for within 1 000 mV weak AC signal.
Key words : STC89C52; microcontroller; broadband; high-precision; millivoltmeter

 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中,电压量的测量最为普遍。而且随着电子技术的发展,更需要测量微弱电压信号,所以毫伏电压表就成为一种必不可少的测量仪器。数显毫伏表采用单片机控制技术,集模拟与数字技术于一体,是一种通用型智能化的数字交流毫伏表,一般具备自动/手动测量功能,能显示量程和挡位状态,但是,由于测量频带窄、精度低、抗干扰能力差,应用受到一定的限制[1]。

 本设计的数显毫伏表具有测量频带宽、精度高、反应速度快、输入阻抗高、频率影响误差小、读数方便、使用便捷等优点,可测电压范围为1 V以下,最高分辨率可达0.001 mV,且可以实现量程自动转换,具有广阔的市场应用前景。
1 系统硬件设计[2-4]
 本系统包括增益放大器、量程变换器、RMS-DC变换器、模数转换器、微控制器、LCD显示器6个主要组成部分,系统硬件框图如图1所示。

    首先将待测信号源的电压值通过增益放大器转换到RMS-DC变换器输入信号电压范围内,再将RMS-DC变换器的输出信号接到模数转换器的输入端,转换后的数字信号以串行方式输入给微控制器,经软件处理后送液晶显示器显示测量结果。若输入的待测信号电压不在合适的量程之内,微控制器经过判断后,输出相应的控制信号,通过量程变换器,调整增益放大器的增益,以实现毫伏表量程自动转换的功能。
1.1 微控制器
 本系统采用STC89C52单片机作为系统控制器。STC89C52是一种低功耗、高性能CMOS 8位微控制器,为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有1 KB RAM、64 KB片内Flash程序存储器;具有在应用可编程(IAP)、在系统可编程(ISP)功能;具有3个16位定时器/计数器,而且额外提供了一个可以无须CPU参与、独立工作的可编程计数器阵列(PCA),具有PWM的捕获/比较功能; 具有4个8位I/O口;具有可编程看门狗定时器(WDT)、掉电检测和低功耗模式等功能。另外STC89C52在8051基础上增加了上电复位、软件复位、欠压检测与复位等多个复位功能,以提高单片机的抗干扰能力。
 基于STC89C52单片机的性能及特点,将X1、X2外接12 MHz晶振,使内部振荡器按照石英晶振的频率振荡,产生时钟信号;RESET外接复位按键,复位后P0~P3口均置1,引脚为高电平,程序计数器和特殊功能寄存器SFR全部清零。
 将P0口与LCD显示器8位数据线(D0~D7)相连;P1口中Pin1~Pin3分别接 A/D转换电路的时钟信号(SCLK)、片选信号(CS)、数字输出信号(DOUT),Pin4~Pin6分别接LCD显示器数据/命令选择端(RS)、读/写选择端(R/W)、使能信号(E);P2口中Pin21~Pin23分别接CD4051多路转换器的3个二进控制输入端 A、B、C;P3口(Pin10~Pin17)是一个带内部上拉电阻的8位双向I/O口,本系统设计中,这8个引脚用于专门的第二功能。
1.2 增益放大器
    信号的放大由STC89C52单片机P2口通过模拟开关控制,以实现量程的自动转换。若被测电压高于单片机此时设定的量程,单片机控制模拟开关地址端对信号分档,保证输入到RMS-DC变换器的信号不超过其工作电压范围,尽量使RMS-DC变换器工作在最佳状态,提高灵敏度。量程分为:0~10 mV,10~100 mV,100~1 000 mV,共计三档。
    增益放大电路如图2所示,由3片AD811运算放大器级联构成。AD811运算放大器是美国ADI公司推出的一种视频运算放大器,具有高速、高频、宽频带、低噪声等特性,内部具有电流反馈结构。设计要求的闭环增益与闭环带宽可以通过改变电阻RFB(图中引脚2、6之间的电阻)和RG(图中引脚2与接地端之间的电阻)来获得。图2中,当RFB=562 Ω,RG=562 Ω时,-3 dB带宽与闭环增益分别为80 MHz、2倍;当RFB=442 Ω,RG=48.7 Ω时,-3 dB带宽与闭环增益分别为65 MHz、10倍。

1.3 量程变换器
  量程变换器采用8通道数字控制模拟电子开关CD4051,该器件有3个控制输入端 A、B、C和INH输入,具有低导通阻抗和很低的截止漏电流。当INH=1时,所有通道截止。当CBA=000时,输入端X0导通,输入信号放大200倍,对应量程为0~10 mV;当CBA=001时,输入端X1导通,输入信号放大20倍, 对应量程为10~100 mV;当CBA=010时,输入端X2导通,输入信号放大2倍, 对应量程为100~1 000 mV。CD4051输出端(X)接RMS-DC变换器的输入端(Vin)。
1.4 RMS-DC变换器
    从精度、带宽、功耗、输入信号电平、波峰因数和稳定时间等因素综合考虑,选用了ADI公司的RMS-DC变换器件AD637。AD637属于高准确度的单片真有效值/直流转换器,在±3 dB附加误差的条件下,输入1 000 mV(RMS)时频率上限达5 MHz。内部有独立的缓冲放大器,既可作输入缓冲器用,亦可构成有源滤波器来减少纹波,提高测量的准确度;输入端有电压保护电路,即使Vin超过电源电压,一般也不会损坏芯片。
 有效值/直流变换电路如图3所示,直流电压输出端(V)与A/D转换器输入端(AIN)相连,转换后的直流信号送入A/D转换电路进行A/D转换。根据AD637其特性曲线,输入电压在0.2 V~2 V范围内有最佳频率响应,放大电路的输出信号电压应控制在该范围内。

 

 

 为进一步提高测量准确度,采用了带外部调整元件的电路,有效地减少了有源整流器的非线性误差。该电路的调整步骤如下:
 (1)将输入端(第13脚)接地,调整电位器R16使第9脚输出Vo=0 V。
 (2)输入1V的标准直流电压,调整R19,使Vo=1.000 V。若选择峰峰值为2 V的正弦波为输入电压,则应输出0.707 V直流电压。
1.5 A/D转换电路
 A/D转换电路采用美国MAXIM公司推出的一款12位高精度芯片MAX187。MAX187 串行12 位模数转换器可以在单+5 V电源下工作,模拟输入电压为0~5 V。MAX187为逐次逼近式ADC,快速采样/保持(1.5 μs),片内时钟,高速3 线串行接口。MAX187电源需要加去耦合电容,采用一个4.7 μF电容和一个0.1 μF并联。引脚4为参考端,接一个4.7 μF的电容,使用内部4.096 V参考电压方式。
 MAX187 加电后20 ms,基准电压引脚所接电容充电完毕,进入工作状态。当使能端CS置为低电平时,内部跟踪/保持器(T/H)进入保持状态并启动转换,转换完毕,DOUT输出电平。此时在SCLK端输入移动脉冲将12位转换结果由最高位到最低位依次读出DOUT端。也可将CS端置低电平,8.5 μs后发送移位脉冲,读出转换结果,在读出全部12位结果以后再将CS置高电平。
1.6 LCD显示器
    本系统采用LCD1602液晶显示器显示毫伏表测量结果。LCD1602主要技术参数为:显示容量为16×2,芯片工作电压为4.5~5 V,工作电流为2.0 mA,字符尺寸2.95 mm×4.35 mm。
 根据LCD1602内部RAM显示缓冲区地址的映射图,00~0FH、40~4FH分别对应LCD1602的上下两行的每一个字符,只要往对应的RAM地址写入要显示字符的ASCII代码,就可以显示出来。本设计要求显示8位数字,其中整数4位(个、十、百、千位),小数点后4位,另外显示电压单位“mV”。
2 软件设计[5]
 本系统软件设计主要包括主程序、A/D转换子程序、数据处理子程序、显示子程序设计等。主程序及主要子程序流程图如图4所示。

3 系统调试与误差分析
 通过对系统分部调试和综合性能测试,经分析,本系统误差产生的原因主要由以下几方面构成,在设计时应予以充分考虑,以便提高毫伏表的测量精度。
 (1)测试时采用函数信号发生器作为信号源,其本身输出的信号就有一定的误差。
 (2)AD811的放大倍数不精确。增益可通过改变电阻RFB和RG来获得。由于不同结构类型的电阻具有不同的寄生电容和寄生电感,因此应选用寄生电容和寄生电感小的电阻。对于电阻RFB和RG,使用1%精度的金属膜电阻,能保证精确的放大倍数。
 (3)AD637的附加误差。AD637在输入电压为0.2 V~2 V范围内有最佳频率响应,若放大电路的输出信号电压不在该范围内,则会产生较大误差。
 (4)A/D转换器MAX187转换误差。在实际应用时可以通过提高A/D转换器的位数,进一步提高测量精度。
    采用STC89C52单片机作为控制器,简化了设计的复杂性,增强了软件的数据处理功能,提高了系统的抗干扰能力;采用AD811和CD5406构成程控放大器,实现量程自动变换;采用RMS-DC变换器AD637及其调节电路,频率上限可达5 MHz,具有超限保护功能,有效地改善了系统的非线性;采用MAX187 串行12 位模数转换器进行快速采样/保持,最高采样速度可达75 kHz;显示部分使用LCD1602液晶显示器,可显示8位数字。
 本数字式交流毫伏表具有测量频带宽、精度高、响应速度快、输入阻抗高,频率影响误差小、操作简单、使用便捷、性价比较高等优点,并具有量程自动转换、超量程报警等功能。测量1 000 mV以下电压信号时,最大分辨率可达0.001 mV,可以满足微弱信号的测量需要,具有广泛的市场前景和较高的推广应用价值。
参考文献
[1] 朱英华,李崇维.电子测量技术[M].成都:西南交通大学出版社, 2008.
[2] 何希才.常用集成电路简明速查手册[M].北京:国防工业出版社,2006.
[3] 沙占友.新型数字电压表原理与应用[M].北京:机械工业出版社,2006.
[4] 张国雄.测控电路[M].北京:机械工业出版社,2008.
[5] 戴佳, 刘博文. 51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社, 2008.

此内容为AET网站原创,未经授权禁止转载。