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

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

所以在实现上以一个单片机作为处理器,利用传感器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语言,软体设计部分由于篇幅问题,后期会分单独一篇文章进行分享。

相关推荐
广药门徒5 小时前
最小硬件系统概念及其组成
单片机·嵌入式硬件
啵啵学习8 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
可乐鸡翅好好吃10 小时前
通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB
c语言·stm32·单片机·嵌入式硬件·bug·keil
才鲸嵌入式11 小时前
01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
linux·c语言·单片机·嵌入式·arm·qemu·虚拟机
广药门徒13 小时前
我认为STM32输入只分为模拟输入 与 数字输入
stm32·单片机·嵌入式硬件
天月风沙16 小时前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机
想搞嵌入式的小白19 小时前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic
深圳市尚想信息技术有限公司20 小时前
【深尚想】OPA855QDSGRQ1运算放大器IC德州仪器TI汽车级高速8GHz增益带宽的全面解析
单片机·嵌入式硬件
代码总长两年半21 小时前
STM32----IAP远程升级
stm32·单片机·嵌入式硬件
广药门徒21 小时前
STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
单片机·嵌入式硬件