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.

Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART

R-MIK 04 Paź 2017 16:14 3513 6
  • Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USARTDwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART

    Większość mierników panelowych ma małe wyświetlacze. Wskazania max 1999 (gdy oparte o ICL7106/7 lub podobne) lub mniej (np 199 gdy oparte o mikrokontrolery). Wersje na mikrokontrolerach przeważnie nie mierzą wartości ujemnych. Nie spotkałem takich z opcją pomiaru relatywnego. Czasem można spotkać funkcję HOLD. O komunikacji po USART czy USB można zapomnieć.
    Zbudowałem miernik na ICL7135 (wskazanie max +/-19999). Funkcjonalność:
    - duży (36mm, wysokość cyfry 25mm) dwukolorowy (zielony przy pomiarze napięcia, czerwony dla prądu) wyświetlacz LED
    - pomiar napięcia w trzech zakresach: 1V, 10V, 200VDC (120AC), zmiana zakresu automatyczna
    - pomiar prądu w 3 zakresach: 50mA, 500mA, 20A, automatycznie 2A i 20A, ręcznie 50 i 500mA (osobne wejścia pomiarowe)
    - wskazanie polaryzacji wielkości mierzonej
    - pomiar relatywny
    - funkcja HOLD
    - interfejs USART izolowany galwanicznie (w najprostszej wersji konwerter na USB)
    - ostatnie nastawy zapamiętane sa w EEPROM (poza REL i HOLD)

    Miernik zasilany jest napięciem +/-5V i +12V, dostarczanym przez zasilacz:
    Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART
    [colour=orange](w zasilaczu kondensatory opisane 47uF powinny mieć wartośc 470uF)[/colour]
    Na fotografii widać także bocznik dla zakresu 20A. Na PCB jest miejsce na "współczesny" rezystor 10mOhm. Ten na fotografii pochodzi z starego miernika wskazówkowego (ma wartość 50mOhm, więc w programie użyto odpowiedniego mnożnika).

    Na PCB widać kilka "sprzętowych upgrade", na dolnej warstwie też:
    Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART




    Ale podobno jak widać takie połączenia to urządzenie musi działać :-)

    Film z pomiaru napięcia. Widać "wędrowanie" kropki, czyli automatyczną zmianę zakresu:


    Pomiar prądu, pomiar relatywny (żółta dioda na dole):


    Funkcja HOLD (czerwona dioda na dole) automatyczna zmiana zakresu ponad 2A):


    [edit]
    Układ pomiaru AC uruchomiłem. Niestety nie mam w tej chwili 74HC4052 i z klawiatury nie można wybierać rodzaju pomiaru AC/DC (potrzebna lutownica)
    USART nie jest oprogramowany. Zrobię to jak złożę 2 egzemplarz.
    [/edit]
    Miernik wysyła ramki CSV z wynikiem pomiaru, wybranym zakresie pomiarowym, stanu funkcji REL i HOLD
    Miernik nie jest skalibrowany, bo ciężko multimetrem 3,5 cyfry kalibrować 4,5 cyfry :-)


    Uprzedzę pytanie, po co multiplekser do wejść ADC w AVR po co w ogóle używać ADC. Odpowiedzi:
    - potrzebowałem 9 wejść a Mega128 ma 8
    - używam JTAG, a 4 z wejść ADC to właśnie JTAG
    - ADC umożliwia szybkie, niezbyt dokładne pomiary
    - inna wielkość może być mierzona przez AVR, a inna przez ICL (można mierzyć moc)
    Aktualnie oprogramowanie używa ADC, wykonuje pomiary z wszystkich wejść ale wyniki pomiaru nie sa używane.


    W załączniku dokumentacja. Kody źródłowe będą dostępne. Na razie wprowadzam jeszcze mniejsze lub większe poprawki i ulepszenia.


    PS
    Miernik powstał po projekcie Multimetr 4.5 cyfry "UIRftCLT ale nie po jego uruchomieniu. Przez to nie ustrzeżono sie pewnych błędów/niedociągnięć. Co bym zmienił w kolejnej wersji?
    - Komunikacją do LED po SPI (np drivery Allegro). Same drivery prawdopodobnie na PCB wyświetlaczy.
    - Odczyt z ICL7135 dwoma liniami zamiast 9-ciu. CPU zlicza timerem impulsy zegarowe ICL podczas aktywnego sygnału BUSY. Oczywiście dochodzą jeszcze sygnały takie jak PO czy OVR. Rozpatruje też użycie układu TC500.
    - CPU w mniejszej obudowie (powyższe zabiegi dadzą taką możliwość).
    - Ręczny wybór zakresu pomiarowego zworkami (upraszcza konstrukcję, nie wprowadza problemów związanych z kluczami 405x). W mierniku panelowym najczęściej jeden zakres jest wystarczający. Ewentualnie przełączany dzielnik napięcia równoległy. Wartości rezystorów w dzielniku "okrągłe", a ewentualna wymagana korekta programowa.



    Trochę o USART. W podstawowej wersji komunikacja przebiega po USB (konwerter na FT230). Docelowo jednak kilka mierników ma być połączonych do HUB-a. Ten będzie zbierał wyniki z mierników i wysyłał po USB. W takiej sytuacji, w HUB-ie, każdy kanał miernika (izolacja optyczna) będzie "zapętlony" (miernik będzie miał echo tego co wysyła), a wszystkie kanały będą tworzyć sumę WireAnd. Dzięki temu mierniki będą mogły "podsłuchiwać" transmisję. To zapobiegnie kolizjom. W takiej sytuacji "inteligencja" HUB-a jest żadna. Po prostu wysyła po USB wszystko co odbiera od mierników, natomiast to co otrzyma, po wzmocnieniu (74LS07) rozsyła do mierników.

    Osoby zainteresowane ostatnimi dniami pracy nad miernikiem zapraszam TU. Pod tym linkiem beda się także pojawiały nowe wersje programu łącznie z kodami źródłowymi.



    Z dn. 05-09-2017:
    Uruchomiłem moduł komunikacji. Na razie wysyła on co sekundę rodzaj pomiaru i jego wynik. PCB po dodaniu elementów COM:
    Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USARTDwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART
    Istnieje duże prawdopodobieństwo, ze do zakończenia konkursu, uruchomnię PCB modułu HUB-a (najpierw trzeba je zaprojektować). Wtedy można będzie zbudować na tych miernikach system pomiarowy.


    Poczyniłem prace przygotowawcze do pracy mierników z HUB-em. Od strony sprzętu prosty interfejs:
    Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART
    Dane przychodzące z interfejsu USB na J17B sa rozsyłane do mierników. Dane z mierników (piny 1 złącza J2..J4) sa przesyłane do USB. Dodatkowo, dzięki U2D trafiają także do mierników. Dzięki temu można wykrywać transmisje innych mierników i kolizje. J1 decyduje, czy do USB wysyłamy tylko dane mierników, czy także echo. Stan pionu 6 J17b (linia RTS) decyduje, czy do USB będą przesyłane dane czy nie. Jak powszechnie wiadomo, gdy Windows otrzymuje dane na nieotwartym porcie COM to interpretuje je jako dane muszki/klawiatury. Efekty są zaskakujące.
    JP1 normalnie jest zwarta. Pomocna może być podczas pisania softu, testów.
    Zapomniałem o złączu do łączenia kilku HUB-ów ze sobą, ale wydaje się, że można je łączyć kaskadowo. Ostatecznie pozostaje przylutowanie 4 przewodów (masa, zasilanie, rx, tx).

    W danych wysyłane sa informacje o odczytanej wartości, zakresie pomiarowym i nr seryjnym. Nr seryjny wprowadzono po to, aby mierniki miały różne numery.Procedura losująca nr seryjny:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Funkcja losująca jest wywoływana po pierwszym nadaniu ramki przez miernik. Aktualnie wysyłanie wygląda tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Dzięki temu miernik nie nadaje dopóki na magistrali nie ma przesyłanych informacji (TimComRX jest ustawiania po każdym znaku odebranym przez USART). Jeszcze nie zaimplementowałem mechanizmu wykrywania kolizji. Dzięki losowości czasów nadawania (ziarno jest w miarę losowe) nie powinno byc problemu z nadawaniem. Jak będzie, okaże się w praktyce.


    Fajne!
  • #2 04 Paź 2017 21:04
    paluszasty
    Poziom 23  

    Kolega R-MIK widzę nie próżnuje i widzę że zaprzyjaźnił się z ICL7135.

    Czy mi się wydaje czy kolega użył kondensatorów MLCC w integratorze? Jeśli tak to to słaby pomysł ze względu na ich niestabilne parametry efekt piezoelektryczny itp. Tu powinno się stosować kondensatory poliestrowe dobrej jakości. Niech kolega zrobi prosty test i zobaczy co miernik pokaże jeśli na wejście podamy mu napięcie referencyjne. Pewnie wynik będzie daleki od 1.0000

    Sam kiedyś walczyłem z tym układem i wg mnie warto też pomyśleć o optoizolacji części pomiarowej od uC. W takiej konfiguracji jak teraz jest to karkołomne, ale jeśli zastosować komunikację 2-3 przewodową która jest jednokierunkowa to robi się to bardzo proste. Projekt na tym układzie porzuciłem już dawno i teraz myślę o mierniku 5.5 cyfry właśnie projektuję płytkę na konkurs.

  • #3 04 Paź 2017 21:33
    R-MIK
    Poziom 38  

    paluszasty napisał:
    Kolega R-MIK widzę nie próżnuje i widzę że zaprzyjaźnił się z ICL7135.

    Zabiorę się za TC500. Szkoda, ze u krajowych dostawców nie ma TC514 z wbudowanym multiplekserem.

    paluszasty napisał:

    Czy mi się wydaje czy kolega użył kondensatorów MLCC w integratorze?

    Czekam za kondensatorami. Jak mieszkałem w Wawie, to max 2 godziny i mam prawie wszystko co mi potrzebne, a tak to i dwa tygodnie muszę czekać.

    paluszasty napisał:

    Pewnie wynik będzie daleki od 1.0000

    Zgadza się. Mam jednak możliwość pomiaru tego napięcie programowo i mogę wprowadzić stosowna korektę. Na razie soft nie uwzględnia tej opcji.

    paluszasty napisał:

    Sam kiedyś walczyłem z tym układem i wg mnie warto też pomyśleć o optoizolacji części pomiarowej od uC. W takiej konfiguracji jak teraz jest to karkołomne, ale jeśli zastosować komunikację 2-3 przewodową która jest jednokierunkowa to robi się to bardzo proste.

    Dobra myśl. Uwzględnię to w kolejnych projektach, pytanie czy bedą? Może nowa wersje miernika panelowego będzie ale Multimer 4.5 już raczej nie.

    paluszasty napisał:

    Projekt na tym układzie porzuciłem już dawno i teraz myślę o mierniku 5.5 cyfry właśnie projektuję płytkę na konkurs.

    Na jaki scalaczku?

  • #4 04 Paź 2017 22:36
    paluszasty
    Poziom 23  

    Ciekawy ten układ TC500. Wydaje się że przy jego pomocy też można też osiągnąć nawet 5.5 cyfry.

    Problem jest tez że ta kalibracja będzie pływać. Ale skoro kolega czeka na kondensatory to nie będzie problemu. Szkoda tylko było projektować płytkę. Teraz będzie trzeba ją przerabiać.

    Na jakim scalaku. Opcji jest kilka. Ale realnie wchodzi w grę LTC2440. Katalogowo ENOB ponad 24 (24.6) przy częstotliwości próbkowania 6.9Hz. Nie sądzę że tyle uzyskam ale 5.5 cyfry może nawet więcej powinno się dać. Generalnie planuje podstawowy zakres +/-12.5V/. W związku z tym muszę dać bufor, precyzyjny dzielnik i znowu bufor. Wg noty bufor taki jak np LTC2051 zmniejszy rozdzielczość o 1 bit. Ponieważ mam 2 bufory to strata wyjdzie 2 bity. Czyli teoretycznie ENOB 22.6. Ale daje "zapas" i liczę że 20bit da się uzyskać co daje rozdzielczość 12uV przy zakresie 12.5V. Czyli aż z zapasem na 5.5 cyfry bo tutaj potrzebne jest około 18 bitów. Robiłem testy podobnego układy (LTC2400) na niezbyt optymalnie zaprojektowanym PCB. Układnie miał bufora wiec zakres napięć był do 5V. Źródło napięcia (MAX6350) miało katalogowo 0.02% błędu podstawowego i dryft termiczny max 1.5ppm/degC. Nie korygowałem wartości napięcia referencyjnego. Porównałem wskazania w zakresie 100mV-4000mV z wskazaniami mojego miernika BM857 w trybie wysokiej rozdzielczości, różnice były poniżej 0.02%. Tutaj kiedyś to opisałem https://www.elektroda.pl/rtvforum/viewtopic.php?t=3258039&highlight=
    Generalnie ogranicza mnie troszkę czas oraz koszty związane z prototypowaniem PCB. Chyba że z kolegą może jakiś wspólny projekt zrobimy?

  • #5 04 Paź 2017 23:04
    R-MIK
    Poziom 38  

    paluszasty napisał:

    Generalnie ogranicza mnie troszkę czas oraz koszty związane z prototypowaniem PCB. Chyba że z kolegą może jakiś wspólny projekt zrobimy?

    Nie wiedzę problemu. PCB i graty będą za free. W tej sprawie skontakuję sie na prv.

  • #7 06 Paź 2017 10:45
    R-MIK
    Poziom 38  

    Autoruter, później poprawki ręczne. W innych projektach kluczowe połączenia ręcznie, LOCK, następnie autoruter i poprawki.
    Jak PCB ma jedna warstwę, to różnie ale przeważnie autoruter nie radzi sobie.

    Dodano po 10 [godziny] 41 [minuty]:

    Poczyniłem prace przygotowawcze do pracy mierników z HUB-em. Od strony sprzętu prosty interfejs:
    Dwukolorowy miernik panelowy 4,5 cyfry, U/I AC/DC, Hold, REL, izolowany USART
    Dane przychodzące z interfejsu USB na J17B sa rozsyłane do mierników. Dane z mierników (piny 1 złącza J2..J4) sa przesyłane do USB. Dodatkowo, dzięki U2D trafiają także do mierników. Dzięki temu można wykrywać transmisje innych mierników i kolizje. J1 decyduje, czy do USB wysyłamy tylko dane mierników, czy także echo. Stan pionu 6 J17b (linia RTS) decyduje, czy do USB będą przesyłane dane czy nie. Jak powszechnie wiadomo, gdy Windows otrzymuje dane na nieotwartym porcie COM to interpretuje je jako dane muszki/klawiatury. Efekty są zaskakujące.
    JP1 normalnie jest zwarta. Pomocna może być podczas pisania softu, testów.
    Zapomniałem o złączu do łączenia kilku HUB-ów ze sobą, ale wydaje się, że można je łączyć kaskadowo. Ostatecznie pozostaje przylutowanie 4 przewodów (masa, zasilanie, rx, tx).

    W danych wysyłane sa informacje o odczytanej wartości, zakresie pomiarowym i nr seryjnym. Nr seryjny wprowadzono po to, aby mierniki miały różne numery. Procedura losująca nr seryjny:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Funkcja losująca jest wywoływana po pierwszym nadaniu ramki przez miernik. Aktualnie wysyłanie wygląda tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Dzieki temu miernik nie nadaje dopóki na magistrali nie ma przesyłanych informacji (TimComRX jest ustawiania po każdym znaku odebranym przez USART). Jeszcze nie zaimplementowałem mechanizmu wykrywania kolizji. Dzięki losowości czasów nadawania (ziarno jest w miarę losowe) nie powinno byc problemu z nadawaniem. Jak będzie, okaże się w praktyce.

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