» elektronik » Arduino »Termostat til ventilator

Termostat til ventilator



Ventilatorerne, der plejede at køle elektronikken, findes i to former. Nogle er miniature, de sendes direkte til de afkølede komponenter, andre er større, de fører luft gennem hele huset. Det er bedst, når begge typer fans bruges sammen. Ofte "træsere" fans af den anden type ved fuld styrke, selvom dette ikke er nødvendigt. Fra dette slides lejet hurtigere, og for meget støj forstyrrer brugeren. Den enkleste kontakttermostat kan tænde og slukke ventilatoren, mens lagerressourcen kun forbruges, når motoren kører, men skarpt optræden og forsvindende støj kan være endnu mere irriterende. En mere sofistikeret termostat - for eksempel foreslået af forfatteren Instructables under kaldenavnet AntoBesline - styrer frekvensen af ​​ventilatormotoren med en PWM og opretholder den nødvendige og tilstrækkelige til at opnå den indstillede temperatur. Det tilrådes at køre luft gennem kabinettet nedenfra og op og placere temperatursensoren ovenfra. Du kan også installere filtre for at forhindre støv i at komme ind i kabinettet, men de reducerer ydelsen.

En temperatur- og fugtighedsføler af DHT11-typen er egnet bare til termostaten, der styrer en anden type ventilator, da den måler temperaturen på luft og ikke på nogen overflade. Dets støtte ydes af to biblioteker, der er anlagt her og her. Hvis du har brug for at udstyre en ventilator af den første type med en termostat, bliver du nødt til at bruge en anden sensor, der måler overfladetemperaturen på den komponent, der skal køles. Programmet skal derefter gøres om, og bibliotekerne har brug for andre, fordi sensoren kan afvige både i grænsefladen og strukturen af ​​de data, der sendes til det.

Ved hjælp af følgende illustration viser guiden, hvad PWM er, de fleste læsere ved det allerede. På grund af det faktum, at udgangstransistoren altid enten er helt lukket eller helt åben, tildeles der altid meget lav effekt. Som du ved er strømmen lig med produktet fra strøm og spænding, og her, med transistoren lukket, er strømmen meget lille, og med den åbne transistor er spændingsfaldet over det lille. En af de to faktorer er altid lille, hvilket betyder, at deres produkt også er lille. Næsten al magt i PWM-controller går til belastningen, ikke til transistoren.

Termostat til ventilator


Skibsføreren udarbejder et termostatdiagram:



Arduino den drives af en 5-volt kilde, ventilatoren - fra en 12-volt.Hvis du bruger en 5-volt ventilator, kan du gøre med en kilde med tilstrækkelig belastningskapacitet, der fører Arduino gennem et simpelt LC-filter. En diode, der er forbundet parallelt med ventilatoren i den modsatte retning, er nødvendig, hvis motoren er en kollektormotor (som i nogle moderne USB-blæsere). Når du bruger en computerventilator med en Hall-sensor og elektronisk viklingskontrol, er denne diode valgfri.

Teksten til programmet udarbejdet af guiden er ret kort, det er angivet nedenfor:

# inkluder "DHT.h"
#definér dht_apin A1
#include

Flydende krystal lcd (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;
ugyldig opsætning ()
{
   pinMode (ventilator, OUTPUT);
   pinMode (led, OUTPUT);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("Room Temp Based");
   lcd.set markør (0, 1);
   lcd.print ("Fan hastighed Ctrl");
   forsinkelse (3000);
   lcd.clear ();
}
void loop ()
{
    flyde temperatur;
    temperatur = dht.readTemperature ();
    temp = temperat; // Gem temperaturværdien i temp-variabel
   Serial.print (temp);
   if (temp  = tempMin) && (temp <= tempMax)) // hvis temperaturen er højere end minimumstemp
   {
       fanSpeed ​​= temp; // map (temp, tempMin, tempMax, 0, 100); // den faktiske hastighed på ventilator // kort (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1,5 * fanSpeed;
       fanLCD = kort (temp, tempMin, tempMax, 0, 100); // ventilatorens hastighed til at vises på LCD100
       analogWrite (ventilator, fanSpeed); // drej ventilatoren med fanhastighed
   }
      if (temp> tempMax) // hvis temp er højere end tempMax
     {
     digitalWrite (ledet, HØJT); // tænd for ledning
     }
   ellers // ellers drejning af led
     {
     digitalWrite (ledet, lavt);
     }
      lcd.print ("TEMP:");
   lcd.print (temp); // Vis temperaturen
   lcd.print ("C");
   lcd.set markør (0,1); // flyt markøren til næste linje
   lcd.print ("FANS:");
   lcd.print (fanLCD); // vis blæserhastigheden
   lcd.print ("%");
   forsinkelse (200);
   lcd.clear ();
 }


En skitse kan også downloades som en fil her. Den ukendte udvidelse skal ændres til ino.

De følgende fotos viser samlingen af ​​prototypenheden på et brædbræt type bord:









Efter at have samlet en prototype, tester masteren den. Temperaturen vises i grader Celsius, den aktuelle spændingsværdi på blæseren - i procent af det maksimale.







Det gjenstår at samle kredsløbet ved lodning og gøre termostaten til en del af det hjemmelavetsom han vil køle af.
8
8
6

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt
10 kommentar
Forfatteren
I den nedre ende af intervallet kan hysterese implementeres. Efter at have ændret programmet lidt. Og i resten af ​​rækkevidden, hvor ventilatoren stadig roterer, ændres kun hastigheden, det er muligt uden hysterese.
Citat: tormozedison
Hysterese er nødvendig med en skarp on-off belastning. Med en jævn justering af PWM, som her, er det nytteløst.

Jeg er ikke enig, hysterese er nødt til netop i on / off-logikken. For eksempel tænder en blæser, selv ved den laveste hastighed, ved> 30 grader og slukkes ved <30. Men hvis du forestiller dig, at temperaturen er omkring 30 grader, tænder ventilatoren ved lave hastigheder, hvorefter temperaturen straks falder til 29, standser blæseren. Kort sagt viser det sig at "rykke ud" til / fra-ventilator. Bare hysterese gemmer fra dette, tænd for eksempel, når temperaturen er> 30, og sluk når <25. Hvis dette ikke gøres, er der overhovedet ingen mening i Arduino, da der er KY-028 og analoger, der giver dig mulighed for at bruge en jævn stigning i hastighed og bare tænde / slukke, og kun fraværet af hysterese gør ikke disse moduler ideelle.
Forfatteren
Hysterese er nødvendig med en skarp on-off belastning. Med en jævn justering af PWM, som her, er det nytteløst.

Jeg ved om KU208 fra slutningen af ​​firserne. Jeg lærte om KY-028 fra dig, tak for tipset.

Det er ikke nødvendigt at tilslutte et display til denne termostat. I stedet for UNO skal du tage en billig klon med de samme funktioner. Og det vil være økonomisk berettiget.
2Dem fornærm ikke dem (og du ved, at jeg er PROFI, inden for elektronik, du vil bare ikke indrømme det).
Jeg besluttede at nulstille alle kunne ikke lide på dine kamener til mine hjemmelavede produkter. I dag er min heldige dag og ferie.
Jeg begynder at nulstille dine utilpasninger ... Og kan du trække dine fornærmelser tilbage?
Citat: Ivan_Pokhmelev
Citat: R555
Moren stave ikke engang navnet KU208 korrekt.
Men han stave korrekt navnet på temperatursensoren KY-028. Hvad har KU208 at gøre med det?

For det første, tak for at have citeret beskeden, var jeg meget sjov at se, at "kender det hele" ikke kender sådanne grundlæggende ting. For det andet gav jeg KY-028 som et eksempel, det er værd at tilføje en strømafbryder, og vi får en mere effektiv termostat. Og effektiv i enhver forstand. Hvis jeg ikke tager fejl, er der heller ingen hysterese ved minimumstemperaturen. Dette skal navnlig gøres først, ellers er der ingen grund til at bruge Arduino overhovedet. Ineffektiv anvendelse af materialer groft set i kinesisk Nano med 16k hukommelse er ventilationsstyring i kedelrummet baseret på temperatur og fugtighed, lækagebeskyttelse i hele huset (6 sensorer), smart varmt vandcirkulation, skylning af osmosemembranen og visningen af ​​hele denne information vises 1602. Og at bruge Uno til at starte fanen er rationel kun, hvis dette er en lektion for begyndere, men denne "hjemmelavede" som ingen lektion overhovedet, der er meget bedre lektioner. Hvad er det da?
Hvorfor ubrugelig? Dette er selvfølgelig ikke et produkt, men et layout, der er fejl i ordningen, men ideen har en ret til at eksistere. Og hvilken skærm taler du om?
Jeg ville ikke være så kategorisk: enheden ud over selve reguleringen viser også temperaturen, hvilket kan være nyttigt. Men navnet er forkert, det er ikke en termostat, men layout temperaturafhængig ventilatorhastighedskontrol.
Citat: R555
Moren stave ikke engang navnet KU208 korrekt.
Men han stave korrekt navnet på temperatursensoren KY-028. Hvad har KU208 at gøre med det?
For eksempel hørte KY-028 ikke? Det er noget at bruge UNO til et sådant nytteløst håndværk. Skærmen er overhovedet ikke nødvendig i en sådan implementering. Alt dette affald er som det første og vigtigste mislykkede arbejde fra en skoledreng, da alt, hvad der kunne gøres forkert, er nøjagtigt hvad der blev gjort.
En anden mikroskop-negle-hammer! nea

Vi råder dig til at læse:

Giv den til smartphonen ...