首页 > 范文大全 > 正文

具有饮水量监测的恒温水杯垫设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇具有饮水量监测的恒温水杯垫设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:随着经济的快速发展,人们忙于工作和学习而经常忘记喝水或喝不到温度适宜的水,文章设计的智能杯垫将解决这一问题,本设计采用Atmega328作为核心控制芯片,通过陶瓷加热片对杯底进行加热,通过LM35温度传感器采集水杯温度,内置重量采集模块,通过一块彩屏显示时间、温度和饮水量,还能通过PID算法进行智能控温。目前在市场上杯垫并没有出现加热和水量测量相结合的智能杯垫。

关键词:Atmega328;杯垫;PID

引言

水是生命必须的元素之一,人体每天需要补充2升左右的水,每天补充足够的水分是维持生命体新陈代谢的重要一环。喝水的温度也直接影响了胃肠的健康,晨起喝水,水温与室温相同对肠胃最佳,天冷时喝温开水,可以减少对胃肠的刺激。但是目前很多上班族或白领,每天的饮水量不足,喝水时的水温也不适宜肠胃,长此以往,对身体健康影响很大,造成一些身体疾病。

在目前市场上,普遍的智能杯垫监控饮水量的功能,只能监测用户的饮水量,但无法保证饮水时的水温。本设计在智能杯垫的基础上增加了加热功能,很好地解决了饮水时水温不适宜的问题,同时也让用户养成将水杯放回杯垫的习惯,以监测用户饮水量。

1 硬件电路设计

1.1 系统硬件总体结构

本设计的硬件部分按功能可以分为单片机主控模块、按键输入、时钟模块、显示模块、报警模块、温度采集、温度控制、称重模块等几个部分。硬件总体结构框图如图1所示,智能杯垫以单片机为控制核心,并辅助以各种功能模块,其中,温度由LM35温度传感器采集,采集到的温度会通过液晶屏显示出来。用户饮水量监测由两个全桥称重传感器进行检测,该传感器将重量信号转成微弱的电压信号,再通过24位的A/D转换器HX711转换成数字信号,控制器会对该数字信号进行滤波,并计算出水的体积,最终将饮水量情况通过控制面板上的液晶显示器显示出来。整个系统还包括DS3231时钟芯片、按键和报警电路,用于监控每段时间的饮水量情况进而提醒用户。

1.2 温度传感器

温度传感器的种类比较繁杂,目前,常见高精度温度传感器有LM35和DS18B20。LM35系列是精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。灵敏度为10.0mV/℃,精度在0.4℃至0.8℃(-55℃至+150℃温度范围内),重复性好,低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源和正负电源工作。而DS18B20具有微型化,低功耗,高性能,抗干扰能力强,易配微处理器等优点,可直接将温度转化成数字信号处理器处理。测量的温度范围是-55~125℃,测温误差0.5℃。考虑到DS18B20温度转换时间过长,影响对陶瓷加热片升温调整,最终我们采用LM35作为温度传感器。

1.3 称重模块

本设计考虑到称重的精确度,采用了HX711数模转换芯片,这是一款专为高精度24位A/D转换器芯片,与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的电路,具有集成度高、响应速度快、抗干扰性强等优点。HX711配合压电片和形变传感器实现了水杯重量的采集。硬件电路连接如图2所示。

1.4 时钟模块

本设计采用了DS3231作为时钟芯片,DS3231是低成本、高精度I2C实时时钟(RTC)。该器件连接了一颗纽扣电池,即使杯垫断开主电源,仍可保持长时间的精确计时。DS3231中集成的晶振能提供高精度的脉冲,保障时间的精确性。

时钟芯片能保存秒、分、时、星期、日期、月和年信息。少于31天的月份,将自动调整月末的日期,包括了对闰年的修正。时钟的工作格式可以由用户选择24小时或带AM/PM指示的12小时格式,芯片通过I2C与单片机通信。

2 软件功能设计

2.1 主程序模块

杯垫上电后首先会对系统进行初始化,然后循环运行彩屏显示、按键扫描、时钟读取、重量采集、计算用户饮水量、饮水提醒和重置看门狗定时器等功能。本系统拥有一个简单的用户界面,便于用户对产品进行操作。该界面功能包括时钟显示、菜单选择和操作、加热温度设置、饮水情况查看、设置提醒等等。

2.2 PID温度控制

由于陶瓷加热的稳定性较差,温度曲线不够平滑,在整个加热过程中,受到外界各种不确定干扰的因素较多,因此必须对水温的变化趋势作出预测,并且根据需要及时反方向抑制,以防止出现较大的超调量的波动。

在PID控制中,积分环节(I)具有很强的滞后效应,而微分环节(D)具有预见性,所以该方案最终采用PD算法,能够很好的控制超调,并且稳态误差也很小。本套系统将LM35温度传感器采集铝板的温度作为当前输入,与设定值比较进而得到偏差值,然后运用PID运算公式编写出软件算法后,得到fout的值决定是否加热,加热时间是多少,进而控制陶瓷加热片。

2.3 数字滤波

在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是,在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,需要进行滤波。本系统主要存在误差在按键和AD采集方面。

为了解决按键方面的机械误差,我们使用定时器中断多次扫描判断按键状态,进而确定按键是否按下,以防止按键误按。在AD采集方面,我们采用算术平均滤波算法来去除随机误差,该算法对信号进行N次采集后,算出N次采集的总和,并减去N次采集中最大值和最小值,最后求出平均AD采集值作为最终采集信号,以减少误差干扰。

2.4 水量监测

用户饮水的监测是计算水杯的重量变化得到的,由于水的密度是相对不变的,因此,通过计算水杯重量的变化,就可以计算出用户饮水的体积。通过采用校准后的重量与设定重量的比较,来判断用户是否处于在喝水状态,从而计算出本次用户的饮水量。另外,由于压力传感器形变恢复较为缓慢,因此,我们最终采用多次滞回比较算法得出用户饮水量。滞回比较既能解决压力传感器形变恢复时间影响,又能过滤去一些采集误差和减少一些不确定因素进而对饮水量数据干扰。

3 结束语

本设计实现了水温控制和水量监测功能的结合,很好地解决了上班族饮水不足和饮水温度不适的问题。

参考文献

[1]胡寿松.自动控制原理(第五版)[M].北京:科学出版社,2007.

[2]李英顺,伦淑娴.模糊PID温度测控仪[J].仪表技术与传感器,2003,01.

[3]叶金晶,周健,等.基于Arduino的PM2.5和温湿度实时检测器设计[J].传感器与微系统,2016,08.