Elektroda.pl
Elektroda.pl
X
Texa Poland
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[uC] pomiar napięcia i natężenia - coś nie do końca działa

krzychu21 24 Kwi 2011 19:27 2476 7
  • #1 24 Kwi 2011 19:27
    krzychu21
    Poziom 10  

    Chciałem zbudować miernik napięcia i natężenia na mikrokontrolerze, znalazłem na jednej ze stron
    ->http://www.electronics-diy.com/70v_pic_voltmeter_amperemeter.php<-
    taki oto schemat:
    [uC] pomiar napięcia i natężenia - coś nie do końca działa
    Tutaj już domalowałem jak mam wszytko podłączone, przez Vcc i GND w kwadratach mam podłączony stabilizator i zasilanie całej płytki.

    Zbudowałem, napisałem prosty program i się pogubiłem w tym wszystkim… nie wiem czy błąd jest w schemacie w co wątpię czy może coś z mikrokontrolerem lub moimi zdolnościami programistycznymi, ogólnie jakieś cuda wychodzą. ADC przecież jak ADC nie ważne jaki mikrokontroler powinno działać.
    Teraz tak, mikrokontroler to freescale MC9S08DV60, działa na 5V, ma wbudowany ADC 12/10/8bitowy, moja wersja jest w najmniejszej obudowie i ma wewnętrznie podpięte VDDAD, VSSAD, VREFH, VREFL

    Zasilanie z akumulatorów ok. 6.95V
    ADC ustawione na 12bit, z resztą na 10bit czy 8bit nie było różnicy
    Próbkowanie - sprawdziłem wszystkie możliwości :D najczęściej uruchamiam na ok. 79kHz z asynchronicznego zegara. Rezystor to 0.47Ohm 5W Do tego w urządzeniu jest jeszcze włączone CAN, PWM dla wentylatora i Real Time Counter. CAN musi być włączone dla przesyłania danych do wyświetlacza

    Pomiar 1 na ADC1:
    Pomiar multimetrem: pobór prądu między akumulatory <-> płytka / napięcie na oporniku / wskazanie ADC
    Bez dodatkowego obciążenia: 24mA / 0.011V / 350
    Razem z wentylatorkiem: 75mA / 0.036V / 325

    Wzór na obliczenie napięcia wymyśliłem :D taki:
    Napięcie odniesienia na ADC dobrałem jako 5.17V żeby wynik się zgadzał z multimetrem.
    Ze wzoru na dzielnik napięcia obliczyłem Vmax – 81.20V i reszta z proporcji 81.20V -> 4096 …
    Więc napięcia wychodzą ok. 6.93V / 6.44V -> i skąd ta druga wartość, czy w ogóle powinna być taka zmiana podczas pomiaru na tej nodze?

    Pomiar 2 na ADC2:
    I ten jest najlepszy, ogólnie ma taką przypadłość, że się zmienia się w zależności od częstotliwości próbkowania a jak dobiorę próbkowanie żeby coś pokazywał to kompletnie się nie zmienia przy zmianie napięcia czy włączeniu wentylatora.

    Ogólnie elektronik to ze mnie to żaden, ale rozumiem chociażby ogólnikowo czym jest spadek napięcia na rezystorze, dzielnik napięcia i na jakiej zasadzie ADC. Pod schematem przy wyjaśnieniu sposobu mierzenia natężenia jest napisane takie coś "...at the negative voltage rail..." Czyli, że jak?, on ma mierzyć napięcia ujemne czy jak?? Proszę uświadomcie mnie chociaż czy dobrze rozumuję na nodze ADC1 powinienem otrzymać wartość napięcia? A na ADC2 wartość napięcia na rezystorze? Czyli dla przykładu: ADC1: 6.95V a ADC2: 0.036V na takiej zasadzie to ma działać?? Coś przeoczyłem czy w ogóle moje rozumowanie i cała reszta jest do d..y?

    0 7
  • Texa Poland
  • #2 24 Kwi 2011 20:19
    janbernat
    Poziom 38  

    Żeby to coś mierzyło gnd procesora powinien być podłączony tam gdzie jest symbol masy- "...at the negative voltage rail..." a nie tam gdzie GND.
    Napięcie na ADC1 bez żadnego obciążenia powinno być 0.4425V.
    Na oporniku szeregowym 0.47ohm w zależności od prądu- dla 1A 0.47V.

    0
  • Texa Poland
  • #3 24 Kwi 2011 21:58
    krzychu21
    Poziom 10  

    Aaa ale ja głupi jestem :D po pierwsze VDDAD, VSSAD, VREFH, VREFL nie są wewnętrznie podpięte tylko podpiąłem je pod GND i Vcc procesora nie wiem co mi sie ubzdurało o_0! Chętnie bym to sprawdził, ale wszystko jest zmontowane w smd i nie wiem czy mi sie uda cos o zmieniać. Z tego co się orientuję wystarczy podpiąć VREFL/VSSAD pod symbol masy a mikrokontroler może nadal zostać podpięty w miejscu GND?
    Zrobiłem oczywiście stosowny rysunek:
    [uC] pomiar napięcia i natężenia - coś nie do końca działa
    Więc jak ma to szansę zadziałać?
    Zależy mi żeby wszystkie urządzenia na płytce (m.in. mosfety od wentylatorów) były podłączone w miejscu pomiaru prądu.

    0
  • #4 24 Kwi 2011 22:11
    michalko12
    Specjalista - Mikrokontrolery

    Jeśli tak podepniesz będziesz miał na VREFL/VSSAD ujemne napięcie względem GND, a tego to raczej uC nie przełknie.

    0
  • #5 24 Kwi 2011 22:23
    krzychu21
    Poziom 10  

    Czyli GND od uC też trzeba podpiąć pod symbol masy? a jak z innymi układami jak np. eeprom też pod symbol masy czy już pod GND nie będzie nic przeszkadzać w komunikacji. Czy najlepiej zrobić jedną wspólną masę dla wszystkiego na pcb i podpiąć ją miejsce symbolu masy?
    Kurcze może zadaję głupie pytania, ale pierwszy raz w życiu mam do czynienia z ADC ogólnie rozumiem jak to działa, ale napięcia ujemne to dla mnie już kosmos...

    0
  • #6 24 Kwi 2011 23:29
    janbernat
    Poziom 38  

    Po kolei.
    Wszystkie układy współpracujące z procesorem muszą mieć wspólną masę.
    Jeżeli to ma pracować tak jak na schemacie to może mierzyć prąd układów nie współpracujących bezpośrednio z procesorem- podłączonych do punktu GND na rysunku.
    To są różne masy.
    I w dodatku w takim układzie pomiar napięcia będzie dokonywany na wejściu- źródle zasilania- a nie na obciążeniu.
    Napięcie na obciążeniu będzie niższe o spadek napięcia na oporniku pomiarowym prądu.
    To można korygować programowo.
    To jest prosty układ i należy się pogodzić z niedogodnościami.
    Układ dokładny wymagałby dodatkowego źródła zasilania ujemnego, wzmacniaczy różnicowych i przesuwania poziomów napięć.

    0
  • #7 25 Kwi 2011 17:24
    krzychu21
    Poziom 10  

    Hmm trochę czytałem o tym wszystkim co pisaliście i to co zbudowałem nie jest idealne :/ czytałem o wzmacniaczach różnicowych itp. ale jak na moje możliwości to czarna magia :D A nić co można by przerobić nie znalazłem, za to znalazłem taki układ MAX4211 na tej stronie: http://elektronikab2b.pl/technika/10441-czujniki-natenia-prdu-ukady-pomiarowe-i-aplikacje. Nasmarowałem takie coś:
    [uC] pomiar napięcia i natężenia - coś nie do końca działa
    I teraz tak do IN będzie trzeba podpiąć napięcie odniesienia w moim wypadku 5V jeśli użyję dzielnika R1: 8.2k R2: 2.1k to da napięcie rzędu 1.02V, IN max według noty jest 1.1V rezystory będą 1% więc będzie jeszcze zapas.
    R2 i R3 będą dzielnikiem do obliczania napięcia, Max 20V dla mnie wystarczy więc rezystory 6.2k i 2.1k to da napięcie dla 20V ok. 5.06V

    I teraz tak prosiłbym o zweryfikowanie mojego myślenia:
    w datasheet jest napisane takie coś: Rsense = Vsense(full scale) / Iload(full scale)
    dla tego układu Vsense (full scale) wynosi 150mV więc jeśli dam opornik o wartości 0.1Ohm to zakres prądu będzie wynosił 1.5A?
    Układ ma wzmocnienie 25x, Vsense to 150mV czyli na nóżce Pout maksymalnie powinno się pojawić 3.75V jeśli dobrze rozumuję.

    Jeśli zastosuję ten układ to z tego co widzę pozbędę się dwóch różnych mas?? Czy takie rozwiązanie byłoby lepsze?

    0
  • #8 28 Maj 2012 12:27
    Kubbaz
    Poziom 26  

    Cześć krzychu21 ;) :!:

    Temat może i stary, ale zawsze na topie i często poruszany.
    W załączniku przesyłam prosty projekt układu pomiarowego prąd/napięcie dla mikrokontrolera (z przetwornikiem ADC). W razie pytań pytaj śmiało ;).

    Sie wie ;).

    0