Innehållsförteckning:

ESP8266 Temperaturstyrt relä: 9 steg (med bilder)
ESP8266 Temperaturstyrt relä: 9 steg (med bilder)

Video: ESP8266 Temperaturstyrt relä: 9 steg (med bilder)

Video: ESP8266 Temperaturstyrt relä: 9 steg (med bilder)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Image
Image

En vän till mig är en forskare som gör experiment som är mycket känsliga för lufttemperatur och luftfuktighet. Inkubatorrummet har en liten keramisk värmare men värmarens termostat var inte så noggrann nog att den bara kunde hålla temperaturen inom 10-15 grader.

Kommersiella enheter som loggar temperatur och luftfuktighet kan vara ganska dyra, och att få data från enheten kan vara svårt. Dessutom kan de inte styra temperaturen, bara logga data. Han frågade hur svårt det skulle vara att bygga en enhet som exakt kunde styra värmaren genom ett relä samtidigt som temperaturen och luftfuktigheten loggas. Det lät lätt nog.

Skaffa en ESP8266, relä, DHT22 och en online IoT -plattform är vi på väg.

Steg 1: Tillbehör

Detta projekt använder en handfull förnödenheter, som alla är ganska vanliga och du kanske redan har dem till hands idag. Här är en fullständig lista över vad jag använde, justera gärna efter behov för att möta dina projektbehov.

  • ESP8266 ESP-01 (eller liknande ESP8266-kort)
  • DHT-22 Temperatur- och luftfuktighetssensor
  • LM317 variabel spänningsregulator (eller en vanlig 3.3V regulator skulle vara enklare)
  • 5V högströmrelä (jag började med en 10A men blåste ut det inom 2 dagar)
  • Olika motstånd och kondensatorer
  • Bygelkablar
  • Standard eluttag och lock
  • Elektrisk gänglåda
  • Gammal USB -kontakt med adapter
  • Gammal elkontakt

I efterhand hade det varit mycket mer meningsfullt att använda en NodeMCU istället för ESP-01. Jag hade ingen på den tiden så jag nöjde mig med det jag hade till hands.

Steg 2: Outlet Construction

Outlet Construction
Outlet Construction

Medan jag tekniskt började med mikrokontrollen och koden, är det meningsfullt att börja med nätuttaget först. För detta projekt använde jag en enstaka låda, ett standarduttag med två kontakter och nätsladden från en gammal eluttag.

Eluttaget kopplas ihop med de två vita trådarna sammanfogade och de två jordledningarna sammanfogade. De två svarta trådarna går genom reläets högsida. Se till att skruvarna skruvas ner ordentligt och ingen av trådarna kommer att kortas ut, jag lägger lite löd på trådarna så att stativen höll ihop.

Var försiktig med högspänningen och dubbelkontrollera varje anslutning. Det är en bra idé att sätta tejp på dina trådlungor så att de inte vickar loss

Steg 3: Curciut Design

Curciut Design
Curciut Design
Curciut Design
Curciut Design

Kretsen är ganska enkel men om du använder ESP-01 som jag gjorde måste du lägga till en spänningsregulator för att få en 3,3V. Standardreläer kräver 5V så att du behöver en 3,3V och 5,0V skena.

Min krets använde en LM317 spänningsregulator med en uppsättning motstånd för att få en konstant 3,3V skena, jag knackade på USB 5V för att driva reläet. Det finns 3,3V-reläer men inte för högströmreläer som behövs om du ska driva en liten rymdvärmare.

DHT22 kräver ett 4,7k uppdragningsmotstånd.

Steg 4: Löd styrelsen

Löd styrelsen
Löd styrelsen
Löd styrelsen
Löd styrelsen
Löd styrelsen
Löd styrelsen
Löd styrelsen
Löd styrelsen

Layout och löd alla komponenter. Detta kan vara lite knepigt, men förplanera spåren med en bit grafpapper hjälper.

Jag använde ett USB -kort för en strömkontakt men det var ganska svagt och ersatte det med två huvudstift istället. Jag använde två kvinnliga rubriker på brädet och lödde två stift för han-huvud direkt till en gammal USB-kontakt. Detta visade sig vara mer pålitligt och gediget. USB -kabelfärgerna är:

Black Ground Röd 5V

Jag använde också manliga rubriker för att avslöja DHT22- och Relay -stiften på min perfboard för att ansluta dem med vanliga bygelkablar.

Se till att du märker varje stift, ström och jordkontakt om den kopplas ur senare.

Steg 5: Montera kretskortet

Montera kretskortet
Montera kretskortet
Montera kretskortet
Montera kretskortet
Montera kretskortet
Montera kretskortet

Montera kretskortet på sidan av gänglådan med skruvar och/eller varmlim. Se till att placeringen är gjord så att bygelkablarna når runt till ditt relä som är monterat inuti lådan, och du kan enkelt ansluta din strömkontakt.

Lägg till en bygelkabel med värmekrympning till din DHT22 -sensor med lämplig längd för din situation. Min var ca 8 tum lång. Jag använde någon CAT5-kabel istället för att ledningarna skulle kunna böjas något och vara fristående.

Steg 6: Arudino -kod

Arudino -koden
Arudino -koden

Arduino -koden använder min SensorBase -klass, som är tillgänglig på min Github -sida. Du behöver inte använda min SensorBase -kod. Du kan skriva direkt till MQTT -servern och Thingspeak.

Detta projekt har tre viktiga programvarufunktioner:

  1. En lokal webbserver för att ställa in och visa värden
  2. Fjärrstyrd MQTT -server för att skicka och lagra data
  3. Thingspeak -instrumentbräda för grafer av data

Du kan använda en eller flera av dessa funktioner. Justera bara koden efter behov. Detta är den specifika uppsättning kod jag använde. Du måste justera lösenord och API -nycklar.

  • Sensor-baskod på Github.
  • Labkod på Github.

Steg 7: Dashboard för Thingspeak

Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard

Skapa ett gratis Thingspeak -konto och definiera en ny instrumentpanel. Du måste använda samma ordning på objekten som jag har listat nedan, namnen spelar ingen roll, men beställningen gör det.

Om du vill lägga till eller ta bort objekt, justera Thingspeak -parametrarna i Arduino -koden. Det är ganska enkelt och väl dokumenterat på deras webbplats.

Steg 8: CloudMQTT -installation

CloudMQTT -installation
CloudMQTT -installation
CloudMQTT -installation
CloudMQTT -installation
CloudMQTT -installation
CloudMQTT -installation

Varje MQTT -tjänst eller liknande IoT -tjänst som Blynk skulle fungera, men jag väljer att använda CloudMQTT för detta projekt. Jag har använt CloudeMQTT för många projekt tidigare, och eftersom det här projektet kommer att överlämnas till en vän är det vettigt att skapa ett nytt konto som också kan överföras.

Skapa ett CloudMQTT -konto och skapa sedan en ny "instans", välj "Cute Cat" -storlek eftersom vi bara använder det för kontroll, ingen loggning. CloudMQTT ger dig ett servernamn, användarnamn, lösenord och portnummer. (Observera att portnumret inte är standard MQTT -port). Överför alla dessa värden till din ESP8266 -kod på motsvarande platser, se till att fallet är korrekt. (seriöst, kopiera/klistra in värdena)

Du kan använda "Websocket UI" -panelen på CloudMQTT för att se enhetens anslutningar, knapptryckningar och, i det udda scenariot, att du får ett fel, ett felmeddelande.

Du kommer att behöva dessa inställningar när du konfigurerar Android MQTT -klienten också, så notera värdena om du behöver det. Förhoppningsvis är ditt lösenord inte för komplicerat att skriva in på din telefon. Du kan inte ställa in det i CloudMQTT.

Steg 9: Slutprovning

Slutprovning
Slutprovning

Nu måste vi testa den sista enheten.

Innan du testar något, dubbelkolla VARJE kabel och använd din multimeter i kontinuitetsläge för att spåra alla ledningar. Se till att allt är kopplat till där du tror att det är anslutet. Eftersom reläet isolerar högspänningen från lågspänningen behöver du inte oroa dig för att kortsluta din mikrokontroller.

Jag använde en enkel elektriker kretsprovare för att verifiera att allt var korrekt anslutet på högspänningssidan, och det fungerade också bra att testa mitt relä.

Lägg till din ESP2866 i ditt wifi -nätverk genom att ansluta till enheten via din telefon eller bärbara dator. Detta använder standard WifiManager -bibliotek, och han har all nödvändig dokumentation på sin Github -sida.

Med en glödlampa placerade jag min DHT22 -sensor bredvid lampan och kopplade lampan till uttaget. Detta gjorde att temperaturen snabbt kunde värmas upp, vilket fick reläet att stänga av lampan och upprepa processen. Detta var till stor hjälp för att testa allt, inklusive min wifi-anslutning.

Din enhet ska slå på reläet ordentligt när temperaturen är för låg och stänga av det när temperaturen når det höga värdet. I mina tester har detta kunnat hålla vår labbtemperatur inom 1 grad Celcius 24/timmar om dagen.

Rekommenderad: