本系统采用单片机AT89S52为控制核心,实现电子秤的基本控制功能。系统的硬件部分包括最小系统板,数据采集、人机交互界面大部分。最小系统部分主要是扩展了外部数据存储器,数据采集部分山称重传感器、信号的前级放大A/D转换部分组成。人机界面部分为键盘输入,128x64 点阵式液品显示,可以直观的显示中文,使用方便。
软件部分应用单片机C语言实现了本设计的全部控制功能,包括基本的称重功能,和发挥部分能预存10种商品的单价,可以随意调出使用的功能。可以显示期和时间,由于系统资源丰富,还可以方便的扩展其应用。
目录
设计并制作一个多功能电子计价秤。
(1)能用键盘设置单价,称重后能同时显示重量、单价和总额;
(2)电子计价秤:最大称重为15.000公斤,重量误差不大于±0.1%;
(3)具有数码显示,显示重量、单价、总额等信息。
a.重量显示为5位数码,单位为公斤,最大重量显示值为99.999公斤;
b.单价金额显示为5位数码,单位为元,最大单价金额显示值值为999.99元;
c.总价金额显示为6位数码,单位为元,最大总价金额显示值值为9999.99元,总价金额误差不大于0.01元;
1.2.2发挥部分(1)具有实时时钟显示并具有掉电保护,可显示日历时钟(年、月、日、时、分、秒);
(2)扩展高精度A/D转换器,提高电子计价秤测量精度,测量误差不大于±0.01%;
(3)能预存10种商品的单价;可以随意调出使用。
(4)其他
二、系统方案论证:2.1总体方案设计2.1.1系统方案论证与选择通过以上分析,拟定以下两种方案:
方案一:采用ATmega16单片机作为系统主控制器。Atmel公司的ATmega16单片机具有先进的RISC(精简指令集计算机)结构、非易失性程序和数据存储器,16 kB可编程Flash存储器、512 B的EEPROM和1 kB片内SRAM,具有丰富的外设接口,其USART(通用同步和异步接收器和转发器)是一个高度灵活的串行通信设备,SPI(串行外设接口)允许ATmega16与外设或其他AVR器件进行高速的同步数据传输。内部集成高精度10位A/D转换器。系统原理框图如图2所示。
方案二:采用AT89S52单片机作为系统主控制器。AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。系统原理框图如图3所示。
方案一主控制系统内部集成了A/D转换器,可以节省外部器件,简化外部电路,但是MEGA16单片机价格较贵,运用技术不够成熟。方案二AT89S52单片机的应用范围广,可用于解决复杂的控制问题,且成本较低。它需要外接A/D转换电路,相对比较复杂,但是成本低。综合比较,考虑到成本和设计需要,10位A/D能够满足题目需求,因此采用方案二。
三、各模块方案选择及论证:3.1控制器部分本系统基于51系列单片机来实现,因为系统需要大量的控制液晶显示和键盘。不宜采用大规模可编程逻辑器件来实现。另外系统没有其他高标准的要求最终选择了AT89S52通用的比较普通的单片机来实现系统设计。内部带有8kb的程序存储器,在外面拓展了32kb数据存储器,以满足系统要求。
方案一:采用双孔悬壁梁式(电阻应变式)称重传感器。孔悬臂梁式称重传感器是电子计价秤中广泛使用的传感器。这种传感器的弹性体具有上下两个平行梁,它的最大特点就是具有抗偏载的力学特性。它的称量范围为300g至数千kg, 计量准确度达1/1000~1/10000,结构较简单,可靠性较好。
方案二:采用电磁力式传感器。它利用承重台上的负荷与电磁力相平衡的原理工作。当承重台上放有被测物时,杠杆的一端向上倾斜;光电件检测出倾斜度信号,经放大后流入线圈,产生电磁力,使杠杆恢复至平衡状态。对产生电磁平衡力的电流进行数字转换,即可确定被测物质量。电磁力式传感器准确度高,可达1/2000~1/60000,但称量范围仅在几十毫克至10千克之间。
综合比较两种传感器的结构、力学特性和称重范围等,采用方案一。
3.2.2前级放大器部分的选择压力传感器输出的的电压信号为毫伏级,所以对运算放大器要求很高,我们有以下几种方案:
方案一:采用普通低温漂运算放大器构成多级放大器。普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以此方案不宜采用。
方案二:由高精度低漂移运算放大器构成差动放大器。差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放做成一个差动放大器,如图2.2.3.1
电阻R1、R2电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。
优点:输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以可以用于微调放大倍数,使输出满足满量程要求。输出级为反向放大器,所以输出电阻不是很大,比较符合要求。
缺点:电路要求R3、R4相等,误差将会影响输出精度,难度较大。实际测量,每一级运放都会引入较大噪声。对精度影响较大。
结合本题对精度的要求,我们采用方案二。
3.2.3显示器的论证与选择
方案一:采用七段数码管显示。数码管,显示大亮度高,驱动部份的软件简单,但是耗电和功耗比较大。题目要求最高显示6位数码,对数码管而言硬件电路较复杂,还要显示万年历,因此数码管不适合完成此功能。
方案二:采用LCD12864液晶显示。12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。具有很好的人机界面。
方案三:采用LCD320*240液晶显示。该液晶屏具有更大的显示界面,可以实现多层次显示,更具人性化。
综合比较,考虑到需显示的量比较多,因此同时采用方案二和方案三。12864主要显示时间和时钟,320*240大屏显示重量价格、菜单等。
3.2.4A/D转换器由上面对传感器量程和精度的分析可知:A/D转换器误差应在15g以下,对于80kg的量程,只有14位的A/D转换器能够完成。
14位A/D精度:80kg/16384=4.89kg;
选用HX711,24 位 A/D 转换器芯片,显然可以完成任务。
四、系统硬件设计:4.1系统框架
STC89C51是一种低功耗、高性能CMOS 8位微控制器,具有4K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51在众多嵌入式控制应用系统中得到广泛应用。
主要功能列举 :
1、拥有灵巧的8位CPU和在系统可编程Flash
2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)
3、内部程序存储器(ROM)为 4KB
4、内部数据存储器(RAM)为 256字节
5、32 个可编程I/O 口线
6、8 个中断向量源
9、全双工UART串行通道
10、低功耗空闲和掉电模式
11、掉电后中断可唤醒
12、看门狗定时器
13、双数据指针
14、掉电标识符
外形如图8所示:
本系统采用平行梁称重传感器。实验电子秤、邮政电子秤、厨房电子秤等一般选用双孔悬臂平行梁应变式称重传感器。它的特点是: 精度高、易加工、结构简单紧凑、抗偏载能力强、固有频率高。外形如图5所示。
称重传感器主要由弹性体、电阻应变片电缆线组等组成,内部电路采用惠更斯电桥。当弹性体(弹性元件、敏感梁)在外力作用下产生弹性变形,是粘贴在他表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,他的阻值将发生变化(增大或减小)经相应的测量电路把这一电阻变化转换成电信号(电压或电流),再经放大电路将电信号传递给处理器。
电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。由电阻应变片和测量线路两部分组成,其主要参数如附录1所示。电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响可不考虑。
当贴有电阻应变片的弹性平衡梁受到载荷F作用时,电阻应变片R1和R3受到拉伸作用,阻值增加;R2和R4受到压缩作用,阻值减小,电桥失去平衡,产生的不平衡电压U的大小与所受作用力F成正比。电桥的输出电压反映了电阻应变片相应的受力状态。电桥电路如图6所示。
电桥电路是最常用的非电量电测电路中的一种,当电桥平衡时,桥路对臂电阻乘积相等,电桥输出为零,在桥臂四个电阻R1、R2、R3、R4 中,电阻的相对变化率分别为△R1/ R1、△R2/ R2、△R3/ R3、△R4/R4,当使用一个应变片时,有;当使用两个应变片时有
;用四个应变片组成2个差动对工作。有
,且R1=R2=R3=R4=R。当电桥后面接放大器时,放大器的输入阻抗都很高,比电桥的输出电阻大很多,因此可以把电桥输出端看成是开路。若电桥不平衡,即R1R3≠R2R4时,电桥输出:
平行梁式称重传感器使用时要按悬臂梁方式安装,具体安装方式可以参见图7。传感器的变形量是很微小的,在安装、使用过程中要特别注意,不要超载。如果在外力撤除后不能恢复原形状,发生塑性变形,则传感器就损坏了。传感器有四根线连接外电路,红线为电源正极输入,黑线为电源负极输入,白线为信号输出 1,蓝(或绿)线为信号输出 2。为保正精度,一般不要随意调整线长。
A/D转换的目的是进行模数转换,把接收的到的模拟信号转换成数字信号输出。题目要求称重数值位数为5位,因此对A/D转换器的精度要求很高。A/D转换器的位数确定与整个测量控制系统所需测量控制的范围和精度有关,系统精度涉及的环节很多,包括传感器的变换精度、信号预处理电路精度A/D转换器以及输出电路等。本系统采用HX711集成放大器及数模转换模块。电路图如附录1,实物图如附录2所示。
4.4.1简介HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。
4.4.2特点• 两路可选择差分输入
• 片内低噪声可编程放大器,可选增益为32,64和128
• 片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源
• 片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟
• 上电自动复位电路
• 简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程
• 可选择10Hz或80Hz的输出数据速率
• 同步抑制50Hz和60Hz的电源干扰
• 耗电量(含稳压电源电路):
典型工作电流:< 1.6mA, 断电电流:< 1µA
• 工作电压范围:2.6 ~ 5.5V
• 工作温度范围:-40 ~ +85℃
• 16 管脚的 SOP-16 封装
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。电路图如附录3。
液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。
4.6.2参数点阵式液晶显示模块(LCD)广泛应用于单片机控制系统,比数码管、段式液晶能模块显示更多、更直观的信息。12864LCD属于点阵图形液晶显示模块,不但能显示字符,还能显示汉字和图形,显示面积大,数字和汉字显示容易实现,程序要求不是很高,更加容易操作。点阵液晶显示模块集成度很高,一般都内置控制芯片、行驱动芯片和列驱动芯片。
本设计的软件设计采用的是C语言。C语言是一种高级程序设计语言,它提供了十分完备的规范化流程设计控制结构。因此,采用C语言设计单片机应用系统程序时,要尽可能的采用结构化的程序设计方法,这样可使整个应用系统结构清晰,易于调试和维护。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |