Spisu treści:

Przekaźnik sterowany temperaturą ESP8266: 9 kroków (ze zdjęciami)
Przekaźnik sterowany temperaturą ESP8266: 9 kroków (ze zdjęciami)

Wideo: Przekaźnik sterowany temperaturą ESP8266: 9 kroków (ze zdjęciami)

Wideo: Przekaźnik sterowany temperaturą ESP8266: 9 kroków (ze zdjęciami)
Wideo: Kopciuch, bufor, Home Assistant, ESP8266 czyli automatyzacja mojej kotłowni 2024, Listopad
Anonim
Image
Image

Mój przyjaciel jest naukowcem, który przeprowadza eksperymenty bardzo wrażliwe na temperaturę i wilgotność powietrza. W pomieszczeniu inkubatora jest mały grzejnik ceramiczny, ale termostat grzejnika nie był wystarczająco dokładny, był w stanie utrzymać temperaturę tylko w granicach 10-15 stopni.

Komercyjne urządzenia rejestrujące temperaturę i wilgotność mogą być dość drogie, a uzyskanie danych z urządzenia może być trudne. Dodatkowo nie mogą kontrolować temperatury, tylko rejestrują dane. Zapytał, jak trudno byłoby zbudować urządzenie, które mogłoby precyzyjnie sterować grzałką za pomocą przekaźnika, jednocześnie rejestrując temperaturę i wilgotność. Brzmiało dość łatwo.

Chwytając ESP8266, przekaźnik, DHT22 i jakąś internetową platformę IoT, ruszamy.

Krok 1: Materiały eksploatacyjne

Ten projekt wykorzystuje garść materiałów eksploatacyjnych, z których wszystkie są dość powszechne i być może masz je już pod ręką. Oto pełna lista tego, czego użyłem, możesz dostosować w razie potrzeby do potrzeb Twojego projektu.

  • ESP8266 ESP-01 (lub podobna płytka ESP8266)
  • Czujnik temperatury i wilgotności DHT-22
  • Zmienny regulator napięcia LM317 (lub standardowy regulator 3.3V byłby łatwiejszy)
  • Przekaźnik wysokoprądowy 5V (zacząłem od 10A, ale zdmuchnąłem go w ciągu 2 dni)
  • Różne rezystory i kondensatory
  • Przewody połączeniowe
  • Standardowe gniazdko elektryczne i osłona
  • Elektryczne pudełko gangów
  • Stara wtyczka USB z adapterem
  • Stara wtyczka elektryczna

Z perspektywy czasu użycie NodeMCU zamiast ESP-01 miałoby znacznie większy sens. Nie miałem wtedy żadnego, więc zadowoliłem się tym, co miałem pod ręką.

Krok 2: Budowa gniazdka

Budowa gniazdek
Budowa gniazdek

Chociaż technicznie zacząłem od mikrokontrolera i kodu, warto najpierw zacząć od gniazdka sieciowego. Do tego projektu użyłem pojedynczej skrzynki, standardowego gniazdka z 2 wtykami i przewodu zasilającego ze starej listwy zasilającej.

Gniazdko elektryczne zostaje połączone z dwoma białymi przewodami połączonymi ze sobą i dwoma przewodami uziemiającymi. Dwa czarne przewody przechodzące przez górną stronę przekaźnika. Upewnij się, że zaciski są dobrze przykręcone i żadna z żył nie będzie się zwierać, położyłem trochę lutowia na przewodach, aby podstawki pozostały razem.

Uważaj na wysokie napięcie i dwukrotnie sprawdź każde połączenie. Dobrym pomysłem jest nałożenie taśmy elektrycznej na płuca z drutu, aby się nie poluzowały

Krok 3: Projekt curciutu

Projekt curciuta
Projekt curciuta
Projekt curciuta
Projekt curciuta

Obwód jest dość prosty, ale jeśli użyjesz ESP-01 tak jak ja, będziesz musiał dodać regulator napięcia, aby uzyskać 3,3 V. Standardowe przekaźniki wymagają 5 V, więc potrzebujesz szyny 3,3 V i 5,0 V.

Mój obwód wykorzystywał regulator napięcia LM317 z zestawem rezystorów, aby uzyskać stałą szynę 3,3 V, podłączyłem USB 5 V do zasilania przekaźnika. Istnieją przekaźniki 3,3 V, ale nie są potrzebne do przekaźników wysokoprądowych, jeśli zamierzasz zasilać mały grzejnik.

DHT22 wymaga rezystora podciągającego 4,7k.

Krok 4: Przylutuj płytkę

Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę
Przylutuj płytkę

Ułóż i przylutuj wszystkie komponenty. Może to być trochę trudne, ale wcześniej zaplanuj ślady za pomocą kawałka papieru milimetrowego.

Użyłem płyty USB do wtyczki zasilania, ale była ona dość słaba i zamiast tego zastąpiłem ją dwoma pinami nagłówka. Użyłem dwóch żeńskich nagłówków na płycie i przylutowałem dwa męskie piny bezpośrednio do starej wtyczki USB. Okazało się to bardziej niezawodne i solidne. Kolory okablowania USB to:

Czarny UziemionyCzerwony 5V

Użyłem również męskich nagłówków, aby odsłonić piny DHT22 i Relay na mojej płycie perfboard, aby połączyć je standardowymi przewodami połączeniowymi.

Upewnij się, że oznaczyłeś każdy styk, zasilanie i złącze uziemienia na wypadek późniejszego odłączenia.

Krok 5: Zamontuj płytkę drukowaną

Zamontuj płytkę drukowaną
Zamontuj płytkę drukowaną
Zamontuj płytkę drukowaną
Zamontuj płytkę drukowaną
Zamontuj płytkę drukowaną
Zamontuj płytkę drukowaną

Z boku puszki zamontuj płytkę drukowaną za pomocą śrub i/lub kleju na gorąco. Upewnij się, że rozmieszczenie jest wykonane tak, aby przewody połączeniowe sięgały do przekaźnika zamontowanego w pudełku i można było łatwo podłączyć złącze zasilania.

Dodaj przewód połączeniowy z termokurczliwym przewodem do czujnika DHT22 o długości odpowiedniej do Twojej sytuacji. Mój miał około 8 cali długości. Zamiast tego użyłem kabla CAT5, aby przewody mogły być lekko wygięte i były wolnostojące.

Krok 6: Kod Arudino

Kod Arudino
Kod Arudino

Kod Arduino używa mojej klasy SensorBase, która jest dostępna na mojej stronie Github. Nie musisz używać mojego kodu SensorBase. Możesz pisać bezpośrednio do serwera MQTT i Thingspeak.

Ten projekt zawiera trzy kluczowe funkcje oprogramowania:

  1. Lokalny serwer WWW do ustawiania i wyświetlania wartości
  2. Zdalny serwer MQTT do wysyłania i przechowywania danych
  3. Pulpit nawigacyjny Thingspeak do wykresów danych

Możesz użyć jednej lub więcej z tych funkcji. Po prostu dostosuj kod w razie potrzeby. To jest konkretny zestaw kodu, którego użyłem. Będziesz musiał dostosować hasła i klucze API.

  • Kod bazowy czujnika na Github.
  • Kod laboratoryjny na Github.

Krok 7: Pulpit nawigacyjny Thingspeak

Pulpit nawigacyjny Thingspeak
Pulpit nawigacyjny Thingspeak
Pulpit nawigacyjny Thingspeak
Pulpit nawigacyjny Thingspeak

Skonfiguruj bezpłatne konto Thingspeak i zdefiniuj nowy pulpit nawigacyjny. Będziesz musiał użyć tej samej kolejności przedmiotów, jak wymieniłem poniżej, nazwy nie mają znaczenia, ale kolejność ma.

Jeśli chcesz dodać lub usunąć elementy, dostosuj parametry Thingspeak w kodzie Arduino. Jest to dość proste i dobrze udokumentowane na ich stronie internetowej.

Krok 8: Konfiguracja CloudMQTT

Konfiguracja CloudMQTT
Konfiguracja CloudMQTT
Konfiguracja CloudMQTT
Konfiguracja CloudMQTT
Konfiguracja CloudMQTT
Konfiguracja CloudMQTT

Dowolna usługa MQTT lub podobna usługa IoT, taka jak Blynk, będzie działać, ale w tym projekcie wybieram CloudMQTT. W przeszłości korzystałem z CloudeMQTT do wielu projektów, a ponieważ ten projekt zostanie przekazany znajomemu, sensowne jest utworzenie nowego konta, które można również przenieść.

Utwórz konto CloudMQTT, a następnie utwórz nową „instancję”, wybierz rozmiar „Cute Cat”, ponieważ używamy go tylko do kontroli, bez logowania. CloudMQTT dostarczy ci nazwę serwera, nazwę użytkownika, hasło i numer portu. (Zauważ, że numer portu nie jest standardowym portem MQTT). Przenieś wszystkie te wartości do kodu ESP8266 w odpowiednich lokalizacjach, upewniając się, że wielkość liter jest poprawna. (poważnie, skopiuj/wklej wartości)

Możesz użyć panelu „Websocket UI” w CloudMQTT, aby zobaczyć połączenia urządzenia, naciśnięcia przycisków i, w dziwnym scenariuszu, gdy pojawi się błąd, komunikat o błędzie.

Będziesz potrzebować tych ustawień również podczas konfigurowania klienta Android MQTT, więc zanotuj wartości, jeśli zajdzie taka potrzeba. Mamy nadzieję, że Twoje hasło nie jest zbyt skomplikowane do wpisania na telefonie. Nie możesz tego ustawić w CloudMQTT.

Krok 9: Testy końcowe

Testy końcowe
Testy końcowe

Teraz musimy przetestować finalne urządzenie.

Zanim cokolwiek przetestujesz, sprawdź dwukrotnie KAŻDY przewód i użyj multimetru w trybie ciągłości, aby prześledzić wszystkie przewody. Upewnij się, że wszystko jest podłączone do miejsca, w którym myślisz, że jest połączone. Ponieważ przekaźnik izoluje wysokie napięcie od niskiego napięcia, nie musisz się martwić o zwarcie mikrokontrolera.

Użyłem prostego testera obwodów elektrycznych, aby sprawdzić, czy wszystko jest prawidłowo podłączone po stronie wysokiego napięcia, a także sprawdził się dobrze, aby przetestować mój przekaźnik.

Dodaj swój ESP2866 do sieci Wi-Fi, łącząc się z urządzeniem za pomocą telefonu lub laptopa. Używa on standardowej biblioteki WifiManager i ma całą niezbędną dokumentację na swojej stronie Github.

Używając żarówki żarowej, umieściłem czujnik DHT22 obok żarówki i podłączyłem lampę do gniazdka. Pozwoliło to na szybkie podgrzanie temperatury, powodując, że przekaźnik wyłączył lampę i powtórzył proces. Było to bardzo pomocne w przetestowaniu wszystkiego, w tym mojego połączenia Wi-Fi.

Twoje urządzenie powinno prawidłowo włączać przekaźnik, gdy temperatura jest zbyt niska i wyłączać go, gdy temperatura osiągnie wysoką wartość. W moich testach udało się utrzymać temperaturę naszej przestrzeni laboratoryjnej w granicach 1 stopnia Celsjusza przez 24 godziny na dobę.

Zalecana: