Arduino temperatuurgestuurde DC-ventilatorcircuits

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In dit artikel gaan we een aantal eenvoudige Arduino-gebaseerde automatische temperatuurgestuurde gelijkstroomventilatorcircuits construeren die een ventilator of andere erop aangesloten gadgets inschakelen wanneer de omgevingstemperatuur een vooraf bepaald drempelniveau bereikt. We gaan de DHT11-sensor en Arduino gebruiken voor dit project.

Overzicht

Het mooie van microcontrollers is dat we zeer nauwkeurige controle krijgen over de randapparatuur die erop is aangesloten. In dit project hoeft de gebruiker alleen de drempeltemperatuur in het programma in te voeren, de microcontroller zorgt voor de rest van de functie.



Er zijn talloze niet-microcontroller-gebaseerde automatische temperatuurregelaarprojecten beschikbaar op internet, zoals het gebruik van comparatoren en transistors.

Ze zijn heel eenvoudig en ze werken goed, maar het probleem doet zich voor bij het kalibreren van het drempelniveau met behulp van een vooraf ingestelde weerstand of potentiometer.



We hebben een blind idee tijdens het kalibreren en de gebruiker moet mogelijk een methode van vallen en opstaan ​​uitvoeren om de goede plek te vinden.

Deze problemen worden overwonnen door microcontrollers, de gebruiker hoeft in dit project alleen de temperatuur in Celsius in te voeren, dus kalibratie is niet nodig.

Dit project kan worden gebruikt waar de interne temperatuur van het circuit moet worden gestabiliseerd of om oververhitting te voorkomen.

In diagram 1 sluiten we een CPU-ventilator aan als uitgang. Deze opstelling kan worden gebruikt om de interne omgevingstemperatuur van een gesloten circuit te regelen.

Als de drempeltemperatuur is bereikt, gaat de ventilator aan. Als de temperatuur onder de drempeltemperatuur komt, wordt de ventilator uitgeschakeld. Het is dus eigenlijk een geautomatiseerd proces.

In diagram 2 hebben we een relais aangesloten voor het aansturen van apparaten die op netspanning werken, zoals een tafelventilator.

Wanneer de kamertemperatuur de drempelwaarde bereikt, wordt de ventilator ingeschakeld en uitgeschakeld wanneer de kamer afkoelt.

Dit is misschien wel de beste manier om energie te besparen en dit kan de hemel zijn voor luie mensen die willen dat anderen de ventilator AAN zetten als ze het warm hebben.

Schakelschema met een DC-ventilatorregeling

DC-ventilatorregeling voor automatische temperatuurregeling

Deze opstelling kan worden ingezet voor circuits die zijn ingesloten in een doos. De LED gaat AAN wanneer het vooraf ingestelde drempelniveau is bereikt en zet ook de ventilator AAN.

Een relais aansluiten voor het aansturen van grotere ventilatoren

Relaisschakelaar ventilatorregeling met Arduino temperatuursensor

Dit circuit heeft dezelfde functie als het vorige circuit, nu is de ventilator vervangen door een relais.

Dit circuit kan een tafelventilator of plafondventilator of een ander gadget besturen dat de omgevingstemperatuur kan verlagen.

Het aangesloten apparaat wordt uitgeschakeld zodra de temperatuur onder het vooraf ingestelde drempelniveau komt.

Het hier geïllustreerde schakelschema van de gelijkstroomventilator met temperatuurregeling zijn slechts enkele van de vele mogelijkheden. U kunt het circuit en het programma naar eigen wens aanpassen.

OPMERKING 1: #Pin 7 wordt uitgevoerd.

OPMERKING 2: Dit programma is alleen compatibel met de DHT11-sensor.

Programmeer voor het hierboven beschreven automatische temperatuurregelaarcircuit met Arduino:

Programmacode

Opmerking: in het programma

int th = 30 // stel de drempeltemperatuur in Celsius in.

Vervang '30' door de gewenste waarde.

Tweede ontwerp

Het tweede temperatuurgestuurde DC-ventilatorcircuitproject dat hieronder wordt besproken, detecteert automatisch de omgevingstemperatuur en past de snelheid van de ventilatormotor aan om de omgevingstemperatuur onder controle te houden. Deze automatische verwerking gebeurt via een Arduino en een temperatuursensor IC LM35.

Door:Ankit Negi

ONS DOEL:

1). Zodra de temperatuur van de omgeving boven de 25 graden Celsius stijgt (u kunt deze waarde in het programma aanpassen aan uw behoefte, uitgelegd in het werkgedeelte), begint de motor te lopen.

2). En met elke graad van temperatuurstijging neemt ook de motorsnelheid toe.

3). Motor draait op topsnelheid zodra de temperatuur stijgt tot 40 graden Celsius (deze waarde kan in het programma worden gewijzigd).

TEMPERATUURSENSOR LM35:

Om de hierboven genoemde taak te bereiken, gaan we temp gebruiken. Sensor LM35 zoals deze op grote schaal wordt gebruikt en gemakkelijk verkrijgbaar is.

LM35 heeft 3 pinnen zoals je kunt zien in figuur.

LM35 IC-pinout

1. Vin-- deze pin is aangesloten op een gelijkstroomvoeding tussen 4 en 20 v.
2. Vout - deze pin geeft output in de vorm van spanning.
3. GND - deze pin is verbonden met de GND-aansluiting van het circuit.

LM35, wanneer aangesloten op de voeding, detecteert het temperatuur van de omgeving en zendt een gelijkwaardige spanning in overeenstemming met de temperatuurstijging per graad via de uitgangspen.

LM35 kan elke temperatuur detecteren. tussen -50 graden tot +150 graden Celsius en verhoogt de output met 10 millivolt met 1 graad temperatuurstijging. De maximale spanning die het kan leveren als output is 1,5 volt.

WAAROM ARDUINO VOOR DIT DC FAN CONTROLLER-PROJECT?

Arduino is nodig om de ontvangen analoge waarde van de outputpin van LM35 te veranderen in digitale waarde en stuurt de corresponderende digitale output (PWM) naar de basis van mosfet.

We zullen ook gebruiken arduino-opdrachten om de temperatuur af te drukken, overeenkomstige analoge waarde en digitale output naar mosfet op seriële monitor van ARDUINO IDE.

WAT IS DE ROL VAN POWER MOSFET?

Dit circuit heeft geen zin als het geen motor met hoge stroom kan laten draaien. Om dergelijke motoren te laten draaien, wordt mosfet gebruikt.

WAAROM DIODE WORDT GEBRUIKT?

Diode wordt gebruikt om de mosfet te beschermen tegen de achterkant E.M.F gegenereerd door de motor tijdens het hardlopen.

ONDERDELENLIJST VOOR HET PROJECT:

1. LM35

2. ARDUINO

3. VOEDINGS-MOSFET (IRF1010E)

STROOM-MOSFET (IRF1010E)

4. DIODE (1N4007)

DIODE (1N4007)

5. VENTILATOR (motor)

6. VOEDING VENTILATOR

SCHAKELSCHEMA:

Arduino temperatuurafhankelijke DC-ventilatorregeling

Maak de aansluitingen zoals aangegeven in het schakelschema.

a) Verbind de vin-pin van lm358 met 5v van arduino
b) Verbind de vout-pin van lm358 met A0 van arduino
c) Verbind de aardingspin van lm358 met de GND van arduino
d) Verbind de basis van de mosfet met PWM-pin 10 van de Arduino

CODE:

WERKEN (code begrijpen):

EEN). VARIABELE X-

Dit is gewoon de analoge waarde die wordt ontvangen door pin nr. A0 van de outputpin van LM35.

B). VARIABELE EN-

Alleen door deze variabele draait onze ventilatormotor in overeenstemming met de bijbehorende temperatuur. Wat deze variabele doet, is dat het de analoge waarde, d.w.z. variabele x, verandert in de overeenkomstige temperatuur van de omgeving.

Y = (500 * x) / 1023
1. De eerste analoge waarde moet worden gewijzigd in de overeenkomstige spanning, d.w.z.
1023: 5v
Vandaar (5000 millivolt * x) / 1023 V
2. Nu weten we dat voor elke graad stijging van de temperatuur de corresponderende spanningsoutput met 10 mv toeneemt, d.w.z.
1 graad Celsius: 10 millivolt
Vandaar dat (5000 millivolt * x) / (1023 * 10) GRADEN

C). VARIABELE Z-

z = kaart (x, 0, 1023, 0,255)
deze variabele verandert de analoge waarde in digitale waarde voor pwm-uitvoer op pin 10.

NOTITIE :: We weten dat lm35 maximaal 1,5 volt kan leveren en dat ook wanneer temp. Is 150 graden. wat niet praktisch is.

Dit betekent dat we voor 40 graden Celsius 0,40 volt krijgen en voor 25 graden 0,25 volt. Omdat deze waarden erg laag zijn voor een goede pwm op mosfet, moeten we deze met een factor vermenigvuldigen.

Daarom vermenigvuldigen we het met 10 en geven in plaats daarvan deze waarde als analoge uitvoer aan PWM-pin 10, d.w.z.

** analogWrite (10, z * 10)

Nu, voor 0,25 volt krijgt mosfet 0,25 * 10 = 2,5 volt

Voor 0,40 volt krijgt mosfet 0,40 * 10 = 4 volt waarbij de motor bijna op volle toeren draait

GEVAL 1. Wanneer temp. Is minder dan 25 graden

In dit geval stuurt arduino 0 PWM-spanning naar pin 10 zoals in de laatste regel code

** anders
{analogWrite (10,0) // in elk ander geval moet PWM op pin 10 0 zijn

Omdat de pwm-spanning op de basis van de mosfet 0 is, blijft deze uitgeschakeld en wordt de motor losgekoppeld van het circuit.

Zie in dit geval een gesimuleerd circuit.

Arduino fan control simulatie

Zoals je kunt zien is de temperatuur dus 20 graden

Analoge waarde = 41
Temperatuur = 20
Toegewezen waarde = 100

Maar aangezien de temperatuur minder is dan 25 graden, krijgt mosfet daarom 0 volt, zoals weergegeven in figuur (aangegeven door een blauwe stip).
GEVAL 2. Wanneer temp. Is groter dan 25 graden

Wanneer de temperatuur 25 graden bereikt, wordt, zoals gespecificeerd in de code, het pwm-signaal naar de basis van mosfet gestuurd en met elke graad temperatuurstijging neemt deze PWM-spanning ook toe, d.w.z.

Zie in dit geval een gesimuleerd circuit.

Zoals je kunt zien als de temperatuur stijgt van 20 graden naar helemaal tot 40 graden, veranderen alle drie de waarden en bij 40 graden Celsius

Analoge waarde = 82
Temperatuur = 40
Toegewezen waarde = 200

Omdat de temperatuur groter is dan 25 graden, krijgt mosfet de bijbehorende PWM-spanning zoals weergegeven in figuur (aangegeven door een rode stip).

Daarom begint de motor te draaien bij 25 graden en met een overeenkomstige stijging van de temperatuur per graad neemt de pwm-spanning van pin 10 naar de basis van mosfet ook toe. Daarom neemt het motortoerental lineair toe met de temperatuurstijging en wordt het bijna maximaal voor 40 graden Celsius.

Als u nog vragen heeft over het hierboven beschreven automatisch temperatuurgestuurde gelijkstroomventilatorcircuit met behulp van ventilator en Arduino, kunt u altijd het opmerkingenveld hieronder gebruiken en uw mening naar ons sturen. We zullen proberen zo snel mogelijk terug te komen.




Een paar: Eenvoudig koelkastbeschermingscircuit Volgende: Een UPS-circuit (Uninterruptible Power Supply) ontwerpen