Circuits de ventilateur CC à température contrôlée Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire quelques circuits de ventilateur CC à température contrôlée automatiques basés sur Arduino qui allumeront un ventilateur ou tout autre gadget connecté, lorsque la température ambiante atteindra un niveau de seuil prédéterminé. Nous allons utiliser le capteur DHT11 et arduino pour ce projet.

Aperçu

La beauté des microcontrôleurs est que nous obtenons un contrôle très précis sur les périphériques qui y sont connectés. Dans ce projet, l'utilisateur a juste besoin d'entrer la température de seuil dans le programme, le microcontrôleur se chargera du reste de la fonction.



Il existe des tonnes de projets de contrôleurs de température automatiques basés sur des microcontrôleurs disponibles sur Internet, tels que l'utilisation de comparateurs et de transistors.

Ils sont très simples et fonctionnent bien, mais le problème se pose lors du calibrage du niveau de seuil à l'aide d'une résistance ou d'un potentiomètre prédéfini.



Nous avons une idée aveugle lors du calibrage et l'utilisateur peut avoir besoin de faire des essais et des erreurs pour trouver le point idéal.

Ces problèmes sont surmontés par des microcontrôleurs, il suffit à l'utilisateur de saisir la température en Celsius dans ce projet, donc pas besoin de calibrage.

Ce projet peut être utilisé là où la température interne du circuit doit être stabilisée ou éviter la surchauffe.

Dans le diagramme 1, nous connectons un ventilateur CPU en sortie. Cette configuration peut être utilisée pour contrôler la température ambiante interne d'un circuit fermé.

Lorsque la température seuil est atteinte, le ventilateur se met en marche. Lorsque la température descend en dessous du seuil de température, le ventilateur s'éteint. Il s’agit donc essentiellement d’un processus automatisé.

Dans le schéma 2, nous avons connecté un relais pour contrôler des appareils fonctionnant sur tension secteur comme un ventilateur de table.

Lorsque la température ambiante atteint le seuil de température, le ventilateur se met en marche et s'éteint lorsque la pièce se refroidit.

C'est peut-être le meilleur moyen d'économiser de l'énergie et cela peut être le paradis pour les paresseux qui souhaitent que les autres allument le ventilateur lorsqu'ils se sentent chauds.

Schéma de circuit montrant une commande de ventilateur CC

Contrôle du ventilateur CC pour réglage automatique de la température

Cette configuration peut être déployée pour les circuits qui sont enfermés dans une boîte. La LED s'allume lorsque le niveau de seuil préréglé est atteint et allume également le ventilateur.

Connexion d'un relais pour contrôler des ventilateurs plus grands

Contrôle du ventilateur du commutateur de relais à l

Ce circuit remplit la fonction similaire du circuit précédent, maintenant le ventilateur est remplacé par un relais.

Ce circuit peut contrôler un ventilateur de table ou un ventilateur de plafond ou tout autre gadget pouvant refroidir la température ambiante.

L'appareil connecté s'éteint dès que la température atteint en dessous du seuil prédéfini.

Le schéma de circuit du ventilateur CC à température contrôlée illustré ici ne sont que quelques-unes des nombreuses possibilités. Vous pouvez personnaliser le circuit et le programme à vos propres fins.

REMARQUE 1: #Pin 7 est émis.

REMARQUE 2: Ce programme est uniquement compatible avec le capteur DHT11 uniquement.

Programme pour le circuit de régulateur de température automatique expliqué ci-dessus utilisant Arduino:

Code de programme

//--------------------Program developed by R.Girish---------------------//
#include
dht DHT
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int op = 7
int th = 30 // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600) // May be removed after testing
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
// To here
if (DHT.temperature>=th)
{
delay(3000)
if(DHT.temperature>=th) digitalWrite(op,HIGH)
}
if(DHT.temperature {
delay(3000)
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print('NO DATA')
Serial.print(' ')
// To here
digitalWrite(op,LOW)
delay(500)
}
}
//-------------------------Program developed by R.Girish---------------------//

Remarque: dans le programme

int th = 30 // règle la température seuil en Celsius.

Remplacez «30» par la valeur souhaitée.

Deuxième conception

Le deuxième projet de circuit de ventilateur CC à température contrôlée discuté ci-dessous détecte automatiquement la température ambiante et ajuste la vitesse du moteur du ventilateur pour maintenir la température ambiante sous contrôle. Ce traitement automatique se fait via un Arduino et un capteur de température IC LM35.

Par:Ankit Negi

NOTRE OBJECTIF:

1). Dès que la température ambiante augmente au-delà de 25 degrés Celsius (vous pouvez modifier cette valeur dans le programme en fonction de vos besoins, expliqués dans la section de travail), le moteur démarre.

2). Et à chaque degré d'augmentation de la température, la vitesse du moteur augmente également.

3). Le moteur tourne à sa vitesse maximale dès que la température monte à 40 degrés Celsius (cette valeur peut être modifiée dans le programme).

CAPTEUR DE TEMPÉRATURE LM35:

Pour accomplir la tâche mentionnée ci-dessus, nous allons utiliser temp. Capteur LM35 car il est largement utilisé et facilement disponible.

LM35 a 3 broches comme vous pouvez le voir sur la figure.

Brochage IC LM35

1. Vin - cette broche est connectée à une alimentation en courant continu entre 4 et 20 v.
2. Vout - cette broche donne une sortie sous forme de tension.
3. GND - cette broche est connectée à la borne gnd du circuit.

LM35, lorsqu'il est connecté à l'alimentation, détecte le température ambiante et envoie une tension équivalente en fonction de l'élévation de température par degré via sa broche de sortie.

Le LM35 peut détecter n'importe quelle température. entre -50 degrés et +150 degrés Celsius et augmente la sortie de 10 millivolts avec une augmentation de 1 degré de la température. Ainsi, la tension maximale qu'il peut donner en sortie est de 1,5 volts.

POURQUOI ARDUINO POUR CE PROJET DE CONTRÔLEUR DE VENTILATEURS DC?

Arduino est nécessaire pour changer la valeur analogique reçue de la broche de sortie du LM35 en valeur numérique et envoie la sortie numérique correspondante (PWM) à la base du mosfet.

Nous utiliserons également commandes arduino pour imprimer la température, valeur analogique correspondante et sortie numérique vers mosfet sur le moniteur série d'ARDUINO IDE.

QUEL EST LE RÔLE DU POWER MOSFET?

Ce circuit ne sera d'aucune utilité s'il ne peut pas faire fonctionner le moteur à courant élevé. Par conséquent, pour faire fonctionner de tels moteurs, un mosfet de puissance est utilisé.

POURQUOI LA DIODE EST-ELLE UTILISÉE?

La diode est utilisée pour protéger le mosfet de l'arrière E.M.F généré par le moteur pendant le fonctionnement.

LISTE DES PIÈCES POUR LE PROJET:

1. LM35

2. ARDUINO

3. MOSFET DE PUISSANCE (IRF1010E)

MOSFET DE PUISSANCE (IRF1010E)

4. DIODE (1N4007)

DIODE (1N4007)

5. FAN (moteur)

6. ALIMENTATION DU VENTILATEUR

SCHÉMA:

Contrôle du ventilateur CC en fonction de la température Arduino

Effectuez les connexions comme indiqué sur le schéma de circuit.

a) Connectez la broche vin de lm358 à 5v d'arduino
b) Connectez la broche vout du lm358 à A0 de l'arduino
c) Connectez la broche de terre du lm358 à GND de l'arduino
d) Connectez la base du mosfet à la broche PWM 10 de l'arduino

CODE:

float x// initialise variables
int y
int z
void setup()
{
pinMode(A0,INPUT) // initialize analog pin A0 as input pin
Serial.begin(9600) // begin serial communication
pinMode(10,OUTPUT) // initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) // conversion of analog value to digital value
Serial.print('analog value ')
Serial.print( x) // print analog value from sensor's output pin connected to A0 pin on serial monitor( called 'analog value')
Serial.print(' temperature ')
Serial.print( y) // print the temprature on serial monitor( called 'temprature')
Serial.print(' mapped value ')
Serial.print( z*10) // multiply mapped value by 10 and print it ( called ' mapped value ' )
Serial.println()
delay(1000) // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10) // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) // in any other case PWM on pin 10 must be 0
}
}

TRAVAIL (comprendre le code):

UNE). VARIABLE X-

Il s'agit simplement de la valeur analogique reçue par la broche no. A0 de la broche de sortie du LM35.

B). VARIABLE ET-

En raison de cette seule variable, notre moteur de ventilateur fonctionne conformément à la température correspondante. Cette variable change la valeur analogique, c'est-à-dire la variable x, en température correspondante de l'environnement.

Y = (500 * x) / 1023
1. La première valeur analogique doit être remplacée par la tension correspondante, c'est-à-dire
1023: 5v
Par conséquent, (5000 millivolt * x) / 1023 V
2. Nous savons maintenant que pour chaque degré d'augmentation de la température, la tension de sortie correspondante augmente de 10 mv, c'est-à-dire
1 degré Celsius: 10 millivolts
Par conséquent, (5000 millivolt * x) / (1023 * 10) DEGRÉ

C). VARIABLE Z-

z = carte (x, 0, 1023, 0,255)
cette variable change la valeur analogique en valeur numérique pour la sortie pwm sur la broche 10.

REMARQUE :: Nous savons que le lm35 peut fournir un maximum de 1,5 volts et cela aussi lorsque temp. Est de 150 degrés. ce qui n'est pas pratique.

Cela signifie que pour 40 degrés Celsius, nous obtenons 0,40 volts et pour 25 degrés, nous obtenons 0,25 volts. Puisque ces valeurs sont très faibles pour un pwm correct sur mosfet, nous devons le multiplier par un facteur.

Par conséquent, nous le multiplions par 10 et donnons à la place cette valeur comme sortie analogique à la broche PWM 10, c'est-à-dire

** analogWrite (10, z * 10)

Maintenant, pour 0,25 volts mosfet obtient 0,25 * 10 = 2,5 volts

Pour 0,40 volts, mosfet obtient 0,40 * 10 = 4 volts, auquel le moteur tourne presque à sa pleine vitesse

CAS 1. Lorsque temp. Est inférieur à 25 degrés

Dans ce cas, arduino envoie une tension de 0 PWM à la broche 10 comme dans la dernière ligne de code

** autre
{analogWrite (10,0) // dans tous les autres cas PWM sur la broche 10 doit être 0
} **

Puisque la tension pwm à la base du mosfet est de 0, elle reste éteinte et le moteur est déconnecté du circuit.

Voir circuit simulé dans ce cas.

Simulation de contrôle de ventilateur Arduino

Comme vous pouvez le voir, la température est de 20 degrés

Valeur analogique = 41
Température = 20
Valeur mappée = 100

Mais comme la température est inférieure à 25 degrés, mosfet obtient 0 volt comme le montre la figure (indiqué par un point bleu).
CAS 2. Lorsque temp. Est supérieur à 25 degrés

Lorsque la température atteint 25 degrés, alors comme spécifié dans le code pwm, le signal est envoyé à la base du mosfet et à chaque degré d'augmentation de la température, cette tension PWM augmente également, c'est-à-dire

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

Voir circuit simulé dans ce cas.

Comme vous pouvez le voir à mesure que la température augmente de 20 degrés à 40 degrés, les trois valeurs changent et à 40 degrés Celsius

Valeur analogique = 82
Température = 40
Valeur mappée = 200

Puisque la température est supérieure à 25 degrés, mosfet obtient la tension PWM correspondante comme indiqué sur la figure (indiqué par un point rouge).

Par conséquent, le moteur commence à fonctionner à 25 degrés et avec l'augmentation correspondante de la température par degré, la tension pwm de la broche 10 à la base du mosfet augmente également. Par conséquent, la vitesse du moteur augmente linéairement avec l'augmentation de la température et devient presque maximale à 40 degrés Celsius.

Si vous avez d'autres questions concernant le circuit de ventilateur CC à température contrôlée automatique expliqué ci-dessus utilisant un ventilateur et Arduino, vous pouvez toujours utiliser la boîte de commentaires ci-dessous et nous envoyer vos commentaires. Nous essaierons de revenir au plus tôt.




Une paire de: Circuit de protection de réfrigérateur simple Un article: Comment concevoir un circuit d'alimentation sans coupure (UPS)