图3 ACS712 ELCTR-30A-T硬件连接图
ACS712 ELCTR-30A-T的引脚功能介绍如表1所示。
表1 ACS712 ELCTR-30A-T的引脚功能
端口 功能
Ip+与Ip- 被测电流的输入和输出端口
GND 接地端口
FILTER 外接电容的端口
Vout 输出模拟电压的端口
Vcc 接电源电压的端口
2.2 A/D转换芯片结构
ACS712 ELCTR-30A-T芯片的输出灵敏度为66mV/A,电流转换为电压后量程为4V。故选择采用8位的模-数转换器,此时的量化单位为15.6mV/A(量化单位的计算方法:4/256=15.6),小于ACS712 ELCTR-30A-T芯片的输出灵敏度,可直接进行模-数转换,无需再加上放大器等其他辅助芯片,使该设计更加简单,同时也降低成本。在该数字电流表的设计中,采用ADC0808。
2.2.1 模-数转换芯片ADC0808引脚功能介绍
ADC0808模-数转换芯片有多个引脚,采用双列直插式封装。其引脚结构如图4所示。
图4 ADC0808引脚图
下面介绍芯片主要引脚的各个功能:
IN0~IN7:模拟量的8个输入端口,可任选一个做为输入端口。
OUT1~OUT8:数字量的8个输出端口,与单片机AT89S51的P1口的8个端口直接相连。
ADDA、ADDB、ADDC:地址输入线,用于选择模拟输入量的输入端口。在该系统的设计中,将ADDA、ADDB、ADDC都置于低电平,即为000,所选的输入端口为IN0。
EOC: 模-数转换的结束信号端口,在进行转换的过程中,该端口一直处于低电平状态,当模-数转换结束后,该端口置为高电平[3]。
OE:允许数字量输出的信号端口,在模-数转换结束的时候,该端口置于高电平,允许转换后的数字量输出。
2.2.2 模-数转换电路硬件电路设计
ADC0808芯片的硬件电路连接如下图所示,在八路模拟通道中,该设计通过程序设计选择IN0作为模拟电流输入端。使用ADC0808模-数转换芯片应注意以下几点:
(1)因为ADC0808本身具有输出锁存器,故能够直接与单片机相连。
(2)在系统进行初始化的时候,务必将端口ST和端口OE信号都置为低电平。
(3)A、B、C是地址选择端口,因此在进行转换之前,先要将所选的端口地址送到此三个端口上。
(4)我们根据EOC信号来判断。在模-数转换中,根据EOC端口来判断是否已经转换完成。
(5)根据EOC已经置为1,我们可判断已经转换完成,然后就要将OE端口置为1,此时,输出的数字量就可以输入到单片机中进行数据处理了。
图5 ADC0808硬件连接图
2.2.3 被测电流与输出数字电压的关系
根据对模-数转换芯片ADC0808的介绍,可知其输入模拟量与输出数字量之间有如下关系:
(1)
在电源上,选择Vcc=5V,由ACS712的输入输出特性知:Vref=4.5V Vref_=0.5V,上述关系经计算得:
(2)
又根据在ACS712 ELCTR-30A-T的I/U特性曲线可知,输入电流Id与输出电压Vout的函数关系式如下:
(3)
其中:Vout=Vin
因此电流-电压转换芯片ACS712 ELCTR-30A-T的输入电流量Id与摸-数转换芯片ADC0808的数字输出量D之间有如下函数关系: 51单片机的数字电流表设计+C语言源码+电路图+仿真图(3):http://www.youerw.com/zidonghua/lunwen_1334.html