1. 项目概述
这个基于STM32F103C8T6单片机的智能水壶设计,是我在嵌入式系统课程中的毕业设计项目。作为一个典型的物联网终端设备,它实现了水温自动控制、水位监测、远程控制等智能化功能。相比传统电水壶,这个设计最大的特点是实现了全自动化的烧水流程,并且可以通过手机APP进行远程监控和操作。
在实际开发过程中,我发现这个项目很好地融合了传感器技术、执行器控制、人机交互和无线通信等多个嵌入式系统关键技术点。特别是如何协调各个模块的工作时序,确保系统稳定运行,是设计中的一大挑战。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 硬件系统框图
整个系统采用模块化设计思路,主要分为以下几个部分:
- 主控模块:STM32F103C8T6最小系统板,负责整个系统的逻辑控制
- 输入模块:
- DS18B20防水温度传感器
- 液位检测模块
- 按键矩阵
- 输出模块:
- 继电器控制加热棒
- 水泵控制电路
- 舵机(模拟壶盖开关)
- LED状态指示灯
- 蜂鸣器报警
- OLED显示屏
- 通信模块:HC-05蓝牙模块
- 电源模块:12V转5V/3.3V电源电路
提示:在设计硬件连接时,特别注意大功率负载(如加热棒)的控制电路要与主控电路做好隔离,建议使用光耦隔离继电器模块。
2.2 软件架构设计
软件部分采用分层架构:
- 硬件驱动层:各传感器和执行器的底层驱动
- 中间件层:提供温度采集、水位检测等通用功能接口
- 应用逻辑层:实现水壶的主要业务逻辑
- 用户界面层:处理按键输入和显示输出
这种分层设计使得代码结构清晰,便于后期维护和功能扩展。
3. 核心功能实现细节
3.1 温度检测与控制
温度检测使用DS18B20数字温度传感器,其特点如下:
- 测量范围:-55℃~+125℃
- 精度:±0.5℃
- 单总线接口,节省IO资源
温度控制算法采用简单的双位式控制:
c复制// 温度控制逻辑代码示例
if(temp_value < temp_set - temp_hysteresis) {
RELAY_JR = 1; // 开启加热
LED_
