STM32 结合物联网控制的智能热水壶研究

2021-10-23 13:16甘力驰陈文龙张宇航马祎炜
电子测试 2021年18期
关键词:水壶单片机芯片

甘力驰,陈文龙,张宇航,马祎炜

(东南大学成贤学院电子系,江苏南京,210000)

1 绪论

1.1 研究背景

近几年来,随着单片机技术的不断发展创新,我国对单片机的应用研究也逐渐朝着深入化方向发展,传统的控制检测则处于快速更新的状态。单片机作为自动化控制系统中的核心部件,往往起着至关重要的作用,它需要实时进行检测。想要实现智能化,就必须要求结合软件改进控制系统的结构,使之能够代替更为复杂的数字电路或电子电路。在日常生活中,也能看到单片机的广泛使用,例如:通信设备、家用电器、导航仪等等。单片机在工业生产的运用中,能够让产品达到“升级换代”的效果,也就是“智能化”的普及。

热水壶也是我们日常生活中随处可见的家用电器,它是人类实际需求的社会产物,也是依靠单片机控制的智能产品。随着科技的不断发展,人们的生活水平也不断提高。近些年来,很多智能设备处在不断更新的阶段,智能手机、智能手表、智能电水壶走进百姓的生活中。因为其自身的安全性能,使得智能电水壶也在生活中运用广泛。

1.2 研究目的及意义

目前市面上很多热水壶的功能非常单一、不够完善,因此再普通烧水的基础上利用所学到的单片机知识增添一些更为实用性的功能,例如:设置温度加热、蜂鸣提示、显示温度等功能,让产品更加贴近生活,方便使用。

随着社会的发展速度越来越快,很多智能产品如雨后春笋般出现,比如平板电脑、数码照相机等一系列智能产品,让人们的生活产生了极大的改变。本次设计就是探究智能新产品的工作原理,基于单片机和物联网设计出热水壶,设计过程中我将综合运用所学到的知识,同时对电子产业的发展前景有初步认知。在设计调试过程中我的开发能力也得到了锻炼,培养了我分析计算的能力、整体观和方案设计的能力。

2 硬件模块

2.1 处理器STM32

为了便于实现通信功能和以后升级的需要,本设计选用了32 位嵌入式单片机STM32,为STM32F103。该单片机是意法半导体公司推出的一款超低功耗32 位微处理器,工作频率高达72MHz。片内具有20KB 的SRAM 和64KB 的FLASH,以及众多的增强I/O 接口。所有外设可通过两条APB 总线相连,且都可匹配标准的通信接口。

2.2 通信模块

GSM 模块选用西门子的TC35,TC35 秉承了西门子一贯的优秀品质,它易于集成,使用它可以在较短的时间内花费较少的成本开发出新颖的产品。TC35 是西门子公司的一款双频900/1800MHZ 高度集成的GSM 模块。包括三种速率:半速(ETS06.20)、全速(ETS06.10)和增强型全速,可工作于通话模式、空闲模式和省电模式。同时,该模块支持232/TTL 电平的串口连接,可通过USB 转232 模块或USB 转TTL 模块连接电脑,应用方便。

通过手机短信息实现远程控制,STM32 通过GSM 模块接收短信数据,然后进行数据的识别、处理,并照接收到的信息完成相应的控制功能。手机向本系统发送“开”可以接通继电器使加热器工作;发送“关”可以切断继电器停止加热。同时,本系统会 定时向手机发送当前温度及其它工作状态。

2.3 温度检测与控制模块

温度检测采用防水式数字式温度传感器DS18B20,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。温度范围-55℃~+125℃,在-10~+85℃时精度为±0.5 ℃,为提高温度检测的精度,采用两个DS18B20 检测两点的温度。两个DS18B20 并联在唯一的三线上,实现方便。DS18B20 可以采用外部电源,也可用内部寄生电源,为提高可靠性采用外部电源供电,同时,数据线通过10K 上拉电阻以提供足够能量。

2.4 显示模块

信息的显示采用LCD 液晶屏,具体型号为LCD12864。LCD12864 是带中文字库的具有4 位/8 位并行、2 线或3 线串行多种接口方式,可以显示8×4 行的16×16 点阵汉字,也可完成图形显示。可以根据需要实时显示温度、时间、日期或其它信息。

2.5 压力传感模块

压力传感检测模块采用压力传感器HX711,HX711 是一款24 位A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。

2.6 软件设计

智能电热水器控制系统软件采用C 语言编写,采用模块化程序设计。系统的工作流程为:启动系统后进行初始化,对各项参数进行检测,若温度超限或低于下限则报警并自动断电,同时将报警信息发送到手机;若水量低于一定限额,通过stm32 驱动加水装置供水。系统根据收到的短信或键盘输入的相应指令完成对应的控制功能。系统主程序流程图如图1 示。

图1 主程序流程图

3 软件模块电路设计

3.1 设计总体思路

本设计采用的是STM32 单片机的系统固件,主要开发环境基于keiluVision5,使用C 语言进行程序的编写,程序所需要满足的要求有三点。其一是一般热水壶所具有的烧开水功能。其二是在指定温度下,加热冷水的过程。切换模式完成以后,按下加减按键就可以调节需要设定的温度,水温一旦到达指定的温度后,热水壶就会自动断电。其三是LM016L 液晶显示屏上显示的温度就是及时温度,要学会调节工作模式。

3.2 烧开水功能的设计特点

由于不同地域之间存在气压的差异,所以当温度达到100 摄氏度时,水不一定能够烧开,甚至在一些海拔较高的地区,水温无法加热到100 度。所以本次设计中注重周期性采样温度的方式,注重温度控制模块的探索研究,每隔10 秒系统会自动保存一次温度值。通过每次的采样对比可以寻找到水温的最大值,如果没有更大的水温值出现,可以等水达到沸点之后,温度持续稳定3 分钟以后,一旦水温此时超过80 摄氏度,说明此时的水已经烧开,随后电热水壶可以自动切断电源。程序中的执行采用定时器进行中断,在一定程度上也提高了系统的响应速度。

3.3 控制程序的工作流程

根据设计出来的思路和目标功能的确定,设计出了软件主要的工作流程。控制程序工作的流程如下:

开始进入烧开水模式和加热冷水模式;第二部读取DS18B20 的温度;周期采样温度值找到温度的最大值判断是否烧开,达到最大值后保持3min不变,并且最大值超过80摄氏度,则水烧开,达到限定温度后蜂鸣器报警自动断电,加热结束。

4 系统测试

4.1 硬件部分的测试

在完成设计过程中,首先需要在Protel AItium Designer Summer 软件上绘制出相关的原理图,完成PCB 的设计之后,交由电路板制版工厂完成主控电路班的制作过程,还需要完成元器件的焊接与测试部分。在进行焊接的过程中,需要保持着严谨认真的工作态度,先后需要焊好主控芯片、还有其他元器件的焊接,当焊接工作结束后对照原理图检测电路的具体情况,如果发生短路或者虚焊的现象,需要及时进行修正和调整工作。当一切结束后,下载程序检测主控核心板是否能够正常运作,如果主控核心板可以达到预期的工作质量,就可以用为本系统的主控部件。

在热水壶中盛满大约100 毫升的冷水,将其放置在涂满了导热胶的加热板上进行加热,DSI18B20 温度传感器的探头可以在水中实时监测温度的变化状况,程序下载到主控板上接通电源后,选择模式1 进入烧水状态,并且将观察结果记录如下:重复测试烧开水是温度和所用时间5 次,结果如表1 所示。

表1 结果表

接着重新在水壶内盛满大约100 毫升的冷水,将烧开水前的准备步骤重复操作一遍,接着连接电源,选择模式2,初始温度达到26.51 摄氏度,通过温度加减调节按键设定温度为50 度,等待5 分后达到设定温度以后,蜂蜜器会发出警报声,此时就可以断电了。

重复测试50 摄氏度时实际的断电温度和所用时间各5次,得到的结果如表2 所示。

表2 结果表

在整个测试的过程中,也存在一定的误差。例如温度检测环节引起的数据误差,但是这个误差结果是可以接受的范围以内产生的,由于DS18B20 本身设定的系统误差,所以在温度环境不稳定因素的影响下会造成一定误差。继电器也会引起误差现象产生,随着继电器对电热管的不断加热,会引发水温升高,所以交流的负载增加干扰信号也在意料之中。还有一点就是由于电压波动所造成的误差也会对实验造成影响。

4.2 软件部分的测试

本次设计主要使用的是C 语言进行编程设计,软件能够兼容单片机C 语言的软件开发系统,在进行编程的过程中发现出错的地方能够清楚标记,这也方便了开发者后续调整改进工作的进行。在完成编程的基础上,整个调试的工作还包括了工程方面的建立、函数的调用,需要分模块着重检查文件是否正确,再根据设计的要求检查初始化程序,进一步优化程序的结构。最终经历反复测试以后,系统得以正常运转,各功能得到了良好的实现。

4.3 分析结果

本设计经过对系统的软件部分、硬件部分的反复测试,在两种不同的功能模式下,系统各模块之间也可以实现正常工作。总体而言,这些功能的最终实现可以满足设计题目上的要求,外形设计上也提高了灵活性与安全性,具有操作简单、方便实用的特点。设计所产生的成本并不高昂,能够进行工业化生产,投入到日常生活中去从现实角度出发,我认为本次设计具有很强的实用意义。

本次设计最终实现了单片机对电热水壶的操控。在整个系统中最关键、核心的电路便是单片机的控制电路,该电路能够实现信号的输入与输出之间的转换。其次重要的电路是加热控制电路与温度检测,该电路可以准确完成温度信号的采样和对具体温度的控制,最终通过A/D 转换电路将信号传送到由单片机控制的电路中去。最后还要设计程序以此来实现各功能的安全进行,满足人们的日常需求。

通过这次创造性的设计,让我更加懂得努力学习、认真设计的重要性。从搜集资料、整理文献到方案的分析与确定,这中间的过程让我学到了很多关于制作与编写的操作技能,受益匪浅。我还掌握了很多关于单片机的硬件结构知识,摸索中设计出硬件电路,将其通过编程的方式让部分硬件的功能能够实现,书本上的知识也被我用到了实践中去。原本我并不是很熟悉电路板和程序编写的任务,但是这次单片机的相关编程和焊接电路板的学习经历,丰富了我的动手经验,我也明白了自学的重要性。由于条件有限、时间紧迫,在以后发展中还需要进行总体调试,对系统做出进一步的改进。

本次设计的硬件模块电路部分并不困难,绝大多数的热水壶功能都是依靠软件程序得以实现。在研究学习过程中也遇到很多挫败和难题无法解决,所幸身边同学告诉了我关于代码优化的技巧,帮助我的内容得以更加完善,也为我日后的工作学习打下了不错的基础。

猜你喜欢
水壶单片机芯片
芯片会议
关于射频前端芯片研发与管理模式的思考
借水壶
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
变成洒水壶的男孩
多通道采样芯片ADS8556在光伏并网中的应用
Microchip推出两个全新PIC单片机系列
带水壶的拉氏瓜子金