Inhoudsopgave:

ESP8266 temperatuurgestuurd relais - Ajarnpa
ESP8266 temperatuurgestuurd relais - Ajarnpa

Video: ESP8266 temperatuurgestuurd relais - Ajarnpa

Video: ESP8266 temperatuurgestuurd relais - Ajarnpa
Video: DIY Temperature and Humidity Monitoring | Temperature sensor | Humidity sensor | ESP8266 2024, November
Anonim
Image
Image

Een vriend van mij is een wetenschapper die experimenten doet die erg gevoelig zijn voor luchttemperatuur en vochtigheid. De incubatorruimte heeft een kleine keramische kachel, maar de thermostaat van de kachel was lang niet nauwkeurig genoeg en kon de temperatuur slechts binnen 10-15 graden houden.

Commerciële apparaten die temperatuur en vochtigheid registreren, kunnen behoorlijk duur zijn en het kan moeilijk zijn om de gegevens van het apparaat te krijgen. Bovendien kunnen ze de temperatuur niet regelen, alleen de gegevens loggen. Hij vroeg hoe moeilijk het zou zijn om een apparaat te bouwen dat de verwarming nauwkeurig kan regelen via een relais terwijl de temperatuur en vochtigheid worden geregistreerd. Klonk gemakkelijk genoeg.

We pakken een ESP8266, relais, DHT22 en een of ander online IoT-platform, we zijn vertrokken.

Stap 1: Benodigdheden

Dit project maakt gebruik van een handvol benodigdheden, die allemaal vrij gebruikelijk zijn en je hebt ze misschien al bij de hand. Hier is een volledige lijst van wat ik heb gebruikt, voel je vrij om aan te passen als dat nodig is om aan je projectbehoeften te voldoen.

  • ESP8266 ESP-01 (of vergelijkbaar ESP8266-bord)
  • DHT-22 Temperatuur- en vochtigheidssensor
  • LM317 variabele spanningsregelaar (of een standaard 3.3V regelaar zou makkelijker zijn)
  • 5V hoogstroomrelais (ik begon met een 10A maar blies deze binnen 2 dagen uit)
  • Diverse weerstanden en condensatoren
  • Doorverbindingsdraden
  • Standaard stopcontact en deksel
  • Elektrische bendedoos
  • Oude USB-stekker met adapter
  • Oude stekker

Achteraf gezien zou het gebruik van een NodeMCU in plaats van de ESP-01 veel logischer zijn geweest. Ik had er op dat moment geen, dus ik deed het met wat ik bij de hand had.

Stap 2: Uitlaatconstructie

Uitlaatconstructie
Uitlaatconstructie

Hoewel ik technisch ben begonnen met de microcontroller en code, is het logisch om eerst met het stopcontact te beginnen. Voor dit project heb ik een enkele gangbox, een standaard 2-stekkerstopcontact en het netsnoer van een oude stekkerdoos gebruikt.

Het stopcontact wordt bedraad met de twee witte draden met elkaar verbonden en de twee aarddraden met elkaar verbonden. De twee zwarte draden gaan door de hoge kant van het relais. Zorg ervoor dat je de terminals goed vastschroeft en geen van de strengen gaat kortsluiten, ik heb een beetje soldeer op de draden gedaan zodat de standaards bij elkaar bleven.

Wees voorzichtig met de hoogspanning en controleer elke verbinding dubbel. Het is een goed idee om elektrische tape op uw draadlongen te plakken, zodat ze niet los kunnen wippen

Stap 3: Curciut-ontwerp

Curciut-ontwerp
Curciut-ontwerp
Curciut-ontwerp
Curciut-ontwerp

Het circuit is vrij eenvoudig, maar als je de ESP-01 gebruikt zoals ik deed, moet je een spanningsregelaar toevoegen om een 3.3V te krijgen. Standaard relais hebben 5V nodig, dus je hebt een 3.3V en 5.0V rail nodig.

Mijn circuit gebruikte een LM317-spanningsregelaar met een set weerstanden om een constante 3,3V-rail te krijgen, ik tikte op de USB 5V om het relais van stroom te voorzien. Er zijn 3,3V-relais, maar niet voor hogestroomrelais die nodig zijn als u een kleine ruimteverwarming gaat voeden.

De DHT22 vereist een 4,7k pull-up weerstand.

Stap 4: Soldeer het bord

Soldeer het bord
Soldeer het bord
Soldeer het bord
Soldeer het bord
Soldeer het bord
Soldeer het bord
Soldeer het bord
Soldeer het bord

Lay-out en soldeer alle componenten. Dit kan een beetje lastig zijn, maar het zal helpen om de sporen vooraf te plannen met een stuk ruitjespapier.

Ik gebruikte een USB-bord voor een stekker, maar het was behoorlijk zwak en verving het in plaats daarvan door twee header-pinnen. Ik heb twee vrouwelijke headers op het bord gebruikt en twee mannelijke header-pinnen rechtstreeks op een oude USB-stekker gesoldeerd. Dit bleek betrouwbaarder en solide te zijn. De kleuren van de USB-bedrading zijn:

Zwart AardeRood 5V

Ik heb ook mannelijke headers gebruikt om de DHT22- en Relay-pinnen op mijn perfboard bloot te leggen om ze te verbinden met standaard jumperdraden.

Zorg ervoor dat u elke pin, voedings- en aardingsconnector labelt voor het geval deze later wordt losgekoppeld.

Stap 5: Monteer de printplaat

Monteer de printplaat
Monteer de printplaat
Monteer de printplaat
Monteer de printplaat
Monteer de printplaat
Monteer de printplaat

Monteer aan de zijkant van de gangbox de printplaat met schroeven en/of lijm. Zorg ervoor dat de plaatsing zo is gemaakt dat de jumperdraden reiken naar uw relais dat in de doos is gemonteerd, en dat u eenvoudig uw stroomconnector kunt aansluiten.

Voeg een jumperdraad met krimpkous toe aan uw DHT22-sensor met de juiste lengte voor uw situatie. De mijne was ongeveer 8 centimeter lang. Ik heb in plaats daarvan een CAT5-kabel gebruikt, zodat de kabels lichtjes op hun plaats konden worden gebogen en vrijstaand zouden zijn.

Stap 6: Arudino-code

Arudino-code
Arudino-code

De Arduino-code gebruikt mijn SensorBase-klasse, die beschikbaar is op mijn Github-pagina. U hoeft mijn SensorBase-code niet te gebruiken. U kunt rechtstreeks naar de MQTT-server en Thingspeak schrijven.

Dit project bevat drie belangrijke softwarefuncties:

  1. Een lokale webserver om waarden in te stellen en te bekijken
  2. Externe MQTT-server om gegevens te verzenden en op te slaan
  3. Thingspeak-dashboard voor grafische gegevens

U kunt een of meer van deze functies gebruiken. Pas de code zo nodig aan. Dit is de specifieke set code die ik heb gebruikt. U moet wachtwoorden en API-sleutels aanpassen.

  • Sensor-basiscode op Github.
  • Labcode op Github.

Stap 7: Thingspeak-dashboard

Thingspeak-dashboard
Thingspeak-dashboard
Thingspeak-dashboard
Thingspeak-dashboard

Maak een gratis Thingspeak-account aan en definieer een nieuw dashboard. U moet dezelfde volgorde van de items gebruiken als ik hieronder heb vermeld, de namen doen er niet toe, maar de volgorde wel.

Als je items wilt toevoegen of verwijderen, pas dan de Thingspeak-parameters in de Arduino-code aan. Het is vrij eenvoudig en goed gedocumenteerd op hun website.

Stap 8: CloudMQTT-installatie

CloudMQTT-configuratie
CloudMQTT-configuratie
CloudMQTT-configuratie
CloudMQTT-configuratie
CloudMQTT-configuratie
CloudMQTT-configuratie

Elke MQTT-service, of vergelijkbare IoT-service zoals Blynk, zou werken, maar ik kies ervoor om CloudMQTT te gebruiken voor dit project. Ik heb CloudeMQTT in het verleden voor veel projecten gebruikt en aangezien dit project aan een vriend zal worden overgedragen, is het logisch om een nieuw account aan te maken dat ook kan worden overgedragen.

Maak een CloudMQTT-account aan en maak vervolgens een nieuwe "instantie", kies de grootte "Cute Cat", aangezien we deze alleen gebruiken voor controle, geen logboekregistratie. CloudMQTT zal u voorzien van een servernaam, gebruikersnaam, wachtwoord en poortnummer. (Merk op dat het poortnummer niet de standaard MQTT-poort is). Breng al deze waarden over naar uw ESP8266-code op de overeenkomstige locaties, en zorg ervoor dat de zaak correct is. (serieus, kopieer/plak de waarden)

U kunt het "Websocket UI"-paneel op CloudMQTT gebruiken om de verbindingen van uw apparaat te zien, op de knop te drukken en, in het oneven scenario, dat u een foutmelding krijgt, een foutmelding.

U ZULT deze instellingen ook nodig hebben bij het configureren van de Android MQTT-client, dus noteer de waarden indien nodig. Hopelijk is je wachtwoord niet te ingewikkeld om in te typen op je telefoon. U kunt dat niet instellen in CloudMQTT.

Stap 9: Laatste testen

Laatste testen
Laatste testen

Nu moeten we het laatste apparaat testen.

Voordat u iets test, controleert u ELKE draad nogmaals en gebruikt u uw multimeter in continuïteitsmodus om alle draden te traceren. Zorg ervoor dat alles is aangesloten op de plek waar u denkt dat het is aangesloten. Omdat het relais de hoogspanning van de laagspanning isoleert, hoef je je geen zorgen te maken over het kortsluiten van je microcontroller.

Ik gebruikte een eenvoudige circuittester voor elektriciens om te controleren of alles goed was aangesloten aan de hoogspanningszijde, en het werkte ook goed om mijn relais te testen.

Voeg uw ESP2866 toe aan uw wifi-netwerk door verbinding te maken met het apparaat via uw telefoon of laptop. Deze gebruikt de standaard WifiManager-bibliotheek en hij heeft alle benodigde documentatie op zijn Github-pagina.

Met behulp van een gloeilamp plaatste ik mijn DHT22-sensor naast de lamp en stak de lamp in het stopcontact. Hierdoor kon de temperatuur snel opwarmen, waardoor het relais de lamp uitschakelde en het proces herhaalde. Dit was erg handig om alles te testen, ook mijn wifi-verbinding.

Uw apparaat moet het relais correct inschakelen wanneer de temperatuur te laag is en het uitschakelen zodra de temperatuur de hoge waarde bereikt. Bij mijn testen heeft dit de temperatuur van onze laboratoriumruimte 24/uur per dag binnen 1 graad Celsius kunnen houden.

Aanbevolen: