Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wielokanałowy rejestrator temperatury

piroman7 06 Gru 2017 11:24 927 3
  • Witam

    Prezentowana przeze mnie konstrukcja jest wielokanałowym rejestratorem temperatury.
    Projekt składa się z urządzenia pomiarowego oraz dedykowanego do niego oprogramowania do odbioru oraz akwizycji danych pomiarowych.
    Parametry oraz schemat ideowy przedstawiono na fotografiach poniżej.

    Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury

    Urządzenie pomiarowe

    Struktura urządzenia pomiarowego oparta jest na mikrokontrolerze Atmega328P. Pełni on rolę jednostki sterującej, przetwarzającej dane pomiarowe, sterującej układami peryferyjnymi, oraz przesyłającej uzyskane wyniki do komputera za pośrednictwem magistrali USB. Mikrokontroler znajduje się na platformie programistycznej Arduino. Wykorzystałem płytkę o oznaczeniu Nano, ze względu na jej niewielkie rozmiary.

    Pomiar temperatury realizowany jest z wykorzystaniem termoelementów o charakterystyce K (NiCr-Ni). O wyborze zdecydowały takie czynniki jak szeroki zakres pomiarowy, duża dokładność oraz czynnik ekonomiczny.
    Jako wzmacniacz napięcia termoogniwa zastosowano dedykowany układ scalony MAX31855K. Wspomniany układ jest wzmacniaczem, przetwornikiem ADC oraz posiada układ kompensacji zimnego końca. Komunikacja z mikrokontrolerem odbywa się za pośrednictwem magistrali SPI.

    W celu zwiększenia ilości kanałów pomiarowych zastosowano dwa multipleksery 8:1
    o oznaczeniu MAX4781. Wypadkowa ilość kanałów pomiarowych to 16, wybór wejścia odbywa się programowo. Zastosowane multipleksery posiadają niskie rezystancje wejściowe oraz krótkie czasy przełączania, co jest istotnym parametrem w prezentowanym zastosowaniu.

    Wszystkie elementy elektroniczne zostały umieszczone na wykonanym przeze mnie obwodzie drukowanym, o wymiarze całkowitym 75mm x 80mm.
    Przyznam, że lutowanie niektórych układów było dla mnie sporym wyzwaniem.
    Poniższe fotografie przedstawiają opisane wyżej urządzenie pomiarowe, jego schemat elektryczny oraz algorytm działania programu.

    Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperaturyWielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury





    Aplikacja

    Drugą częścią projektu było stworzenie aplikacji do odbioru oraz zapisu danych o temperaturze.
    Aplikacja została napisana w środowisku Visual studio.
    Podstawowym zadaniem aplikacji jest odbieranie danych oraz ich zapis do pliku tekstowego, w celu dalszej obróbki i analizy wyników. Z poziomu aplikacji możliwe jest skonfigurowanie urządzenia pomiarowego, bez potrzeby ingerencji w program samego sterownika. Oznacza to, że możliwy jest wybór ilości kanałów pomiarowych, które zostaną użyte. Wybór ten wpływa bezpośrednio na częstotliwość uzyskiwania informacji o temperaturze z poszczególnych punktów pomiaru. Temperatura mierzona jest kolejno począwszy od kanału pierwszego, aż do tego, który został zdefiniowany jako ostatni. Im mniej kanałów jest aktywnych, tym operacja uzyskania kompletu danych trwa krócej.

    Poniżej przedstawiono zrzuty ekranu ilustrujące wygląd aplikacji oraz przykładowy wykres zmian temperatury uzyskany z wykorzystaniem skonstruowanego urządzenia pomiarowego.

    Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury Wielokanałowy rejestrator temperatury

    Podsumowanie

    Projekt zapewne będzie w przyszłości rozwijany. W planach mam dodanie kilku dodatkowych opcji, usprawnienie działania samej aplikacji oraz wykonanie „instrukcji obsługi”.
    Osobiście jestem zadowolony z efektu pracy.
    Zachęcam do komentowania, krytyka również mile widziana ;)

    Pozdrawiam
    Kamil


    Fajne!
  • #2 06 Gru 2017 18:47
    keseszel
    Poziom 26  

    Fajny projekt.
    Czy był stworzony z ciekawości, czy na zamówienie komercyjne?
    Jakie były koszty urządzenia, skąd elementy ( przydasie, aliexpress, allegro, sklepy )?
    Schemat zrobiony w ? ( Kicad, etc )
    Jak długo budowałeś to urządzenie?
    Brak obudowy :-( , mam to samo, a nie chcę pakować w pudełka po butach..
    Śrubki wystają :-) , mogłeś obciąć.
    Inż bym z małej napisał ;-) ( w końcu chciałeś krytykę :-) )

  • #3 06 Gru 2017 19:27
    odalladoalla
    Poziom 11  

    piroman7 napisał:
    Pomiar temperatury realizowany jest z wykorzystaniem termoelementów o charakterystyce K (NiCr-Ni). O wyborze zdecydowały takie czynniki jak szeroki zakres pomiarowy, duża dokładność oraz czynnik ekonomiczny.
    Jako wzmacniacz napięcia termoogniwa zastosowano dedykowany układ scalony MAX31855K.

    Czy oszacował Pan błędy pomiaru pojedynczego kanału pomiarowego, oraz rozrzut błędów dla doprowadzonego do wszystkich kanałów równocześnie tego samego sygnału wejściowego?
    Jak jest z " liniowością błędu" 0;200; 500;800;1000;1200 st.?
    Chodzi o "goły rejestrator " bez dołączonej termopary-symulacja sygnału elektryczna.

  • #4 06 Gru 2017 23:45
    piroman7
    Poziom 9  

    @keseszel Zaprezentowany projekt był częścią pracy magisterskiej.
    Do kosztów można zaliczyć cenę arduino oraz kilku elementów elektronicznych. Układy scalone MAX31855K oraz MAX4781 otrzymałem jako darmową próbkę od producenta.
    Schemat jak i mozaikę ścieżek wykonałem w Eaglu. PCB wykonałem metodą termotransferu.
    Czas poświęcony na budowę to w sumie może kilka tygodni, z tym że nie zbudowałem tego w jednym kawałku. Każdy z etapów (koncepcja, projekt, wykonanie pcb, montaż, oprogramowanie i aplikacja) trwał średnio kilka dni.
    Obudowę zapewne wydrukuję, chociaż przyznam że pudełko po butach to ciekawa alternatywa.

    @odalladoalla Przyznam, że nie zajmowałem się szacowaniem błędów pomiaru. Może to przejaw ignorancji z mojej strony, ale nie pomyślałem o tym. Błąd powinien być identyczny dla wszystkich kanałów, ze względu na fakt, że przetwornik temperatury jest jeden, a czujniki są do niego kolejno dołączane.

    Po odpowiedź dotyczącą liniowości błędu w zależności od zakresu odsyłam do dokumentacji układu MAX31855K, strony 3 i 4. Producent zapewnia, że w najgorszym wypadku błąd wynosi +-6°C
    Gdy czujniki znajdowały się w temperaturze otoczenia, to odczytane wartości sporadycznie różniły się między sobą o maksymalnie pół stopnia, ale nie poświęcałem temu zagadnieniu szczególnej uwagi.
    Pomysł z symulacją sygnału jest ciekawy, gdy wznowię prace nad projektem zapewne go wykorzystam.

    Pozdrawiam

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