- Materiaal vereist
- Schakelschema
- Relais:
- Temperatuur berekenen met behulp van thermistor:
- Arduino-code
- Werking van een temperatuurgestuurd huisautomatiseringssysteem:
Stel dat u in een kamer zit en het koud heeft en u wilt dat uw verwarming automatisch wordt ingeschakeld en na enige tijd weer uit als de kamertemperatuur wordt verhoogd, dan helpt dit project u om uw huishoudelijke apparaten automatisch te regelen op basis van de temperatuur. Hier regelen we Home AC-apparaten met Arduino op basis van de temperatuur. Hier hebben we Thermistor gebruikt om de temperatuur af te lezen. We hebben Thermistor al met Arduino verbonden en de temperatuur op het LCD-scherm weergegeven.
In deze tutorial zullen we een AC-apparaat met relais aansluiten en een temperatuurgestuurd domoticasysteem maken met Arduino. Het toont ook de temperatuur en de apparaatstatus op het 16 * 2 LCD-scherm dat op het circuit is aangesloten.
Materiaal vereist
- Arduino UNO
- Relais (5v)
- 16 * 2 LCD-scherm
- Gloeilamp (CFL)
- NTC thermistor 10k
- Draden aansluiten
- Weerstanden (1k en 10k ohm)
- Potentiometer (10k)
Schakelschema
Dit op temperatuur gebaseerde huisautomatiseringssysteem bestaat uit verschillende componenten, zoals een Arduino-bord, LCD-scherm, relais en thermistor. De werking hangt voornamelijk af van het relais en de thermistor, aangezien de temperatuur stijgt, wordt het relais ingeschakeld en als de temperatuur daalt tot onder de vooraf ingestelde waarde, wordt het relais uitgeschakeld. Het huishoudelijke apparaat dat is aangesloten op het relais, wordt ook overeenkomstig in- en uitgeschakeld. Hier hebben we een CFL-lamp gebruikt als AC-apparaat. Het hele activatieproces en de instelling van de temperatuurwaarde wordt uitgevoerd door het geprogrammeerde Arduino-bord. Het geeft ons ook details over de temperatuurverandering in elke halve seconde en de apparaatstatus op het LCD-scherm.
Relais:
Relais is een elektromagnetische schakelaar, die wordt bestuurd door een kleine stroom, en wordt gebruikt om relatief veel grotere stroom AAN en UIT te schakelen. Door een kleine stroom toe te passen, kunnen we het relais inschakelen waardoor een veel grotere stroom kan stromen. Een relais is een goed voorbeeld van het besturen van AC-apparaten (wisselstroom) met een veel kleinere gelijkstroom. Veelgebruikt relais is Single Pole Double Throw (SPDT) relais, het heeft vijf terminals, zoals hieronder:
Als er geen spanning op de spoel staat, is COM (gemeenschappelijk) verbonden met NC (normaal gesloten contact). Wanneer er wat spanning op de spoel wordt toegepast, wordt het geproduceerde elektromagnetische veld, dat het anker aantrekt (hendel verbonden met de veer), en COM en NO (normaal open contact) verbonden, waardoor een grotere stroom kan vloeien. Relais zijn verkrijgbaar in vele classificaties, hier hebben we een 5V-bedrijfsspanningsrelais gebruikt, waardoor 7A-250VAC-stroom kan vloeien.
Het relais is geconfigureerd met behulp van een klein stuurcircuit dat bestaat uit een transistor, diode en een weerstand. Transistor wordt gebruikt om de stroom te versterken, zodat de volledige stroom (van de DC-bron - 9v-batterij) door een spoel kan stromen om deze volledig van energie te voorzien. De weerstand wordt gebruikt om de transistor voor te spannen. En Diode wordt gebruikt om tegenstroom te voorkomen, wanneer de transistor is uitgeschakeld. Elke inductorspoel produceert gelijke en tegengestelde EMK wanneer deze plotseling wordt uitgeschakeld, dit kan permanente schade aan componenten veroorzaken, dus moet een diode worden gebruikt om tegenstroom te voorkomen. Een relaismodule is gemakkelijk verkrijgbaar in de markt met al zijn stuurcircuits op het bord of u kunt het maken door bovenstaande componenten te gebruiken. Hier hebben we 5V Relaismodule gebruikt
Temperatuur berekenen met behulp van thermistor:
We weten van het spanningsdelercircuit dat:
V uit = (V in * Rt) / (R + Rt)
Dus de waarde van Rt zal zijn:
Rt = R (Vin / Vout) - 1
Hier is Rt de weerstand van de thermistor (Rt) en R is een weerstand van 10k ohm.
Deze vergelijking wordt gebruikt voor de berekening van thermistorweerstand uit de gemeten waarde van uitgangsspanning Vo. We kunnen de waarde van Voltage Vout krijgen van de ADC-waarde op pin A0 van Arduino, zoals weergegeven in de onderstaande Arduino-code.
Berekening van de temperatuur op basis van de thermistorweerstand
Wiskundig gezien kan de thermistorweerstand alleen worden berekend met behulp van de Stein-Hart-vergelijking.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Waar, A, B en C de constanten zijn, is Rt de thermistorweerstand en staat ln voor log.
De constante waarde voor de thermistor die in het project wordt gebruikt, is A = 1,009249522 x 10 −3, B = 2,378405444 x 10 −4, C = 2,019202697 x 10 −7. Deze constante waarden kunnen hier uit de calculator worden verkregen door de drie weerstandswaarden van de thermistor bij drie verschillende temperaturen in te voeren. U kunt deze constante waarden rechtstreeks uit het gegevensblad van de thermistor halen of u kunt drie weerstandswaarden bij verschillende temperatuur krijgen en de constantenwaarden krijgen met behulp van de gegeven rekenmachine.
Dus voor het berekenen van de temperatuur hebben we alleen de waarde van de thermistorweerstand nodig. Nadat je de waarde van Rt uit de bovenstaande berekening hebt gehaald, zet je de waarden in de Stein-hart-vergelijking en krijgen we de waarde van de temperatuur in de eenheid Kelvin. Omdat er een kleine verandering in de uitgangsspanning is, verandert de temperatuur.
Arduino-code
De volledige Arduino-code voor deze temperatuurgestuurde huishoudelijke apparaten vindt u aan het einde van dit artikel. Hier hebben we enkele delen ervan uitgelegd.
Voor het uitvoeren van wiskundige bewerkingen gebruiken we het koptekstbestand “#include
# omvatten
Voor het instellen van het relais (als een uitgang) en het LCD-scherm op het moment van starten moeten we code schrijven in het lege setup- gedeelte
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Voor de berekening van de temperatuur met de Stein-Hart-vergelijking met behulp van de elektrische weerstand van de thermistor voeren we een eenvoudige wiskundige vergelijking in code uit, zoals uitgelegd in de bovenstaande berekening:
zweven a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; zweven T, logRt, Tf, Tc; zwevende Thermistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1,0 / (a + b * logRt + c * logRt * logRt * logRt)); // We krijgen de temperatuurwaarde in Kelvin uit deze Stein-Hart-vergelijking Tc = T - 273,15; // Converteer Kelvin naar Celsius Tf = (Tc * 1.8) + 32.0; // Converteer Kelvin naar Fahrenheit en geef T terug; }
In de onderstaande code leest de functiethermistor de waarde van de analoge pin van de Arduino en drukt de temperatuurwaarde af door de wiskundige bewerking uit te voeren
lcd.print ((Thermistor (analogRead (0))));
En die waarde wordt genomen door de thermistorfunctie en dan begint de berekening met afdrukken
vlotterthermistor (int Vo)
We moeten de code schrijven voor de toestand van het in- en uitschakelen van het licht op basis van de temperatuur, terwijl we de temperatuurwaarde instellen, alsof als de temperatuur meer dan 28 graden Celsius stijgt, de lichten AAN gaan of als de lichten minder blijven uit. Dus als de temperatuur boven de 28 graden komt, moeten we de RELAY Pin (PIN 8) hoog maken om de Relaismodule AAN te zetten. En als de temperatuur onder de 28 graden komt, moeten we de RELAY-pin laag maken om de relaismodule uit te schakelen.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Lichtstatus: AAN"), vertraging (500); anders if (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Lichtstatus: UIT"), vertraging (500);
Werking van een temperatuurgestuurd huisautomatiseringssysteem:
Om de Arduino van stroom te voorzien, kunt u deze via USB op uw laptop aansluiten of een 12v-adapter aansluiten. Een LCD is gekoppeld aan Arduino om temperatuurwaarden weer te geven, Thermistor en Relais zijn aangesloten volgens het schakelschema. De analoge pin (A0) wordt gebruikt om de spanning van de thermistorpin op elk moment te controleren en na de berekening met de Stein-Hart-vergelijking via de Arduino-code, kunnen we de temperatuur krijgen en deze op het LCD-scherm weergeven in de graden Celsius en Fahrenheit.
Naarmate de temperatuur meer dan 28 graden Celsius stijgt, maakt Arduino de relaismodule ingeschakeld door de pin 8 HOOG te maken (waar de relaismodule is aangesloten) wanneer de temperatuur onder de 28 graden daalt, schakelt Arduino de relaismodule uit door de pin LAAG te maken. CFL-lamp wordt ook in- en uitgeschakeld volgens de relaismodule.
Dit systeem kan erg handig zijn in het project met temperatuurgestuurde ventilator en automatische AC-temperatuurregelaar.
Bekijk ook onze vele soorten huisautomatiseringsprojecten met verschillende technologieën en microcontrollers zoals: