摘 要

在日益忙碌的现代,时间成本变得越来越高昂,人们时常因为工作忙的不可开交, 人们时常为了工作效率而废寝忘食,烧水往往需要很长的时间,由于人们很注重效率, 所以这段时间对于他们非常的宝贵,所以减少烧水的步骤和时间有着很大的意义,设计
一个可以远程烧水的智能水壶可以大大方便我们的生活。
本论文说明了如何通过直流电动机,esp32wifi 模块,控制基于 stm32 的智能水壶的 进水和出水,从而能够实现其通过抢占式分配任务的方式进行烧水接水的功能,使其控 制稳定、资源利用充分、执行周期短、代码效率快,完成对系统的各个任务,红外接收 发送装置用于触发智能水壶的外部中断,从而控制电机的旋转,水壶的加热,通过对水 温的实时监测,从而实现通过触发外部中断来暂停加热,同时外部中断触发主程序的蜂
鸣器响应来发出声音提醒用户,加热完成三秒钟后停止出声音。
本论文中,芯片选用 stm32f103zet6,系统选用 Freertos 进行多任务的抢占式实时管 理,设计了有火牛接口的电源模块、可以驱动直流电动机的驱动模块、用遥控器发出红 外的红外模块,红外线的接收模块、基于 ds18b20 的水温监测模块。其中,系统的编写 和各个 io 口函数的代码以及中断程序的巧妙利用以及库函数的开发是本论文的主体,这 个设计使用Keil uVision5 来进行对源文件和头文件的撰写,然后利用ISP 软件通过ch340
进行usb 转串口进行源文件和头文件的下载。

关键词:红外接收;实时监测水温;中断;Keil uVision5;stm32

Design and implementation of STM32 smart kettle

Abstract

In the increasingly busy modern times, the cost of time is becoming more and more expensive, people are often busy because of work, people often forget to sleep and eat for work efficiency, boiling water often takes a long time, because people pay attention to efficiency, so this time is very valuable to them, so reducing the steps and time of boiling water has great significance, designing a smart kettle that can boil water remotely can
greatly facilitate our lives.
This paper explains how to control the inlet and outlet of the smart kettle based on STM32 through the DC motor, ESP32wifi module, so as to realize its function of boiling water and water connection by preemptive allocation of tasks, so that its control is stable, resource utilization is sufficient, the execution cycle is short, the code efficiency is fast, and the various tasks of the system are completed, and the infrared receiving and transmitting device is used to trigger the external interruption of the smart kettle, thereby controlling the rotation of the motor, the heating of the kettle, through real-time monitoring of the water temperature, This enables the heating to be paused by triggering an external interrupt, while the external interrupt triggers the buzzer response of the main program to emit an audible reminder to the user, and the sound stops after three
seconds of heating.
In this paper, the chip uses stm32f103zet6, the system uses Freertos for preemptive real-time management of multi-tasking, and the power module with fire bull interface, the drive module that can drive DC motors, the infrared module that emits infrared with remote control, the infrared receiving module, and the water temperature monitoring module based on DS18B20 are designed. Among them, the writing of the system and the code of each IO port function and the clever use of interrupt programs and the development of library functions are the main body of this paper, this design uses Keil
uVision5 to write source files and header files, and then uses ISP software to download

source files and header files through ch340 USB to serial port.

Keywords: infrared reception; Real-time monitoring of water temperature;
Interrupt; Keil uVision5;stm

目 录

摘 要 I
Abstract II
1 绪论 1
1.1 本毕业设计目的 1
1.2 本毕业设计意义 2
1.3 本毕业设计国内外研究现状 2
1.4 本毕业设计研究内容 3
2 系统总体设计 4
2.1 硬件系统 5
3 硬件部分 6
3.1 Esp32 6
3.2 Freertos 6
3.3 阐述时钟系统的工作原理 6
3.4 阐述 pwm 的基本原理 7
3.5 阐述中断模块的工作原理 7
3.6 阐述 ds18b20 模块工作原理 7
3.7 阐述蜂鸣器模块工作原理 7
3.8 阐述 USART 工作原理 8
3.9 阐述红外接收模块工作原理 8
3.10 继电器的工作原理 9
3.11 阐述智能水壶遇到的关键问题 9
4 软件系统设计 11
4.1 ds18b20 的数据读取 12
4.2 红外接收器 13
4.3 Esp32 的数据收发 14
4.4 I/O 口的定义及解释 16
结论 17

参考文献 18
附录 19
致谢 20

1 绪论

从詹姆士·哈格里夫斯到爱迪生,再从特斯拉到爱因斯坦,在无数伟人的前 仆后继下,我们是生活从只有火照明,一到夜晚就乌漆墨黑,到现在的一到晚上 就灯火通明,无数的科技成果通过电作为主体便利了我们的生活,提高了我们的 生活效率,生活水平,单片机的出现大大方便了我们的生活,只要是有机器的地 方就有单片机,单片机可以大大减少人力的使用,因此有很大的市场、通过对继 电器,时钟的使用,我们开发出各种各样的功能,尤其是时间管理,单片机方面
的市场前景非常可观。
在这个电子产品繁多的时代,万物互联互通,各个电子产品之间相互配合往 往能够达到意想不到的效果,在经济学中有一个名词叫机会成本,团队中人们往 往从事熟练度最高的工作团队整体的收益最高,通过wifi 将智能水壶和手机连
接到一个局域网,通过手机对智能水壶进行控制将是一个很好的设计[1]。

1.1 本毕业设计目的

21 世纪以来,随着我国社会生产力及半导体行业的快速发展,各行各业都 凭借这一发展进行了大量的改造和变革,旨在借助其顺应时代的潮流,应势搭乘 上生产力及半导体发展的“顺风车 ”,很显然,中国经济在过去四十多年里取得 了令人惊叹的奇迹。除了原有的电子产业外,还涌现出了一批新兴电子产业,这 一方面得益于我国电力产业十分迅速的发展,得益于全世界制造中心向中国转 移,这些都大大刺激了我国的电子设备的制造生产,这已成为不争的事实,现在, 中国比以往任何时候都更有信心,也能更有能力。创新、活力和国际合作将在中 国未来的经济复苏中发挥非常关键的作用,并帮助中国在推动全球繁荣与和平方 面发挥更加重要的作用,互联网改变了我们的生活,物联网将万物互联,数字化 意味着将有更高层次的效率,而电气化是实现去碳的唯一方法,数字化与电气化 的结合等于可持续化的未来。绿色转型将是一场全面系统深刻的经济社会结构转 型,任何国家都要主动去适应和把握绿色转型的机遇,我们虽然已经很强大富强, 但是我们不能掉以轻心,取长补短相得益彰是我们科技进步的根本,Stm32 单片 机的出现使我们的生活变得更加便利更加智能,以前人力完成的事情现在有了单
片机我们的效率得到极大的提高。烧水往往需要经过打水,加热,还需要有人盯

着水有没有烧开,然后关火,然后晾在一边等水变温等一系列麻烦的步骤,现如 今急需一个可以自动控制加水,调节水温的智能水壶[2] ,在没有人直接参与的情 况下,应用检测仪表和控制装置对水壶和烧水过程进行控制,使其达到预期的温
度,然后自动加水,并满足稳定性,准确性和快速性[3] ,我们既要学习古上圣贤
的理论同时又要有新的技术,新的技术是科技进步的血液,把烧水这道传统工序 结合stm32 的智能控制可以极大简化这个工序,实现一键就能喝热水,为中华文
化繁荣兴盛,中华民族伟大复兴助了一份力。

1.2 本毕业设计意义

现在中国正在进入信息化的科技和社会,万物互联互通是必然的趋势,如何 用信息化的工程带动工业化的工程,是一个极大的挑战,经过一个世界的发展, 我国在电子研发,高等教育方面都有了扎扎实实的基础,我国的科技强大,地大 物博,人口众多必然导致我国是世界上最大的市场,现在是中国和美国的科技竞 争嘴激烈的时期,美国对中国的制裁不断,措施越来越严厉,对中国公司的影响 越来越大,越是打压,我们越要迎难而上,设想一下,在家里一个手机就可以进 行一切需要自己动手操作的事情,轻轻触摸一下屏幕,洗衣机就自动的旋转,电 视自己打开喜欢的频道,衣柜自己进行衣服的收纳,扫地机器人自动进行垃圾的 扫描和清洁,水壶里的水自动烧开保温,人只需要躺在沙发上对手机屏幕点一点 就可以省下很多时间去干自己喜欢的事情,是多么的方便,单片机因为其体积等 许多优点,对我们的生活有巨大的价值,越是自动化,越离不开嵌入式,我们的 水壶也不例外,通过对局域网的组建,将水壶作为服务器,手机为客户端,进行 socket 通信,应用 http 协议就可以通过浏览器控制家里的设备将是很方便的一个
事情。

1.3 本毕业设计国内外研究现状

21 世纪以来,随着我国社会生产力及半导体行业的快速发展,各行各业都 凭借这一发展进行了大量的改造和变革,旨在借助其顺应时代的潮流,应势搭乘 上生产力及半导体发展的“顺风车 ”。Stm32 单片机的出现使我们的生活变得更 加便利更加智能,以前人力完成的事情现在有了单片机我们的效率得到极大的提
高。烧水往往不够透明,用多了一些水垢会附着到水壶内壁而无法注意到,水垢

附着到底部将减少加热的效率,而且浪费能源,如果我们将水壶设计成玻璃并且 可以远程操控,当水烧开了会自动停止加热,这样不仅可以防止水垢的堆积,并
且可以提高安全性能,将煤气灶的热力变成电力加热。

1.4 本毕业设计研究内容

(1)选择 keil5 和thonny 作为程序开发的环境,加入其他硬件传感器模块, 对电源电路下载电路进行选择,将 wifi 模块,红外模块,温度传感器模块代码
分别模块化保证工程的可移植性,提高系统的稳定性。
(2)引入 cs 架构,用 esp32wifi 模块与手机热点进行连接,使其在局域网 组网,当客户端发送 http 请求时,esp32 作为服务器进行响应,实现远程对智能
水壶的控制。
(3)在 microPython 环境里对 esp32wifi 模块进行编写,选择 socket 模块,
创建tcp socket 套接字,为了保证数据的稳定传输选择tcp 协议作为通信手段。
(4)编写手机控制智能水壶开和关的两个 html 文件,为减小内存占用,页
面图片采用超链接的方式让手机浏览器自动在网上搜索并下载。
(5)用 Chrome 浏览器进行对 http 协议的调试,配合 microPython 完成对
Header 部分的编写。
(6)针对红外传感器的时序,对红外时序进行读和写的代码编写,在开发
板上运行并调试。
(7)针对温度传感器的时序,进行对时序的读和写部分进行操作,在开发
板上运行并调试。
(8)对直流电机通过编写 pwm 函数进行转速的控制。
(9)完成软件模块部分的整合,编写 main 函数,完成 gpio 的初始化,开
启端口时钟,配置 gpio 模式 。

2 系统总体设计

本次设计的主要是一种智能水壶的系统,共有两个部分,对单片机的软件部 分和单片机的硬件部分,软件部分采用 c 语言和 python 作为传感器和wifi 模块 程序的编写语言,分别用 iic 协议和tcp 和 http 协议进行编写,保证了数据传输 的稳定性,并将软件部分模块化,提高了系统的可移植性,为了更方便的控制水 壶 ,配有遥控器和手机两种方式来进行对智能水壶的控制 ,硬件部分采用 stm32zet6 作为核心,对电源电路,下载电路,直流电机驱动电路和 gpio 引脚进 行控制,引入esp32 作为手机服务的服务器,该模块可以通过其自带的wifi 模块 实现远程对手机的交互,并且提高了能源的节约性,传输的安全性,设备的便利
性。

图 2-1 系统总体设计

2.1 硬件系统

本设计采用了 Stm32 系列单片机,把能使 STM32 工作的最简
单基础的电路统称为 STM32 最小系统,其内部结构框图如下图 2. 1 所示。
可以运行的最简单的电路叫做系统的最小电路,STM32 最小系统
由以下几部分组成:
(1)晶振电路 ,如图 2- 1 所示
(2)复位电路 ,如图 2-2 所示
(3)电源电路,如图 2-3 所示

图 2- 1 晶振电路

图 2-2 复位电路

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐