电子秤作为生活中最常见的测量仪器,被广泛应用于各种场所。随着日用设备自动化水平的快速发展,人们所用的电子秤也不断更新。但 是,市场上的电子秤大多存在功能单一,人机界面不友好,测量误差大等缺点。为此,本文以STM32单片机为控制基础,使用四片箔式应变片组成惠斯登 电桥与高精度集成转换芯片HX711相连接,设计一种可语音播报、连续测量、单价输入、总价计算、总价累计、校准清零、液晶显示、触摸输入以 及高精度的电子秤。
1.引言
物体质量的测量,价格的计算,价格的累计存在于生产生活的 各个方面。一种具有多种功能,人机界面友好,测量精度高的电子秤 可在很大程度上提高使用效率。
本文采用四片箔式应变片组成一个惠斯登电桥。运用集成芯片 HX711对称重传感器的模拟信号进行A/D转换,完成测量数据的采 集,后经单片机对数据处理完成高精度的测量,随后加上各种算法, 完成多种功能的计算;最后在配合液晶显示,触摸输人,语音播报等 完成友好的人机交互。
2.系统组成
根据设计的需求,硬件上需要有称重传感器,AD转换电路,单 片机最小系统,按键输人,显示输出,语音播报,以及电源模块,其组 成的系统框图如图1。
3.称重传感器的设计
3.1悬臂梁的设计
采用优质的铝合金材质(长,宽,高分别为:190mm,20mm, 3mm),铝合金具有塑造性强,硬度适中,弹性好等特点,常作为电阻 应变式称重传感器的悬臂梁。本次设计中对悬臂梁做了如下处理, 使其机械形变更加合理。
(1)在悬臂梁靠近支点(约1/3处),下表面开约1.5mm深的小槽。 使其产生的形变集中在一条线上,获得更好的线性应变。
⑵在支点的另外一端,中间处固定一根5cm,下端具有通孔的螺丝钉。好处在于可使测量物体的重心集中在一个点上,便于提高 精度。
3.2测量电路的设计
设计中采用惠斯登电桥中的四臂测量接线法,此接线法能对系 统进行包括温度,湿度等外界干扰因素的补偿。使系统不易受外界 因素的干扰,提高测量精度。
将R1和R4应变片粘贴于凹槽对应的上表面,R2和R3应变片粘 贴于下表面,这样就完成了称重传感器的设计。
4 .AD转换器的设计
通过惠斯登电路可以得到极其微小的电压差信号,一般情况下 我们需要再设计一个差分放大电路对信号进行放大,然后再用精度 很高的AD转换芯片进行转换,这样得到的数据才能被单片机所能 使用。而市场上有了一款针对电子秤开发的集成芯片HX711,由于 具有较高的精度,低廉的价格,故本次设计采用这款芯片。
HX711是一款专为高精度称重传感器而设计的24位A/D转换 器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内 时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、 响应速度快、抗干扰性强等优点。
将HX711的模块与惠斯登电桥、单片机连接;通过HX711,就可 以将惠斯登电路所测微弱形变信号转换成数字信号,传送给STM32 单片机进行数据处理。
5.单片机、液晶屏以及语音模块的设计
单片机采用的是STM32F407ZGT6为处理器,该芯片具有运行 速度快,高达168M。大容量,1M的Flash, 196KB的RAM,以及自带 FSMC接口。
电源模块的设计采用DC-DC转换芯片MP2359,该芯片具有宽 电压输人(6V-16V),稳压5V输出,电流可高达1A,这样就不会因为 LCD功耗较大而驱动不了。3.3V电压的得到采用AMS117-3.3三端 稳压芯片完成,这样电源就设计完成。
L⑶液晶屏模块采用的是ALIENTEK的4.3寸屏,控制器IC为 ILI9341,分辨率为480*800,16色真彩显示,自带触摸屏。
语音模块采用的是WT588D语音模块,设计中采用一线串口控 制模式。该模式下,只需使用一个I/O口向模块发送需要播报的语音 地址即可。为了便于编写程序代码,可把语音‘0’加载到模块的地址 0上,语音‘1’加载到地址1上,以此类推,最后语音‘点’加载到地址10 上,语音‘元’加载到地址11上,这样需要播报时,发送相应的地址就 可以了。
通过液晶触摸屏和语音模块就可以很好的完成人机交互界面的设计。
6.软件设计
6.1物体质量处理
通过HX711转换可以得到数字信号量,此时,就可以用单片机 获取数据。HX711模块的输出接口类似于IIC接口,只有时钟线和数 据线,按照该芯片的使用手册,就可以读出数据。
从HX711模块获取的数据并不能直接使用,它只是经24位AD 转换后的值。所以,需要处理,24位AD转换除去最高位的标志位,其 有效数据位只有23位。满量程为2A23次方,等于8388608。在测试中发 现低两位可作为无效位去除,其原因在于AD转换的精度过于高,在 不加砝码的时候低两位数值变化的厉害,因而将其舍去。最后可利 用的数据最大为83886。处理后的AD转换值也不是我们需要的物体 质量。因此,还需要对数据进行处理,利用每一克质量对应一个AD 转换值,可以把这种对应关系通过数学方法拟合成一个函数,这样 当测量物体质量时,就可以利用该函数求解出物体对应的质量。试 验中,通过对0-500克砝码的多次测试,拟合出的函数如式1。
WEIGHT=1945.5-0.0238*AD_Value ⑴
可以看出该函数为一条单调递减函数,通过该表达式就可以快 速求解出物体的质量。
为了满足多功能的需求以及减小系统自身的误差,需要设置扣 重,校准功能。其程序实现代码如式2。
REAL_WEIGHT=WEIGHT-XIAOZHENG-KOUZHONG
(2)
当需要校准时,把REAL?EIGHT赋值给XIAOZHENG即可 实现校准,当需要扣重时,把REAL?EIGHT赋值给KOUZHONG 即可实现扣重。
总价计算及总价累计计算,利用触摸屏输人的单价值即可计算 出当前物体的总计价格,当需要累加时,按下触摸屏上对应的按键 区域即可实现累计。
6.2人机交互界面的实现
LCD显示的最基本原理在于可以在指定的位置画一个点,利用 这种原理,可以先对需要显示的字符取模,再利用画点实现显示字 符。配合需要显示的颜色,最终就可以设计出所需要的界面。
根据表1描绘过温调节关断时间TOTR时间随温度变化曲线如 图6所示,从图6可见TOTR时间和高温时的温度基本成线性关系。
触摸按键的设计在于利用当用手指触碰到屏幕时,单片机会接 收到两个数据,分别为X轴的坐标值,Y轴的坐标值。根据触碰的点 在哪一个区域内就可以判断出是哪个按键被触发,进而实现按键输 人功能。
当需要语音模块播报时,把需要播报数字的每个位的数值解析 出来作为地址发送给语音模块,当解析出‘点’时,发送地址10,最后 再发送地址11,播报‘元'就完成了语音播报的功能。
7.测量结果及误差分析
根据拟合出的的函数可以将处理后的AD转换值代人方程中, 求解出物体的质量。测试中发现,在没有加砝码前,电子称重仪还是 有读数,这为系统误差,为此,需要在每次开机时按下‘校正’按键清 零。另一方面由于应变片产生的形变是非直线的,但是因为是采用 曲线拟合的方法得到函数关系,测量结果的误差是非常小的。因此, 产生的误差来源最主要的就是物体重心的偏移,测量时物体晃动。
8.结语
通过硬件与软件的结合,可以很好的完成本次设计。而所选用 的STM32单片机自带浮点数运算单元,可以大大提高小数运算能 力;LCD液晶屏的使用为人机交互界面提供了很好的显示效果,极 大方便了用户的使用。通过对不同质量砝码的多次测量,获取多组 数据,然后用MATLAB或EXCEL软件拟合出一个函数,这样能明显 提高测量的精度,减小测量误差。在测试中发现0-50克,测量误差稳 定在0.1%内,50-500克稳定在0.2%内,所以本设计实现了一种基于 STM32的多功能精密电子秤。