» Électronique » Arduino »Thermostat pour ventilateur

Thermostat pour ventilateur



Les ventilateurs utilisés pour refroidir l'électronique se présentent sous deux formes. Certains sont miniatures, ils sont envoyés directement aux composants refroidis, d'autres sont plus grands, ils entraînent de l'air à travers tout l'espace du boîtier. Il est préférable que les deux types de ventilateurs soient utilisés ensemble. Souvent, les fans du deuxième type battent constamment à pleine puissance, même si cela n'est pas nécessaire. De ce fait, le roulement s'use plus rapidement et trop de bruit interfère avec l'utilisateur. Le thermostat de contact le plus simple peut allumer et éteindre le ventilateur, tandis que la ressource de roulement n'est consommée que lorsque le moteur tourne, mais le bruit qui apparaît et disparaît brusquement peut être encore plus ennuyeux. Un thermostat plus sophistiqué - par exemple, proposé par l'auteur Instructables sous le surnom d'AntoBesline - contrôle la fréquence de rotation du moteur du ventilateur avec un PWM et la maintient nécessaire et suffisante pour atteindre la température réglée. Il est conseillé de faire passer l'air à travers l'espace du boîtier de bas en haut et de placer le capteur de température par le haut. Vous pouvez également installer des filtres pour empêcher la poussière de pénétrer dans le boîtier, mais ils réduiront les performances.

Un capteur de température et d'humidité du type DHT11 convient uniquement au thermostat contrôlant un ventilateur de second type, car il mesure la température de l'air et non de n'importe quelle surface. Son support est assuré par deux bibliothèques aménagées ici et ici. Si vous devez équiper un ventilateur du premier type d'un thermostat, vous devrez utiliser un autre capteur qui mesure la température de surface du composant à refroidir. Le programme devra alors être refait, et les bibliothèques en auront besoin d'autres, car le capteur peut différer à la fois dans l'interface et la structure des données qui lui sont transmises.

En utilisant l'illustration suivante, l'assistant montre ce qu'est PWM, la plupart des lecteurs le savent déjà. Du fait que le transistor de sortie est toujours soit complètement fermé, soit complètement ouvert, une très faible puissance lui est toujours allouée. Comme vous le savez, la puissance est égale au produit du courant et de la tension, et ici, avec le transistor fermé, le courant est très faible, et avec le transistor ouvert, la chute de tension à travers lui est faible. L'un des deux facteurs est toujours petit, ce qui signifie que leur produit est également petit. Presque toute la puissance du contrôleur PWM va à la charge, pas au transistor.

Thermostat pour ventilateur


Le capitaine établit un schéma de thermostat:



Arduino il est alimenté par une source de 5 volts, le ventilateur - à partir d'un 12 volts.Si vous utilisez un ventilateur de 5 volts, vous pouvez le faire avec une seule source avec une capacité de charge suffisante, alimentant Arduino à travers un simple filtre LC. Une diode connectée en parallèle avec le ventilateur dans le sens opposé est nécessaire si le moteur est un moteur collecteur (comme dans certains ventilateurs USB modernes). Lorsque vous utilisez un ventilateur d'ordinateur avec un capteur Hall et une commande de bobinage électronique, cette diode est facultative.

Le texte du programme compilé par l'assistant est assez court, il est donné ci-dessous:

#include "DHT.h"
#define dht_apin A1
#include

LCD à cristaux liquides (7,6,5,4,3,2);
DHT DHT (dht_apin, DHT11);
int fan = 11;
int led = 8;
int temp;
int tempMin = 30;
int tempMax = 60;
int fanSpeed;
int fanLCD;
void setup ()
{
   pinMode (ventilateur, SORTIE);
   pinMode (led, SORTIE);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("Basé sur la température ambiante");
   lcd.setCursor (0, 1);
   lcd.print ("Vitesse du ventilateur Ctrl");
   retard (3000);
   lcd.clear ();
}
boucle vide ()
{
    float temperat;
    temperature = dht.readTemperature ();
    temp = températ; // stocke la valeur de la température dans la variable temp
   Serial.print (temp);
   if (temp  = tempMin) && (temp <= tempMax)) // si la température est supérieure à la température minimale
   {
       fanSpeed ​​= temp; // map (temp, tempMin, tempMax, 0, 100); // la vitesse réelle du ventilateur // map (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1,5 * fanSpeed;
       fanLCD = map (temp, tempMin, tempMax, 0, 100); // vitesse du ventilateur à afficher sur LCD100
       analogWrite (fan, fanSpeed); // fait tourner le ventilateur à la vitesse du ventilateur
   }
      if (temp> tempMax) // si temp est supérieur à tempMax
     {
     digitalWrite (led, HIGH); // allume la led
     }
   else // else tour de led
     {
     digitalWrite (led, LOW);
     }
      lcd.print ("TEMP:");
   lcd.print (temp); // affiche la température
   lcd.print ("C");
   lcd.setCursor (0,1); // déplace le curseur sur la ligne suivante
   lcd.print ("FANS:");
   lcd.print (fanLCD); // affiche la vitesse du ventilateur
   lcd.print ("%");
   retard (200);
   lcd.clear ();
 }


De plus, un croquis peut être téléchargé sous forme de fichier ici. L'extension inconnue devra être changée en ino.

Les photos suivantes montrent l'assemblage du dispositif prototype sur une carte de type planche à pain:









Après avoir assemblé un prototype, le maître le teste. La température est affichée en degrés Celsius, la valeur de tension réelle sur le ventilateur - en pourcentage du maximum.







Il reste à assembler le circuit par soudure et à intégrer le thermostat à celui-ci fait maisonqu'il refroidira.
8
8
6

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
10 commentaires
L'auteur
Eh bien, à l'extrémité inférieure de la plage, l'hystérésis peut être mise en œuvre. Ayant légèrement modifié le programme. Et dans le reste de la gamme, où le ventilateur tourne toujours, seule la vitesse change, c'est possible sans hystérésis.
Citation: tormozedison
L'hystérésis est nécessaire avec une charge marche-arrêt forte. Avec un réglage en douceur du PWM, comme ici, c'est inutile.

Je ne suis pas d'accord, l'hystérésis est nécessaire précisément sur la logique marche / arrêt. Par exemple, un ventilateur, même à la vitesse la plus faible, se met en marche à> 30 degrés et s'éteint à <30. Mais si vous imaginez que la température est d'environ 30 degrés, le ventilateur se met en marche à basse vitesse, après quoi la température tombe immédiatement à 29, le ventilateur s'arrête. En bref, il s'avère que le ventilateur marche / arrêt "branle". Seule l'hystérésis permet d'économiser, par exemple, allumer lorsque la température est> 30, et s'éteindre lorsque <25. Si cela n'est pas fait, cela ne sert à rien d'Arduino, car il existe des KY-028 et des analogues qui vous permettent d'utiliser une augmentation en douceur de la vitesse, et simplement d'activer / désactiver, et seule l'absence d'hystérésis ne rend pas ces modules idéaux.
L'auteur
L'hystérésis est nécessaire avec une charge marche-arrêt forte. Avec un réglage en douceur du PWM, comme ici, c'est inutile.

Je connais KU208 depuis la fin des années 80. J'ai entendu parler de KY-028 de votre part, merci pour le conseil.

Il n'est pas nécessaire de connecter un écran à ce thermostat. Au lieu de UNO, prenez un clone bon marché avec les mêmes fonctionnalités. Et ce sera économiquement justifié.
2Dem ne les insultez pas (et vous savez que je suis PROFI, en électronique, vous ne voulez tout simplement pas l'admettre).
J'ai décidé de réinitialiser tous mes dégoûts sur vos kamens à mes produits faits maison. Aujourd'hui, c'est mon jour de chance et mes vacances.
Je commence à mettre à zéro vos aversions ... Et pouvez-vous retirer vos insultes?
Citation: Ivan_Pokhmelev
Devis: R555
Le crétin n'épelle même pas correctement le nom KU208.
Mais il épelle correctement le nom du capteur de température KY-028. Qu'est-ce que le KU208 a à voir avec ça?

Tout d'abord, merci d'avoir cité le message, j'ai été très drôle de voir que le "je-sais-tout" ne connaît pas des choses aussi fondamentales. Deuxièmement, j'ai donné l'exemple du KY-028, cela vaut la peine d'ajouter un interrupteur d'alimentation et nous obtenons un thermostat plus efficace. Et efficace dans tous les sens. Si je ne me trompe pas, il n'y a pas non plus d'hystérésis à la température minimale. À savoir, cela doit être fait en premier lieu, sinon il n'y a aucune raison d'utiliser Arduino. Utilisation inefficace des matériaux, en gros, en nano chinois avec une mémoire de 16k, le contrôle de la ventilation dans la chaufferie est basé sur la température et l'humidité, la protection contre les fuites dans toute la maison (6 capteurs), la circulation intelligente de l'ECS, le rinçage de la membrane d'osmose et l'affichage de l'ensemble cette information est affichée 1602. Et utiliser Uno pour démarrer le ventilateur n'est rationnel que si c'est une leçon pour les débutants, mais cette «maison» comme aucune leçon du tout, il y a de bien meilleures leçons. Alors quelle est sa signification?
Pourquoi inutile? Bien sûr, ce n'est pas un produit, mais une mise en page, il y a des erreurs dans le schéma, mais l'idée a le droit d'exister. Et de quel écran parlez-vous?
Je ne serais pas aussi catégorique: l'appareil, en plus de la régulation elle-même, affiche également la température, ce qui peut être utile. Mais le nom est faux, ce n'est pas un thermostat, mais mise en page contrôle de la vitesse du ventilateur en fonction de la température.
Devis: R555
Le crétin n'épelle même pas correctement le nom KU208.
Mais il épelle correctement le nom du capteur de température KY-028. Qu'est-ce que le KU208 a à voir avec ça?
Par exemple, pour KY-028 n'a pas entendu? Il est absurde d'utiliser UNO pour un métier aussi inutile. L'écran n'est pas du tout nécessaire dans une telle implémentation. Toutes ces ordures sont comme le premier et le plus important travail infructueux d'un écolier, car tout ce qui pourrait être mal fait est exactement ce qui a été fait.
Un autre microscope-clou-marteau! nea

Nous vous conseillons de lire:

Donnez-le au smartphone ...