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

ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR

ublizzard 27 Kwi 2013 20:05 16569 29
  • #1 27 Kwi 2013 20:05
    ublizzard
    Poziom 11  

    Szukałem, szukałem i nie znalazłem, pomimo, że jest dużo na temat pomiaru napięć i prądów...
    W jaki sposób mogę dokonać pomiaru napięcia oraz prądu, żeby było prościej niech będzie 0-5V za pomocą uC?
    Czy podpinając napięcie (oczywiście w ramach rozsądku) do jakiegoś wejścia uC potrafi zmierzyć jego wartość, czy potrzebny jest jakiś układ dodatkowo?
    Chodzi mi konkretnie o naukę.

    0 29
  • CControls
  • #2 27 Kwi 2013 20:16
    dondu
    Moderator Mikrokontrolery Projektowanie

    Zacznij od migania diodą za pomocą mikrokontrolera, a później bierz się za ADC: http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html

    ublizzard napisał:
    Czy podpinając napięcie (oczywiście w ramach rozsądku) do jakiegoś wejścia uC ...

    Nie w ramach rozsądku tylko zgodnie z jego możliwościami, które opisane są w nocie katalogowej: http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf

    0
  • #3 27 Kwi 2013 20:23
    Steryd3
    Poziom 32  

    Można zmierzyć napięcie za pomocą mikrokontrolera (np. AVR, PIC, STM32...) wykorzystując wbudowany w niego przetwornik Analogowo-Cyfrowy lub wykorzystać zewnętrzny układ przetwornika komunikujący się z mikrokontrolerem. Oczywiście wynik w V uzyskuje się poprzez odpowiednie przeliczenie wyniku uzyskanego z przetwornika przy znanej rozdzielczości przetwornika i wartość źródła napięcia odniesienia które współpracuje z przetwornikiem. Co do zakresu pomiaru napięcia-trzeba go dopasować(dzielnik napięcia lub wzmacniacz) do wspomnianego napięcia odniesienia oraz do dopuszczalnego zakresu napięcia wejściowego dla danego mikrokontrolera. Pomiar prądu wymaga przetworzenia wartości prądu( za pomocą np. rezystora pomiarowego i wzmacniacza różnicowego) na odpowiadającą mu wartość napięcia które zostanie podane na przetwornik AC mikrokontrolera.

    1
  • #4 28 Kwi 2013 08:37
    ublizzard
    Poziom 11  

    dondu napisał:
    Zacznij od migania diodą za pomocą mikrokontrolera, a później bierz się za ADC:

    Już migania diodami mam za sobą i wyświetlanie temperatury za pomocą LCD.
    Okazuje się że nie wiedziałem czego szukać :D

    0
  • #5 28 Kwi 2013 08:54
    yokoon
    Poziom 28  

    Tu masz przykład.

    http://mdiy.pl/miniaturowy-miernik-do-zasilacza-na-attiny13/

    Wpisz do przeglądarki lub skopiuj.

    1
  • #6 28 Kwi 2013 20:37
    emarcus
    Poziom 35  

    ublizzard napisał:

    W jaki sposób mogę dokonać pomiaru napięcia oraz prądu, żeby było prościej niech będzie 0-5V za pomocą uC?
    Czy podpinając napięcie (oczywiście w ramach rozsądku) do jakiegoś wejścia uC potrafi zmierzyć jego wartość, czy potrzebny jest jakiś układ dodatkowo?
    Chodzi mi konkretnie o naukę.


    Jeżeli masz na myśli tylko i wyłącznie naukę, to jeszcze musiałbys sprecyzowac środowisko w jakim programujesz.
    Uogólniając zagadnienie, temat sprowadza się do konceptu, który jest ten sam niezależnie czy programujesz w BASIC czy w „C”, lub ich pochodnym odmianom.
    Krótko mówiąc każdy pomiar wartości fizycznej czy to będzie: napięcie, natężenie pradu , ciśnienie, temperatura, wilgotnośc etc. sprowadaza się do pomiaru ‘napięcia’ podanego do wejścia ADC i nastepnie odpowiedniej interpretacji wyniku pomiaru. Dla niektórych parametrów wymagane jest stosowanie dodatkowych układów dopasowujących, (przetworników) mierzonej wartości na napięcie o poziomie dopuszczalnym przez wejście ADC oraz dopasowane do AREF aby możliwie wykorzystac pełny zakres ADC.
    Na przykład pomiaru pradu dokonuje się mierząc spadek napięcia na rezystorze ‘bocznikowym’ (shunt resistor), stąd wartośc tego rezystora jest dośc krytyczna (winna byc aktualnie zmierzona zamiast odczytana z kodu kreskowego). Ponadto ten rezystor winien byc odporny na zmiany wartości wzgledem temperatury.Ta wartośc jest później potrzebna do określenia współczynnika rachunkowego przy obliczaniu mierzonej wartości. (Prawo Ohma)
    Inny przykład: pomiar ciśnienia; sensor może miec wyjście napięciowe (zwykle 0-5V) co jest praktyczne z uwagi na łatwośc dopasowania do ADC, ale z powodu pewnych oczywistych strat przy większych odległościach stosuje się sensor/trasmiter w konfiguracji prądowej ‘4-20mA’ .
    W takiej sytuacji potrzebny jest nie tylko wyżej wspomniany ‘shunt resistor’ z którego odczytamy spadek napięcia, ale także układ wzmacniający, korygujący offset oraz dopasowanie pozostałej wartości napiecia do utylizacji całego możliwego zakresu pomiarowego względem AREF. (szczegóły patrz temat: ‘transmitter 4to20mA’)
    Zwykły pomiar napięcia dokonywany jest względnie bezpośrednio; tzn.
    mierzone napięcie nie powinno przekraczac napięcia zasilania uC oraz nie powinno przekraczac AREF.
    Przy pomiarach wyższych napięc nalezy stosowac dzielnik napiecia o znanym przełożeniu, który uwzględniany jest później przy obliczniu mierzonej wartości.
    Sam ‘mechanizm’pomiaru jest relatywnie prosty i wygląda nastepująco:
    AVR ma wbudowany 10-bitowy przetwornik ADC; tzn. posiada rozdzielczośc 1024 stopni wzgłędem napięcia odniesienia AREF. Podane napiecie na wejście ADC jest porównywane z napięciem odniesienia i w efekcie otrzymany wynik jest proporcjonalny do wejścia wyrażony w jednostkach z zakresu 0 -1023
    Konkretnie: jeżeli napięcie AREF wybrane jest 5V , a mierzone napiecie daje wynik z ADC=512 to prostym rachunkiem wynosi ono 2.5V; współczynnik wyniesie: x=5V/1024 = 0.00488
    Zadaniem programisty jest wyliczenie odpowiedniego współczynika w zależności od wybranego napięcia odniesienia AREF, które nie jest zawsze stałe. Programista ma do wyboru zwykle dwa napiecia wewnętrzne oraz dowolne napięcie zewnętrzne podłączone do uC do pinu AREF. Napięcie zasilania jako AREF traktuje się jako wybór nap. wewnętrznego, dlatego konfigurowane jest programowo i nie jest podłączane do AREF. W tej sytuacji do Aref jest podłączony przez mały cap. do GND.

    e marcus

    1
  • CControls
  • #8 29 Kwi 2013 10:28
    ublizzard
    Poziom 11  

    emarcus napisał:
    Na przykład pomiaru pradu dokonuje się mierząc spadek napięcia na rezystorze ‘bocznikowym’ (shunt resistor), stąd wartośc tego rezystora jest dośc krytyczna (winna byc aktualnie zmierzona zamiast odczytana z kodu kreskowego). Ponadto ten rezystor winien byc odporny na zmiany wartości wzgledem temperatury.Ta wartośc jest później potrzebna do określenia współczynnika rachunkowego przy obliczaniu mierzonej wartości. (Prawo Ohma)

    Czy chodzi o taki układ?
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR
    ADC3 mierzy napięcie wejściowe.
    ADC4 mierzy spadek napięcia na oporniku powiedzmy 1Ω.
    Powiedzmy, że podłączam napięcie 5V, wówczas ADC3 pokazuje 5V.
    ADC4 pokazuje powiedzmy 3V.
    Czyli spadek napięcia wynosi 2V, więc I=2V/1Ω=2A.
    Czy o to chodzi?
    Pomijam w tej chwili sprawy związane z notą katalogową (dopuszczalne napięcia i prądy).

    0
  • #9 29 Kwi 2013 13:12
    emarcus
    Poziom 35  

    ublizzard napisał:

    Czy chodzi o taki układ?

    ADC3 mierzy napięcie wejściowe.
    ADC4 mierzy spadek napięcia na oporniku powiedzmy 1Ω.
    Powiedzmy, że podłączam napięcie 5V, wówczas ADC3 pokazuje 5V.
    ADC4 pokazuje powiedzmy 3V.
    Czyli spadek napięcia wynosi 2V, więc I=2V/1Ω=2A.
    Czy o to chodzi?
    Pomijam w tej chwili sprawy związane z notą katalogową (dopuszczalne napięcia i prądy).


    Nie, niepoprawnie to interpretujesz.
    Rezystor pomiarowy/bocznikowy (shunt) włącza sie pomiędzy GND i objekt pomiarowy, tak samo jak ‘wpinasz’ zwyczajny amperomierz.
    Z reguły jego wartośc wynosi tylko ułamek ohma. Podłączając go tak jak pokazałeś spowodujesz praktycznie zwarcie w układzie.
    ADC3 masz tu podłączony do GND, więc mierzyłby ‘zero volt’ zatem nie jest tu potrzebny(!).
    Potrzebujesz tylko podłączenie do ADC4, na którym mierzysz spadek napięcia na rezystorze R1.
    Na tym konkretnym przykładzie całośc napięcia VCC ‘odłoży się’ na R1 więc pomiar wyniesie 5V.
    Zatem wynik rachunku byłby: I= 5/1 = 5A

    e marcus

    0
  • #10 29 Kwi 2013 15:52
    ublizzard
    Poziom 11  

    emarcus napisał:
    Na tym konkretnym przykładzie całośc napięcia VCC ‘odłoży się’ na R1 więc pomiar wyniesie 5V

    Ach rzeczywiście, nie wiem co mi strzeliło do głowy, żeby tak to połączyć :/
    Czyli przy takim układzie:
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR
    Za pomocą ADC4 będę mógł wykonać pomiar napięcia i natężenia.
    Tylko jaki najlepiej dobrać rezystor pomiarowy?
    Jakimi kryteriami się kierować?
    Domyślam się, że chyba najlepiej o jak najniższym oporze.

    0
  • #11 29 Kwi 2013 19:54
    kasjo
    Poziom 25  

    Pamiętaj, że musisz jeszcze narysować odbiornik którego pobór prądu chcesz mierzyć (za rezystorem R1)
    I wtedy mierzysz napięcie za R1 (którego rezystancja ma być jak najmniejsza żeby zbytnio się nie grzał przy wyższym prądzie)
    Często stosuje się 0,1ohma 5W
    Jednak przy bardzo małej rezystancji spadek będzie bardzo mały i możesz mieć problemy by go zmierzyć. Wtedy można zastosować wzmacniacz operacyjny.

    0
  • #12 29 Kwi 2013 21:30
    Piotrek-787
    Poziom 15  

    ublizzard napisał:
    Za pomocą ADC4 będę mógł wykonać pomiar napięcia i natężenia.


    W tym wypadku za pomocą ADC4 zmierzysz napięcie VCC.
    Co do wyboru rezystora pomiarowego to wszystko od prądu jaki będziesz mierzył. Podstawą jest wartość tolerancji rezystora pomiarowego, która powinna być jak najmniejsza. Z reguły w takich przypadkach stosuje się rezystory 1%. Co do wartości to zależy od tego jakie natężenie prądu będzie w układzie pomiarowym. Przy zbyt małej wartości rezystancji bocznika, przy małych natężeniach prądu otrzymamy bardzo mały spadek napięcia, który może być trudny do wykrycia przez ADC, natomiast zbyt duża wartość rezystancji, przy większych prądach, będzie przyczyną grzania się bocznika, co z kolei będzie wpływało na błędne wyniki pomiarów, lub spalenie bocznika.

    2
  • #13 29 Kwi 2013 22:36
    dondu
    Moderator Mikrokontrolery Projektowanie

    ublizzard napisał:
    Czyli przy takim układzie:
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR
    Za pomocą ADC4 będę mógł wykonać pomiar napięcia i natężenia.

    Oczywiście dokonasz pomiaru napięcia i przeliczysz go zgodnie z prawem Ohma.
    Ale nie musisz do tego używać mikrokontrolera - przy takim schemacie wystarczy, że znasz napięcie Vcc i wartość rezystora :)

    Wiesz już jaki błąd logiczny popełniasz?

    0
  • #14 30 Kwi 2013 00:16
    emarcus
    Poziom 35  

    ublizzard napisał:


    Czyli przy takim układzie:

    Za pomocą ADC4 będę mógł wykonać pomiar napięcia i natężenia.


    Tak. W tym konkretnym układzie pomierzysz oba parametry.

    Cytat:

    Tylko jaki najlepiej dobrać rezystor pomiarowy?
    Jakimi kryteriami się kierować?
    Domyślam się, że chyba najlepiej o jak najniższym oporze



    Tak. Oczywiście jak najmnejszy, ale taki abyś mógł uzyskac na nim jakiś pomiar, tak jak już koledzy wcześniej pisali.

    Fachwo, w oryginalym fabrycznym sprzęcie wygląda to tak jak na fot.

    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR

    e marcus

    1
  • #15 30 Kwi 2013 09:23
    ublizzard
    Poziom 11  

    dondu napisał:
    Ale nie musisz do tego używać mikrokontrolera - przy takim schemacie wystarczy, że znasz napięcie Vcc i wartość rezystora :)

    Tu wkradł mi się błąd w schemacie, bo tu nie chodzi o Vcc, tylko o jakieś zewnętrzne źródło prądu, ale chyba tylko dondu to zauważył ;). Czyli nie znam wartości tego napięcia.
    emarcus napisał:
    Fachwo, w oryginalym fabrycznym sprzęcie wygląda to tak jak na fot.

    Ale rozumiem, że w amatorskich miernikach wykorzystuje się standardowe oporniki 1%?

    0
  • #16 30 Kwi 2013 15:37
    Piotrek-787
    Poziom 15  

    ublizzard napisał:
    Ale rozumiem, że w amatorskich miernikach wykorzystuje się standardowe oporniki 1%?


    W rozwiązaniach amatorskich taka dokładność rezystora pomiarowego jest wystarczająca.

    0
  • #17 03 Maj 2013 12:38
    ublizzard
    Poziom 11  

    Pracuję cały czas nad pomiarem napięcia i natężenia zasilacza 0-24V i 0,9A.
    Ponieważ max napięcie i prąd:
    Maximum Operating Voltage ............................................ 6.0V
    DC Current per I/O Pin ............................................... 40.0 mA
    Więc zrobiłem dzielnik:
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR
    Wówczas mi wychodzi napięcie na ADC4:
    UADC4=(R1/(R1+R2))*Vpomiar=(5,6/25,6)*24=5,25V
    Ale gdy zacząłem mierzyć prąd wychodzi mi:
    IADC4=UADC4/R1=5,52V/5,6Ω=0,9375A
    A może być maksymalnie 0,04A.
    W jaki sposób postępuje się w takim przypadku, żeby obniżyć ten prąd?
    Pierwsza moja myśl to zwiększyć wartość oporników R1 i R2, ale w ten sposób zmniejszy mi się prąd w obwodzie zasilacza.
    Druga myśl to wstawienie jeszcze jednego opornika pomiędzy tym węzłem a ADC4, tylko z kolei na nim też będzie jakiś spadek napięcia.
    Podpowiedzcie co czynić i jeśli popełniam błąd to wskażcie mi go ;)

    0
  • #18 03 Maj 2013 20:41
    Piotrek-787
    Poziom 15  

    ublizzard napisał:
    Maximum Operating Voltage ............................................ 6.0V
    DC Current per I/O Pin ............................................... 40.0 mA


    Tutaj masz podane maksymalne napięcie zasilania mikrokontrolera, oraz maksymalny prąd jaki może przepłynąć przez dany pin procesora w sytuacji kiedy pracuje jako klasyczne wejście lub wyjście.
    Twoje obliczenia są prawidłowe, z tą tylko różnicą że obliczony prąd nie płynie przez pin procesora a przez rezystor R1

    0
  • #19 04 Maj 2013 04:19
    emarcus
    Poziom 35  

    ublizzard napisał:
    Pracuję cały czas nad pomiarem napięcia i natężenia zasilacza 0-24V i 0,9A.
    Ponieważ max napięcie i prąd:
    Maximum Operating Voltage ............................................ 6.0V
    DC Current per I/O Pin ............................................... 40.0 mA
    Więc zrobiłem dzielnik:
    ............
    Wówczas mi wychodzi napięcie na ADC4:


    A tu ju wszystko pomieszałeś, kompletnie, bez wyjątku (!).
    Zacznijmy od początku:Te maxymalne dane techniczne dotyczą absolutnie MAXYMALNYCH parametrów, powyżej których nastąpi uszkodzenie processora.
    Więc tak na początek praktyki zapopmnij o takich granicach i przyjmij że zasilasz processor napięciem stabilizowanym 5.0 V
    oraz dopuszczalne obciążenie pinu nie przekroczy 20mA, które może byc jeszcze bardziej ograniczone dla całego portu.
    Te wartości rezystorów na twoim diagramie nie wskazuja na wymagany dzielnik napięcia stosowany w układach pomiarowych z ADC. Jest to raczej kombinowany układ obciążeniowy (prądowy) źródła zasilania a nie portu, tak jakby wynikało z twojego opisu.
    Alternatywna funkcja ADC dla portu czyni go wejściem, zatem taka konfiguracja jak na obrazku nie obciąża portu processora i nie masz powodu do obawy o te 0.93 A co i tak w gruncie rzeczy nie jest poprawne.
    Poczytaj notę katalogową, rozdział: „Analog Input Circuitry” gdzie masz -
    „The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less.” - a u ciebie ile wynosi? – zaledwie kilka ohmów(!)
    Więc możesz spokojnie przyjąc na dzielnik napięcia rezystancje 36 kΩ oraz 9.1 kΩ (kilo ohmów), co powinno dac dla zasilania 24V, wyjście o poziomie napięcia ok.4.84 Voltów.
    Zatem ‘współczynnik przełożenia’ dzielnika wyniesie: X= 24V /4.84V = 4.95 (potrzebny później do odwzorowania mierzonego napięcia). Ten etap możesz nazwac kalibracją układu pomiariu napięcia.
    Przykład:
    Przypuścmy że mierzone napięcie wynosi 12V. (0 do 24V)
    Na wyjściu z dzielnika otrzymasz napięcie 2.42V, którym zasilasz wejścieADC(4).
    Jezeli referencyjne napięcie w konfiguracji wybrałes 5V = napięciu zasilania; wtedy przetwornik ADC zwróci wartośc cyfrową około 495 (ta wartośc jest przykładowa, lecz w praktyce jest wynikiem pomiaru), co wykorzystasz w ogólnym rachunku na obliczenie mierzonego napięcia, które w końcowym wyniku winno dac 12 V tak jak zakładano.
    Popatrz na zależnośc w datasheet w rozdziale;
    ADC Conversion Result:

    ADC= Vin * 1024/VREF ;
    którą z łatwością przekształcisz do postaci :
    Vin= ADC*0.00489 – jest to wynik pomiaru napięcia na wejściu do ADC(4)

    Z tego miejsca już z łatwościa wyznaczysz mierzone napiecie, mnożąc otrzymany wynik przez „X” ‘przełożenie’ dzielnika napięcia.

    Pomiar prądu dokonujesz w innym obwodzie „zbierają” spadek napięcia z „shunt rezystora” i wykorzystujesz inne wejście do przetwornika np:ADC(3) stosując multiplexing.
    W tej części stosujesz odpowiednią kalibracje w zależności od przyjętej wartości ‘shunt resistora”. Byc może zajdzie koniecznośc wzmocnienia napięcia z rezystora bocznikowego, wtedy będzie wymagane znac ten współczynnik wzmocnienia.
    Nie ma innej metody, gdyż microcontroller posiada tylko jeden przetwornik ADC z możliwością multipleksowania różnych sygnałów podłączonych do kilku oddzielnych wejśc.

    e marcus

    0
  • #20 04 Maj 2013 09:12
    ublizzard
    Poziom 11  

    Napisałem program, który mierzył mi napięcia na dwóch pinach:
    https://www.elektroda.pl/rtvforum/topic2561157.html
    Jednak on mierzył tylko napięcie zasilania VCC oraz napięcie z potencjometru podłączonego do VCC. Tak więc zasady obliczania napięcia są mi znane.
    Dzielnik napięcia już zrozumiałem.
    Tylko nadal nie wiem jak powinien wyglądać układ do pomiaru prądu.
    Myślałem, że będę mógl mierzyć spadek napięcia na R1

    Cytat:
    Pomiar prądu dokonujesz w innym obwodzie „zbierają” spadek napięcia z „shunt rezystora” i wykorzystujesz inne wejście do przetwornika np:ADC(3) stosując multiplexing.
    W tej części stosujesz odpowiednią kalibracje w zależności od przyjętej wartości ‘shunt resistora”. Byc może zajdzie koniecznośc wzmocnienia napięcia z rezystora bocznikowego, wtedy będzie wymagane znac ten współczynnik wzmocnienia.
    Nie ma innej metody, gdyż microcontroller posiada tylko jeden przetwornik ADC z możliwością multipleksowania różnych sygnałów podłączonych do kilku oddzielnych wejśc.

    Czy w ten sposób wykonany układ jest poprawny?
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR

    0
  • #21 04 Maj 2013 11:52
    Piotrek-787
    Poziom 15  

    Poprawnym układem do pomiaru prądu jest układ który pokazałeś wczoraj. Gdzie rezystor R1 jest rezystorem pomiarowym o znanej rezystancji, natomiast R2 jest odbiornikiem o nieznanej rezystancji.
    Wartość rezystancji R1 dobierasz tak aby dla maksymalnego prądu płynącego w układzie pomiarowym, osiągnąć na nim spadek napięcia nie co mniejszy niż napięcie odniesienia, pamiętając oczywiście o mocy jaka się na nim wydzieli.
    W takim układzie pomiarowym mierzysz spadek napięcia na R1 i dalej z prawa Ohma obliczasz sobie prąd.

    0
  • #22 04 Maj 2013 15:52
    ublizzard
    Poziom 11  

    Piotrek-787 napisał:
    Wartość rezystancji R1 dobierasz tak aby dla maksymalnego prądu płynącego w układzie pomiarowym, osiągnąć na nim spadek napięcia nie co mniejszy niż napięcie odniesienia, pamiętając oczywiście o mocy jaka się na nim wydzieli

    Czyli R1=5V/1A=5Ω Jak teraz przyłożę do tego 24V, to mi pójdzie procesor, dlatego dałem jeszcze R2, żeby zrobić dzielnik napięcia. Idąc dalej wg tego co Piotrek napisał: R2=R1*U2/U1=5Ω*19A/5A=19Ω
    No ale jak to się ma do noty katalogowej:
    emarcus napisał:
    Poczytaj notę katalogową, rozdział: „Analog Input Circuitry” gdzie masz -
    „The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less.” - a u ciebie ile wynosi? – zaledwie kilka ohmów(!)
    Więc możesz spokojnie przyjąc na dzielnik napięcia rezystancje 36 kΩ oraz 9.1 kΩ (kilo ohmów), co powinno dac dla zasilania 24V, wyjście o poziomie napięcia ok.4.84 Voltów.

    0
  • #23 04 Maj 2013 16:24
    Piotrek-787
    Poziom 15  

    Musisz się zdecydować co chcesz zmierzyć, czy napięcie zasilania po dzielniku napięcia, czy prąd płynący przez jakiś odbiornik.
    W obydwu przypadkach układ pomiarowy wygląda tak samo. W twoim wypadku są to rezystory R1 i R2. Różnica polega tylko na tym, że dla pomiaru napięcia tworzysz dzielnik napięcia tak jak napisał kolega emarcus. Z tym ze jeśli będziesz miał większe napięcie zasilania od 24 V to musisz zmienić wartości rezystancji dzielnika, tak aby na wejściu ADC otrzymać napięcie mniejsze od 5 V.

    Z kolei w przypadku pomiaru prądu rezystor R1 jest rezystorem pomiarowym o znanej wartości, natomiast R2 jest odbiornikiem energii o nieznanej rezystancji. Dokonując pomiaru spadku napięcia na R1 możesz obliczyć jaki prąd płynie przez R2 nie znając jego wartości.

    0
  • #24 07 Maj 2013 20:49
    ublizzard
    Poziom 11  

    Już chyba wiem, na czym polegał mój błąd.
    Czy to jest poprawny schemat podłączenia?
    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR

    Jeśli tak, to w jaki sposób dokonać pomiaru napięcia pomiędzy masą, a przewodem "pomiar prądu"?
    Tam przecież będzie napięcie ujemne, a uC dokonuje pomiaru w granicach 0-Vref.

    0
  • #25 07 Maj 2013 21:15
    Piotrek-787
    Poziom 15  

    Nie to nie jest poprawny sposób pomiaru.
    W takim wypadku jeśli napięcia z zasilacza będzie większe od 5 V upalisz mikrokontroler.

    ATMEGA - Jak dokonać pomiaru napięcia/prądu za pomocą mikrokontrolera AVR

    Poprawny schemat pomiarowy masz na rysunku powyżej gdzie:

    - R1 jest odbiornikiem o nieznanej rezystancji
    - R2 jest rezystorem pomiarowym sposób doboru rezystancji opisany w powyższych postach
    - R3 i R4 tworzą dzielnik napięcia. Sposób doboru opisany w postach powyżej.


    W powyższym układzie pomiarowym masy zasilania mikrokontrolera i zasilacza zasilającego odbiornik są ze sobą połączone (ten sam potencjał). Jeśli prąd płynacy przez odbiornik jest bardzo mały wówczas spadek napięcia na rezystorze pomiarowym trzeba wzmocnić za pomocą wzmacniacza operacyjnego.

    0
  • #26 07 Maj 2013 21:22
    ublizzard
    Poziom 11  

    Piotrek-787 napisał:
    Poprawny schemat pomiarowy masz na rysunku powyżej

    Piotrek wielkie dzięki, super jasno to narysowałeś.
    Chyba już rozumiem. Na Rezystorze pomiarowym mam maksymalny spadek powiedzmy te 5V, a całe pozostałe napięcie odkłada się na odbiorniku (taki dzielnik napięcia).

    0
  • Pomocny post
    #27 07 Maj 2013 21:41
    Piotrek-787
    Poziom 15  

    ublizzard napisał:
    Chyba już rozumiem. Na Rezystorze pomiarowym mam maksymalny spadek powiedzmy te 5V, a całe pozostałe napięcie odkłada się na odbiorniku (taki dzielnik napięcia).


    Dokładnie tak, tylko nie zapominaj o macy jaka się wydziela na rezystorze.

    0
  • #28 08 Maj 2013 10:40
    ublizzard
    Poziom 11  

    Jeszcze zastanawia mnie, czy dobrze liczę.
    1. W Atmedze 16, lub 8 ADC jest 10bitowa rozdzielczość, jeśli Vref=5V, to rozdzielczość wyniesie:
    5/1024=0,0049, czyli 5mV, to oznacza, że najmniejszy spadek napięcia na rezystorze pomiarowym jaki będę mógł zmierzyć to właśnie te 5mV.
    Czyli najmniejszy prąd dla 5Ω wyniesie I=0,005V/5Ω=0,001A=1mA?
    2. Dla zasilacza 24V 1A, opornik pomiarowy wyniesie:
    R=5V/1A=5Ω
    3. Rezystor powinien mieć moc:
    P=5V*1A=5W Jak sobie poradzić z taką mocą rezystora, bo z tego co się orientuję, to rezystory o tolerancji 1% mają 0,25W?

    0
  • #29 08 Maj 2013 21:07
    Piotrek-787
    Poziom 15  

    Twoje obliczenia są poprawne.
    W praktyce jednak rezystory pomiarowe mają wartość poniżej 1 Ohma. Dzięki mniejszej rezystancji, wydziela się mniejsza moc. Natomiast do dopasowania spadku napięcia na rezystorze pomiarowym, do zakresu przetwornika ADC wykorzystuje się wzmacniacze operacyjne.
    Przykład:
    - Rezystor pomiarowy ma wartość 0.1 Ohma.
    - Przy prądzie 10 mA otrzymujemy spadek napięcia równy 1 mV.
    - Otrzymany spadek napięcia wzmacniamy wzmacniaczem operacyjnym o wzmocnieniu napięciowym równym 50, co na wyjściu daje nam 50 mV.
    - Przy prądzie równym 1 A otrzymujemy spadek napięcia równy 0.1 V
    - Po wzmocnieniu otrzymujemy 5 V.
    - Moc jaka się wydzieli na rezystorze pomiarowym wynosi 0.1 W

    0
  • #30 08 Maj 2013 23:02
    ublizzard
    Poziom 11  

    Jeszcze raz dzięki Piotrek za wyjaśnienie.
    W Atmedze16 podają:

    Cytat:
    The device also supports 16 differential voltage input combinations. Two of the differential inputs
    (ADC1, ADC0 and ADC3, ADC2) are equipped with a programmable gain stage, providing
    amplification steps of 0 dB (1x), 20 dB (10x), or 46 dB (200x) on the differential input voltage
    before the A/D conversion. Seven differential analog input channels share a common negative
    terminal (ADC1), while any other ADC input can be selected as the positive input terminal. If 1x
    or 10x gain is used, 8-bit resolution can be expected. If 200x gain is used, 7-bit resolution can be
    expected.

    Czy to oznacza, że stosując wzmocnienie w uC spadnie mi rozdzielczość?

    Czy ustawiając ADMUX na 01001 mam :
    Positive Differential Input: ADC1, a Negative Differential Input ADC0 i Gain x10.

    Czyli w moim przypadku powinienem ADC0 podłączyć do masy a ADC1 pomiędzy rezystor pomiarowy a odbiornik?

    0