Miernik napięcia i prądu z USB

Miernik napięcia i prądu z USB
Pobierz PDF Download icon

Coraz więcej urządzeń elektronicznych jest zasilanych z interfejsu USB urządzenia (zwykle komputera) hosta. W związku z tym, że jest to interfejs przeznaczony do użytku masowego, to musi mieć bezpieczne złącza, uniemożliwiające zwarcie pomiędzy liniami interfejsu lub linią zasilającą, a masą. Dlatego też dołączenie woltomierza i amperomierza do złącza jest bardzo trudne - pomiar bez użycia specjalnych adapterów jest wręcz niemożliwy. Prezentowane urządzenie jest w stanie w wygodnej formie podać wartość poboru prądu i napięcia dostępnego na linii zasilającej bez zakłócania transmisji danych. Rekomendacje: przyrząd przyda się w warsztacie konstruktora - elektronika.

Rysunek 1. Schemat ideowy miernika parametrów napięcia/prądu USB

Schemat ideowy miernika pokazano na rysunku 1. Najistotniejszym elementem układu jest blok przetwarzania analogowo - cyfrowego. Rolę przetwornika pełni układ MCP3425. Zawiera on w swojej strukturze:

  • Przetwornik A/C o rozdzielczości 16 bitów.
  • Wzmacniacz różnicowy o programowalnym wzmocnieniu z wejściem różnicowym.
  • Wysokostabilne źródło napięcia odniesienia 2,048 V.
  • Interfejs I²C.

Przetwornik jest oferowany w niewielkiej, 6-nóżkowej obudowie do montażu powierzchniowego SOT23-6. Dodatkowo, zachęcająca jest również jego cena detaliczna: około 8 złotych w sprzedaży wysyłkowej. Ma on jednak dosyć istotną wadę: szybkość próbkowania przy najwyższej rozdzielczości to nie więcej niż 15 próbek na sekundę. Jednak w tej aplikacji nie stanowi to istotnego problemu.

Użycie zewnętrznego przetwornika A/C było konieczne z racji zbyt niskiej rozdzielczości (tylko 10 bitów) wbudowanego w użyty mikrokontroler. Osiągana rozdzielczość wykonywanych pomiarów byłaby na poziomie:

  • Dla napięcia: 5,5 V/210 = 5,37 mV.
  • Dla prądu: 2,5 A/210 = 2,44 mA.

Z kolei, zakodowanie informacji o zmierzonej wielkości na 16 bitach zapewnia rozdzielczość:

  • Dla napięcia: 5,5 V/216 = 83,9 µV.
  • Dla prądu: 2,5 A/216 = 38,2 µA.

Tabela 1. Opis funkcji zworek

Jest to całkowicie wystarczające na potrzeby tego urządzenia. Rezystor R17 jest bocznikiem do pomiaru pobieranego prądu. Dla ułatwienia, prąd jest mierzony od strony masy (metoda low side). Wprawdzie MCP3425 dysponuje wejściem różnicowym, które umożliwiłoby pomiar między zaciskami rezystora również od strony zasilania (metoda high side), lecz taki pomiar mógłby być obarczony błędem wynikającym ze skończonej wartości współczynnika CMRR, więc zdecydowano się na dołączenie wejścia "-" do masy układu i wykonywanie pomiarów względem masy.

Ponieważ uzyskanie pełnej rozdzielczości pomiaru prądu wymagałoby odłożenia na boczniku pełnego napięcia odniesienia (tj. 2,048 V), do celu pomiaru prądu wbudowany wzmacniacz jest przełączany na wzmocnienie 8 V/V, dzięki czemu maksymalny spadek na boczniku nie przekracza wartości 256 mV przy prądzie 2,5 A. Napięcie ze złącza USB jest mierzone przy wzmocnieniu 1 V/V za pomocą dzielnika rezystorowego R15/R16. Przy okazji, mierzone napięcie jest wykorzystane do zasilenia układu miernika.

Do przełączania wejścia przetwornika A/C wykorzystano klucz analogowy NC7SB3157. Ma on dwa wejścia przełączane pomiędzy jednym wyjściem, cyfrowe wejście sterujące i wyprowadzenia zasilania. O aktualnie mierzonej wartości (prąd/napięcie) decyduje mikrokontroler ustawiając odpowiedni poziom logiczny na linii S.

Ponieważ komunikacja między mikrokontrolerem a przetwornikiem odbywa się za pośrednictwem interfejsu I²C, konieczne było dodanie rezystorów R13 i R14, których zadaniem jest zapewnienie wysokiego poziomu logicznego dla wyjść typu otwarty kolektor.

Rysunek 2. Przykład komunikatów odebranych z UART

Rysunek 3. Schemat montażowy miernika parametrów napięcia/prądu USB

Wybrany przez użytkownika pomiar jest prezentowany na 4-cyfrowym wyświetlaczu LED. Jego cyfry są sterowane multipleksowo, co redukuje liczbę wymaganych linii mikrokontrolera.

Do kalibrowania funkcji pomiaru napięcia i prądu służą potencjometry montażowe, odpowiednio PR1 i PR2. Ustawienie w środkowym położeniu nie zmienia wyniku, przekręcenie w skrajną pozycję zmienia go o około ±5%, zależnie od kierunku obrotu. Kalibracja odbywa się programowo, to znaczy mikrokontroler dokonuje pomiaru napięcia ze ślizgacza, po czym mnoży wynik pobrany z zewnętrznego A/C przez obliczony współczynnik kalibracyjny. Takie rozwiązanie zmniejsza do minimum liczbę podzespołów biernych w torze analogowym, które mogłyby być źródłem zakłóceń - w szczególności potencjometry, w których niepewny kontakt ślizgacza ze ścieżką rezystancyjną mógłby zaburzać pracę przetwornika.

Nad pracą całego układu czuwa mikrokontroler ATmega8. Jest taktowany za pomocą wewnętrznego oscylatora RC o częstotliwości 8 MHz. Złącze J1 służy do zaprogramowania go, J2 to wyjście sprzętowego UART, a funkcje zworek JP1 i JP2 opisano w tabeli 1. Służą ustawieniu parametru, który ma być pokazany na wyświetlaczu. O ile działanie JP1 nie wymaga komentarza, o tyle przy JP2 jest on wskazany.

Rysunek 4. Bajt adresu układu MCP3425

Pomiar prądu jest wykonywany poprzez pomiar spadku napięcia na rezystorze 0,1 V. Powoduje to, iż napięcie pochodzące ze źródła (komputera lub zasilacza) nie jest identyczne z tym, którym jest zasilany mierzony odbiornik. Ponieważ układ mierzy prąd i napięcie, jest w stanie obliczyć wartość spadku napięcia na tym rezystorze i dodać do zmierzonego na zaciskach obciążenia - właśnie na tym polega owa korekta.

Miernik ma interfejs UART. Umożliwia on jednostronną komunikację z komputerem - cyklicznie, co 1 sekundę, wysyłane są wyniki pomiarów. Najpierw jest wysyłane napięcie w woltach (nieskorygowane, tj. zmierzone na obciążeniu), potem znak tabulacji, wartość prądu w amperach i znak nowej linii. Składnia wysyłanych komunikatów jest niezmienna i niezależna od ustawień zworek konfigurujących pracę wbudowanego wyświetlacza. Użycie znaku tabulacji do rozdzielenia wartości liczbowych ułatwia późniejsze przeniesienie np. do arkusza kalkulacyjnego, gdyż umożliwia to automatyczne rozdzielenie pomiarów na dwie kolumny przy imporcie danych.

Parametry transmisji zestawione to 9600, n, 8, 1, a przykład odebranych komunikatów na rysunku 2. Ponieważ współczesne komputery nie są już wyposażane w port RS232, można z powodzeniem użyć modułu konwertera USB/UART, akceptującego poziomy napięcia układów TTL. Pin RXD w złączu J2 nie jest w tej wersji oprogramowania wykorzystywany i może być niepodłączony.

Wykaz elementów

Rezystory: (SMD 1206)
R1...R4, R13, R14: 4,7 kΩ
R5...R12: 180 Ω
R15: 56 kΩ
R16: 33 kΩ
R17: 0,1 Ω/1 W
RN1, RN2: drabinki 4×10 kΩ (SIL5)
PR1, PR2: 10 kΩ (potencjometry montażowe, leżące)

Kondensatory:
C1, C2, C4: 100 nF (SMD 1206)
C3: 22 µF/16 V (SMD "B")

Półprzewodniki:
LED1: AF5643 (wyświetlacz)
T1...T4: BC857
US1: ATmega8 (TQFP32)
US2: MCP3425
US3: NC7SB3157

Inne:
J1: goldpin kątowy 5-pin/2,54 mm
J2: goldpin kątowy 3-pin/2,54 mm
J3: gniazdo USB do druku żeńskie
J4: gniazdo USB do druku męskie
JP1, JP2: goldpin kątowy
2-pin/2,54mm+zworki

Budowa i uruchomienie

Fotografia 5. Wyświetlacz pokazujący kod błędu

Układ został zmontowany na dwustronnej płytce drukowanej o wymiarach 108 mm×45 mm, której schemat montażowy pokazano na rysunku 3. Montaż jest typowy i nie wymaga szczegółowego opisu. Jedyna uwaga jest taka, że rezystor R17 należy wlutować pozostawiając niewielki dystans od powierzchni laminatu, co ułatwi jego chłodzenie przy pomiarze prądu o dużym natężeniu.

Przed przystąpieniem do programowania mikrokontrolera, należy zmienić ustawienia bitów konfigurujących w taki sposób, aby mikrokontroler był taktowany sygnałem zegarowym pochodzącym z wbudowanego generatora RC o częstotliwości 8 MHz (domyślna, fabryczna wartość to 1 MHz).

Poprawnie zmontowany i zaprogramowany układ jest gotowy do pracy. Po włączeniu zasilania, mikrokontroler na 3 sekundy zaświeca wszystkie segmenty wyświetlacza LED. Jest to prosty test ułatwiający wykrycie niepoprawnie działającego wyświetlacza. Ponadto, jest wysyłany komunikat powitalny poprzez UART. Zasilanie pochodzi z wtyku J3, nie jest potrzebny dodatkowy zasilacz.

Po wykonaniu testu wyświetlacza, układ przechodzi do cyklicznego wykonywania pomiarów i wysyłania ich poprzez UART.

Dla dociekliwych

Tabela 4. Kody błędów sygnalizowanych przez układ

Podczas testowania prototypu okazało się, że adres układu MCP3425, którym ten jest identyfikowany na linii I²C, wymaga ustalenia. Odpowiedni fragment tej zamieszczono na rysunku 4.

Teoretycznie, kupiony w hurtowni układ powinien mieć adres 1101000. Tymczasem, układ zastosowany w prototypie ma adres 1101010. Aby ta niedogodność nie stwarzała problemów w uruchamianiu urządzenia, podczas wykonywania testu wyświetlacza mikrokontroler próbuje skomunikować się z przetwornikiem A/C przy użyciu różnych adresów, od 1101000 do 1101111. Adres, którego użycie poskutkuje prawidłową odpowiedzią zostaje zapamiętany i wykorzystywany w dalszym działaniu. Fakt ten powinni mieć na uwadze ci, którzy będą chcieli wykorzystać omówiony przetwornik w swoich układach.

Ponadto, układ potrafi sygnalizować zaistniałe błędy. Funkcja ta może być pomocna przy lokalizacji usterek. Sygnalizacja polega na wyświetleniu na wyświetlaczu Err(cyfra) (fotografia 5) i wstrzymaniu dalszego działania w pustej, nieskończonej pętli. Kody błędów umieszczono w tabeli 4.

Michał Kurzela, EP

ZOBACZ WIDEO DO TEGO PROJEKTU
AVT5502 - Miernik napięcia i prądu z USB
Play btn
AVT5502 - Miernik napięcia i prądu z USB
Artykuł ukazał się w
Maj 2015
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
KIT do tego projektu
Miernik napięcia i prądu z USB, AVT5502
Miernik napięcia i prądu z USB, AVT5502
Coraz więcej urządzeń elektronicznych jest zasilanych z interfejsu USB urządzenia (zwykle komputera) hosta. W związku z tym, że jest to interfejs...
Zobacz w sklepie
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje lipiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów