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