Mierniki modułowe – rozdzielczość i dokładność
W poprzednim artykule MR101 omówione zostały podstawowe parametry i budowa tanich mikroprocesorowych mierników panelowych. W tym omówimy dalsze istotne informacje dotyczące rozdzielczości i dokładności.
Rozdzielczość i dokładność
Na pierwszy rzut oka wydaje się, że miernik ma znakomitą dokładność. Przecież napięcie mierzone jest w dwóch zakresach: 0…9,99V i 0…99,9V. Na pierwszym rozdzielczość wynosi 10 miliwoltów, na drugim 0,1V.
Rozdzielczość tak, ale nie dokładność…
Otóż po pierwsze wszystko wskazuje, że przetwornik ADC w mikrokontrolerze nie ma lub nie wykorzystuje wewnętrznego źródła napięcia odniesienia i że napięciem odniesienia jest… napięcie zasilania 3,3V ze stabilizatora U1. Zmierzyłem, jak zmieniają się wskazania na wyświetlaczu przy obniżaniu napięcia zasilania przy niezmiennym napięciu 13,9V na grubym czerwonym przewodzie. Wyniki przedstawione są w tabeli 1.
Iloczyn napięcia zasilania i wyświetlanego wyniku jest w przybliżeniu stały, wynosi około 46,2, a to poświadcza, że napięciem odniesienia jest napięcie zasilające. Nie jest to żadna tragedia, zwłaszcza że producent stabilizatora MD7133H podaje typowy dryft napięcia wyjściowego tylko ±50ppm/°C, maksymalnie ±100ppm/°C. W każdym razie nie jest to przyrząd pomiarowy wysokiej klasy.
Zauważmy, że najwyższe wskazanie to 99,9V, a najniższe, na dolnym zakresie, to 0,01V. Te wskazania różnią się 10 tysięcy razy. Aby uzyskać tego rodzaju dokładność, należałoby wykorzystać precyzyjny przetwornik A/C, co najmniej 14-bitowy. Można byłoby przypuszczać, że w układzie pracuje taki przetwornik.
Niestety, wszystko wskazuje, że tak nie jest i że przetwornik wbudowany w procesor ma rozdzielczość 10 bitów, czyli rozróżnia tylko 1024 stany. Potwierdzają to wyniki testów.
Otóż dołączyłem dodatkowy rezystor 10kΩ do obwodu pomiaru napięcia (na rysunku 7 punkt X) i za pomocą zewnętrznego zasilacza regulowanego zmieniałem napięcie na nóżce 19, jednocześnie sprawdzając wskazanie na wyświetlaczu. Bez takiego dodatkowego rezystora trzeba byłoby podawać napięcia do 100V, a z dodatkowym rezystorem 10kΩ wystarczy kilkanaście woltów.
Okazało się, że maksymalne wskazanie 99,9V pojawia się na wyświetlaczu, gdy napięcie na nóżce 19 wynosi 2,976V, czyli praktycznie 3 wolty. Jeżeli napięciu mierzonemu 100V odpowiada 3 wolty na nóżce 19, to aby zmienić wskazanie wyświetlacza o 1 wolt, trzeba zmienić napięcie na nóżce 19 o 30mV. Wskazaniu 0,1 wolta na wyświetlaczu odpowiada 3 miliwolty. Natomiast jeśli mamy mierzyć z rozdzielczością 0,01V, to przetwornik A/C powinien reagować na zmiany napięcia na nóżce 19 rzędu 0,3mV.
Tymczasem testy pokazały, że przy pomiarze małych napięć wskazania były bardzo dziwne. Otóż w zakresie napięć 0…10mV na nóżce 19 (co odpowiada zewnętrznemu napięciu mierzonemu 0…0,33V) na wyświetlaczu pojawiały się wskazania w zakresie 0,00 do 0,10, ale słabo związane z wartością napięcia podawanego na nóżkę 19. Algorytmy programu procesora są tak napisane, żeby nie następowało wtedy migotanie wyników wyświetlacza i by wskazania były stabilne, budzące zaufanie, jednak te wskazania nie odzwierciedlają rzeczywistości.
Dopiero przy napięciu na nóżce 19 równym 13mV wskazanie na wyświetlaczu było powtarzalne i stabilne. Wyświetlacz pokazywał wtedy 0,30V. W tabeli 2 pokazane są niektóre wyniki tych pomiarów.
Warto zauważyć, że przy współczynniku przetwarzania 30mV na wolt wskazań, przy napięciu na nóżce 19 równym 13,1mV, wskazanie powinno wynosić 0,43V lub 0,44V – błąd pomiaru wynosi więc ponad 40%. Podobnie przy 18,0mV wyświetlacz powinien wskazywać 0,60V, a nie 0,50V, czyli błąd pomiaru jest rzędu 20%.
A więc dla napięć do jednego wolta błąd pomiaru jest duży. A to oznacza, że dwa zakresy i pomiar niższych napięć z rozdzielczością 0,01V po prostu nie ma sensu – to swego rodzaju chwyt handlowy, zwiększający atrakcyjność towaru. Jeżeli przetwornik A/C jest 10-bitowy, czyli rozróżniający co najwyżej 1024 poziomy, z powodzeniem wystarczy wyświetlacz 3-cyfrowy (0…999).
Jeszcze bardziej zagadkowa okazała się sprawa pomiaru prądu. Otóż testy prezentowanego egzemplarza miernika wykazały, że wskazanie 0…9,99A odpowiada obecności na nóżce 17 procesora napięcia od zera do 1,64V. Jest to sensowne, bo użyty wzmacniacz operacyjny LM258 w żadnym razie nie jest wzmacniaczem rail-to-rail i na pewno nie może dać na wyjściu napięć bliskich plusa zasilania (3,3V).
Ale jeżeli przetwornik A/C procesora jest 10-bitowy, to praca w zakresie do 1,64V oznacza wykorzystanie tylko dziewięciu bitów, a więc co najwyżej 512 stanów. Tymczasem wyświetlacz – wskaźnik prądu może wyświetlić tysiąc stanów (0…999). Rozdzielczość wyświetlacza jest więc dwukrotnie lepsza od rozdzielczości przetwornika A/C. Na wyświetlaczu pojawiają się liczby parzyste i nieparzyste – zapewne więc program dokonuje interpolacji, być może uśrednia kilka pomiarów. Ale takie zabiegi nie zwiększają dokładności.
A gdy chodzi o dokładność pomiaru prądu, sprawa jest jeszcze bardziej interesująca. Otóż jeżeli wskazanie 9,99A uzyskuje się przy napięciu na nóżce 17 równym 1,64V, to współczynnik przetwarzania powinien wynosić 164mV na 1 amper pokazywany na wyświetlaczu. Czyli jeżeli przetwarzanie byłoby liniowe, napięcie wejściowe na nóżce 17 równe 164mV powinno dać wskazanie wyświetlacza 1,00A, napięcie 16,4mV powinno dać wskazanie wyświetlacza 0,10V, natomiast napięcie 1,64mV powinno dać wskazanie 0,01A.
Tak nie jest.
Dla napięć na nóżce 17 od zera do 34mV wskazanie wyświetlacza to 0,00A. Napięcie 35,2mV dało wskazanie 0,01A. Dalsze szczegóły zawiera tabela 3.
Według prostych obliczeń na podstawie końca zakresu, napięcie na nóżce 17 równe 34mV powinno dać wskazanie 0,2A. Tymczasem z tabeli jasno wynika, że przy pomiarze małych prądów mamy stały offset – przesunięcie o 34…35mV.
Nie znaczy to wcale, że przy pomiarze prądu mamy stały błąd przesunięcia równy 0,2A. Wygląda na to, że obecność tego offsetu to celowy i rozsądny zabieg, polegający na programowym podniesieniu „zera prądowego” o te 34mV.
Mianowicie wejście amperomierza zawsze współpracuje ze wzmacniaczem operacyjnym. W przypadku tanich kostek, jak użyta tu LM258, według katalogu typowe napięcie niezrównoważenia wynosi ±2mV i jest ono wzmacniane. Wzmocnienie wzmacniacza wynosi około 16,4x, więc można się spodziewać, że w niektórych egzemplarzach przy zerowym prądzie i zerowym napięciu na wejściu nieodwracającym napięcie wyjściowe sięgnie +33mV. W innych egzemplarzach będzie niższe.
W każdym razie wpływ rozrzutów napięcia niezrównoważenia w zakresie ±2mV można dość łatwo wyeliminować dzięki rezystorom R2 + R5. Mianowicie można dobrać rezystancję (R2+R5) stosownie do napięcia niezrównoważenia użytego wzmacniacza operacyjnego, żeby przy zerowym prądzie uzyskać na nóżce 17 procesora „napięcie przesunięcia” równe właśnie około 34mV. Wtedy wskazania także małych prądów będą w miarę poprawne. Ale nie można się spodziewać dużej dokładności przy małych prądach, choćby z powodu dryftu cieplnego napięcia niezrównoważenia.
W badanym egzemplarzu przy zerowym prądzie, na nóżce 17 występuje nie 34mV, tylko 26mV, a różnica 8mV to zaniżanie wskazań o około 0,05A. Są to przykładowe wyniki (testowany był jeden egzemplarz). Aby mieć lepszy obraz sprawy, należałoby dokładniej przebadać kilka egzemplarzy.
Podczas testów opisywanego modułu ujawniły się jeszcze inne ciekawostki. I tak mikroprocesor obsługuje w sumie sześć cyfr wyświetlacza, jednak przebiegi multipleksujące wskazują, że program został napisany do obsługi co najmniej ośmiu, a może nawet 10 cyfr. W efekcie moduł pobiera dużo większy prąd podczas pracy, co owocuje wahaniami napięcia zasilającego – rysunek 9 pokazuje składową zmienną napięcia zasilającego. Nie jest to przebieg skokowy, ponieważ zbocza złagodzone są przez dużą pojemność filtrującą 470uF (fotografia 3). Tętnienia są w sumie niewielkie (15,6mV) i prawdopodobnie nie wpływają negatywnie na pracę miernika.
Bardzo dziwne zjawisko wystąpiło podczas testów amperomierza. Mianowicie między masę i wyjście wzmacniacza operacyjnego wpięty był woltomierz cyfrowy (multimetr). Przy zwiększaniu napięcia na nóżce 17 procesora do wartości bliskich 1V woltomierz zaczynał „wariować”. Podobnie zachowywały się inne multimetry. Sprawdzenie napięcia na wyjściu wzmacniacza operacyjnego oscyloskopem pokazało, że gdy napięcie to przekroczy 100mV, zaczyna się tam pojawiać przebieg impulsowy. Przy napięciu 100mV te impulsowe tętnienia miały wielkość 2mVpp. Przy napięciu 500mV (co odpowiada na wskaźniku ok 3A), tętnienia miały około 30mVpp. Przy napięciu 1,60 (i wskazaniu wyświetlacza blisko 10A) tętnienia miały aż 1,12Vpp, co pokazuje rysunek 10.
Przyczyna okazała się zaskakująca. Nóżka 17 to jeden z portów procesora. Nóżka ta może być wyjściem lub wejściem, w tym wejściem wbudowanego przetwornika A/C. Otóż w chwilach, gdy procesor nie obsługuje wyświetlacza, ustawia nóżkę 17 jako… wyjście i na dodatek wyjście w stanie zera logicznego. Tymczasem jest ona połączona wprost z wyjściem wzmacniacza operacyjnego. Gdy więc nóżka 17 staje się wyjściem w stanie logicznym niskim, po prostu zwiera wyjście wzmacniacza operacyjnego do masy! Wzmacniacz stara się utrzymać na swym wyjściu właściwe napięcie, a to oznacza, że niepotrzebnie wzrasta pobór prądu z około 9,5mA do około 15,4mA, czyli ponad 50%. Nie zakłóca to pomiaru i nie zmienia wyniku, ale na pewno jest to niedoróbka konstrukcyjna. Błąd ten można wyeliminować, wstawiając między wyjście wzmacniacza operacyjnego a nóżkę 17 rezystor, choćby 1kΩ. Wymagałoby to jednak znalezienia przebiegu ścieżki, przecięcia jej i wlutowania rezystora.
Najprawdopodobniej jest to błąd w programie, być może niestarannie zmodyfikowanym programie od innego producenta. Argumentem może być porównanie rysunku 7 z zamieszczonym dalej rysunkiem 11, gdzie nóżka 17 procesora odgrywa zupełnie inną rolę.
Przedstawione informacje wcale nie świadczą, że omawiany miernik „jest do niczego”. Wprost przeciwnie, jak na swoją cenę, ma on akceptowalne parametry. To, że przy najniższych napięciach i prądach wskazania są obarczone błędem, jest normalne w tanich przyrządach. W sumie jest to pożyteczny przyrząd, który znajdzie wiele interesujących zastosowań. Trzeba tylko pamiętać, że do precyzyjnych to on nie należy.
W następnym artykule MR103 zostały omówione podobne mierniki.
Piotr Górecki