【单片机项目实战】温度控制系统

本项目的主要作用是实现温度调控,通过设定一个预定的温度值,实现实时检测外界温度,当外界温度小于预定值时,电机正转,实现降温效果;当外界温度大于预定值时,电机反转,实现升温效果,从而达到一个维持一定温度范围的控制系统。

所以在实现上以一个单片机作为处理器,利用传感器DS18B20采集温度值,然后将采集到的数据传送给单片机,单片机根据程序设定的温度范围检测,通过控制电机来转动通风,实现温度调节的目的。

其实整个电路组成可以分为四个部分,分别是单片机控制主体,DS18B20温度电路,液晶显示电路和L298N电机驱动电路。

单片机控制主体

是整个温度控制系统的核心,处理中心,所有其他的模块电路都需要通过单片机控制或和单片机交换信息等。而这个过程就是通过单片机的引脚,比如它的输入输出引脚作为信号输入输出的通道以及一些特殊功能引脚等。

单片机引脚主要大类:

**电源引脚:**VCC和GND,供电和接地用的

**复位引脚:**一般是RST,用于芯片的复位,复位系统是单片机中不可缺少的部分

**输入输出引脚:**也就是I/O,用于信号输入或输出信号

**振荡器引脚:**OSC(振荡器),其实就是时钟信号电路,用于连接振荡器,晶振,不管现在很多芯片都有内置振荡器,在时钟要求不是很高的情况下,可以不用额外接振荡器到单片机的振荡引脚中。

**特殊功能引脚:**具有特殊的功能,比如说协议传输如SPI,I2C,UART等等,还可以是LCD驱动,ADC,USB传输等等。

DS18B20温度电路

DS18B20是一款常用的数字温度传感器,具有体积小,抗干扰能力强,精度高的特点,并且有多种封装形式,比如管道式,磁铁吸附式等等。

对于这部分电路,DS18B20模块主要是三个引脚,也就是电源,GND和信号,数据传输到单片机的数据传输引脚,从而获取到温度传感器中检测到的数据。

液晶显示电路

这部分电路主要用来显示单片机想要输出的内容,比如说显示温度,提示信息等等,这部分可以通过软件编程进行设置。

L298N电机驱动电路

L298N是常用的一款步进电机驱动芯片,具有工作电压高,输出电流大,驱动能力强,发热低,抗干扰能力强的特点,在这里用来作为驱动风扇转页马达的部分。并且L298N是利用脉冲宽度调制(PWM)方式进行转速的控制的。

一般会通过控制脉宽时间(比如高电平)占总周期的时间比例,也就是占空比,比例越大,则转速越高,从而通过控制占空比来控制转速。

在硬件电路设计好之后,就是核心部分的软件实现逻辑了,这个系统需要处理好温度值与PWM调速功能的关系,从而完成整个温度控制系统的功能。

项目使用的编程语言是C语言,软体设计部分由于篇幅问题,后期会分单独一篇文章进行分享。

相关推荐
Ronin-Lotus9 小时前
嵌入式硬件篇---ADC模拟-数字转换
笔记·stm32·单片机·嵌入式硬件·学习·低代码·模块测试
promising-w10 小时前
单片机基础模块学习——数码管
单片机·嵌入式硬件·学习
华清远见IT开放实验室10 小时前
嵌入式STM32创新教学:华清远见虚拟仿真实验平台与智能车项目师资培训
stm32·单片机·嵌入式硬件
andylauren11 小时前
(1)STM32 USB设备开发-基础知识
stm32·单片机·嵌入式硬件
末时清11 小时前
OLED--软件I2C驱动__标准库和HAL库
stm32·单片机·嵌入式硬件
不想写代码的我11 小时前
梁山派入门指南3——串口使用详解,包括串口发送数据、重定向、中断接收不定长数据、DMA+串口接收不定长数据,以及对应的bsp文件和使用示例
单片机·学习·gd32·梁山派
BreezeJuvenile14 小时前
USART_串口通讯轮询案例(HAL库实现)
stm32·单片机·串口·hal库开发
黄金右肾15 小时前
STM32之FreeRTOS开发介绍(十九)
stm32·单片机·freertos
Echo_cy_17 小时前
STM32 硬件I2C读写
stm32·单片机·嵌入式硬件
为也科技21 小时前
PID 控制算法(二):C 语言实现与应用
c语言·开发语言·单片机