基于单片机的简易数字R-V-I测试仪的设计

控制/MCU

1878人已加入

描述

  摘要:介绍了一种基于AT89S52单片机的简易数字R-V-I测试仪,用ADC0809作为数据转换芯片,通过相应的测量电路,能够进行电阻及直流电压、电流的测量并显示。

  0引言

  当前大量使用的一种基本的测量工具,广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。针对电阻、电压及电流三个基本电量的测量,本文设计了一个简易的数字多用表。

  1总体设计方案

  1.1功能要求

  本系统采用8位8路A/D转换器ADC0809和AT89S52单片机,设计了一台数字多用表,能进行电阻、电压和电流的测量,测量结果通过LED数码管显示,通过按键进行测量功能转换。电压测量范围为0~20V,测量误差约为±0.02V;电流测量范围为1~100mA,测量误差约为±0.5mA;电阻测量范围为0~100kΩ,1k以内测量误差约为±2Ω。

  1.2系统总体设计框图

  图1为系统框图。

 AT89S52

  图1数字多用表的系统框图

  本多用表由以下几部分功能组成:电源模块、复位/振荡电路、功能选择电路、LED显示模块、A/D转换模块、电阻测量电路、电压测量电路、电流测量电路以及A/D驱动电路等。

  2系统的硬件电路设计

  针对设计要求和各模块的要求,我们对各元件进行了选型并设计了具体电路。

  2.1主控模块

  单片机通过线选方式扩展了A/D转换器ADC0809和4位LED数码管,单片机的P2.7引脚作为ADC0809的片选信号,因此A/D转换器的端口地址为7FFFH;片选信号和信号一起经或非门产生ADC0809的启动信号START和地址锁存信号ALE;片选信号和信号一起经或非门产生ADC0809的输出允许信号OE,OE=1时,选通三态门使输出锁存器中的转换结果送入数据总线;ADC0809的EOC信号经反相后接到8051的INT1引脚,用于产生A/D转换完成中断请求信号;ADC0809芯片的3位模拟量输入通道地址输入端A、B、C分别接到单片机的P0.0、P0.1和P0.2,故只要向端口地址分别写入数据00H~07H,即可启动模拟量输入通道0~7进行A/D转换。ADC0809的参考正电压为5V,参考负电压为0V,时钟输入为1MHz。

  单片机的P2.1引脚作为数码管锁存器74LS374的片选信号,片选信号和信号一起经或非门及反相器接到数码管锁存器74LS374的CLK端,因此显示器的数字端口地址为0FDFFH,而单片机的P1.4~P1.7引脚作为数码管的数位选择,显示时先将数据通过数字端口写入锁存器,再通过数位选择点亮相应的数码管。

  单片机的P1.0~P1.2引脚通过一个转换开关接地,通过判断P1.0~P1.2引脚电平的高低,决定是否进行电阻测量、电压测量或电流测量。由于主控模块电路比较常规,此处电路图略。

  2.2电阻测量电路

  图2所示为数字多用表的电阻测量电路。

  AT89S52

  运算放大电路的反馈电阻RX作为待测电阻,根据采样值RV的大小可以判断是否需要改变量程,通过改变转换开关SW2可以改变其量程范围是1k、10k、100k。考虑到精度问题,没有把量程继续加大。如果开关SW2接通1kΩ电阻R2,则对应的小继电器RL2吸合,此时单片机会检测到其对应引脚P3.0是低电平。假定运算放大理想,那么RW=5RX/R2,将RV送给ADC0809的2通道,转换后的数字量为DV=RV255/5,单片机读取A/D转换数据,再经过逆向运算可得RX=DVR2/255。

  2.3电压测量电路

  图3为数字多用表的电压测量电路。

 AT89S52

  电压信号经RV9端对地输入。R93、R94对输入信号进行分压;TL431和电阻R97、R98产生1.25V的基准源;LM324构成比较器,当正端输入大于负端输入时将输出高电平,当正端输入小于负端输入时将输出低电平,RL9为常闭继电器,01组成开关电路,当LM324输出高电平时,01导通,电流经R92和01集电极流向继电器RL9源绕组从而关断继电器。

  通过上述分析我们不难得出:当输入信号小于5V时,电阻R94端电压小于1.25V,LM324输出低电平,01截止,继电器导通,信号直接传递至AD转换通道0;当输入信号大于5V而小于20V时,电阻R94端电压大于1.25V,LM324输出高电平,01导通,继电器截止,信号经R93、R94分压后,转换为0V~5V信号传递至AD转换的通道1。LM324输出端通过非门接到单片机的P2.0口,所以通过判断P2.0口的电平高低可知是启动AD/转换器的0通道还是1通道,进而测出电压值。

  2.4电流测量电路

  图4中所示为数字多用仪表的电流测量电路。

 AT89S52

  电流测量范围为1~100mA,因为ADC0809是电压转换器件,必须将电流转换为电压才能进行测量,这可以通过串接电阻RL来现实。注意,RL必须很小(如0.1Ω),否则会影响电流数值。由于待测电流和RL都很小,RL两端的电压也很小,必须将其放大到ADC0809能够分辨的范围之内。假设待测电流大小为I,RL两端节点的电压分别为VA和VB,VA经过反向放大缓冲电路之后VC=-VA。VA和VB经过差分反向放大电路,得

  AT89S52

  将AV送给ADC0809的3通道转换后得到数字量为

 AT89S52

  单片机读取A/D转换数据,再经过逆向运算可得

  AT89S52

  有两个问题值得注意,由于电流的单位是mA,不能直接计算I的值,应先变换为

  AT89S52

  再进行计算;其次,这么算出来的电流数值误差比较大,原因是LM324不是精密理想运算放大器,当输入信号很小时,误差比较大。因此需要对计算数值进行修正,方法是先计算DAV50000,然后将结果减去102000,再将得到的结果除以89760,这样比较准确。关于102000这个数值,是通过反复测试并经过曲线拟合得到的。

  3软件设计

  图5为软件的主程序流程图。系统软件主要由初始化模块、LED显示模块、功能判断模块及三个功能子模块组成。其中电阻测量模块主要根据其电路输出电压的采样值大小,判断被测电阻是否在量程内,否则要通过显示模块给出增加或减小量程的提示,然后根据不同量程进行相应计算并显示测量结果。电压测量模块主要对其电路的LM324输出端口,即通过判断单片机的P2.0口的电平高低而决定是启动ADC的0通道还是1通道,进行相应的测量和计算,然后显示出电压值。电流测量模块主要对电流的测量值进行修正拟合,减小与实际值的误差。

 AT89S52

  4结论

  本数字多用表以AT89S52单片机作为主控芯片,以ADC0809为转换器,配以相应的测量电路,完成了对电阻和直流电压、电流的测量功能,电路的设计比较简单、精度比较高、功耗低、可扩展性强。能满足要求不高场合的测量需求。当然本设计还有许多不完善的地方,需要继续研究改进。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分