使用8051微控制器的数字电压表
在这个项目中,我将展示如何使用8051单片机设计一个数字电压表,并解释其工作原理。电压表是一种测量仪器,用于测量电网中两点之间的电压差。一般来说,有两种类型的电压表 - 一个是模拟电压表,另一个是数字电压表。
在模拟电压表中,指针在刻度上移动以表示电压。数字电压表在模数转换器的帮助下,直接以数字显示电压。这篇文章解释了如何用两种方法设计数字电压表:1)使用8051单片机;2)使用IC L7017。
使用8051单片机和电压传感器的数字电压表 图片1
使用8051单片机的数字电压表
这个项目测量0V到25V的输入电压。在这里,输入电压应该是直流电压,以便在LCD上获得准确的输出。如果你应用交流电压作为输入,那么在LCD上会看到连续运行的数字,因为交流电压不断变化。
这个项目的主要部件是8051微控制器,一个电压传感器模块和一个ADC IC ADC0804。在这个项目中,我们使用模拟到数字的转换过程来显示电压。
模拟到数字的转换
在现实世界中,我们大多发现模拟数据。为了使用数字系统处理这些数据,我们需要将模拟数据转换为数字,这样微处理器或微控制器就能理解和处理这些数据。
物理量与数字系统的衔接
换能器: 换能器或传感器用于将物理量转换为电能。光敏电阻、温度传感器、湿度传感器、气体传感器等都是传感器的例子。
ADC(模拟到数字转换器): ADC将输入的电气电压转换为数字值。
数字系统:该系统读取输入的数字数据,并在LCD上显示物理量,以便理解。
这里的ADC IC根据输入的电电压生成输出的数字值。8051微控制器读取这个数字值并显示在LCD上。
使用8051单片机的数字电压表电路图
AT89C51微控制器
ADC0804集成电路
25V电压传感器
AT89C51编程板
可变电阻(用于演示程序)
直流适配器或电池
使用8051单片机的数字电压表电路设计
在上述电路中,模数转换器IC的数据位被连接到PORT2。LCD数据引脚连接到控制器的POTR3,控制引脚RS和EN分别连接到P1.6和P1.7。
ADC0804
这是一个8位的模数转换器。该芯片使用逐次逼近法将模拟值转换为数字值。它只能接受一个模拟数据作为输入。这个IC的步长是通过改变引脚9的参考电压来改变的。如果这个引脚没有连接,VCC将是参考电压。
当步长为5V时,输入电压每上升19.53mV,输出就增加1个值。该芯片的转换时间取决于时钟源。
ADC特点
0到5V的模拟输入电压。
内置的时钟发生器。
差分式模拟输入。
可调节的参考电压。
下表显示了不同参考电压的不同步长。
在上面的电路图中,第9针(Vref/2)是开放的,所以输入电压跨度可以是0到5V。
步长 = Vref/(2 pow(n))
其中n是分辨率。对于ADC0804,分辨率n=8。数字输出可以用以下公式来计算
Dout = Vin/stepsize。
Vin - 模拟输入电压
例如,假设模拟输入电压为4V,那么数字输出为Dout=4/19.53mV=204。
将模拟输入转换为数字输入的步骤
从PORT2读取ADC值。
#define dat P2
val=dat*0.02;
乘以100后,得到一个三位数的正整数值。
val1=val*100;
分开各个数字并在LCD上打印,包括小数点。
temp=(((val1/100)%10)+48);
display(temp);
display('.');
temp=(((val1/10)%10)+48);
display(temp);
temp=((val1%10)+48);
display(temp);
电压传感器
电压传感器模块是一个简单的分压器网络,将ADC的模拟输入范围增加到25V左右。
将电压传感器与Arduino的电压传感器引脚连接起来
代码
数字电压表电路如何使用8051单片机工作?
首先将程序刻录到at89c51单片机上。
现在按照电路图给出连接。
在电压传感器的输入端连接一个电池或任何电压源。
确保最大的模拟输入电压应小于25V DC。
在电压传感器的输入端连接一个数字多用表。
现在打开电路板的电源。
现在观察LCD和数字多用表,两者都显示相同的电压(或非常相似的电压)。
如果可能的话,试着慢慢改变模拟输入电压。现在你可以观察到万用表和LCD显示相同的电压,这样我们就可以说电压表工作正常了。
关闭电路板上的电源。
数字电压表电路应用
该系统用于测量低电压应用中的电压。
用于测量玩具电池。
我们可以用这个系统测量物理量,如温度、湿度、气体等,只需稍加修改。
数字电压表电路的局限性
输入的模拟电压范围应该是0到5V。
使用这个系统,我们一次只能测量一个模拟输入值。
使用ICL7107的数字电压表电路
电压表也可以在不使用任何微控制器的情况下设计。以下是使用L7017集成电路的电压表电路
在这里,我们设计了一个模拟数字转换器,作为数字电压表使用,该转换器为低功耗的三位半A/D转换器ICL7107,具有内部7段解码器,显示驱动器,参考和时钟。
一个优点是这个IC可以直接驱动非复用的七段显示器,而不需要任何外部解码电路。该电路可以在200mV到2V的范围内测量电压,间隔为0.001V。
电路背后的原理
这个电路是基于使用ICL7107作为模拟到数字转换器的原理。整个操作分为两个阶段--模数转换和解码。
模拟到数字的转换是通过积分和参考积分的过程完成的。换句话说,首先对输入信号进行积分,使积分器的输出成为斜率信号,然后对一个相反极性的参考电压进行积分,使积分器的输出回到零。
然后用显示解码器对得到的数字代码进行解码,以驱动显示单元。
使用ICL7107的数字电压表电路图
如何设计数字电压表电路?
设计电路需要适当地选择以下的元件:
振荡电路元件的选择: 对于48KHz的典型振荡频率,振荡电阻被选择为100K左右,电容为100pF左右。
参考电容: 参考电容器的值被选择为0.1uF和1uF之间。这里我们选择一个0.5uF的电解质电容。
自动调零电容器: 自动调零电容器的选择要使其值在0.01uF和1uF之间。这里我们选择一个0.1uF的电容。
积分电容: 积分电容构成了积分电路的一个重要部分。其值由积分周期t、最佳积分电流I和积分电压Vint决定。对于83mSec的时间周期,4uA的电流和2V的电压,电容的价值被认为是大约0.16uF。这里选择一个0.22uF的电容。
积分电阻: 这个电阻的值是由满刻度模拟输入电压和最佳积分电流决定的。我们选择一个500K的电阻,满刻度的输入电压为2V。
如何操作数字电压表电路?
该IC由一个+/-5V的双电源供电。一旦电路通电,通过调整参考电阻来设置参考信号。参考电压需要约为输入电压的一半。振荡元件--电阻和电容决定了该设备的振荡或时钟频率。
参考电容器被充电到参考电压。然后,一个反馈回路被关闭,为自动调零电容器充电,以便补偿电压的任何波动。随后,转换器将输入端的差分电压在一个固定的时间内进行积分,这样积分器的输出就是一个斜率信号。
然后,一个已知的参考电压被施加到积分器的输入端,并允许其斜升,直到积分器的输出变为零。输出回到零的时间与输入信号成正比,数字读数为::
显示计数=(Vin/Vref)*1000。
下一个过程包括对数字计数进行解码,以产生一个七段兼容信号,从而驱动显示器。然后,数字输出被显示在复用的7段显示器上。
数字电压表电路的应用
该电路可用于数字万用表,提供测量电压的数字读数。
它可以用来测量交流和直流电压。
它可以用来测量物理量,如压力、温度、使用传感器电路和信号调节电路的压力。
它可以用于需要高精度和高分辨率的应用中。
数字电压表电路的局限性
它只能在低范围内测量电压。
使用的集成电路是CMOS器件,具有高度的静态性。
正负输入电压的参考电压不同会导致翻转误差,即共模误差。
使用2V的满刻度负输入电压有时会导致积分器的输出饱和。
LED驱动器的内部发热会导致性能下降。
参考温度系数、内部芯片耗散和封装热阻往往会增加噪声水平。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码