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

ATmega32 i pomiar napięcia akumulatora przez ADC

mac_23 14 Maj 2013 10:53 3723 15
  • #1 14 Maj 2013 10:53
    mac_23
    Poziom 9  

    Witam! Przygotowałem sobie układ, który miałby za zadanie robić pomiar napięcia i prądu przy pomocy ADC i wyświetlić na LCD. Cały układ jest podłączony pod akumulator 12V. Diodę 1N4007 zastosowałem w celu ochrony przed odwrotną polaryzacją a P6KE15A po to żeby na dzielnik nie padało napięcie większe niż 15V. Czy tak może być? Może ktoś na to zerknąć? Przygodę z elektroniką dopiero zaczynam więc wszystkie sugestie mile widziane. Z góry dzięki.
    ATmega32 i pomiar napięcia akumulatora przez ADC

    0 15
  • #2 14 Maj 2013 11:33
    tmf
    Moderator Mikrokontrolery Projektowanie

    Kilka rzeczy do poprawy:
    - ADC/U - jeśli źle uystawisz PR2 to potencjalnie na ADC podasz napięcie większe niż dopuszczalne. Dobrze byłoby dodać jakieś zabezpieczenie, ew. tak dobrać elementy, żeby przekroczenie dopuszcalnego napięcia nie było możliwe.
    - po co ci w tym ukłądzie kwarc?
    - dioda D2 w przypadku odwrotnego podłąćzenia aku nic nie ochroni - odparuje szybko, a chwilę później reszta układu. Dioda musi być szeregowo z zasilaniem.
    - jeśli R7/R5 ustalają napięcie dla przetwornicy, to nie prościej wybrać przetwornicę ze stałym napięciem na wyjściu?
    - ADC/I - masz dzielnik na boczniku, który ogranicza i tak małe napięcie na nim powstające. Czy jest potrzebny? Lepiej dać tylko szeregowy rezystor, a za nim diodę zenera odcinającą napięcia powyżej pewnej wartości. Oczywiście mocno to zawęża zakres napięć wejściowych, ale i tak pewnie będziesz mierzył w zakresie 0-1V?
    - przycisk reset jest raczej małoużyteczny.

    0
  • #3 14 Maj 2013 11:34
    BlueDraco
    Specjalista - Mikrokontrolery

    Beez bezpiecznika z przodu takie zabezpieczenie diodą na zwarcie jest średnio sensowne. Dzielnikowi ani akumulatorowi nic się nie stanie, jeśli napięcie przekroczy nawet 2o V, więc zabezpieczanie transilem ma sens raczej na wejściu zasilania, a nie na wejściu pomiarowym. Za to przydałby się kondensator na wejściu ADC i na wejściu RESET.

    0
  • #4 14 Maj 2013 14:04
    mac_23
    Poziom 9  

    Dziękuję panowie za odpowiedz. Kilka słów wyjaśnienia:
    -(ADC/U) Na dzielnik z takimi rezystorami mogę w tym przypadku podać maksymalnie 18V. Chciałem zastosować diodę P6KE15A po to aby napięcie padające na dzielnik nie było większe niż 18V. Rozumiem, że to się sprawdzi w wypadku dodania jeszcze bezpiecznika? Czy jest może jeszcze jakieś inne "lepsze" rozwiązanie?
    -Kwarc jest tylko po to, bo w późniejszym czasie chciałbym ten układ troszkę rozwijać i zastosowałem go tak profilaktycznie. Może zostać czy lepiej go usunąć?
    -Dioda D2 idzie w szereg. Jednak zastanawiam się czy lepiej jest zastosować w celu ochrony przed odwrotną polaryzacją tranzystora typu MOS w połączeniu z rezystorem (w tym przypadku nie byłoby stosunkowy "dużych" spadków napięcia, podczas zasilania układu bateryjnie - przynajmniej o to mi chodzi jednak nie wiem czy dobrze rozumuję).
    -Rezystory R7/R5 ustalają napięcie przetwornicy. Zastosowałem je tylko dlatego, że mam akurat w posiadaniu "goły" stabilizator LM2576. Jednak racja o wiele łatwiej jest zastosować przetwornicę o stałym napięciu na wyjściu.
    -Co do ADC/I. Dzielnik zastosowałem po to aby trochę dokładniejszy zakres pomiarowy. Dla Atmega32 ADC może przybierać wartości od -512 do 512. W moim przypadku interesują mnie wartości z zakresu 0 - 512. Załóżmy, że maksymalna wartość mierzonego prądu ma być 5A. Dla wzmocnienia równego 10 wartość ADC dla 5A wynosi 1000 co wypada poza mój zakres ADC. Jednak po zastosowaniu dzielnika wartość ADC wyniesie 500 i tu już wszystko się mieści w granicach.
    -Co do resetu jest on zastosowany czysto profilaktycznie. Może z czasem się przyda.

    Mam nadzieję, że w miarę sensownie się wyraziłem i koledzy zrozumieją o co mi chodzi. Z góry dzięki i czekam na odpowiedzi.

    0
  • #5 14 Maj 2013 14:43
    tmf
    Moderator Mikrokontrolery Projektowanie

    Wartośći -512..512 występują dla trybu różnicowego. Tym masz wspólną masę zacisku aku i układu, więc nie musisz mierzyć napięcia różnicowego, w efekcie masz zakres 0..1023. Co do kwarcu - jego obecność nie przeszkadza, tylko jeśli coś nie jest potrzebne to po co to ładować? Praktycznie kwarc byś potrzebował jeśli myślisz o obsłudze USART.
    Co do dzielników - nie ważne jakie jest napięcie na dzielniku, ważne, jakie jest na wejściu MCU. Jeśli dasz potencjometr, to zawsze jest szansa, że przez roztargnienie ustawisz go niewłaściwie. Co do MOSa zamiast diody, a dokładniej tranzystora MOSFET, to pamiętaj, że mają one pasożytniczą diodę. W efekcie taka aplikacja MOSFETa wymaga jego odwrotnego podłączenia. No i należy uważać na maksymalne napięcie VGS - zazwyczaj nie może ono przekraczać 20V.

    0
  • #6 14 Maj 2013 15:32
    mac_23
    Poziom 9  

    Co do kwarcu, to faktycznie z czasem będzie jakaś obsługa USART. Rozumiem, że na tranzystora MOSFET nie można podać napięcia większego niż 20V? W przypadku dzielników, to na wejście MCU dam rezystror w połączeniu z diodą zenera. Jednak nie rozumiem jak to teraz będzie z pomiarem prądu. w nocie jest napisane ze wartości ADC dla ATmega32 są z zakresu -512...512 dla pomiaru różnicowego. Skoro mam wspólną masę nie muszę robić pomiaru różnicowego tylko zwykły pomiar napięcia na boczniku? Ale jak to się teraz będzie miało do wartości ADC? Jeżeli będę chciał mierzyć maksymalnie do 5A to na ADC1 maksymalnie podam 0,5V. W takim wypadku ADC=200. Czy teraz wystarczy programowo obliczyć I? Zgodnie z moimi wstępnymi obliczeniami I=(ADC*Vref)/(1024*Rb) gdzie Rb to wartość bocznika. Czy dobrze to rozumuję? No i czy teraz ADC0 nie musi być podłączone do GND?

    0
  • Pomocny post
    #7 14 Maj 2013 16:16
    tmf
    Moderator Mikrokontrolery Projektowanie

    Na MOSFET napięcie VGS (bramka-żródło) nie może być wieksze niż zazwyczaj 20V. Dokładne maksimum jest podane w nocie użytego tranzystora. Co do ADC to wzór masz poprawny. GND masz już połączone (wejście AGND procesora), stąd też nic dodatkowo łączyć nie trzeba.

    0
  • #8 14 Maj 2013 22:30
    mac_23
    Poziom 9  

    Zgodnie z sugestiami naniosłem poprawki. Co do zabezpieczenia przed odwrotną polaryzacją zastosowałem bezpiecznik polimerowy razem z diodą prostowniczą. Jednak do końca nie wiem czy tak może być. Jeżeli to zabezpieczenie byłoby dobre to bezpiecznik o jakiej wartości najlepiej zastosować? Nie wiem też jakie wartości dobrać dla rezystorów R8 i R9. Zastanawia mnie jeszcze czy powinienem zastosować bezpiecznik na wyjściu OUT1 w celu zabezpieczenia przed zwarciem. Z góry dzięki za wszelkie sugestie.
    ATmega32 i pomiar napięcia akumulatora przez ADC

    0
  • #9 14 Maj 2013 22:50
    tmf
    Moderator Mikrokontrolery Projektowanie

    A dlaczego po prostu nie wsadzić tej diody szeregowo? Tak ci przeszkadza ten spadek 0,6V? Użyj diody Schottkiego, będziesz miał 0,3-0,4V. Tak podłączona dioda nic ci nie zabezpieczy.

    0
  • #10 14 Maj 2013 23:01
    mac_23
    Poziom 9  

    Nie no mogę wpiąć diodę szeregowo. Po prostu ludzie na różnych forach róże rzeczy mówią i czasem człowiek może się pogubić. A rezystory R8 i R9 o jakich wartościach zastosować? No i czy zastosować bezpiecznik na wyjściu OUT1?

    0
  • #11 15 Maj 2013 15:14
    tmf
    Moderator Mikrokontrolery Projektowanie

    To prawda, że piszą różne rzeczy. Ale pomyśl, włączenie równolegle do aku diody w stanie przewodzenia powoduje przez nią przepływ prądu rzędu setek amperów. To się nie może dobrze skończyć. Co do rezystorów - zostaw jakie są.

    0
  • #12 15 Maj 2013 18:15
    mac_23
    Poziom 9  

    No to już wiem praktycznie wszystko. Zastanawiam się jeszcze czy warto zastosować bezpiecznik na wyjściu OUT1?

    0
  • #13 17 Maj 2013 00:25
    mac_23
    Poziom 9  

    Zbudowałem sobie już ten układ, naniosłem poprawki, diodę Schottkiego włączyłem szeregowo. Chciałbym to teraz podłączyć pod przetwornicę DC/AC. I tu rodzi się moje pytanie. Niektóre przetwornice DC/AC mają w sobie funkcję ładowania akumulatora. Czy w moim przypadku nie będzie żadnego problemu z ładowaniem akumulatora poprzez przetwornicę, czy jednak będę musiał wymontować akumulator i osobno go naładować?

    0
  • #14 17 Maj 2013 10:56
    mac_23
    Poziom 9  

    Bardzo zależy mi na opinii, kogoś kto się na tym zna. Prosiłbym o podpowiedź.

    0
  • #15 06 Wrz 2015 16:57
    gienek8
    Poziom 5  

    mac_23 napisał:
    Co do kwarcu, to faktycznie z czasem będzie jakaś obsługa USART. Rozumiem, że na tranzystora MOSFET nie można podać napięcia większego niż 20V? W przypadku dzielników, to na wejście MCU dam rezystror w połączeniu z diodą zenera. Jednak nie rozumiem jak to teraz będzie z pomiarem prądu. w nocie jest napisane ze wartości ADC dla ATmega32 są z zakresu -512...512 dla pomiaru różnicowego. Skoro mam wspólną masę nie muszę robić pomiaru różnicowego tylko zwykły pomiar napięcia na boczniku? Ale jak to się teraz będzie miało do wartości ADC? Jeżeli będę chciał mierzyć maksymalnie do 5A to na ADC1 maksymalnie podam 0,5V. W takim wypadku ADC=200. Czy teraz wystarczy programowo obliczyć I? Zgodnie z moimi wstępnymi obliczeniami I=(ADC*Vref)/(1024*Rb) gdzie Rb to wartość bocznika. Czy dobrze to rozumuję? No i czy teraz ADC0 nie musi być podłączone do GND?


    Witam, czy któryś z kolegów mógłby mi powiedzieć skąd wziął się ten wzór: I=(ADC*Vref)/(1024*Rb) gdzie Rb to wartość bocznika

    0
  • #16 06 Wrz 2015 20:49
    BlueDraco
    Specjalista - Mikrokontrolery

    Pewnie z prawa Ohma: I = U / R
    ;)

    0