Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Pomiar prądu przy pomocy ADC z ATMega8 w linii +12V

Nemo 17 Sep 2009 16:31 8927 7
  • #1
    Nemo
    Level 31  
    Przetwornik ADC w ATMega może mierzyć napięcia nie wyższe, niż napięcie zasilania. Ponieważ korzystam z wbudowanej referencji, napięcie mierzone nie może być większe, niż 2,56V. W trybie 8-bitowym daje to rozdzielczość 10mV, zaś w trybie 10-bitowym 2,5mV.

    Pomiar prądu miał być w zamierzeniach realizowany na boczniku 0R1 wpiętym w masę pomiędzy zasilaczem, a odbiornikiem. Masa podłączona do AGND ATMega8, zaś drugi koniec bocznika (ten od strony odbiornika) do wejścia ADC. Prąd monitorowanego odbiornika zmienia się w zakresie od około 0,23A do 0,95A, co daje spadki napięcia na boczniku od około 23mV do 95mV. Przy trybie 10-bitowym ADC są to wartości od 9 do 38, zatem różnica pomiędzy najmniejszym, a największym stanem to 29 - dość wyraźna. Rozdzielczość nie jest duża, ale dla moich potrzeb wystarczająca.

    Podczas testów wszystko chodziło pięknie. Jednakże w układzie docelowym odbiornik jest podłączony w dwóch miejscach do masy i tym samym bocznik jest zwarty. Na ADC będzie wtedy 0, bez względu na płynący prąd. Zatem takie rozwiązanie nie jest dobre.



    Wpiąłem zatem bocznik w linię +12V pomiędzy zasilaczem, a odbiornikiem. Tym razem problemu nie ma, bo ta linia jest niezależna (oba napięcia +5V oraz +12V mają tę samą masę). Na boczniku są takie same spadki napięcia, jak były poprzednio. Zmienił się tylko punkt wspólny, na obu końcach bocznika panuje teraz napięcie około +12V, którego bezpośrednio podłączyć do ADC się nie da.

    Pomyślałem, że zrobię dzielnik rezystorowy 1:5, co dla najwyższego napięcia (+12V) da około 2,4V. Jednakże, gdy spojrzeć na to lepiej, sprawa nie jest taka różowa. Załóżmy, że przy odłączonym odbiorniku jest +12,00V, a zatem 2,4V na dzielniku. Przy poborze prądu 0,23A jest spadek 23mV, zatem przed dzielnikiem 11,977V, a za dzielnikiem 2,3954V. Przy poborze prądu 0,95A jest spadek 95mV, zatem przed dzielnikiem 11,905V, a za dzielnikiem 2,381V. Różnica pomiędzy napięciami za dzielnikiem to tylko 14,4mV, co w trybie 8-bitowym ADC daje różnicę o 1, lub o 2, zaś w trybie 10-bitowym różnicę o 5 lub 6. To zbyt mało.

    Siedzę teraz i myślę, jak ten problem rozwiązać. Chciałbym przesunąć różnicę napięć na boczniku z poziomu +12V na poziom akceptowalny dla ADC. Różnicę można by dodatkowo wzmocnić dla lepszego efektu. Jak to zrobić?

    Proszę o pomoc.

    Pozdrawiam.
  • Helpful post
    #2
    tajwoj
    Level 24  
    Układ używany przeze mnie.
    Pomiar prądu przy pomocy ADC z ATMega8 w linii +12V
    Działa bardzo dobrze. Jeszcze lepiej, jeżeli zastosujesz tranzystor P-MOSFET tak jak na dole strony 26 ("Current Monitor") noty AN-31 Nationala. Ja dałem IRF7416 bo jest mały i miałem go pod ręką.
    W Twoim przypadku operacyjny może być zasilany niesymetrycznie.

    Pozdrawiam

    Acha Sriptum
    Rezystor oznaczony u mnie R38 nie jest potrzebny.
    Więcej informacji na temat pomiaru prądu w górnej gałęzi zasilania znaleźć można w Google po wpisaniu "high side current sensing" lub "high side current monitor"
    Zobacz też noty dla układów INA139/169.
  • #4
    Nemo
    Level 31  
    :arrow: tajwoj: Wielkie dzięki za pomoc. Zbudowałem ten układ z noty AN-31 Nationala - Current Monitor. Użyłem do tego wzmacniacza operacyjnego TL071 oraz tranzystora MOSFET typu p BS250. Zmieniłem tylko rezystory w układzie na R2 = 110R oraz R3 = 2k2, przez co otrzymałem mniej więcej 2V/1A. OK. To w zupełności wystarczyło. Wynik konwersji z ADC liczę średni z 256 próbek. Przy 64 próbkach stabilność danej przy stabilnym prądzie była niewystarczająca.

    Zatem układ działa. Dzięki raz jeszcze!

    Jakby ktoś miał ochotę zbudować coś takiego, dołączam schemat:

    Pomiar prądu przy pomocy ADC z ATMega8 w linii +12V

    Warto zauważyć, że układ lepiej działa, gdy MOSFET ma niską rezystancję w stanie przewodzenia. BS250 ma niestety dość wysoką, choć też działa.

    Pozdrawiam.
  • #6
    jarek_lnx
    Level 43  
    Quote:
    Warto zauważyć, że układ lepiej działa, gdy MOSFET ma niską rezystancję w stanie przewodzenia. BS250 ma niestety dość wysoką, choć też działa.

    Bzdura, Rdson będzie miało znaczenie dopiero przy pod koniec zakresu pomiarowego i zamiana z 14Ω (BS250) na 0Ω poszerzy zakres pomiarowy zaledwie o 0,6%, bez znaczenia, zresztą mało który układ mierzący napięcia na R20 obsłuży powyżej 11V.
  • #7
    Nemo
    Level 31  
    :arrow:rafikAVR: W moim urządzeniu powyższy moduł był przeznaczony do bardzo zgrubnego pomiaru prądu. Użyłem BS250, gdyż akurat miałem go pod ręką. Jeśli dasz tranzystor o mniejszym Rdson, też będzie działało. Moim zdaniem lepiej. Z ciekawości można wziąć kilka p-MOSFET o różnych Rdson i sprawdzić, jak pracują i czy różnica jest widoczna.

    Pozdrawiam.
  • #8
    jarek_lnx
    Level 43  
    Quote:
    Jeśli dasz tranzystor o mniejszym Rdson, też będzie działało. Moim zdaniem lepiej.
    Elektronika to dziedzina ścisła, opieramy się na faktach, a nie na "moim zdaniu", fakty są takie jeśli założymy maksymalne napięcie wyjściowe 5V, to na tranzystorze odłoży się 6,75V przy prądzie 2,2mA co dowodzi że układ może poprawnie pracować z każdym tranzystorem który ma Rds(on)<3kΩ.
    W stosunku do tego katalogowe 14Ω w BSS250 to bardzo mało.

    Najmniejsze Rds(on) jest to cecha tranzystorów o dużej powierzchni struktury, a takie tranzystory mają większe upływności i większą pojemność bramki, stosowanie takich tranzystorów da gorszą dokładność przy pomiarze małych prądów, oraz mogą być problemy ze stabilnością.

    Przykładowo popularny IRF9540 (117mΩ) ma katalogowo 25x większy prąd upływu niż BSS250.