Serwisy partnerskie:
Close icon
Serwisy partnerskie

Jak zbudować miernik rezystancji wewnętrznej? - opis, schematy, montaż

Urządzenie mierzy rezystancję wewnętrzną źródeł napięć takich jak na przykład bateria lub generator sygnałów zmiennych. Drugą funkcją układu jest pomiar rezystancji obciążenia stopni wejściowych (np. wzmacniaczy lub filtrów).
Article Image

Opisywane urządzenie jest układem pomiarowym pracującym w dwóch trybach. Pierwszy tryb to pomiar rezystancji wewnętrznej źródeł napięcia stałego lub zmiennego. Przykładowo można badać rezystancję wewnętrzną baterii lub akumulatorków, co pomoże oszacować stopień rozładowania i będzie ciekawym ćwiczeniem. Innym, bardzo ważnym zastosowaniem jest pomiar wyjściowej i wejściowej rezystancji wewnętrznej filtrów, tłumików, wzmacniaczy i generatorów. Jest to bardzo ważny aspekt związany z tak zwanym dopasowaniem impedancyjnym.

W przypadku rezystancji wyjściowej generatorów sytuacja jest o tyle ciekawa, że możemy wykonywać pomiary dla różnych częstotliwości i włączać w obwód mierzony inne elementy, np. cewki, kondensatory lub bardziej złożone układy jak filtry czy tłumiki. Drugi tryb to pomiar rezystancji obciążenia (wejściowej), jaką ma każdy stopień wejściowy, czy to wzmacniacza, czy filtru, czy jeszcze innego urządzenia.

Aby wykonać taki pomiar, miernik musi być wpięty pomiędzy źródło sygnału a układ mierzony. Dodatkowo miernik wyświetla napięcie panujące na wejściu w sposób ciągły. Zakres mierzonego napięcia to 0–9V. Układ zbudowany jest z tanich i łatwo dostępnych elementów.

Opis układu - miernik rezystancji wewnętrznej

Najlepszym sposobem na zrozumienie działania układu jest analiza uproszczonego modelu przedstawionego na rysunku 1. Źródło sygnału G, czy to napięcia stałego, czy zmiennego, zawiera „wbudowaną” rezystancję wewnętrzną, którą oznaczmy Z. Rezystancja ta może wynikać z niedoskonałości samego źródła lub jest celowo wprowadzana. I właśnie tę rezystancję Z chcemy zmierzyć. Najczęściej w rzeczywistości nie ma rezystora Z.

Rys.1 Miernik rezystancji wewnętrznej - uproszczony model

Pomiar jest prosty. W szereg włączamy rezystor o znanej wartości R i włącznik W. Potem wykonujemy dwa pomiary napięcia w punkcie A. Pierwszy pomiar następuje przy rozwartym W, czyli bez obciążenia. Mierzymy wtedy napięcie „własne” (lub amplitudę w przypadku sygnałów zmiennych), które oznaczmy Ug. Rezystancja Z nie odgrywa znaczącej roli przy tym pomiarze, ponieważ prąd płynący jest pomijalnie mały (bardzo duża rezystancja woltomierza w stosunku do wartości Z).

Następnie zwieramy W i znowu mierzymy napięcie w punkcie A – spadek napięcia na R, co oznaczmy Ur. Wzór na rezystancję wewnętrzną: Z = R * (Ug – Ur) / Ur. Opisywany miernik rezystancji przeprowadzi te kroki automatycznie, zwalniając nas z ręcznych pomiarów i obliczeń.

Rysunek 2 pomoże zrozumieć drugi tryb pracy. Aby wykonać pomiar rezystancji wejściowej Z danego urządzenia, musimy dysponować generatorem lub innym źródłem napięcia G, który dostarczy sygnał o interesujących nas parametrach. Parametry dobieramy sami, pamiętając, że wyniki mogą się różnić w zależności od np. częstotliwości. Pomiędzy generator a układ badany włączony jest rezystor o znanej wartości R.

Pomiar polega na zmierzeniu dwóch napięć w punktach A i B. Niech to będą odpowiednio Ua i Ub. To wystarczy, aby obliczyć wartość Z ze wzoru Z = R * Ub / (Ua – Ub). Warto zauważyć, że rezystancja wewnętrzna użytego źródła napięcia G nie ma znaczenia dla pomiaru.

Rys.2 Mierzenie rezystancji wejściowej - uproszczony model

Analizując schemat ideowy, pokazany na rysunku 3, można wyróżnić trzy bloki. Pierwszy składa się z dwóch rezystorów R1 i R2 będących bocznikami pomiarowymi wraz z towarzyszącymi przekaźnikami K1 i K2. Przekaźniki służą do ustawiania potrzebnej konfiguracji i automatycznego doboru bocznika pomiarowego. Przekaźniki bardzo dobrze się spisują jako elementy przełączające tor analogowy, ponieważ działają niemal z każdym typem sygnałów i nie wprowadzają zniekształceń lub przekłamań.

Boczniki pomiarowe to nic innego jak rezystor R z wcześniejszej analizy. Kolejnym blokiem jest tor pomiarowy, a w zasadzie dwa identyczne tory pomiarowe, które pełnią funkcję woltomierzy. W pierwszej kolejności sygnał mierzony jest podawany na prostownik jednopołówkowy D1 (D8) a następnie zostaje naładowany kondensator C3 (C6). Wartość napięcia, jaka się ustali na kondensatorze, będzie odpowiadać wartości szczytowej sygnału mierzonego (pomijając niewielki spadek napięcia na D1).

Warto zwrócić uwagę na tranzystor Q2 (Q4), który służy do rozładowania kondensatora przed pomiarem. Procesem tym steruje mikrokontroler.

Rys.3 Schemat ideowy miernika rezystancji wewnętrznej

Zgromadzony ładunek na kondensatorze można by teoretycznie podać na wejście mikrokontrolera celem pomiaru wartości napięcia, ale spowodowałoby to nadmierne obciążenie wejścia, co skutkowałoby większym błędem pomiaru. Rozwiązaniem tego problemu jest wtórnik oparty na wzmacniaczu operacyjnym U2A (U2B).

Wejście wtórnika praktycznie nie obciąża źródła sygnału i na wyjściu otrzymujemy takie samo napięcie (z dokładnością do napięcia niezrównoważenia wzmacniacza operacyjnego) bez względu na obciążenie wyjścia. Sygnał jest podawany na dzielnik napięcia, który jest załączany przez tranzystor Q5 (Q6) w razie potrzeby. Dzielnik taki jest potrzebny, jeśli chcemy mierzyć napięcia wyższe niż 3,3V, co jest naturalnym ograniczeniem zastosowanego mikrokontrolera STM32F103.

Można zapytać, czemu nie zastosować dzielnika na stałe, bez tranzystorów sterujących. Otóż takie rozwiązanie ma jedną wadę, a mianowicie im większy zakres pomiarowy, tym większy byłby błąd pomiaru. Wynika to z zasady działania przetwornika analogowo-cyfrowego, 12-bitowego w tym przypadku. Im większy zakres pomiarowy, tym większa odległość pomiędzy sąsiednimi stanami („schodkami”), a tym samym mniejsza dokładność.

Jeśli możemy, to mierzymy na podstawowym zakresie 0–3,3V (dokładniejszy pomiar), a tylko przy wyższych napięciach korzystamy z dodatkowego dzielnika napięcia. Wartości rezystorów są tak dobrane, aby zakres pomiarowy sygnału wejściowego wynosił od 0V do 9V.

Trzeci i zarazem ostatni blok steruje całym miernikiem. Jest to serce układu – mikrokontroler STM32F103. Tutaj odbywa się zamiana sygnału analogowego na cyfrowy, niezbędne obliczenia, korekta błędów i wyświetlenie wyniku na wyświetlaczu. Wykorzystany jest tu moduł Blue Pill, który dobrze jest znany w świecie Arduino.

Moduł ten zawiera wszystkie elementy potrzebne do prawidłowego funkcjonowania mikrokontrolera, jak na przykład zewnętrzny kwarc, zworki przydatne przy programowaniu układu, stabilizator 3,3V no i sam mikrokontroler. Przy tym jest szalenie tani, a oferuje ogromne możliwości. Sam program nie został napisany w środowisku Arduino, tylko w czystym C i jest dostępny na github (https://github.com/rrowniak/impedance_meter). Można również tam znaleźć pliki dokumentacji płytki drukowanej (Gerber + projekt KiCad v4). Do wygenerowania szablonu projektu i skonfigurowania peryferii został użyty nieoceniony STM32CubeMX.

Jest to układ pomiarowy, więc warto wspomnieć o zakresie mierzonych rezystancji, błędzie pomiaru i zakresie częstotliwości. Bardzo dobre wyniki osiągamy, mierząc wartości rezystancji do ok. 10kΩ, szacunkowy błąd pomiaru nie przekracza wtedy 5%. Jednak aby osiągnąć dobre rezultaty, należy wykonać procedurę kalibracji opisaną dalej.

Dokładne oszacowanie błędu pomiaru jest bardzo trudne, ponieważ w grę wchodzi wiele czynników, jak na przykład błąd wprowadzany przez przetwornik analogowo-cyfrowy, obciążenie sygnału mierzonego przez miernik, błędy wprowadzane przez poszczególne stopnie układu pomiarowego. W przypadku pomiaru sygnałów zmiennych sytuacja komplikuje się jeszcze bardziej. Bardzo duży błąd pomiarowy uzyskamy, mierząc sygnały o małej częstotliwości.

Wynika to stąd, że czas pomiędzy sąsiednimi pomiarami został ustalony na 10ms. Więc okres sygnału mierzonego nie może być większy niż 10ms, co daje minimalną częstotliwość na poziomie 100Hz. Można ten czas zmienić i tym samym zmniejszyć minimalną częstotliwość sygnału mierzonego. Powyżej częstotliwości minimalnej osiągamy bardzo dobre rezultaty. Jednak wraz ze wzrostem częstotliwości rośnie błąd pomiarowy. Podczas mierzenia sygnałów o częstotliwości 3MHz błąd pomiarowy był na poziomie ok. 10%. Dla 9MHz błąd wyniósł już ponad 60%.

Montaż i uruchomienie miernika rezystancji wewnętrznej

Układ można zmontować na płytce drukowanej, która pokazana jest na rysunku 4 oraz na fotografiach. Montaż urządzenia nie jest skomplikowany. Jedynie należy pamiętać o poprawnym wlutowaniu modułu Blue Pill z mikrokontrolerem STM32F103, aby nie pomylić stron. Warto również zastosować rezystory 1% w torze pomiarowym. Widoczne diody D4, D5, D6 i D7 miały za zadanie zabezpieczać wejście mikrokontrolera przed podaniem zbyt wysokiego napięcia.

Jednak takie rozwiązanie wprowadza błąd pomiaru w torze, ponieważ dioda Zenera zaczyna przewodzić już nieco poniżej progu przebicia – zrezygnowałem z tego zabezpieczenia. Dodatkowo należy ustawić kontrast wyświetlacza potencjometrem RV1.

Rys.4 Płytka drukowana do zmontowania miernika rezystancji wewnętrznej

Aby zaprogramować układ, należy zaopatrzyć się konwerter USB - UART (np. CP2102) i zainstalować darmowy program stm32flash. Potem należy zworkę BOOT 0 ustawić na 1 i połączyć konwerter z modułem według schematu GND-G, VCC-5V, TXD-A10, RXD-A9 lub skorzystać z dedykowanego złącza P4. Kolejny krok to wgranie samego wsadu, na systemie Linux (Ubuntu i pochodne) można to zrobić następującą komendą:

sudo stm32flash -w build/impedance_meter.hex -v -g 0x0 /dev/ttyUSB0

gdzie ostatni argument wskazuje na urządzenie konwertera widziane w systemie. Gdy cała procedura zakończy się sukcesem, należy ustawić zworkę BOOT 0 na pozycję 0 i zrobić restart urządzenia. Następny etap to kalibracja. Jest to proces wymagający wprowadzenia pewnych wartości w kodzie źródłowym. Pierwszym krokiem będzie podanie dokładnych wartości rezystorów R1, R2, R6, R8, R9 i R10. Pomiaru najlepiej dokonać dobrej jakości multimetrem.

Można również zaktualizować wartość napięcia odniesienia, jeśli jest inne niż 3,3V. Zmian dokonujemy w pliku firmware/Inc/measure.h. Kolejnym krokiem będzie modyfikacja mapy kompensacji błędów. Jest to krok opcjonalny i możemy zrezygnować z tej metody, ustawiając definicję MEASURE_ERROR_COMPENSATION na zero, zrobimy to w pliku firmware/Inc/error_compensation.h.

Jeśli jednak chcemy skorzystać z tej metody opartej na interpolacji liniowej musimy zajrzeć do pliku firmware/Src/error_compensation.c. Jest tam tablica (observed) wartości napięć wyświetlanych przez nieskalibrowany przyrząd i odpowiadających im wartości zmierzonych precyzyjnym woltomierzem. Skok może być dowolny. Im więcej wartości w tablicy, tym większa dokładność. Ten sposób kompensacji przynosi bardzo dobre efekty, więc warto go wykonać. Sam kod można skompilować w darmowym kompilatorze gcc dla architektury ARM (gcc GNU Tools for ARM Embedded Processors), używając programu make.

Istnieją możliwości rozszerzenia oprogramowania bez konieczności zmian samej elektroniki. Myślałem nad dodaniem pomiarów w decybelach, co pozwoliłoby mierzyć np. poziom tłumienia. Również byłaby to pewna alternatywa dla paradoksalnie absurdalnych wyników, jak „ujemne omy”, które możemy zaobserwować podczas eksperymentów z sygnałami wysokiej częstotliwości, gdzie włączenie bocznika ~50 powoduje dobre dopasowanie impedancyjne przewodów sygnałowych, dając tym samym wyższą amplitudę, niż ma to miejsce, kiedy obwód jest otwarty.

Wykaz elementów
R1
50Ω 0.5W
R2
4,7kΩ
R3-R7,R9,R11
1kΩ
R8,R10
560Ω
C1,C5
100uF/16V elektrolityczny
C2-C4, C6-C9
100nF ceramiczny
D1,D5,D7,D8
Schottky 0,2A, np. BAT85
D2,D3
1N4148 lub podobna
D4,D6
dioda Zenera 3V3 (czytaj tekst)
Q1, Q3
BC547
Q2,Q4-Q6
2N7000
U1
7805 + mały radiator
U2
LM358N
U3
BluePill STM32F103C (czytaj tekst)
RV1
potencjometr montażowy 1kΩ
J1-J3
goldpin x2
K1,K2
przekaźnik, np. FINDER-30.22
P1,P2
wejście/wyjście, gniazdo wg uznania
P3
goldpin x12
P4
goldpin x4
LCD 16x2 zgodny z hd44780 (połączony przez P3)
 
2x przycisk (połączony przez J2 i J3)
 
Tematyka materiału: generator, rezystancja wewnętrzna
AUTOR
Źródło
Elektronika dla Wszystkich luty 2019
Udostępnij
UK Logo