行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2017-07-28 06:45:19

基于ADS1100的高精度电子秤设计与实现

时间:2017-07-28 06:45:19 来源:本站 点击数:598

设计基于串行A/D转换器ADS1100低功耗单片机AT89S52LCD显示器的高精度电子秤。该高精度电子秤作用于传 感器的力转换成电压值,经A/D转换后用单片机进行处理,结果通过LCD显示。核心器件ADS110016A/D转换器,在 使用中读数准确、反应灵敏,具有低功耗、超量程报警等功能。

物品称量是市场交易中最基本的活动,使用的衡具多种多样,如杆称、弹簧秤、电子秤等。传统的量具是 杆称或盘称,20世纪70年代开始出现了电子称。早期的电子称多通过模拟电路实现,随着电子技术的不断 发展,数字芯片的价格逐渐下降,模拟控制已逐步被数字控制替代,电子称的设计模式大都以微处理器为核 心,精度和可靠性有了明显提高,但市场上广泛使用的各式电子秤都采用8A / D转换器和LED显示,具 有精度低和无法显示汉字等缺点[1]。采用16A / D转换器ADS1100LCD显示,设计一个读数准确、反应 灵敏,具有低功耗、超量程报警的电子秤。

1.系统结构设计及工作原理

高精度电子秤采用的压力传感器为电阻应变式压 (称重)传感器,可用于测拉力和压力,它将作用于传 感器的拉力或压力转换为电压值,经过放大器放大后, 送人A/D转换器ADS1100A/D转换后用AT89X52单片机进行处理,结果通过LCD显示。系统结构框图如图1

云网客1.jpg

整个高精度电子秤具有超量程报警功能以及采用具有I2C串行接口的A/D转换器ADS1100,利用I2C总线协议,只需2根数据线和相应的控制线就可以工作, 大大减少了印刷电路板的布线数目和CPUI/O 口利用数目。

2.高精度电子秤的硬件电路设计

基本框架包含电阻应变式称重传感器、模拟信号处理模块、A/D转换、超量程报警、LCD显示模块等,重 点给出各分电路的设计图和说明。

2.1电阻应变式称重传感器

电阻应变式称重传感器的原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在它表 面的电阻应变片(转换元件)随同产生变形,电阻应变 片变形后,它的阻值发生变化(增多或减少,经相应的 测量电路把这一电阻变化转换为电信号(电压或电 流),完成将外力变换为电信号的过程' 电阻应变式 称重传感器有多种形式,使用最多的为桥路形式,如图 2H为电阻应变式片;尽为10 kD多圈调零电 位器;R)为温度补偿电阻;五为传感器桥压;AV为传 感器输出。

当桥路中的某臂电阻发生变化时,桥路不平衡,桥路输出的变化量反映了压力的变化量。

云网客2.jpg

2.2模拟信号处理模块

桥路输出的变化量通过模拟信号处理模块,经过二级放大,将微弱信号放大到A/D转换器可以分辨的 模拟信号,如图3RW1为模拟信号处理零点调节器,可以利用该电位器调节零点,RW2为模拟信号处理放 大倍数调节器'.

云网客3.jpg

2.3A/D转换

A/D转换部分采用ADS1100ADS1100每秒可采样81632128次以进行A/D转换,并提供I2C端口与外部通信。片内可编程增益放大器能提供高达8倍的增益,允许对小信号进行测量。ADS11002种工作方式:单周期转换方式和连续周期转换方式。在单周期转换方式中,ADS 1100进行一次A/D转换后将自动掉 电以减少电流消耗。

2.3.1ADS1100引脚功能 引脚VIN+)为差分信 号正输人端;引脚2(GND)为地线;引脚3 (SCL)为串 行时钟输人端;引脚4(SDA)为串行数据输人/输出端;

引脚5 (VDD)+5 V电压输人端;引脚6(VIN-)为差 分信号负输人端。

2.3.2A/D转换电路 A/D转换电路如图4

云网客6.jpg

2.4ADS1100的内部寄存器

2.4.1输出寄存器 16位输出寄存器中含有上一次A/D转换的结果,该结果采取二进制的补码格式。在复 位或上电之后,输出寄存器被清零,并保持为0直到第一次A/D转换完成。输出寄存器的格式如表1

云网客7.jpg

2.4.2配置寄存器 8位配置寄存器用来控制ADS1100的工作方式、数据速率和可编程增益放大器设置如表2,配置寄存器的默认设置是8CH

ST/BSY位表示它是被写人还是被读出。在连续 3 DR

云网客8.jpg

方式中,ADS1100将忽略ST/BSY的值。位6和位5 保留位,必须被置为0”。SC位用于控制ADS1100 工作方式。当SC1”时,ADS1100以单周期转换方 式工作;当SC0”时,ADS1100以连续转换方式工 作。该位的默认设置为0。位3和位2(DR)用于控 制ADS1100的数据速率,其控制方式如表3。位10 (PGA)用于控制ADS1100的增益设置,控制方式如  4

2.5 ADS1100读写操作

ADS1100的读操作 ADS1100中读出输出寄存器和配置寄存器的内容。为此要对ADS1100 址,并从器件中读出3个字节。前面的2个字节是输出寄存器的内容,第三个字节是配置寄存器的内容。从AD1100中读取多于3个字节的值是无效的。从第四个 字节开始的所有字节将为FFHADS1100的读操作时序如图5

2.5.2 ADS1100的写操作 写新的内容至配置寄存器(但不能更改输出寄存器的内容),要对ADS1100 址,并对ADS1100配置寄存器写人一个字节。对ADS1100的写操作时序如图6

云网客9.jpg

云网客10.jpg

2.6超量程报警

在测量过程中,当压力超过容限后,通过电压比较器开通硬件报警电路报警。如图7,当压力超出量程 后,输入A/D的模拟信号也有过压保护,不会损坏A/D转换器。

2.7 LCD显示模块

LCD显示模块采用RT12864图形点阵型液晶显 示模块,主要由行驱动器与列驱动器组成。可显示 128(列)64()点阵,可完成图形显示,也可显示84 (16x16点阵)汉字。7条控制指与CPU接口采用8 数据总线并口输人输出方式,RT12864液晶显示模块 电路如图8

云网客11.jpg

接口引脚说明:VSS为电源负端(0V);VDD为电 源正端(+5.0 V);V0LCD驱动电压(外接可调电阻,可调节对比度)RS =1表示无论单片机读/写操作,均 指向数据寄存器;RS =0表示当单片机进行读模块操 作,指向地址计数器。当单片机进行写模块操作,指向 地址寄存器。R/W=1读操作;R/W=0写操作。E为使 能信号,当R/W =H,E为高电平时读操作有效;当R/ W = L,E为下降沿时写操作有效。DB0?DB7为数据 总线;CS1为片选信号,左半屏64列选中(高电平有 CS2为片选信号,右半屏64列选中(高电平有 );REST为复位控制信号(低电平有效);VOUT LCD驱动负电压输出端,RT12864液晶显示运行效果如图9

云网客12.jpg

3.高精度电子秤的软件设计

采用C语言编程,程序流程图如图10,图10为主 函数main()流程图。重点是ADS1100进行初始化 Init_ads 1100(0x8C)函数和读取ADS1100转换结果 Rd_ads1100()函数。

云网客13.jpg

Init_ads1100(0x8C)函数

Init_ads1100(0x8C)函数代码如下: void Init_ads 1100(0x8C)

{ Start();

writebyte(0x90); /*写命令*/ writebyte(0x8C);Stop;}

Start()函数、Stop() Start()函数的功能是使I2C总线开始工作,Stop()函数的功能是使I2C总线停止工 作,I2C总线的起始和停止条件如图11

writebyte()函数 writebyte(0x90)函数向 ADS1100 发出写操作命令 90H,使 R/W=0;然后 writebyte(0x8C)函数向ADS1100的配置寄存器写人一个字节8CH,如图6

Rd_ads1100()函数

Rd_ads1100()函数的功能是读取A/D转换结果,代码如下: unsigned int Rd_ads1100(void)

{ unsigned char H_AD; //H_AD用于存储高8A/D转换结果 unsigned char L_AD; //L_AD用于存储低8A/D转换结果 unsigned int T_AD; //T_AD用于存储总的A/D转换结果 Start();

writebyte(0x91); /*读命令*/

H_AD=Readbyte();

WriteACK(0);

L_AD=Readbyte();

WriteACK(1);

Stop();

T_AD=(0x00ff&H_AD)<<8|L_AD;//  8 位和低 8 位合并 return T_AD; }

3.2.1读转换结果 writebyte(0x91)函数向ADS1100发出读操作命令91H使R/W=1;然后Readbyte()函数

ADS1100的输出寄存器读出2个字节,2个字节分别为转换结果的高8H_AD和低8L_AD,如图5

WriteACK()函数 根据I2C总线协议,读出高8H_AD即一个字节数据后,在I2C总线上的第9 时钟脉冲发送应答位为低电平ACK=0表示字节传输完成;读出最后一个字节数据低8L_AD发送应答 位为高电平ACK=1,表示结束读数据,如图512

云网客14.jpg

4. 

(1)高精度电子秤的核心器件ADS1100是贴片封装,采用I2C串行总线,只需2根数据线和相应的控制换器供电,能够实现高精度电子秤的便携化。

(2)高精度电子秤的ADS1100是一种连续自校准ADC可提供差分输人和16位无丢失码精度,达到16 A/D转换的高精度,在使用中读数准确,反应灵敏,采用低功耗LCD显示,具有超量程报警功能。在同类产 品中具有很大优势,达到了预期的设计目标。