新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 使用8051微控制器的温控直流风扇

使用8051微控制器的温控直流风扇

作者:时间:2023-06-06来源:电子产品世界收藏

是一个系统,当环境温度上升到一定限度时,自动打开

本文引用地址:http://www.eepw.com.cn/article/202306/447370.htm

一般来说,电子设备会产生更多的热量。因此,应该减少这种热量,以保护设备。有许多方法来减少这种热量。一种方法是自发打开风扇。

本文介绍了两个这样的电路,当它检测到设备内部的温度高于其阈值时,就会自动打开风扇。


电路图

Temperature Controlled DC Fan using 8051 Circuit Diagram

原理

该项目在模数转换的原则下工作。来自LM35温度传感器的模拟数据被提供给模数转换器ADC0804。

温度传感器的模拟输出将以每摄氏度10mV的速度变化。

ADC0804是一个8位的ADC。对于5V的参考电压,我们将得到一个5V/28=20mV的分辨率。这意味着,这是来自传感器的模拟值的最小变化,可以被ADC IC识别。

根据温度的变化,ADC的输出被生成。ADC的数字输出给了来计算温度并相应地控制风扇。

组件

部分

AT89C51单片机

AT89C51编程器板

11.0592 MHz石英晶体

33pF陶瓷电容

2 x 10KΩ 电阻器

10µF 电解电容

按钮

16 X 2 LCD 显示器

10KΩ POT

温度传感器部分

LM35

ADC0804

10KΩ 电阻器

150pF陶瓷电容

1KΩ x 8 电阻器组

负载部分

2N2222 NPN 晶体管

1N4007二极管

12V 继电器

1KΩ 电阻器

风扇

Temperature Controlled DC Fan Image 1

Temperature Controlled DC Fan Image 2

Temperature Controlled DC Fan Image 3

Temperature Controlled DC Fan Image 4

Temperature Controlled DC Fan Image 5

这里解释一下ADC0804的配置。首先,我们需要将5V稳压电源连接到Vcc引脚(引脚20)。然后,将模拟和数字接地引脚(引脚8和10)连接到GND。

为了使用内部时钟,我们需要在CLK IN(针脚4)和CLK R(针脚19)之间连接一个10KΩ的电阻,然后,在针脚4和GND之间连接一个150pF的电容来完成振荡器的电路。

CS引脚(引脚1)连接到GND以启用ADC。

为了让连续读取ADC的数据,我们需要将RD引脚(引脚2)连接到GND。

为了让ADC连续读取传感器的模拟数据,我们需要将写针脚(针脚3)与中断针脚(针脚5)短路。

传感器(LM35)的模拟输出连接到ADC的Vin+(针脚6)。ADC的负模拟输入引脚即Vin-被连接到GND。

转换后的数字数据为8位数据,可在DB0至DB7(针脚18至11)处获得。

电路设计

本项目的主要组成部分是微控制器,16×2液晶显示器,LM35温度传感器,ADC0804,继电器和风扇。

与单片机有关的基本连接包括时钟、复位和EA。时钟由一个11.0592MHz的晶体和两个33pF的电容组成。复位电路由一个10μF的电容、10KΩ的电阻和一个按钮组成。EA引脚被一个10KΩ的电阻拉高。

现在我们来看看与其他元件的连接情况。

对于LCD显示屏,一个10KΩ的锅被连接到对比度调整引脚。LCD的三个控制引脚连接到P3.6、GND和P3.7引脚。

LCD的8个数据引脚被连接到微控制器的PORT1上。

有关ADC的基本连接在其配置中作了说明。ADC的8个数字输出必须连接到微控制器的端口2。

下一个我们要连接的元件是LM35。将LM35的数据针脚连接到模拟输入针脚,即ADC的针脚6。

最后,我们需要把由电阻、晶体管和继电器组成的继电器电路连接到单片机的0号端口,并把0号端口从外部拉起。

将继电器的输入端,即晶体管的基极连接到单片机的P0.0引脚。

工作原理

本项目的目的是用单片机设计一个温控风扇,根据温度自动打开或关闭风扇。本项目的工作原理在此说明。

在这个电路中,LM35温度传感器将提供与它所感应的温度相对应的连续模拟输出。这个模拟信号被赋予ADC,它将模拟值转换为数字值。

ADC的数字输出相当于感应到的模拟电压。

为了从感知的模拟电压中获得温度,我们需要在微控制器的编程中进行一些计算。

一旦微控制器根据逻辑完成了计算,温度就会显示在LCD上。像这样,微控制器将持续监测温度。

如果温度超过50摄氏度(根据代码),微控制器将打开继电器以启动风扇。如果温度降到40摄氏度以下(按照代码)。

电路图 

Temperature Controlled DC Fan using ATmega8 Microcontroller Circuit Diagram

使用ATmega8单片机的温控电路图

电路原理

该电路的主要原理是当温度大于阈值时,打开连接在直流电动机上的风扇。

微控制器不断地从其周围环境中读取温度。温度传感器作为一个传感器,将感应到的温度转换为电气值。这是一个模拟值,它被应用于微控制器的ADC引脚。

ATmega8微控制器有六个复用的ADC通道,分辨率为10位。模拟值被应用到其中一个输入ADC引脚。因此在内部使用逐次逼近法进行转换。

对于ADC转换,应该声明内部寄存器。ADC引脚输出一个数字值。控制器将其与阈值进行比较,如果数值大于阈值,则切换风扇。

组件

Atmega8

L293D

Lm35

直流电动机

元件描述

LM35

LM35是一个集成电路传感器,可用于测量温度。该传感器的输出电压与温度成正比,单位为摄氏度。LM35的输出电压将以每摄氏度10mV的速度变化。

通常情况下,LM35温度传感器的量程为-55摄氏度到+150摄氏度。为了测量这个完整的温度范围,即从负值范围到正值范围,我们需要在数据引脚和Vcc的负电源之间连接一个外部电阻。

无论如何,我们在这个项目中不打算考虑负温度范围。因此,在正常的工作条件下,我们可以在+2摄氏度到+150摄氏度的范围内测量温度。

ADC

自然界的所有参数都是模拟的,也就是说,现实世界中的大多数数据都是由模拟信号来描述的。例如,如果测量的是房间的温度。

房间的温度随着时间不断变化。这种随时间变化的测量信号,例如从1秒、1.1秒、1.2秒等等,被称为模拟信号。

为了使用微处理器或微控制器来处理现实世界的数据,我们需要将模拟信号转换为数字信号,以便处理器或控制器能够读取、理解和处理这些数据。

Atmega8有内部模拟数字转换器。

声明内部ADC寄存器

ATmega8微控制器内部有三个寄存器,即ADMUX、ADCSRA、ADC数据寄存器。模数转换器的分辨率为10位。

最初,使用ADCMUX寄存器选择ADC的参考电压。

在ADMUX寄存器中选择REFS0和REFS1值来设置参考电压。

现在使用ADMUX寄存器中的MUX0-MUX3位选择ADC通道。下面的表格显示了要放在MUX0-MUX3位的二进制值,以选择一个通道。

ADC Channel

如果传感器被连接到ADC0通道,在AREF引脚上有外部电容的AVCC,那么要分配给ADMUX寄存器的二进制值是ADMUX=0b01000000。

现在使用ADSRA寄存器的ADPS0、ADPS1和ADPS2位选择预标度值,同时使用ADSCRA寄存器的ADEN位启用ADC。

下面的位决定了XTAL频率和ADC输入时钟之间的划分系数:划分系数决定表

Division factor deciding table

现在启用开始转换位,即ADCSRA寄存器中的ADCSC。

在数值的转换之后,一个中断位被硬件启用。

等待,直到中断位ADIF被设置为1。

结果被存储在ADC的两个数据寄存器中,即ADCL和ADCH。现在从这些寄存器中读取数字值

的直流风扇电路设计

该电路主要由ATmega8微控制器、温度传感器、直流电动机、驱动IC组成。温度传感器被连接到ADC引脚的输入端,即微控制器的ADC0引脚。

温度传感器有三个输入引脚,VCC,接地。中间一个是输出,另外两个引脚是地和VCC。用于ADC的VREF和AVCC从外部施加到微控制器上。20和21号引脚是AREF和AVCC引脚,连接到5v的电源电压。

微控制器的端口B通过一个电机驱动器IC即L293D与电机相连。电机驱动器的输入引脚与微控制器相连。PB0和PB1连接到电机驱动IC的输入3和输入4。

PB2和PP3引脚连接到电机驱动IC的输入1和输入2。 输出引脚与电机相连。由于电机有两个引脚,这些引脚被连接到驱动IC的输出引脚。

使用微控制器的温控直流风扇电路如何工作?

最初开关电源。

微控制器开始读取周围环境的温度。

温度的模拟值是由温度传感器给出的。

这个模拟值被应用到微控制器的模拟到数字转换器引脚。

这个模拟值由微控制器内部使用逐次逼近法转换为数字值。

当温度大于阈值时,微控制器向控制器发出指令,切换电机。

因此,风扇开始旋转。

应用

温控直流风扇可以通过监测温度来控制设备、房间、电子元件等的温度。

可以扩展到基于PWM的输出,其中风扇的速度可以根据PWM信号的占空比而变化。

该电路可用于CPU以减少热量。



评论


相关推荐

技术专区

关闭