历史上的今天
今天是:2024年12月20日(星期五)
2019年12月20日 | 基于ATmega16单片机的数字电子秤设计
2019-12-20 来源:elecfans
0 引言
随着电子技术和自动化测量技术的不断发展,传统的称重系统在功能、精度、性价比等方面已难以满足人们的需要,尤其在智能化、便携式、对微小质量的测量方面更显得力不从心。近年来,新型单片机的出现和集成电路技术的发展为更新产品设计,研制高性价比的称重控制器提供了条件。本设计采用AVR单片机为控制核心,结合电阻应变式压力传感器和相应的信号采集电路,设计出一种高精度、多功能、低成本的新型电子秤。
1 系统总体设计
首先由称重传感器采集因压力变化而产生的电压信号,通过A/D转换器将模拟信号转换为数字信号,把数字信号送入AVR单片机,单片机做相应的处理后,得到当前物体重量的数据,并通过LCD显示出来。系统硬件结构如图1所示。

系统硬件电路包括A/D转换模块、4×4矩阵键盘模块、LCD模块和蜂鸣器报警模块;软件模块又可分为主程序模块、矩阵键盘扫描模块、A/D转换模块和LCD1602模块。
2 系统硬件设计
2.1 AVR单片机
本设计是选用AVR系列单片机中的ATmega16作为微控制器。ATmega16是基于增强型AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集和单时钟周期指令执行时间,ATmega16L的数据吞吐量高达1MIPS/MHz,在片内集成了16kB的可编程FLASH,512B的E2PROM,1kB的片内SDRAM。在外设方面,具有两个可编程的串行UART,8路10位ADC,四通道PWM,并支持SPI、TWI、JTAG接口,允许ATmega16L和其他外设进行高速的数据传输。
2.2 称重传感器
电阻应变式称重传感器是把电阻应变计粘贴在弹性敏感元件上,然后以适当方式组成电桥的一种将力(重量)转换成电信号的传感器。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理如图2所示。

本设计选用湖南宇航公司的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所示。

当传感器加上满量程重量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码直接赋值,还可以用字符型常量或变量赋值;蜂鸣器的作用是当称重物品超出传感器的量程时,以鸣响报警提示用户。

3 系统软件设计
系统软件开发平台为WinAVR,开发语言为C语言。为了方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法。本设计按任务模块划分的程序主要有初始化程序、主程序、A/D转换子程序、LCD显示子程序、键盘扫描子程序。
系统工作时分为初始界面模式和称重模式,可设一标志位进行更改以及判断。在初始界面中,液晶屏第一行显示“Place object!”,提示用户可以在电子秤上放置想要称重的物品;第二行显示”PrICe:”,提示用户输入物品的单价。
随后系统进入键盘扫描状态,当相应的称重按键被按下时,单片机控制AD7705进行AD转换,把得到的结果进行处理后通过LCD显示出来。显示包括物品的重量和总价,称重精度为1g。以此不断地循环完成对物品的实时测量。主程序流程图如图5所示。

4 结束语
文章提出了一种基于ATmega16单片机的数字电子秤的设计,充分发挥了AVR单片机的强大的控制能力,通过称重传感器和16位的AD7705转换器实现了对重量的高精度测量,具有成本低、稳定性强、电路简单等特点。系统在电子秤的实际应用中得到了满意的效果。
上一篇:AVR单片机电梯外呼板系统设计
下一篇:AVR单片机与CPLD的通信设计
史海拾趣
|
买防盗门:消费者一头雾水 在钱王街一家门业商店里,多扇金属质地的门依次排列,许多销售标签上写着“防撬门”。当记者表示要购买一扇防盗门时,老板娘称店内销售的全是防盗门。她指着一扇门介绍,这是甲级防盗门,门框钢板厚度1.2毫米,具有很 ...… 查看全部问答> |
|
硬件街机游戏开发,单片机游戏开发,CPLD/FPGA、ARM平台游戏开发群成立 本超级QQ群成立,上限人数为500。 目标是发展中国游戏产业,提升硬件游戏开发技术交流。提供大的平台。 发展的方向是游戏动漫相结合,此群不是网络游戏开发,为单板街机游戏开发。 所属第三产业。以电脑板游戏开发为主体,希望大家能在这个平 ...… 查看全部问答> |
|
我自己写的一个应用程序aaa.exe,我想使audio file和video file关联到aaa.exe。 在emulator中我使用remote registry editor修改audiofile\\\\shell\\\\open\\\\command数值可以实现。 那么我是否可以在我自己的shell程序中 通过RegSetV ...… 查看全部问答> |
|
我使用MS Comm控件,有两个窗口分别显示接收数据和输入发送数据,用串口调试助手可以受到我发送的数据,但是串口调试助手发送的数据我的程序就接收不到! 我使用两个串口调试助手窗口可以相互接收和发送数据,好像我主机的串口连接和设置都没问题 ...… 查看全部问答> |
|
一个简单的上升沿检测代码:reg RS_r1,RS_r2;always @ (posedge CLKIN or posedge RESET) if(RESET) RS_r1 <= 1\'b0; else RS_r1 <= RS ...… 查看全部问答> |
|
找点时间,做了个非常简单的STM32 ISP功能测试程序。欢迎大家测试。只做了四个命令,其他的还没做,呵。还有准备做个HEX文件下载和OPTION操作。 相关链接:https://bbs.eeworld.com.cn/upfiles/img/200711/2007115172438494.rar… 查看全部问答> |
|
我刚接触ST8芯片, 太头疼了, 写个PWM输出的测试程序,找了2天,最后通过这论坛才解决; 现在是I2C通信,找了2天还没解决; 若是我手头上有一个可执行的例子,下载到开发板运行对比下,问题几分钟就可以解决; 强烈建议: ...… 查看全部问答> |
|
最近在弄一个tms320dm365的PCB 用的是allegro 15.2 版本软件,请问下这个IC的和DDR2 和Flash连接时需要什么样的要求,怎么设置他们的规则,我的经验不是很丰富,请大家给出建议和意见,谢谢大家!… 查看全部问答> |




