概要
基于此种情况,本课题使用温度传感器DS18B20实时测量水温,微处理器STM32F103C8T6采样水温值,并根据水温值的实时变化合理调节冷热水的进水量,当水温低于所设定温度的范围则继续加热水,如果水温高出所设定温度的范围则加凉水,使得出水始终保持在舒适的温度,即自动控制浴室水温,避免了频繁人为改变水温的麻烦,同时也在一定程度上减少了能源的消耗。为了达到预期的实验目标,本课题还进行了实物的组装,软件程序的调试等。
关键词:STM32F103C8T6单片机 DS18B20传感器 自动控制水温 太阳能热水器
一、浴室水温控制系统基本原理
2.1浴室水温控制系统总体架构
本系统的总体架构包含如下功能部分:5.0V及3.3V供电部分,主控微处理器STM32F103C8T6,调试功能接口,存储器部分,DS18B20传感器信息采集部分,串口通信部分,扩展接口功能,水泵控制执行部分。
2.2浴室水温系统总体设计流程
智能淋浴系统的总体设计流程如下。
(1)根据课题需求,确定功能模块,主要包含水温数据采集部分,冷热水进水控制部分,硬件定时部分,程序指示部分,串口数据交互部分等。
(2)根据功能模块,画原理图,PCB图,PCB图制板,购买料单,焊接调试硬件。
(3)利用STM32CubeMX软件配置微处理器的底层驱动,生成底层驱动代码。
(4)编写用户逻辑代码,如DS18B20的应用代码。
(5)调试代码,如查看水温传感器数据
二、浴室水温控制系统硬件设计
在本节中,我们主要对系统的硬件设计进行功能介绍。硬件的设计我们采用的是Altium Designer V10,主要是设计了系统的原理图和PCB版图,主要包含:供电电路,微处理器最小系统,存储电路,光敏传感器电路,TTL-UART转USB电路,SWD调试及外扩电路接口,按键电路等。
硬件电路的设计主要有:原理图器件库建立及使用,原理图器件连线,PCB器件封装库建立及使用,PCB布线,PCB板图投稿,根据BOM购买相应的器件,PCB板的焊接及调试。
三、 系统软件设计
1附录A 电路图
程序
#include "main.h"
#include "stm32f1xx_hal.h"
#include "cmsis_os.h"
#include "dma.h"
#include "i2c.h"
#include "tim.h"
#include "usart.h"
#include "gpio.h"
/* USER CODE BEGIN Includes */
#include "bsp_dwt.h"
#include "bsp_ds18b20.h"
#include "bsp_timer.h"
/* USER CODE END Includes */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
/* USER CODE END PV */
/* Private function prototypes ------------------------------