Inhoudsopgave:
- Stap 1: Constructie - Microcontroller en sensorbedrading
- Stap 2: Constructie - Ventilatorstuurprogramma's
- Stap 3: Programmeer NodeMCU en initiële configuratie
- Stap 4: Alles met elkaar verbinden
- Stap 5: Installatie
- Stap 6: Samenvatting
Video: HVAC voor wortelkelder - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Dit is een apparaat voor het bewaken van temperatuur en vochtigheid in een koude kelder met twee kamers. Het regelt ook twee ventilatoren in elke kamer die lucht van buiten naar elke kamer laten circuleren, en communiceert met een slimme schakelaar in elke kamer die is aangesloten op een ultrasone mister. Het doel is om de temperatuur en vochtigheid in de kamer te regelen, idealiter om de temperatuur onder de 5C te houden en de luchtvochtigheid ongeveer 90%
Het apparaat gebruikt een ESP8266-microcontroller om de temperatuur- en vochtigheidssensoren uit te lezen, de ventilatoren aan te sturen en de informatie via het lokale netwerk in een webpagina te presenteren.
Dit instructable zal niet in detail treden omdat:
- Ik vergat foto's te maken terwijl ik het bouwde, en het is nu geïnstalleerd bij het huis van de klant!
- Uw situatie zal anders zijn. Dit is bedoeld als referentieontwerp, niet om exact te worden gedupliceerd.
Benodigdheden:
De onderdelen die ik heb gebruikt zijn:
- NodeMCU 1.0 ESP8266-microcontroller. Elke ESP8266 zal werken, zolang deze voldoende vrije digitale invoer- en uitvoerpinnen heeft voor uw ontwerp. Het is niet triviaal om erachter te komen hoeveel pinnen vrij zijn, sommige zijn zichtbaar, maar worden gebruikt tijdens het opstarten of seriële verzending.
- prototype bord
- draden, connectoren
- vrouwelijke header-aansluiting om ESP8266 vast te houden en sensorconnectoren te maken
- DHT22 temperatuur- en vochtigheidssensoren
- DS18B20 temperatuursensor voor buitengebruik
- gedeconstrueerde CAT5-bekabeling voor sensorbedrading
- 690 ohm weerstanden om de FET-poortstroom te beperken
- 10K-weerstanden om de DHT22-datalijn op te trekken
- 2.2K-weerstand om de DS18B20-datalijn op te trekken
- IRLU024NPBF HEXFET-stroomstuurprogramma's
- San Ace 80 48VDC-ventilatoren
- MeanWell 48VDC 75 watt voeding voor ventilatoren
- gekannibaliseerde 5v telefoonoplader om ESP8266 en sensoren van stroom te voorzien
- diverse diodes over ventilator om terug EMF te voorkomen (misschien P6KE6 TVS?)
Als je aanvullende links naar een van deze wilt, reageer dan en ik zal ze toevoegen.
Stap 1: Constructie - Microcontroller en sensorbedrading
De schakeling is gebouwd op een prototypebord, waarbij soortgelijke technieken worden gevolgd.
- Lay-out de componenten op het prototyping-bord om eenvoudige bedrading in de volgende stap mogelijk te maken. Ik liet niet genoeg ruimte rond de MOSFET-stuurprogramma's en de bedrading werd een beetje krap.
- Soldeer de vrouwelijke headers op hun plaats door ze op de NodeMCU aan te sluiten als een mal om een paar pinnen vast te maken. Verwijder vervolgens de NodeMCU en werk alle pinnen af. Ik heb alleen sockets op de pinnen gebruikt die worden gebruikt voor stroom en invoer / uitvoer. Dit hielp ervoor te zorgen dat het apparaat elke keer in de juiste richting werd aangesloten.
- Soldeer een mannelijke connector aan de 5VDC voeding.
- Soldeer een bijpassende vrouwelijke connector op het bord in de buurt van de ESP8266 Vin en aardingspinnen, en soldeer vervolgens dunne aansluitdraad tussen connector 5VDC en aarde aan de bijpassende socketpinnen. Overweeg om deze connector zo te plaatsen dat deze in de weg zit van de USB-poort van de NodeMCU. U wilt de NodeMCU NIET tegelijkertijd van deze voeding en USB voorzien. Als u de connector op een onhandige locatie plaatst, wordt het moeilijker voor u om dit per ongeluk te doen.
- Soldeer 3-pins mannelijke headers in de buurt van de ESP8266 D1-, D2- en D3-pinnen. Laat voldoende ruimte over voor de pullup-weerstanden en alle aansluitkabels.
- Construeer bijpassende connectoren van vrouwelijke headers voor de sensoraansluitingen. Ik gebruikte 4 pin-lengtes, met één pin verwijderd om de sensoren te sluiten zodat ze verkeerd konden worden aangesloten. Ik heb de 3.3V voeding en massa op pin 1 en 4 van elke connector gezet, en data op pin 2. Het zou beter zijn om 3.3V en massa naast elkaar te zetten en data op pin 4, dus als een sensor achterstevoren was aangesloten, geen schade zou worden aangericht.
- Soldeer de pullup-weerstanden tussen 3,3 V en datalijnen voor elke sensor. De DHT22 gebruikt een pullup van 10K en de DS18B20 (bij 3,3V) houdt van een pullup van 2,2K.
- Soldeer de aansluitdraad tussen de aardingspennen van elke connector en een aardingspen van de NodeMCU-aansluiting.
- Soldeer aansluitdraad tussen de 3.3V-pinnen van elke connector en 3.3-pins van de NodeMCU.
- Soldeer aansluitdraad van de datapin van een DHT22-connector naar pin D1 van de NodeMCU-socket
- Soldeer aansluitdraad van de data pin van de andere DHT22 connector naar pin D2 van de socket
- Soldeer de aansluitdraad van de datapin van de DS18B20-connector naar pin D3.
- Meet vanaf de geplande installatielocaties van de sensor tot waar het apparaat zal zijn.
- Construeer kabelbomen van geschikte lengte. Ik doe dit door een stuk CAT 5 ethernetkabel uit elkaar te halen, 3 van de draden in de boorkop van een boormachine te plaatsen en ze in elkaar te draaien. Dit geeft de nieuwe sensorkabel enige mechanische sterkte tegen knikken en draadbreuk.
- Soldeer de sensor aan het ene uiteinde van de draad en een vrouwelijke header aan het andere. Wees voorzichtig met de pintoewijzing. Breng ook aan elk uiteinde wat trekontlasting aan, bijvoorbeeld siliconenkit, epoxy of hete lijm. Siliconenkitten is waarschijnlijk het beste - hete lijm kan vocht opnemen en epoxy kan in de connector komen.
Stap 2: Constructie - Ventilatorstuurprogramma's
Dit ontwerp maakt om twee redenen gebruik van 48 volt-ventilatoren:
- ze waren beschikbaar en leken van hogere kwaliteit / efficiënter te zijn dan de meer gebruikelijke 12V-fans in onze rommelhoop
- ze gebruiken minder stroom dan ventilatoren met een lager voltage, dus de draden kunnen dunner zijn
Ventilatoren met een lager voltage kunnen een betere keuze zijn in uw ontwerp.
In dit gedeelte wordt nogal wat gedetailleerd beschreven over het construeren van het stuurcircuit met behulp van een 3 volt digitale uitgang van de NodeMCU om een 48 volt-ventilator van stroom te voorzien. Afgezien van de software is dit gedeelte het meest unieke onderdeel van het apparaat. U kunt er baat bij hebben om het circuit in eerste instantie op een breadboard te bouwen.
- Ga naar de andere kant van de NodeMCU-aansluiting en bepaal een locatie voor de binnenkomende 48V-voedingsconnector. Het moet naast de plaats zijn waar de voeding wordt gemonteerd en een grondrail op het prototyping-bord. Soldeer nog niet op zijn plaats.
- Bekijk het bovenstaande schema om te begrijpen hoe u al deze componenten gaat aansluiten.
- Plaats de vier weerstanden van 690 ohm in de buurt van pinnen D5, D6, D7 en D8. Soldeer ze nog niet vast.
- Plaats de vier transistors in het prototypebord.
- Plaats de vier klemdiodes in het prototypebord. Lijn voor elke diode de anode uit met de afvoer van de transistor en de kathode zodat een draad ervan een duidelijk pad naar de 48V-voedingsrail heeft.
- Vier connectoren voor de ventilatoren, de positieve (+) connector naar de 48V-rail en de negatieve (-) naar de bron van de FET en de diode-anode
- Pas nu al die locaties aan totdat alles goed geplaatst is en er ruimte is om alle aansluitdraden te laten lopen.
- Soldeer de eerste van de vier drivercircuits op hun plaats. Het is oké als de anderen eruit vallen als je het bord omdraait. De volgende stappen zijn gericht op een van de aandrijfcircuits. Als het eenmaal functioneel is, kun je naar de anderen gaan.
-
Gebruik de aansluitdraad of de draden van de componenten om één ventilatorstuurcircuit te solderen:
- het ene uiteinde van de poortstroombegrenzingsweerstand naar pinnen D5 van de Node MCU
- het andere uiteinde van de weerstand naar de poort van de FET
- de afvoer van de FET naar aarde
- de bron van de FET naar de anode van de diode en de negatieve van de ventilatorconnector
-
Controleer de aansluitingen met behulp van een multimeter. Controleer of alle verbindingen geen weerstand hebben, maar controleer vooral of er geen kortsluitingen zijn:
- GEEN nulweerstand tussen de 3 pinnen van de FET
- GEEN nulweerstand over de ventilatorconnector van negatief naar positief, en nulweerstand van positief naar negatief, wat aangeeft dat de diode werkt.
- Open circuit van elke FET-pin naar 48V
- Controleer het circuit op een andere manier.
- Sluit de 5V-voeding aan op het prototypebord.
- Verbind de min van je multimeter met aarde.
- Sluit de 5V-voeding aan. Controleer of er 5 volt op de Vin-pin staat
- Sluit de 48V voeding en een ventilator aan. Deze ventilatoren hebben wat opstartkoppel, dus houd deze vast met een klem. Het kan beginnen wanneer u het circuit van stroom voorziet.
- Steek tijdelijk het ene uiteinde van een stuk aansluitdraad in de aansluiting voor pin D5. Aard de pin door het andere uiteinde van de draad in de aardpin te steken. Als de ventilator draaide, zou deze moeten stoppen, omdat u de FET hebt uitgeschakeld.
- Verplaats de draad van massa naar VIN. De ventilator zou moeten starten.
- Vier je succes, schakel de stroom uit en voltooi en test de resterende ventilatoraansturingscircuits. Ze worden aangedreven door respectievelijk pinnen D6, D7 en D8.
Stap 3: Programmeer NodeMCU en initiële configuratie
-
Download de bijgevoegde Sketch-bestanden in een nieuw Arduino-project, compileer en laad in de NodeMCU.
het tweede pagehtml.h-bestand bevat javascript in de vorm van een enorme reeks die zich in het ESP8266-geheugen bevindt en de server is met de webpagina
- Sluit de NodeMCU NIET aan vanaf het bord. Koppel de 5V-voeding los van het prototypebord.
- Koppel 48V los van het moederbord.
- Steek de NodeMCU in het stopcontact, sluit uw USB-kabel aan en flash de NodeMCU
- Open de Arduino seriële monitor op 115200 baud.
- Gebruik een smartphone, laptop of tablet om verbinding te maken met het RootCellarMon-netwerk dat zou moeten verschijnen als de NodeMCU als een wifi-toegangspunt. Wachtwoord is "opensesam". Ik gebruik de handige IOTWebConf-bibliotheek om de configuratie van de SSID en het wachtwoord van uw netwerk toe te staan.
- Ga vervolgens met een webbrowser op uw apparaat naar http:192.168.4.1. U zou een pagina moeten zien zoals hierboven weergegeven, maar met fouten van de sensoren. Klik onderaan op de configuratielink.
-
Doorloop het configuratiescherm om de SSID en het wachtwoord van uw netwerkparameters in te stellen en klik vervolgens op TOEPASSEN. Maak opnieuw verbinding met uw normale wifi-netwerk. Je zou zoiets als dit moeten zien op de Arduino seriële monitor:
Wachtwoord is niet ingesteld in configuratie
Status gewijzigd van: 0 naar 1 AP instellen: RootCellarMon Met standaard wachtwoord: AP IP-adres: 192.168.4.1 Status gewijzigd van: 0 naar 1 Verbinding met AP. Verbinding verbroken met AP. Verzoek om doorverwezen te worden naar 192.168.4.1 Aangevraagde niet-bestaande pagina '/favicon.ico' argumenten(GET):0 Configuratiepagina aangevraagd. Rendering van 'iwcThingName' met waarde: RootCellarMon Rendering van 'iwcApPassword' met waarde: Rendering van 'iwcWifiSsid' met waarde: uw SSID Rendering van 'iwcWifiPassword' met waarde: Rendering van 'iwcApTimeout' met waarde: 30 Rendering van 'tasmota1' met waarde: Rendering met waarde: Rendering separator Rendering separator Formulier valideren. Configuratie bijwerken Waarde van arg 'iwcThingName' is:RootCellarMon iwcThingName='RootCellarMon' Waarde van arg 'iwcApPassword' is:opensesame iwcApPassword is ingesteld Waarde van arg 'iwcWifiSsid' is:uw SSID iwcWifiSsidad=':uw wifi-wachtwoord iwcWifiPassword is ingesteld Waarde van arg 'iwcApTimeout' is:30 iwcApTimeout='30' Waarde van arg 'tasmota1' is: tasmota1='' Waarde van arg 'tasmota2' is: tasmota2='' Configuratie opslaan ' iwcThingName'= 'RootCellarMon' Bewarende config 'iwcApPassword'= Bewarende config 'iwcWifiSsid'= 'uw SSID' Bewarende config 'iwcWifiPassword'= Bewarende config 'iwcApTimeout'= '30' Bewarende config 'tasmota1'= '' Bewarende config 'tasmota2' = '' Configuratie is bijgewerkt. Status verandert van: 1 naar 3 Verbinding maken met [uw SSID] (wachtwoord is verborgen) Status veranderd van: 1 naar 3 WiFi-verbonden IP-adres: 192.168.0.155 Status verandert van: 3 naar 4 Verbinding accepteren Status gewijzigd van: 3 naar 4
- Noteer het IP-adres dat aan uw apparaat is toegewezen. Hierboven is het 192.168.0.155.
- Sluit uw laptop/tablet/telefoon opnieuw aan op uw normale netwerk als dat nog niet het geval is.
- Blader naar het nieuwe adres van het apparaat, 192.168.1.155 in mijn geval. U zou de hoofdpagina opnieuw moeten zien.
Stap 4: Alles met elkaar verbinden
- Koppel de USB-kabel los.
- Sluit 5 volt stroom aan. En ververs de webpagina. U zou de hartslag regelmatig moeten zien toenemen.
- De LED op de ESP8266 zou elke 5 seconden moeten knipperen terwijl deze de sensoren leest.
- Sluit de sensoren aan en u zou metingen moeten beginnen te krijgen. Oorspronkelijk had ik een DHT22 buiten, maar vond deze onbetrouwbaar, dus stapte ik over op de eenvoudigere en beter beschermde DS18B20.
- Als je problemen hebt met metingen, kun je de 5V-stroom loskoppelen, de NodeMCU van stroom voorzien via USB en voorbeeldschetsen laden voor elke sensor om het probleem op te lossen. Het is bijna altijd een slechte draad.
- Sluit 48V voeding en de ventilatoren aan. Klik op de ventilatorbedieningsknoppen.
- Bouw twee op Tasmota gebaseerde slimme schakelaars. Ik gebruikte Sonoff Basic-schakelaars. Er zijn tutorials over hoe je ze kunt flashen met Tasmota elders, inclusief Arendst's eigen pagina.
- Raadpleeg de klantenlijst van uw router en identificeer de IP-adressen die aan elke slimme schakelaar zijn toegewezen. Stel deze adressen in als gereserveerd, zodat de switches altijd hetzelfde adres krijgen.
- Probeer bijvoorbeeld de slimme schakelaars rechtstreeks te bedienen
192.168.0.149/cm?cmnd=Power%20ONhttps://192.168.0.149/cm?cmnd=Power%20OFF
- Klik op Configureren onderaan de hoofdpagina en stel de adressen voor de slimme schakelaars in zoals weergegeven in de schermafbeelding hierboven. Alleen het IP-adres, de rest van de URL is ingebouwd in de software die op de ESP8266 draait. Mogelijk hebt u user:password of "admin":"opensesame", of wat u ook het wachtwoord heeft gewijzigd, nodig om toegang te krijgen tot de configuratiepagina.
- De fans misschien overbodig. Natuurlijke convectie kan voldoende zijn. De aanzuig- en uitblaasroosters zijn respectievelijk bij de vloer en het plafond geplaatst, zodat warme lucht wordt afgevoerd en koude lucht wordt aangevoerd.
- Zorg ervoor dat wifi in de root-kelder in orde is voordat u het project start. In ons geval moesten we een wifi-extender installeren in de kamer boven de wortelkelder.
- Als wifi niet goed is, kan een bekabeld of ander radiofrequentieontwerp nodig zijn.
- Verf het bord waarop de componenten zijn gemonteerd, of gebruik plastic of iets dat minder onderhevig is aan vocht.
- Vier ventilatoren die draaien verbruiken ongeveer 60 watt, de voeding is waarschijnlijk 80% efficiënt. Dus verwarming in de behuizing is maximaal 20% * 60 of 12 watt. Oververhitting zou geen probleem moeten zijn, vooral in een koude wortelkelder. Als uw koffer luchtdicht is, wilt u misschien wat ventilatiegaten boren.
- Er zijn projecten die omgevingssensoren toevoegen aan op Tasmota gebaseerde slimme stekkers. Een daarvan zou een goed alternatief kunnen zijn voor deze toepassing.
Stap 5: Installatie
Ik heb de onderdelen van het apparaat op een klein stukje triplex gemonteerd, met het deksel van een plastic voedselcontainer tussen het triplex en het deksel. Deze opstelling werd aan de wand van de wortelkelder geschroefd. Omdat het deksel een beetje van de muur af is, kan het lichaam van de voedselcontainer eenvoudig worden vastgeklikt om een beschermhoes te bieden. Alle bekabeling wordt door het vaste deksel naar de printplaat geleid.
De sensoren en ventilatorbedrading zijn losjes aan de muren bevestigd, aangezien toekomstige werkzaamheden in de wortelkelder gepland zijn - mogelijk gepleisterde muren en extra planken.
Stap 6: Samenvatting
Dit is een experiment, dus we weten niet welke delen van het systeem uiteindelijk zullen blijken.
Enkele eerste opmerkingen over hoe u succes gemakkelijker kunt maken:
Aanbevolen:
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: 8 stappen
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: deze instructable legt uit hoe u uw eigen externe Bluetooth-compatibele GPS voor uw telefoon kunt maken, wat dan ook voor ongeveer $ 10. Materiaallijst: NEO 6M U-blox GPSHC-05 bluetooth-module Kennis van interface Blutooth Low energy-modulesArdui
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Systeem voor het bewaken van de luchtkwaliteit voor fijnstofverontreiniging: 4 stappen
Systeem voor monitoring van luchtkwaliteit voor fijnstofverontreiniging: INTRO: 1 In dit project laat ik zien hoe ik een deeltjesdetector bouw met dataweergave, databack-up op SD-kaart en IOT. Visueel geeft een neopixels ringdisplay de luchtkwaliteit aan. 2 Luchtkwaliteit is een steeds belangrijker zorg t
Relaisbord voor Arduino voor minder dan $8: 5 stappen
Relaisbord voor Arduino voor minder dan $8.: Hallo vrienden, vandaag ga ik je vertellen hoe je een relaisbord voor Arduino maakt voor minder dan $8. In dit circuit gaan we geen IC of transistor gebruiken. Dus laten we het doen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): 4 stappen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): TL;DR: Knip op de sensor het spoor naar de Echo-pin en sluit het opnieuw aan met een spanningsdeler (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND). Bewerken: Er is enige discussie geweest over de vraag of de ESP8266 daadwerkelijk 5V-tolerant is op GPIO in