» elektronikk » Arduino »Termostat for vifte

Termostat for vifte



Viftene som brukes til å kjøle elektronikken kommer i to former. Noen er miniatyr, de sendes direkte til de avkjølte komponentene, andre er større, de fører luft gjennom hele huset. Det er best når begge typer vifter brukes sammen. Ofte "fans" av fans av den andre typen med full kraft, selv om dette ikke er nødvendig. Fra dette slites lageret raskere, og for mye støy forstyrrer brukeren. Den enkleste kontakttermostaten kan slå viften av og på, mens lagerressursen forbrukes bare når motoren er i gang, men det kan være enda mer irriterende å skille ut og forsvinne støy. En mer sofistikert termostat - for eksempel foreslått av forfatteren Instructables under kallenavnet AntoBesline - kontrollerer frekvensen av viftemotoren med en PWM og opprettholder den nødvendige og tilstrekkelige for å oppnå den innstilte temperaturen. Det anbefales å føre luft gjennom husrommet nedenfra og opp og plassere temperatursensoren ovenfra. Du kan også installere filtre for å forhindre at støv kommer inn i kabinettet, men de vil redusere ytelsen.

En temperatur- og fuktighetssensor som DHT11 er egnet bare for termostaten som styrer en andre type vifte, siden den måler temperaturen på luft, og ikke på noen overflate. Støtten er gitt av to biblioteker som er lagt ut her og her. Hvis du trenger å utstyre en vifte av den første typen med en termostat, må du bruke en annen sensor som måler overflatetemperaturen til komponenten som skal avkjøles. Da må programmet gjøres om, og andre vil være påkrevd, fordi sensoren kan avvike både i grensesnittet og strukturen til dataene som er overført til den.

Ved hjelp av følgende illustrasjon viser veiviseren hva PWM er, de fleste lesere vet dette allerede. På grunn av det faktum at utgangstransistoren alltid er helt lukket eller helt åpen, tildeles det alltid veldig lav effekt. Som du vet, er strøm lik produktet av strøm og spenning, og her, når transistoren er lukket, er strømmen veldig liten, og når den er åpen, er spenningsfallet over den liten. En av de to faktorene er alltid liten, noe som betyr at produktet deres også er lite. Nesten all kraften i PWM-kontrolleren går til belastningen, ikke til transistoren.

Termostat for vifte


Mesteren utarbeider et termostatskjema:



Arduino den drives av en 5-volts kilde, viften - fra en 12-volt.Hvis du bruker en 5-volts vifte, kan du gjøre det med en kilde med tilstrekkelig lastekapasitet og mate Arduino gjennom et enkelt LC-filter. En diode koblet parallelt med viften i motsatt retning er nødvendig hvis motoren er en kollektormotor (som i noen moderne USB-vifter). Når du bruker en datamaskinvifte med en Hall-sensor og elektronisk viklingskontroll, er denne dioden valgfri.

Teksten satt sammen av veiviserprogrammet er ganske kort, den er gitt nedenfor:

# inkluder "DHT.h"
#definer dht_apin A1
#include

Liquid Crystal 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 oppsett ()
{
   pinMode (vifte, UTGANG);
   pinMode (ledet, UTGANG);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("Room Temp Based");
   lcd.set Markør (0, 1);
   lcd.print ("Viftehastighet Ctrl");
   forsinkelse (3000);
   lcd.clear ();
}
void loop ()
{
    flyte temperatur;
    temperatur = dht.readTemperature ();
    temp = temperat; // lagre temperaturverdien i temp-variabel
   Serial.print (temp);
   if (temp  = tempMin) && (temp <= tempMax)) // hvis temperaturen er høyere enn minimumstemperaturen
   {
       fanSpeed ​​= temp; // map (temp, tempMin, tempMax, 0, 100); // den faktiske hastigheten på viften // kart (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1,5 * fanSpeed;
       fanLCD = kart (temp, tempMin, tempMax, 0, 100); // viftehastighet som skal vises på LCD100
       analogWrite (vifte, viftehastighet); // vri viften med viftehastighet
   }
      if (temp> tempMax) // hvis temp er høyere enn tempMax
     {
     digitalWrite (ledet, HØYT); // slå på ledet
     }
   ellers // ellers turn of led
     {
     digitalWrite (ledet, LAV);
     }
      lcd.print ("TEMP:");
   lcd.print (temp); // vis temperaturen
   lcd.print ("C");
   lcd.set markør (0,1); // flytt markøren til neste linje
   lcd.print ("FANS:");
   lcd.print (fanLCD); // vis viftehastigheten
   lcd.print ("%");
   forsinkelse (200);
   lcd.clear ();
 }


Dessuten kan en skisse lastes ned som en fil her. Den ukjente utvidelsen må endres til ino.

Følgende bilder viser sammenstillingen av prototypenheten på en brettbrett:









Etter å ha satt sammen en prototype, tester masteren den. Temperaturen vises i grader Celsius, den faktiske spenningsverdien på viften - i prosent av det maksimale.







Det gjenstår å sette sammen kretsen ved å lodde og gjøre termostaten til en del av den hjemmelagetsom han vil avkjøle.
8
8
6

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
10 kommentar
Forfatteren
I den nedre enden av området kan hysterese implementeres. Etter å ha endret programmet litt. Og i resten av rekkevidden, der viften fremdeles roterer, endres bare hastigheten, det er mulig uten hysterese.
Sitat: tormozedison
Hysterese er nødvendig med en skarp avlastning. Med en jevn justering av PWM, som her, er den ubrukelig.

Jeg er ikke enig, hysterese er nødvendig nettopp på av / på-logikken. For eksempel vil en vifte, selv med laveste hastighet, slå seg på> 30 grader og slås av på <30. Men hvis du forestiller deg at temperaturen er rundt 30 grader, slås viften på i lave hastigheter, hvoretter temperaturen umiddelbart synker til 29, stopper viften. Kort fortalt viser det seg å "rykke av" av / på vifte. Bare hysterese sparer fra dette, for eksempel slå på når temperaturen er> 30, og slå av når <25. Hvis dette ikke blir gjort, er det ikke noe poeng i Arduino i det hele tatt, siden det er KY-028 og analoger som lar deg bruke en jevn økning i hastighet, og bare slå av / på, og bare fraværet av hysterese gjør ikke disse modulene ideelle.
Forfatteren
Hysterese er nødvendig med en skarp avlastning. Med en jevn justering av PWM, som her, er den ubrukelig.

Jeg vet om KU208 fra slutten av åttitallet. Jeg lærte om KY-028 fra deg, takk for tipset.

Det er ikke nødvendig å koble et display til denne termostaten. I stedet for UNO, ta en billig klone med de samme funksjonene. Og det vil være økonomisk begrunnet.
2Dem ikke fornærm de (og du vet at jeg er PROFI, innen elektronikk, vil du bare ikke innrømme det).
Jeg bestemte meg for å tilbakestille alle mislike på kamene dine til de hjemmelagde produktene mine. I dag er min heldige dag og ferie.
Jeg begynner å nullstille mislikningene dine ... Og kan du trekke fornærmelsene dine tilbake?
Sitat: Ivan_Pokhmelev
Sitat: R555
Moren stave ikke engang navnet KU208 riktig.
Men han staver riktig navnet på temperatursensoren KY-028. Hva har KU208 å gjøre med det?

For det første, takk for at du siterte meldingen, og jeg var veldig morsom å se at "vet alt" ikke vet så grunnleggende ting. For det andre ga jeg KY-028 som eksempel, det er verdt å legge til en strømbryter og vi får en mer effektiv termostat. Og effektiv i enhver forstand. Hvis jeg ikke tar feil, er det heller ingen hysterese ved minimumstemperatur. Dette skal nemlig gjøres først og fremst, ellers er det ingen grunn til å bruke Arduino i det hele tatt. Ineffektiv bruk av materialer, grovt sett, i kinesisk Nano med 16k minne, er ventilasjonskontrollen i kjelerommet basert på temperatur og fuktighet, lekkasjebeskyttelse i hele huset (6 sensorer), smart varmtvannsirkulasjon, vasking av osmosemembranen og visning av hele denne informasjonen vises 1602. Og å bruke Uno til å starte viften er bare rasjonelt hvis det er en leksjon for nybegynnere, men denne "hjemmelaget" som ingen leksjon i det hele tatt, det er mye bedre leksjoner. Hva er det da?
Hvorfor ubrukelig? Selvfølgelig er dette ikke et produkt, men en layout, det er feil i ordningen, men ideen har en rett til å eksistere. Og hvilken skjerm snakker du om?
Jeg ville ikke være så kategorisk: enheten, i tillegg til selve reguleringen, viser også temperaturen, noe som kan være nyttig. Men navnet er feil, det er ikke en termostat, men layout temperaturavhengig viftehastighetskontroll.
Sitat: R555
Moren stave ikke engang navnet KU208 riktig.
Men han staver riktig navnet på temperatursensoren KY-028. Hva har KU208 å gjøre med det?
For eksempel hørte ikke KY-028? Det er tull å bruke UNO til et så ubrukelig håndverk. Skjermen er ikke nødvendig i det hele tatt i en slik implementering. Alt dette søppelet er som det første og viktigste mislykkede arbeidet til en skolegutt, siden alt som kan gjøres galt er akkurat det som ble gjort.
Nok en mikroskop-spiker-hammer! nea

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...