Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT

ghost666 02 Maj 2017 11:01 5559 9
  • Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT
    W poniższym poradniku omówimy krok po kroku jak skonstruować przemysłowy system monitorowania i logowania danych, w naszym przypadku będzie to temperatura i prąd (moc). Dane będą przechowywane w chmurze, wykorzystującej infrastrukturę Amazona (AWS IoT) i wyświetlane na module Hornbill IO. Samo urządzenie wykorzystywać będzie WiFi do komunikacji z chmura.

    Do pomiaru temperatury wykorzystano układ MX6675, a sensor UHDC SC-013-050 pozwala na pomiar prądu zmiennego w celu szacowania zużytej energii elektrycznej. Dane dotyczące zużycia prądu jak i temperatury logowane są poprzez bibliotekę Hornbill AWS IoT. Dane te mogą następnie zostać wykorzystanie do oceny pracy urządzenia, zliczania zużytej energii czy badania zależności zużywanej energii od temperatury otoczenia. Dzięki pomiarowi temperatury możliwe jest także badanie ogólnego stanu technicznego danego urządzenia etc.

    Autor projektu wykorzystał system do monitorowania stanu wiertarki stołowej, jednakże jego zastosowania są niemalże nieograniczone i można wykorzystać go do monitorowania dowolnego urządzenia elektrycznego.

    Wstępne informacje odnośnie usłudze AWS IoT zasięgnąć można tutaj , a o bibliotece Honrbill AWS IoT z jakiej będziemy korzystać tutaj . Warto zapoznać się z oboma tekstami, zanim rozpoczniemy montaż i programowanie opisanego poniżej systemu.

    Urządzenie zbudować można w oparciu o samodzielnie zgromadzone materiału lub kupując kompletny zestaw elementów poprzez kampanię crowdfundingową modułu Hornbill: https://www.crowdsupply.com/explore-embedded/hornbill



    Krok 1: Schemat ideowy systemu

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Budowany przez nas system logowania danych zasilany może być z baterii litowo-polimerowej lub poprzez złącze USB wbudowane w system.

    Krok 2: Lista elementów

    JEśli kupimy gotowy kit Hornbill IDL to otrzymamy wszystkie niezbędne elementy już polutowane ze sobą. Jeśli chcemy samodzielnie zbudować tego rodzaju układ potrzebować będziemy:

    * Płytkę deweloperską Hornbill ESP32
    * Płytkę prototypowa Hornbill ESP32
    * Termoparę
    * Sensor prądu
    * Obudowę
    * Bateria litowo-polimerowa lub zasilacz USB.

    Od redaktora: wydaje mi się, że analogiczny układ, z tym samym oprogramowaniem, stworzyć można w oparciu o dowolny inny moduł z układem
    ESP32.

    Krok 3: Lutowanie elementów na płytce prototypowej

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Krok 4: Przylutowanie płytki deweloperskiej do do płytki prototypowej

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Krok 5: Gotowa elektronika urządzenia

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Po zlutowaniu wszystkich elementów kitu, układ powinien wyglądać jak na zdjęciu powyżej.

    Krok 6: Montaż płytki w obudowie

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Układ zasilany może być z zasilacza USB wpiętego do sieci elektrycznej lub z baterii LiPo.

    Sensor prądu zapięty musi być na przewodzie fazowym zasilającym urządzenie, które jest monitorowane.

    Termopara układu dotykać powinna elementu urządzenia, którego temperaturę chcemy monitorować.

    Krok 7: Kod programu

    Na ESP32 wgrywamy następujący kod programu wykorzystując w tym celu środowisko Arduino. Pamiętajmy, aby uzupełnić program naszymi danymi, takimi jak SSID i hasło do naszej sieci WiFi oraz danymi do logowania serwerów Amazona.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dane zbierane przez układ - temperatura i prąd - monitorowane i logowane na serwerach Amazona są w sposób ciągły. Co 5 sekund następuje odczyt i zapisanie tych danych w chmurze.

    Aby skompilować powyższy program doinstalować musimy dwie biblioteki:

    * Adafruit MAX6675 do odczytu danych z sensora temperatury.
    * Open Energy Monitor do odczytu danych z sensora prądu.

    Krok 8: Dane

    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT


    Dane zbierane przez system zbierane są w chmurze, na serwerach Amazonu, ale AWS nie oferuje żadnych metod ich wizualizacji. Dlatego też autory projektu pracują nad nowym układem i narzędziami do niego - Hornbill IO ma za zadanie umożliwić prezentację danych zbieranych na serwerach Amazonu. Póki co prace nad jego opracowaniem trwają, lecz już niedługo powinna być dostępna wersja beta. Obrazki powyżej pokazują, jak wyglądać będzie gotowy panel tego systemu.

    Źródło: http://www.instructables.com/id/Power-and-Temperature-Data-Logger-With-ESP32-and-A/


    Fajne!
  • Ups
  • #2 03 Maj 2017 09:00
    Bojleros
    Poziom 14  

    Cześć,

    Nie wiem do końca czy kilka płytek rozwojowych połączonych ze sobą można nazwać wykonaniem przemysłowym. Inna sprawa to brak możliwości montażu na szynie DIN a skoro ta puszka nie mierzy napięcia a wyłącznie sam prąd to faktycznie nawet od szacowania mocy jest bardzo daleko... Zresztą widać to po wykresach bo wykres mocy to tylko i wyłącznie przeskalowany wykres prądu.

    Pozdrawiam,

  • #3 03 Maj 2017 21:05
    R-MIK
    Poziom 35  

    Bojleros napisał:
    nie mierzy napięcia a wyłącznie sam prąd to faktycznie nawet od szacowania mocy jest bardzo daleko... Zresztą widać to po wykresach bo wykres mocy to tylko i wyłącznie przeskalowany wykres prądu.

    Nawet jakby mierzył napięcie to tez moc była by szacunkowa, chyba, że obciążeniem byłaby czysta rezystancja. W praktyce tak nie jest, prawie wszystkie urządzenia zawierają zasilacze impulsowe, pralka ma silnik, przytoczona w przykładzie wiertarka też jest indukcyjnością! Trzeba więc mierzyć przesunięcie fazowe. Przedstawiony sposób pomiar mocy w praktyce do niczego nie służy a zwłaszcza do zastosowań przemysłowych. Tytuł należało by zmienić na "nie przemysłowy, nie miernik mocy"..

  • Ups
  • #4 04 Maj 2017 09:03
    krisRaba
    Poziom 22  

    "Przemysłowy", taaaaaak... modne ostatnio słowo ;) Zwykle oznacza w takich projektach montaż na szynie DIN ;) :D Tutaj nawet tego zabrakło. Patrząc na schemat, wnętrze, opisaną przez kolegów nieprzydatność... hmm... niech wypowie się klasyk :D
    Przemysłowy loger mocy i temperatury na ESP32 i AWS IoT

  • Ups
  • #5 04 Maj 2017 09:34
    R-MIK
    Poziom 35  

    No i "profesjonalny", "przemysłowy" program bez WDG :-) Trzeba będzie przemysłowy przycisk reset dodać :-)

  • #6 04 Maj 2017 20:20
    Bojleros
    Poziom 14  

    R-MIK, Jeżeli autor użyłby jakiegoś dedykowanego układu do pomiaru mocy to dlaczego nie. Tak samo można wykorzystać DSP które posiada możliwość wspólnego wyzwolenia S/H dla więcej niż jednego kanału. Próbkować odpowiednio , przetworzyć no i można liczyć moc prosto z definicji.

    Są na świecie programiści którzy uznają WDG za zbytek ....

    krisRaba napisał:
    Zwykle oznacza w takich projektach montaż na szynie DIN


    A to nie jest jedna z bardziej podstawowych "przzzzemysłowych" funkcji dla tak małego urządzenia ? Chociaż w zasadzie trytytka pasowałaby do tego jacka 3,5'' służącego do podłączenia przetwornika prądu ;) W pewnym sensie szkoda że nie ma tutaj tego pomiaru napięcia ...

  • #7 05 Maj 2017 06:17
    R-MIK
    Poziom 35  

    Bojleros napisał:
    Tak samo można wykorzystać DSP które posiada możliwość wspólnego wyzwolenia S/H dla więcej niż jednego kanału.

    Po co DSP. Jest nota na AVR pokazująca sposób pomiaru mocy. Oczywiście, najprościej użyc dedykowanego układu, koszt około 20..30zł (AD do tanich nie należą).
    W każdym razie przedstawiona konstrukcja to wskaźnik mocy a nie miernik. Można też użyć jako wzór do ćwiczeń w szkołach "jak nie należy mierzyć mocy".

    Dodano po 8 [godziny] 51 [minuty]:

    Bojleros napisał:

    Są na świecie programiści którzy uznają WDG za zbytek ....

    Może i zabytek ale nie w "profesjonalnym" Arduino, który z byle powodu wpada w wieczną pętlę (pod tym względem jest bardzo podobny do Windows). Moje pierwsze zetknięcie z Arduino i IIC sie wiesza :-) Brak możliwości debugowania w układzie tego "profesjonalnego" środowiska nie ułatwia zadania znalezienia problemu ale znalazłem. Status TWI inny niz spodziewa sie autor środowiska zawiesza program a ma to miejsce w trybie miltimaster (przegrany arbitraż) status F8 (np uszkodzony rezystor podciągający magistralę, zwarcie na magistrali). Arduino (podobno) nie wspiera ponownego warunku startu (je miałem ochoty sprawdzać) ale nie ma to znaczenia bo z kim można przegrać arbitraż gdy na magistrali jest jeden master bo multimaster jest niedopuszczalny?
    Pod względem ułomności Arduino przypomina mi "profesjonalny" i co ciekawe drogi Bascom (Arduino jest bezpłatne, więc osoby piszące w tym środowisku nie powinny narzekać - ja nie piszę zrobiłem to raz). Pierwsze zetknięcie z Bascom i przy większej liczbie serw i włączeniu jakiegoś (nie pamietam ale zdaje sie uarta) układu peryferyjnego do rejestrów serw trzeba wpisywać wartośc dwa razy większą lub mniejszą niż trzeba aby uzyskać taki sam kąt wychylenia niż bez włączonego dodatkowego układu peryferyjnego. Większa liczba serw to 6 czy siedem w stosunku do pierwotnych czterech.

  • #8 05 Maj 2017 17:15
    Bojleros
    Poziom 14  

    R-MIK napisał:
    Po co DSP. Jest nota na AVR pokazująca sposób pomiaru mocy. Oczywiście, najprościej użyc dedykowanego układu, koszt około 20..30zł (AD do tanich nie należą).
    W każdym razie przedstawiona konstrukcja to wskaźnik mocy a nie miernik. Można też użyć jako wzór do ćwiczeń w szkołach "jak nie należy mierzyć mocy".


    Przepraszam , walnąłem skrót myślowy. Bardziej miałem na myśli to , że AVR nie różnią się cenowo od najprostszych STM32, które dla mnie osobiście oferują o wiele więcej.

    Wujek pokazuje jakieś dwie noty ale i tak bardziej zajmują się algorytmiką i teorią a wykonanie bezpiecznych i dokładnych torów pomiarowych zostaje jakby na boku ;) Nawet dedykowany układ do pomiaru mocy będzie wymagał tego.

    DSP/ARM mogą być sensowne jak chcesz mieć faktyczny pomiar zgodnie z definicją , zakładający także poprawne przetworzenie do N harmonicznych w górę. Odbiorniki są obecnie nieliniowe więc oprócz wyższych harmonicznych pojawią się także składowe między harmoniczne. Możesz więc chcieć z tym walczyć zakładając okno na bufor z pomiarami. Możesz chcieć przejść do licznika energii ale będziesz wtedy potrzebował więcej pomiarów mocy na jednostkę czasu aby licznik był dokładny. Trudno mi tu zmieścić AVR bez czasochłonnego dłubactwa na poziomie asm :)

    @Ardunio - a to nie są moduły rozwojowo - edukacyjne ? WDT nie powinien być raczej ucieczką przed nieprzewidzianym statusem TWI a że się modulik edu wiesza ...

    IDE od Atmela to dla mnie inna bajka. Postawili sobie to na paździerzu Visual Studio, który z każdą aktualizacją puchnie i działa co raz wolniej. Porównywałeś wynik kompilacji programu w Bascom i w C ? Ja dodaje do tego jeszcze kilka kiepskich doświadczeń z Atmelem i wychodzi mi że zamierzam ich omijać szerokim łukiem ;)

  • #9 13 Maj 2017 19:38
    PiotrPitucha
    Poziom 32  

    Witam
    R-MIK problemem jest zwykle programista!
    Czytam jak narzekasz i w połowie wypowiedzi zapominam o czym jest wpis..
    A więc pojawiają się u Ciebie brzydkie Atmele które do niczego się nie nadają, potem pojawia się brzydkie Arduino dzięki któremu wszystko się wiesza, potem pojawia się cztery a może i więcej serw....
    Na końcu pojawia się brzydki a nawet bardzo brzydki i drogi Bascom....
    Wróć do tematu:
    - widzisz w tym układzie jakiegoś Atmela? ;
    - widzisz tam jakiś Bascom? ;
    - widzisz tam jakieś serwa? .
    Co do ignorowanego przez Ciebie zestawu, to wspomnę tylko, że mój kolega poczynił sobie motoszybowiec:
    - zrobił elektronikę na Atmedze168;
    - jak to w modelu jest tam co najmniej 4 serwa o ile nie więcej;
    - program napisał w Bascomie.
    Nie słyszałem by coś się zawieszało i szybowiec ma się bardzo dobrze....
    Aby procesor się nie nudził mierzy:
    - napięcie zasilania silnika;
    - prąd silnika;
    - obroty śmigła;
    - wysokość;
    - pozycję z GPS;
    - robi grafikę ekranową i wrzuca ją do sygnału z kamery.
    Parafrazując pewne powiedzenie, "nie pomoże procesorów kupa jak programista dupa"
    Pozdrawiam

  • #10 14 Maj 2017 19:25
    tronics
    Poziom 35  

    Cytat:
    W praktyce tak nie jest, prawie wszystkie urządzenia zawierają zasilacze impulsowe, pralka ma silnik, przytoczona w przykładzie wiertarka też jest indukcyjnością! Trzeba więc mierzyć przesunięcie fazowe.

    Akurat przy układach zasilanych przez prostownik z pojemnością (z impulsami prądu) to sobie można przesunięcie fazowe w ... wiadomo gdzie wsadzić. Scalak za kilkanaście PLN sprawę załatwia, jedynie trochę drobnicy trzeba i całość sprowadza się do odpytania o wyliczone parametry. Przyjemne są układy ST, tanie i dobre. Analog ma lepsze, ale droższe. Dużo. Ma kolega rację, że zastosowany tutaj sposób wyliczenia pobieranej energii jest bardziej szacunkiem niż rachunkiem ;)

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME