基于stm32的控温水壶的设计

(整期优先)网络出版时间:2023-05-05
/ 3

基于stm32的控温水壶的设计

韦传克

梧州学院  广西梧州  543002

摘要:本文设计了一款基于STM32单片机的控温水壶,该设计采用STM32单片机作为主控制器,用于获取温度信息进行处理,采用增量式PID控制水温,通过液晶屏显示预设温度和当前温度。用户可以利用按键或者蓝牙来完成温度范围的设置。当水已烧开或干烧时,蜂鸣器发出响声,提示用户。经实验测试,温度的控制误差在0.4%左右,恒温效果可以长时间保持,满足用户多样的饮水需求。

关键词:STM32;控温水壶;增量式PID

Design of a thermostat based on STM32

      WEI Chuan-ke

(Wuzhou University Guangxi 543002,China )

Abstract:This paper designs a temperature control kettle based on STM32 microcomputer, which uses STM32 microcomputer as the main controller to obtain temperature information for processing, adopts incremental PID to control water temperature, and displays the preset temperature and current temperature through the LCD screen. The user can set the temperature range using the button or Bluetooth. When the water has boiled or dried up, the buzzer sounds to alert the user. After experimental tests, the temperature control error is about 0.4%, and the constant temperature effect can be maintained for a long time to meet the perse drinking water needs of users.

Keywords: STM32;temperature control kettle; incremental PID

0引言

近年来,随着生活水平的提高和科学技术的不断发展,电热水壶进入了每家每户,成为了我们生活中随处可见的家用电器。它是人类实际需求的社会产物,也是依靠单片机控制的智能产品[1]。尤其是今年疫情发生以来,由于小区封闭式管理等疫情防控措施的影响,居民对小家电的需求更为强烈[2]。传统的电热水壶,采用双金属片作为感温器件。水加热接近或者达到沸点时,双金属片受热变形,断开开关,达到控温的效果[3]。这种控温的方式虽然能够达到控温的效果,但是对于温度的控制不稳定,无法满足人们的特定需求。针对以上问题,设计了一种以STM32为核心的电热水壶。相比传统的水壶,该电热水壶通过增量式PID算法来进行控制水温,使得温度的变化幅度在0.1℃以内。PID控制是最早发展起来的控制策略之一[4], 其结构简单、鲁棒性好、可靠性高, 被广泛应用于工业控制过程, 尤其是能够建立精确数学模型的确定性控制系统[5]。水壶液晶屏显示的水温给人们提供了一种直观的方式来判断此时的热水是否可以饮用。该水壶还可以通过蓝牙来远程控制水壶烧水,以及报警警示功能。相比传统的单一加热的电热水壶来说,设计电路更加简单、电路体积小、功能更加完善[6]

1设计原理

1.1温度控制的基本原理

本次设计采用的是STM32单片机作为控制核心,DS18b20作为温度检测器件,热得快作为加热装置。DS18b20的探头需靠近热得快,避免因水温不均衡而导致测量误差过大。温度传感器测量到温度后将模拟信号发送给单片机,单片机处理后得出温度值并通过LCD屏显示出来。在对水温进行恒温控制中引入增量式PID算法来保证恒温的稳定性。增量式PID控制是一种递推式的算法,上一时刻与当前时刻的控制量做差,其差值作为新的控制量。在本次设计中单片机接收到DS18b20传回来的水温后,计算出与预设温度之间的误差。再计算前面两次的误差,将三个差值与比例系数、积分时间和微分时间一起套入PID算法中,得到PID的值,与上次的输出值累加得到本次的输出值。最后将上次的输出值替换为本次的输出值,当前的水温误差也将替换上次的水温误差,继续进行下一次的PID控制。输出值将作为PWM的占空比来控制热得快,进而控制水温。

2硬件控制电路设计

2.1系统方案设计

控温水壶能够实现对水壶内水温信息的检测,如果水温加热到

100度、水壶处于干烧状态或者水壶应故障加热到100度时,水壶自动断电并发出警报声。

用户可以通过手机app与蓝牙进行通信,远程控制水壶的开关以及实时了解水壶的工作状态、加热情况等等。该系统以STM32F104为控制核心,由蓝牙通信电路、温度检测电路、加热电路、OLED显示电路、蜂鸣器报警电路等组成。系统总体结构如图1所示。

1系统总体结构图

2.2 蓝牙通信模块

控温水壶控制系统中,用户可以通过手机app与控温水壶控制系统通过蓝牙建立通信,在app界面可以控制水壶开启与关闭、查看水温以及预设加热热水的温度等。本模块我们使用的是蓝牙的通信范围在10m左右,满足普通用户的需要。

2.3 温度检测模块

   控温水壶控制系统中,温度传感器DS18b20实时运行检测水壶内的水温数据,只用一个端口与外界进行数据交换[7],提高了系统的抗干扰性。该系统中使用的是探头防水型的温度传感器,可用3-5v供电,具有较高的密封性、灵敏性,温度延迟程度低。

2.4 加热模块

   控温水壶控制系统中,通过单片机IO口来控制继电器通断,使得热得快接入电路,开始给水壶加热。继电器是利用电磁铁来进行工作电路的通断,当信号触发端有高电平触发时,继电器的公共端与常开端接通,让热得快工作。

2.5 液晶显示模块

   控温水壶控制系统中,液晶显示模块用的是2.8寸的TFTLCD电阻式显示屏。显示屏上显示水温、水壶的工作状态,LCD显示屏显示1,表示烧水状态,当水温达到预设温度时,LCD显示屏显示0,表示停止加热状态。

3软件设计

控温水壶控制系统程序设计主要实现控制加热装置,检测和显示水温,蓝牙和手机之间通信,以及当水温超过设定值时进行报警。其工作工程如下:当设备上电后,LCD显示屏一级界面显示定时加热、温度区间加热、恒温、烧开四种工作模式,用户可通过按键选择其中一种模式工作。

当用户选择了定时加热工作模式,显示屏进入二级界面,界面第一行显示当前的温度,第二行提示“请设置加热时间”,第三行对加热时间进行设置,当加热时间变为0时最后一行提示“加热完成”。

当用户选择了温度区间加热模式,显示屏进入二级界面,界面第一行显示当前的温度,第二行显示上限温度,第三行显示下限温度,按键可以对LCD屏显示的上限温度和下限温度进行设置。

当用户选择了恒温模式,显示屏进入二级界面,界面第一行显示当前的温度,第二行显示恒温温度,恒温温度可以通过按键来进行设置。水温通过增量式PID来进行调节,使水温保持在设定温度上下0.1℃以内。

当用户选择了烧开模式,显示屏进入二级界面,界面第一行显示当前的温度,第二行显示目标温度,可以通过按键来调节目标温度的大小。

在选择以上四种模式并设置温度后,按下加热按键,STM32单片机的PB11引脚发出高电平。继电器的信号触发端接收到高电平信号后,继电器内的衔铁吸合,加热装置开始工作。DS18b20放入水中,水温的变化会实时通过数据线发送给单片机STM32单片机,单片机处理后得到温度值,LCD显示屏会将其显示出来。当水温超过了预设的温度,单片机发出信号,继电器接收到信号后,继电器断开,加热装置停止工作。如果工作模式处于恒温模式或者温度区间加热模式时,水温达到预设温度后,热得快会保持一定温度值或者一定温度区间内继续工作。然后引入增量式PID来进行温度控制,使得温度控制更精准。除了按键设置温度外,该设计还增加了蓝牙模块。用户可以通过蓝牙通信来远程操作水壶工作。设计流程如图2所示.

2系统软件总体流程图

4结论

通过该系统对水温进行测试。测试时要保证测试环境的明亮。下表为测试结果,温度传感器DS18b20对水温进行采集,利用采集到的水温对加热装置进行控制。现对DS18b20采集到的水温进行温度测试和温度控制测试。

4.1温度测试实验

在同一个水位、同一水壶的条件下,针对五种不同标准的温度,用电子温度计分别采集五次温度,测试水壶测温的准确性。测温的实验数据如表1所示(单位℃)

1温度测试误差表

标准温度值

第一次测试

第二次测试

第三次测试

第四次测试

第五次测试

均值

90

90.6

90.4

89.8

89.8

89.6

90.04

80

80.4

80.0

79.9

79.7

79.6

79.92

70

70.4

70.3

70.3

70.0

69.8

70.16

50

50.2

50.4

49.9

50.0

49.8

50.06

30

30.4

30.1

29.7

29.8

29.8

29.96

从表1的结果分析可以得出:不同温度下的误差在1℃以内,平均最大误差为0.16℃。

4.2温度控制实验

在同一个水位、同一水壶的条件下,预设四种不同标准的温度,用电子温度计分别采集五次温度,测试水壶控温的准确性。控温的实验数据如表2所示(单位℃)

2温度控制误差表

设定温度值

第一次测试

第二次测试

第三次测试

第四次测试

第五次测试

均值

60

61.0

60.2

60.5

59.9

59.6

60.24

50

50.3

50.3

50.2

49.8

49.5

50.02

40

40.2

40.5

40.1

39.6

39.2

39.92

30

30.3

30.4

29.8

29.5

29.6

29.96

从表2的结果分析可以得到出:实验中控温误差最大在1℃,平均最大误差为0.24℃。

4.3分析总结

从以上两张实验数据表格来看,本设计的预设温度与实际温度基本一致,控制温度也较为准确,达到了设计的要求。但温度测量和温度控制之间存在一定的误差。误差分析:(1)在同一条件下多次测量,实际实际水温会有一定程度的下滑。(2)室温也是影响温度的因素,随着时间的改变,水温会慢慢变得和室温一样高。(3)测量时使用的器具不能保证水温完全均衡,传感器摆放的位置离加热装置越近,温度测量和温度控制的准确性越高。

通过分析以上两个表格,发现温度测量和温度控制的准确性有略微的误差,但是这些误差都是可以接受的,整体上的效果还是比较理想的。所以该控温水壶能够满足功能要求,完成了整体的设计。

参考文献

[1]甘力驰,陈文龙,张宇航,马祎炜.STM32结合物联网控制的智能热水壶研究[J].电子测试,2021,(18):5-7.

[2]龚巧敏,邵媛媛.以用户需求为中心的小家电设计探究——以“壶趣”仿生电水壶设计为例[J].轻工科技,2021,37(01):101-103.

[3]郑慧珍.基于单片机的全自动电热水壶的设计[J].长春大学学报,2021,31(04):22-26

[4]赵修平,王天辉,林琨山,宋汉强.导弹发射装置伺服系统模糊PID控制研究[J].现代防御技术,2012,40(03):63-66+119.

[5]聂茹.基于PID的电热水壶温度系统的设计与实现[J].电子设计工程,2014,22(21):45-47+51.

[6]俞梁英,罗永松,戴明,孙静.智能数显防干烧电热水壶控制系统设计[J].电子测试,2020,(20):14-16.

[7]高忠义,雷春芳.基于DS18B20的温度控制器[J].电子制作,2020,(02):40-41+89.