基于AVR单片机高精度电子秤设计
仪器网 · 2012-07-18 10:29 · 48250 次点击
摘要:本设计是采用AVR单片机作为微控制器,结合压力传感器、AD7705、LCD1602实现的一种高精度多功能数字电子秤。文章详细介绍了系统的硬件电路组成以及软件的开发流程。本设计具有体积小、成本低、精确度高、可靠性高等特点。
0引言
随着电子技术和自动化测量技术的不断发展,传统的称重系统在功能、精度、性价比等方面已难以满足人们的需要,尤其在智能化、便携式、对微小质量的测量方面更显得力不从心。近年来,新型单片机的出现和集成电路技术的发展为更新产品设计,研制高性价比的称重控制器提供了条件。本设计采用AVR单片机为控制核心,结合电阻应变式压力传感器和相应的信号采集电路,设计出一种高精度、多功能、低成本的新型电子秤。
1系统总体设计
首先由称重传感器采集因压力变化而产生的电压信号,通过A/D转换器将模拟信号转换为数字信号,把数字信号送入AVR单片机,单片机做相应的处理后,得到当前物体重量的数据,并通过LCD显示出来。系统硬件结构如图1所示。
[attach]51348[/attach]
系统硬件电路包括A/D转换模块、4×4矩阵键盘模块、LCD模块和蜂鸣器报警模块;软件模块又可分为主程序模块、矩阵键盘扫描模块、A/D转换模块和LCD1602模块。
2系统硬件设计
2.1AVR单片机
本设计是选用AVR系列单片机中的ATmega16作为微控制器。ATmega16是基于增强型AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集和单时钟周期指令执行时间,ATmega16L的数据吞吐量高达1MIPS/MHz,在片内集成了16kB的可编程FLASH,512B的E2PROM,1kB的片内SDRAM。在外设方面,具有两个可编程的串行UART,8路10位ADC,四通道PWM,并支持SPI、TWI、JTAG接口,允许ATmega16L和其他外设进行高速的数据传输。
2.2称重传感器
电阻应变式称重传感器是把电阻应变计粘贴在弹性敏感元件上,然后以适当方式组成电桥的一种将力(重量)转换成电信号的传感器。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理如图2所示。
[attach]51349[/attach]
本设计选用湖南宇航公司的SB-B型悬臂式称重传感器,额定量程5kg,灵敏度3mv/V,非线性误差0.03%ES,重复性误差0.02%ES,蠕变(30分钟)O.03%F.S,零点温度漂移0.03%F.S./10℃,温度补偿范围-10~60℃。该系列传感器采用悬臂单剪切结构,过载能力强,受力后自动调心好,具有精度高、长期稳定性好、抗疲劳、抗偏载能力强的特点。
2.3高精度A/D转换
称重传感器输出的是mV级的电压信号,本设计采用AD7705对信号进行采集。AD7705是AD公司推出的一种基于∑-△转换技术的16位A/D转换芯片,它具有高分辨率、宽动态范围、自校准、优良的抗噪声性能以及低电压、低功耗等特点,适合于称重系统中微机信号处理的需求。其具有可编程增益放大器,增益范围1~128,可与压力传感器直接相连,使用同步串行SPI接口,可以与AVR单片机的硬件SPI接口直接相连,其电路连接图如图3所示。
[attach]51350[/attach]
当传感器加上满量程重量5kg时,传感器在5V的工作电压下取得15mV的输出电压。5V工作电压经分压后为AD7705提供基准电压,因此工作电压的变化不会产生系统误差。分压电阻为24kΩ和15kΩ,产生的基准电压为1.92V。当器件的可编程增益为128时,对应的满量程输入电压即为15mV。
2.4人机通讯
人机通讯包括键盘扫描、LCD、蜂鸣器报警三个部分,键盘采用4×4矩阵扫描键盘,接在单片机的PC口;显示部分采用的是LCD1602液晶,能够同时显示16×2即32个字符。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,编程时可以用AS-CII码直接赋值,还可以用字符型常量或变量赋值;蜂鸣器的作用是当称重物品超出传感器的量程时,以鸣响报警提示用户。
[attach]51351[/attach]
3系统软件设计
系统软件开发平台为WinAVR,开发语言为C语言。为了方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法。本设计按任务模块划分的程序主要有初始化程序、主程序、A/D转换子程序、LCD显示子程序、键盘扫描子程序。
系统工作时分为初始界面模式和称重模式,可设一标志位进行更改以及判断。在初始界面中,液晶屏第一行显示"Placeobject!”,提示用户可以在电子秤上放置想要称重的物品;第二行显示"Price:”,提示用户输入物品的单价。
随后系统进入键盘扫描状态,当相应的称重按键被按下时,单片机控制AD7705进行AD转换,把得到的结果进行处理后通过LCD显示出来。显示包括物品的重量和总价,称重精度为1g。以此不断地循环完成对物品的实时测量。主程序流程图如图5所示。
[attach]51352[/attach]
4结束语
文章提出了一种基于ATmega16单片机的数字电子秤的设计,充分发挥了AVR单片机的强大的控制能力,通过称重传感器和16位的AD7705转换器实现了对重量的高精度测量,具有成本低、稳定性强、电路简单等特点。系统在电子秤的实际应用中得到了满意的效果。