当前位置: 首页 > news >正文

基于51单片机的电子秤的设计

第一章 功能说明

本设计系统以单片机AT89S52为控制核心,实现电子秤的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。
系统的硬件部分包括最小系统部分、数据采集部分、人机交互界面和系统电源四大部分。最小系统部分主要包括AT89S52和扩展的外部数据存储器;数据采集部分由称重传感器,信号的前期处理和A/D转换部分组成,包括运算放大器AD620和A/D转换器ICL7135;人机界面部分为键盘输入,四位LED数码显示器,可以直观的显示重量的具体数字以及方便的输入数据,使用方便;系统电源以LM317和LM337为核心设计电路以提供系统正常工作电源。
系统的软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。该电子秤可以实现基本的称重功能(称重范围为0~9.999Kg,重量误差不大于±0.005Kg),并发挥部分的显示购物清单的功能,可以设置日期和设定十种商品的单价, 还具有超量程和欠量程的报警功能。
本系统设计结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。

称重传感器原理

即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。
按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。
对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。
传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。
称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%~70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。
称重传感器的种类很多,根据工作原理来分常用的有以下几种: 电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式)
电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将被测的重量转换为弹性体的应变值;另一个是电阻应变计:它作为传感元件将弹性体的应变,同步地转换为电阻值的变化。电阻应变片所感受的机械应变量一般为10 - 6~10 - 2,随之而产生的电阻变化率也大约在10 - 6~10 - 2数量级之间。这样小的电阻变化用一般测量电阻的仪表很难测出,必须采用一定形式的测量电路将微小的电阻变化率转变成电压或电流的变化,才能用二次仪表显示出来。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理框图如图2-1所示:

载荷P   应变

       电阻变化

R      输出电压
如图2-2电阻应变式称重传感器工作原理框图


当传感器不受载荷时,弹性敏感元件不产生应变,粘贴在其上的应变片不发生变形,阻值不变,电桥平衡,输出电压为零;当传感器受力时,即弹性敏感元件受载荷P时,应变片就会发生变形,阻值发生变化,电桥失去平衡,有输出电压。
如图2-3   桥式测量电路
R1、R2、R3、R4为4个应变片电阻,组成了桥式测量电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。           
若不考虑Rm,在应变片电阻变化以前,电桥的输出电压为:
V=

         
由于桥臂的起始电阻全等,即R1 = R2 = R3 = R4 = R,所以V=0  。
当应变片的电阻R1、R2、R3、R4变成R+△R1、R+△R2、R+△R3、R+△R4时,电桥的输出电压变为:
V=

通过化简,上式则变为:
V=

也就是说,电桥输出电压的变化与各臂电阻变化率的代数和成正比。
如果四个桥臂应变片的灵敏系数相同,且

 = Kε,则上式又可写成:
V=

ε1 - ε2  + ε3  - ε4 )
式中K为应变片灵敏系数,ε为应变量。
上式表明,电桥的输出电压和四个轿臂的应变片所感受的应变量的代数和成正比。在电阻应变式称重传感器中,4个应变片分别贴在弹性梁的4个敏感部位,传感器受力作用后发生变形。在力的作用下,R1、R3被拉伸,阻值增大,△R1、△R3正值,R2、R4被压缩,阻值减小,△R2、△R4为负值。再加之应变片阻值变化的绝对值相同,即
△R1 = △R3 =  + △R或ε1 = ε3 =  +ε
△R2 = △R4=   -  △R或ε2 = ε4 =  - ε
因此,V=

×4ε = e Kε。若考虑 Rm,则电桥的输出电压变成:
V=

 = 

 K εe
令SU   =  

 ,则SU   =

 K ε
SU称为传感器系数或传感器输出灵敏度。
对于一个高精度的应变传感器来说,仅仅靠4个应变片组成桥式测量电路还是远远不够的。由于弹性梁材料金相组织的不均匀性及热处理工艺、应变片性能及粘贴工艺、温度变化等因素的影响,传感器势必产生一定的误差。为了减少传感器随温度变化产生的误差,提高其精度和稳定性,需要在桥路两端和桥臂中串入一些补偿元件。如:初始不平衡值的补偿、零载输出温度补偿、输出灵敏度温度补偿等。

                  第二章 系统总体设计
2.1  电子秤设计的要求

  • 称重范围:不超过9.999Kg
  • 测量精度:≤ 0.005Kg
  • 显示方式:LCD显示所称量的物品重量,同时还可显示物品的名称,数量,单价,金额和所有物品的总金额。
  • 使用操作:键盘输入数据,操作简单方便。
  • 特殊功能:具有去皮功能以及能将金额累加计算;当物品重量超过电子秤量程,即过载情况或者是物品重量小于A/D转换器所能转换的最小精度,即欠量程的时候,具有超重报警功能。

2.2电子秤设计的基本思路

    将电子秤大致能划分为三大部分,数据采集模块、控制器模块和人机交互界面模块。其中数据采集模块由压力传感器、信号的前级处理和A/D转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。此外添加了一个过载、欠量报警提示的特殊功能。

如图2-1(上图为本系统的设计图)

2.3单片机的选型

AT89S52单片机是AT89S系列中的增强型高档机产品,它片内存储器容量是AT89S51的一倍,即片内8KB的Flash程序存储器和256B的RAM。另外,它还增加了一个功能极强的、具有独特应用的16位定时/计数器2等多种功能。在工程应用中AT89S52有一显著的优势:不需要烧写器,只借助PC 机的并口输出和极为简单的下载电路,便可将程序通过串行方式写入单片机。并且下载电路可设计在系统中,可以随时修改单片机的软件而不对硬件做任何改动。
由此,通过对目前主流型号的比较,我们最终选择了AT89S52通用的普通单片机来实现系统设计。AT89S52是一种兼

相关文章:

  • 公差基础-配合(互换性和测量基础)-2
  • 推荐系统算法
  • 网页五子棋对战项目测试(selenium+Junit5)
  • Python数据分析与建模库-02科学计算库Numpy01-05合集
  • Java高阶数据结构-----并查集(详解)
  • Matlab实现DBO-BiTCN-BiGRU-Attention蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测
  • php收银系统源码推荐
  • tsp可视化python
  • C# 中的日志记录技术详细解析与示例
  • Android帧绘制流程深度解析 (一)
  • 筛斗数据:如何利用数据提取技术提高能源利用效率
  • 2024 年最新 Python 基于百度智能云实现短语音识别、语音合成详细教程
  • memcached介绍和详解
  • 【尚庭公寓SpringBoot + Vue 项目实战】图片上传(十)
  • 数学术语:“suprema” 和 “supremum”指什么
  • 收藏网友的 源程序下载网
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Angular Elements 及其运作原理
  • Bootstrap JS插件Alert源码分析
  • Javascript编码规范
  • js 实现textarea输入字数提示
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • magento 货币换算
  • Map集合、散列表、红黑树介绍
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python_OOP
  • Spark学习笔记之相关记录
  • SpiderData 2019年2月23日 DApp数据排行榜
  • windows下如何用phpstorm同步测试服务器
  • Yeoman_Bower_Grunt
  • 从零开始在ubuntu上搭建node开发环境
  • 二维平面内的碰撞检测【一】
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 一起参Ember.js讨论、问答社区。
  • 怎么将电脑中的声音录制成WAV格式
  • 通过调用文摘列表API获取文摘
  • 选择阿里云数据库HBase版十大理由
  • ​补​充​经​纬​恒​润​一​面​
  • # wps必须要登录激活才能使用吗?
  • (1)Nginx简介和安装教程
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (4.10~4.16)
  • (C11) 泛型表达式
  • (k8s)Kubernetes本地存储接入
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (四)Linux Shell编程——输入输出重定向
  • (四)linux文件内容查看
  • (学习总结16)C++模版2
  • (一) storm的集群安装与配置
  • (已解决)vscode如何选择python解释器
  • (译)2019年前端性能优化清单 — 下篇