行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2017-06-12 02:03:18

多功能电子计价秤设计

时间:2017-06-12 02:03:18 来源:本站 点击数:744

随着电子技术的不断发展,目前市场上使用的传统的电子秤,已经不能满足人们的要 求。根据现有方案的不足,这里分析设计了一种多功能电子计价秤,能够对物品的重量进行称 量,计算出物品的价格,还可以实现去皮称量、累计总价,存储常用物品单价,算出找钱数额 的功能。同时,还可实时检测周围环境的温度。本设计以单片机MSP430F149为核心部件,外围 单元电路有称重模块HX711AD矩阵键盘、液晶屏LCD12864温度传感器DS18B20蜂鸣器以 及存储芯片AT24C16本系统功能丰富、操作简便、有良好的人机交互界面。

0.引言

由于传统的电子秤的功能简单,只可称量物品 的重量输入物品的单价,计算出物品的价格。因 ,为了丰富传统电子计价秤的功能,本设计在传统 的电子计价秤的基础上,增添了去皮称量功能、累计 功能、找钱功能、置零功能以及温度检测功能,极大 地满足了人们的各类需求。

1.总体设计方案

多功能电子计价秤m由称重模块、按键模块、 显示模块、温度检测模块、主控模块、存储模块和报 警模块组成。系统的整体设计框图如图1所示。矩 阵键盘由数字键09,小数点和功能选择键:清 除、累计、去皮、置零、找钱、储存、输入以及10个储 存常用物品单价的按键M1, M2M10构成。称 重模块由电阻应变式压力传感器、放大电路以及 AD转换模块组成。通过称重模块对物品的重量进 行称量,然后由单片机对称重模块的数据进行采集和处理并通过显示模块显示出来。按键模块用于 对物品单价的输入以及对系统功能的切换。存储模 块用于对常用物品的单价进行存储。温度检测模块 用于实时检测环境温度。报警模块用于在物品重量 大于15千克或者称重模块工作不正常的时候及时 报警。

固定1.jpg

2.硬件设计

2.1单片机模块

本设计采用单片机MSP430F149 12 , MSP430 列的单片机是一个16位单片机,采用了精简指令集 (RISC)结构,具有丰富的寻址方式7种源操作数 寻址、4种目的操作数寻址)、简洁的27条内核指令 以及大量的模拟指令;大量的寄存器以及片内数据 存储器都可参加多种运算;还有高效的查表处理指 令。这些特点保证了可编制出高效率的源程序。它 具有处理能力强、运算速度快、超低功耗等优点,且 MSP430片内资源丰富它们分别是看门狗定时器、 定时器A定时器B,具有捕获/比较功能,大量的捕 /比较寄存器,可用于事件计数、时序发生、PWM 等。另外,MSP430系列单片机的中断源较多,而且 可以任意嵌套,使用时灵活方便。图2为单片机及 外围电路的电路连接图。

固定2.jpg

2.2称重模块

本设计的称重模块由电阻应变式压力传感器和 HX711AD0模块组成,HX711AD模块是一款专为高 精度电子秤而设计的,集成了包括稳压电源、片内时 钟振荡器、AD转换电路等其它同类型芯片所需要的 外围电路,具有集成度高、响应速度快、抗干扰性强等 优点。降低了电子秤的整机成本,提高了整机的性能 和可靠性。HX711AD模块A通道带有128倍信号增 ,可以将电压放大128,然后采样输出24bit AD 转换后的值,单片机通过指定时序将24bh数据读出。 称重模块的电路连接图如图3所示。在3. 3V的供电 电压下20kg的传感器最大输出电压是:

固定3.jpg

3.3V x2mV/V =6.6mV 经过A通道将电压放大128倍后,其最大电压 变为经过AD转换模块后,输出的24bit数字值, 最大为:

422. 4mV x 224/4. 3V = 1648069 在程序中,最大采样值1648069存放为long型, 因此计算速率和存放空间占用资源太多,固将其除 100,缩放为int型,因此最大采样值变为16481

假设重力为4kg,测量出来的AD的值为y,则由电 阻应变式压力传感器输出发送给AD模块的电压为:

A kg x 6. 6mV /20kg = 0. 33AmV 经过A通道的128倍的放大后则变为:

128 x0.334 =42.24AmV 转换为24Wt的数字信号为:

42.24AmV x224/4.3V = 164807A 所以:

y =1648074/100 =1648.07A 因此得出:

A = y/1648. 07kg?y/2.15g 2.3存储模块

本系统选用芯片AT24C16 [4对数据进行存储。 它是一种电可擦除可编程只读存储器,即EEPROM (Electrically Erasable Programmable Read-Only Mem-ory) AT24C16低功耗,采用两线串行接口,支持双 向数据传输协议,可用电擦除可编程自定时写周 期。允许在一个写周期内同时对1个字节到一页的 若干字节的变成写入1页的大小取决于芯片内页 寄存器的大小,AT24C16b]具有16字节数据的页面 写能力。图4AT24C16的电路连接图。

固定4.jpg

2.4温度检测模块和报警模块

本设计选用DS18B20 作为温度检测模块,它提供9 ~12位摄氏温度测量而且由一个有高低电平 出发的可编程、不因电源消失而改变的报警功能。 DS18B20通过一个单线接口发送或接受信息因此 在中央处理器和DS18B20之间仅需要一条连接线。 它的在-10°C ~ +85°C的精度为±5°C

DS18B20可以在没有外部电源供电的情况下工 作。当总线处于高电平状态,DQ与上拉电阻连接 通过单总线对器件供电。同时处于高电平状态的总 线信号对内部电容充电,在总线处于低电平状态时, 该电容提供能量给器件。这种提供能量的形式被称 寄生电源。能即DS18B20除去了对外部电源 的需求。而且,DS18B20的高速暂存器提供了一个 直接的温度报警值寄存器TH,TL),和一个字节的 配置寄存器。TH,TL和配置寄存器是非易失性的 可擦除程序寄存器EEPROM),因此存储的数据在 器件掉电时不会消失。

本系统的报警模块选用的是有源蜂鸣器,其内 部有振汤、驱动电路。只需要加上直流电压即可工 ,使用简单、方便。

3.系统软件设计

此部分使用单片机MSP430F149实现。用IAR 编程软件及C语言编写程序。根据该系统的功能 设计要求,系统的程序主要包括称重模块程序, 温度检测模块程序,键盘扫描程序液晶显示程序, 掉电存储程序,数据计算程序和报警模块程序。此 处主要介绍存储模块程序、数据计算程序和按键模 块程序。

3.1存储模块程序设计

AT24Cxx系列EEPROM是由美国Mcrochip 司出品1 -512K位的支持I2C总线数据传送协议 的串行CMOS E2PROMI2C总线是PHLIPS公司推 出的一种串行总线,是具备多主机系统所需的包括 总线裁决和高低速器件同步功能的高性能串行总 线。AT24C16的写操作流程图如图5所示, AT24C16的读操作流程图如图6所示。

固定5.jpg

3.2数据处理程序设计 本设计在对金额进行运算的时候,采用大数乘 法算法中的循环算法。将待相乘的大数存入字符串 中,即单价和重量然后按位存入较大的数组,循环 按位相乘并累加。最后将进位分离并加到相邻高位 上。其具体程序如下:

void multiply (unsigned char* aunsigned char* b

unsigned char* c)

{

int i, j, cacb* s;

ca = 5; cb =4

s = ( int * ) malloc ( sizeof ( int ) * ( ca +

cb) ) ;

for (i =0;i i ++ ) s 0 =0; for (i =0; i

for (j =0; j < cbf j + + )

s [ + j + 1] + = (a [] - " O ") *

(b j] - W);

for (i = ca + cb - 1 ?;i > =0;i --)

if (s D > =10)

{

s i-1] + =s D /10;

s D % =10;

}

i = 0;

while ( s i] = = 0) i ++ ;

for ( j = 0; i < ca + cb; i + +  j + + ) c j] = s i] + 0; c j] =^O ; free( s) ;

}

3.3按键模块程序设计

按键模块采用5* 6的矩阵键盘,并采用按键扫 描的方式。先将第一行置为低电平,其它各线置为 高电平,然后查看列线,若列线均为高电平,则说明 没有按键被按下,若有某一列线为低电平,则说明有 按键被按下,且这个键位于第一行的该列;然后再将 第二行置为低电平,其它各线置为高电平,按照查找 第一行的方法依次查找下去。键盘的主要功能有: 对物品单价以及实付钱数进行输入对常用物品的 单价进行调用和存储切换输入、累计、置零、去皮、 找钱、储存等附加的功能。按键模块的程序流程图 如图7所示。

固定6.jpg

固定7.jpg

按键模块实现如下功能:

①数字按键和小数点:对单价以及实付金额进 行输入。

②输入键:按下输入键,在液晶显示屏第三行 “单价:”后,显示‘“>”,表示正在输入,当输入完毕后, 次按下输入键‘P”消失,表示物品单价输入成功。

③去皮键:测量物品的净重,即先放上盛物品的 器皿,然后再放上物品,测量值仅为物品的重量。

④累计键:累加不同单价物品的金额,计算出需 要付的总金额。

⑤置零键:在累计模式下按下置零键后液晶显 示屏上的金额和单价均清空为0,之前的累计金额 也清空为0。当在输入模式下按下置零键时,单价 清零,此时可重新输入单价,起到清除的作用。

⑥储存键以及M0 ~ M10键:用于存储10中常 用物品的单价,掉电后仍可保存,方便随时调用。

4.实验结果

8展示了整个系统装置多功能电子计价秤0由称重模块HX711AD按键模块、温度检测模 DS18B20显示模块LCD12864、主控模块 MSP430F149存储模块AT24C16和报警模块组成。

固定8.jpg

5.结束语

本设计介绍了一种基于单片机的多功能电子计 价秤。本文以温度检测模块、主控模块和测重模块 为基础的前提下,结合显示、按键模块、存储模块、报 警模块等功能,合理有效地丰富了传统计价器的功 能。DS18B20连接简单,响应速度快、抗干扰能力 强、性价比高。而且,通过按键对系统功能进行切换 并由LCD12864显示出来,更加人性化,提供了良好 的人机交互界面。