» Elektronica » Arduino »Thermostaat voor ventilator

Thermostaat voor ventilator



De ventilatoren die de elektronica koelden, zijn er in twee vormen. Sommige zijn miniatuur, ze worden rechtstreeks naar de gekoelde componenten gestuurd, andere zijn groter, ze drijven lucht door de hele ruimte van de behuizing. Het is het beste als beide soorten ventilatoren samen worden gebruikt. Vaak zijn fans van het tweede type constant aan het "dorsen" op volle kracht, ook als dit niet nodig is. Hierdoor slijt het lager sneller en stoort te veel geluid de gebruiker. De eenvoudigste contactthermostaat kan de ventilator aan- en uitzetten, terwijl de lagerbron alleen wordt verbruikt als de motor draait, maar scherp optredend en verdwijnend geluid kan nog vervelender zijn. Een geavanceerdere thermostaat - bijvoorbeeld voorgesteld door de auteur Instructables onder de bijnaam AntoBesline - regelt de rotatiefrequentie van de ventilatormotor met een PWM en houdt deze nodig en voldoende om de ingestelde temperatuur te bereiken. Het is raadzaam om lucht van onder naar boven door de behuizingsruimte te blazen en de temperatuursensor van bovenaf te plaatsen. U kunt ook filters installeren om te voorkomen dat stof de behuizing binnendringt, maar ze zullen de prestaties verminderen.

Een temperatuur- en vochtigheidssensor van het type DHT11 is alleen geschikt voor de thermostaat die een tweede type ventilator aanstuurt, omdat deze de temperatuur van lucht meet en niet van een oppervlak. De ondersteuning wordt geboden door twee bibliotheken hier en hier. Als u een ventilator van het eerste type met een thermostaat moet uitrusten, moet u een andere sensor gebruiken die de oppervlaktetemperatuur van het te koelen onderdeel meet. Het programma moet dan opnieuw worden uitgevoerd en er zijn andere nodig, omdat de sensor kan verschillen in zowel de interface als de structuur van de gegevens die ernaar worden verzonden.

Met behulp van de volgende afbeelding laat de wizard zien wat PWM is, de meeste lezers weten dit al. Omdat de uitgangstransistor altijd ofwel volledig gesloten of volledig open is, wordt er altijd een zeer laag vermogen aan toegewezen. Zoals u weet, is het vermogen gelijk aan het product van stroom en spanning, en hier, wanneer de transistor gesloten is, is de stroom erg klein en wanneer geopend, is de spanningsval erover klein. Een van de twee factoren is altijd klein, wat betekent dat hun product ook klein is. Bijna al het vermogen in de PWM-controller gaat naar de belasting, niet naar de transistor.

Thermostaat voor ventilator


De meester stelt een thermostaatschema op:



Arduino het wordt aangedreven door een 5-volt bron, de ventilator - van een 12-volt.Als je een 5-volt ventilator gebruikt, kun je het doen met één bron met voldoende laadvermogen, Arduino voeden via een eenvoudig LC-filter. Een diode die parallel met de ventilator in de tegenovergestelde richting is aangesloten, is nodig als de motor een collectormotor is (zoals bij sommige moderne USB-ventilatoren). Bij gebruik van een computerventilator met een Hall-sensor en elektronische wikkelregeling is deze diode optioneel.

De tekst van het door de wizard samengestelde programma is vrij kort, het wordt hieronder gegeven:

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

LCD-scherm met vloeibare kristallen (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;
ongeldige setup ()
{
   pinMode (fan, OUTPUT);
   pinMode (led, OUTPUT);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("Room Temp Based");
   lcd.setCursor (0, 1);
   lcd.print ("Fan speed Ctrl");
   vertraging (3000);
   lcd.clear ();
}
leegte lus ()
{
    zwevende temperatuur;
    temperatuur = dht.readTemperature ();
    temp = temperatuur; // sla de temperatuurwaarde op in temp variabele
   Serial.print (temp);
   if (temp  = tempMin) && (temp <= tempMax)) // als de temperatuur hoger is dan de minimum temp
   {
       fanSpeed ​​= temp; // kaart (temp, tempMin, tempMax, 0, 100); // de werkelijke snelheid van de ventilator // map (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1,5 * fanSpeed;
       fanLCD = kaart (temp, tempMin, tempMax, 0, 100); // snelheid van de ventilator om weer te geven op LCD100
       analogWrite (fan, fanSpeed); // draai de ventilator op de snelheid van de ventilatorsnelheid
   }
      if (temp> tempMax) // als temp hoger is dan tempMax
     {
     digitalWrite (led, HIGH); // zet led aan
     }
   anders // anders draai van led
     {
     digitalWrite (led, LOW);
     }
      lcd.print ("TEMP:");
   lcd.print (temp); // toon de temperatuur
   lcd.print ("C");
   lcd.setCursor (0,1); // verplaats de cursor naar de volgende regel
   lcd.print ("FANS:");
   lcd.print (fanLCD); // toon de ventilatorsnelheid
   lcd.print ("%");
   vertraging (200);
   lcd.clear ();
 }


Ook kan een schets als bestand worden gedownload hier. De onbekende extensie moet worden gewijzigd in ino.

De volgende foto's tonen de montage van het prototype-apparaat op een breadboard-type bord:









Nadat hij een prototype heeft samengesteld, test de meester het. De temperatuur wordt weergegeven in graden Celsius, de werkelijke spanningswaarde op de ventilator - als een percentage van het maximum.







Het blijft om het circuit te monteren door te solderen en daar de thermostaat deel van te maken zelfgemaaktdie hij zal afkoelen.
8
8
6

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
10 opmerkingen
De auteur
Welnu, aan de onderkant van het bereik kan hysterese worden geïmplementeerd. Het programma enigszins hebben aangepast. En in de rest van het bereik, waar de ventilator nog steeds draait, verandert alleen de snelheid, het is mogelijk zonder hysterese.
Citaat: tormozedison
Hysterese is nodig bij een scherpe aan / uit-belasting. Met een soepele aanpassing van de PWM, zoals hier, is het nutteloos.

Ik ben het er niet mee eens, hysterese is precies nodig op de aan / uit-logica. Zo wordt een ventilator, zelfs bij de laagste snelheid, ingeschakeld bij> 30 graden en uitgeschakeld bij <30. Maar als je je voorstelt dat de temperatuur rond de 30 graden ligt, gaat de ventilator op lage snelheden aan, waarna de temperatuur direct zakt naar 29, stopt de ventilator. Kortom, het blijkt "aftrekken" aan / uit ventilator. Alleen hysterese bespaart hiervan, bijvoorbeeld inschakelen wanneer de temperatuur> 30 is en uitschakelen wanneer <25. Als dit niet gebeurt, heeft Arduino helemaal geen zin, omdat er KY-028 en analogen zijn waarmee je een soepele snelheidsverhoging kunt gebruiken en gewoon aan / uit kunt zetten, en alleen de afwezigheid van hysterese maakt deze modules niet ideaal.
De auteur
Hysterese is nodig bij een scherpe aan / uit-belasting. Met een soepele aanpassing van de PWM, zoals hier, is het nutteloos.

Ik ken de KU208 van eind jaren tachtig. Ik heb KY-028 van jou geleerd, bedankt voor de tip.

Het is niet nodig om een ​​display op deze thermostaat aan te sluiten. Neem in plaats van UNO een goedkope kloon met dezelfde functies. En het zal economisch verantwoord zijn.
2Dem beledig die niet (en je weet dat ik PROFI ben, in elektronica, je wilt het gewoon niet toegeven).
Ik besloot om alle antipathieën op je kamens te resetten naar mijn zelfgemaakte producten. Vandaag is mijn geluksdag en vakantie.
Ik begin je afkeer op nul te zetten ... En kun je je beledigingen intrekken?
Citaat: Ivan_Pokhmelev
Citaat: R555
De idioot spellen de naam KU208 niet eens correct.
Maar hij heeft de naam van de temperatuursensor KY-028 correct gespeld. Wat heeft de KU208 ermee te maken?

Ten eerste, bedankt voor het citeren van de boodschap, was ik erg grappig om te zien dat de "alleskenner" zulke basisdingen niet kent. Ten tweede gaf ik KY-028 als voorbeeld, het is de moeite waard om een ​​aan / uit-schakelaar toe te voegen en we krijgen een efficiëntere thermostaat. En in alle opzichten effectief. Als ik me niet vergis, is er ook geen hysterese bij de minimumtemperatuur. Dit moet namelijk allereerst worden gedaan, anders is er helemaal geen reden om Arduino te gebruiken. Ineffectief materiaalgebruik, ruwweg gesproken, in Chinese Nano met 16k geheugen, ventilatiecontrole in de stookruimte is gebaseerd op temperatuur en vochtigheid, lekkagebescherming door het hele huis (6 sensoren), slimme circulatie van warm water, wassen van het osmosemembraan en het weergeven van het geheel deze informatie wordt weergegeven 1602. En het gebruik van Uno om de ventilator te starten is alleen rationeel als het een les is voor beginners, maar omdat deze 'zelfgemaakte' helemaal geen les is, zijn er veel betere lessen. Wat betekent het dan?
Waarom nutteloos? Dit is natuurlijk geen product, maar een layout, er zitten fouten in het schema, maar het idee heeft bestaansrecht. En over welk scherm heb je het?
Ik zou niet zo categorisch zijn: het apparaat geeft naast de regeling zelf ook de temperatuur weer, wat handig kan zijn. Maar de naam is verkeerd, het is geen thermostaat, maar indeling temperatuurafhankelijke ventilatorsnelheidsregeling.
Citaat: R555
De idioot spellen de naam KU208 niet eens correct.
Maar hij heeft de naam van de temperatuursensor KY-028 correct gespeld. Wat heeft de KU208 ermee te maken?
Bijvoorbeeld, voor KY-028 niet gehoord? Het is onzin om UNO te gebruiken voor zo'n nutteloos vaartuig. Het scherm is bij zo'n implementatie helemaal niet nodig. Al dit afval is als het eerste en belangrijkste mislukte werk van een schooljongen, omdat alles wat fout kan worden gedaan, precies is wat er is gedaan.
Nog een microscoop-spijkerhamer! nea

We raden je aan om te lezen:

Geef het voor de smartphone ...