logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ADC w ATmega8 - pytanie w związku z za dużym napięciem

Mateusz0944 16 Maj 2012 00:02 1753 9
  • #1 10901162
    Mateusz0944
    Poziom 11  
    Witam. Buduję woltomierz dwuzakresowy i natrafiłem na problem otóż mierzone napięcie (0-50V) jest podawane na dwa dzielniki napięcia 1:20 i 1:4 dołączone do 2 pinów ADC. Zakresy pomiarowe to 0-51,2V i 0-10,24V. Wykorzystuję wew. Vref 2,56V. Dla wyższego zakresu nie ma problemów bo napięcie mieści się w przedziale 0-Vref, ale dla niższego zakresu gdy mierzone napięcie wynosi 50V napięcie podawane na pin ADC przekracza Vcc (5V) i to znacznie bo wynosi prawie 13V. Czytałem że jeśli napięcie mieści się w przedziale 0-Vcc to nic się nie powinno stać, ale co mam zrobić jeśli wynosi te 13V? Myślałem o diodzie zenera na np. 3,3V ale na elce znalazłem w jakimś temacie że pogarsza liniowość pomiaru. Aha, rezystory w dzielniku 10k i 30k.

    I mam jeszcze jedno pytanie. Czy w ATmega8 można tak skonfigurować dwa wejścia ADC żeby mierzyć różnicę potencjałów między nimi (pomiar spadku napięcia na rezystorze)? Z tego co znalazłem w nocie to nie, ale chciałem się upewnić.
  • #2 10901262
    dominon
    Poziom 18  
    W większości ATMEG możesz skonfigurować przynajmniej 3 napięcia referencyjne ustawiając odpowiednie rejestry:
    - Z wewnętrznego stabilizatora 2,56V
    - Równe VCC
    - Pobierane z pinu AREF

    Nie wiem czy dobrze zrozumiałem. Masz dwa osobne dzielniki do mierzenia dwóch różnych zakresów napięć na dwóch różnych pinach ADC. Jeden z tych dzielników przy maksymalnej wartości daje Ci na pin 13V co wiąże się z wiosennym grillem z portu Atmegi. Najprościej było by zmienić dzielnik a właściwie rezystory w nim. No i teraz kłania się prawo Ohma. Że przyjąłeś sobie ~52V to liczymy 52*(R1/(R+R1))= górna granica na dzielniku czyli to co uzyskamy przy 52V na wejściu dzielnika. Przyjmijmy że R to rezystor na który wchodzi nam mierzone napięcie czyli 52V, R1 natomiast jest naszym dzielnikiem do masy. Na łączeniu dwóch rezystorów szeregowo mamy nasze napięcie mierzone przez pin Atmegi. Sprawdźmy więc wartości dla R=190k a dla R1=10k.

    52*(10000/(190000+10000))=
    =52*0,05=
    =2,6V


    Co do drugiego pytania o różnicę potencjałów. Faktycznie Atmega8 nie ma możliwości porównywania dwóch odczytów. Można to zrobić programowo ale będzie rozbieżność w czasie (mała ale zawsze). Pewniej będzie zrobić to na wzmacniaczu operacyjnym. Zakładam że chodzi Ci o mierzenie natężenia metoda różnicowego pomiaru napięcia.
  • #3 10901450
    Mateusz0944
    Poziom 11  
    Chyba nie do końca rozumiem. Mam jak pisałem dwa dzielniki. Jeden 57k i 3k czyli przełożenie 20:1 i w miejscu łączenia rezystorów napięcie wynosi 0-2,56V więc jest ok. Problem mam z drugim dzielnikiem 30k i 10k czyli 4:1. Wcześniej nie dopisałem ale może to jest klucz do zrozumienia: jeśli mierzone napięcie wynosi od 10-50V to jest mierzona wartość na dzielniku 20:1 i wyświetlana na trzech 7-segmentówkach (format XX.X), ale jeśli napięcie jest niższe od 10V to format wyświetlania jest X.X czyli jeden wyświetlacz jest niewykorzystywany (najstarszy). Dlatego chcę dodać drugi dzielnik 4:1, i na nim mierzyć napięcie. Pozwoli to na zwiększenie dokładności pomiaru z 51,2/1024=0,05V=50mV do 10,24/1024=0,01V=10mV czyli pięciokrotnie i umożliwi wyświetlanie napięcia z zakresu 0-9,99V w formacie X.XX a nie X.X. I nie wiem wlaśnie jak "pozbyć się" tych 13V kiedy mierzone napięcie wynosi 50V. :(
  • #4 10902133
    dominon
    Poziom 18  
    Teraz rozumiem zasadę działania. Tylko nie wiem czy jest sens tak komplikować sobie sprawę. Jak by nie patrzeć nie masz dużego zysku na dokładności. Od 10-52V masz 0,05V, tylko w zakresie 10> - 0 masz rozdzielczość 0,01. Do czego potrzebujesz aż tak dokładny woltomierz?
  • #5 10902181
    Mateusz0944
    Poziom 11  
    W zasadzie jest to moduł do zasilacza laboratoryjnego. Dokładność w sumie nie jest konieczna, ale chciałem wykorzystać najstarszy wyświetlacz. I tak myślę i szperam po internecie szukając pomysłów. Można zastosować przekaźnik, ale to dużo miejsca zajmie. Zastanawiam się też czy nie można jakoś tego wyjścia "ściągnąć" do masy jeśli napięcie na ADC będzie przekraczać np. 4V. Jeśli będzie się to wiązało z dużym nakładem kosztów to zrobię tylko jeden zakres.

    No a na zakresie zyskuje właściwie 10-krotnie bo przy dokładności 0,05V i tak wyświetlam tylko jedno miejsce po przecinku, a przy 0,01 już dwa.

    Znalazłem jeszcze coś takiego:
    ADC w ATmega8 - pytanie w związku z za dużym napięciem
  • #6 10902401
    tmf
    VIP Zasłużony dla elektroda
    Zenerka zepsuje liniowość, ale dopiero przy napięciach zbliżonych do napięcia przebicia. Ale istotnie to nie jest dobre rozwiązanie. Rozwiązaniem dobrym jest to z dwoma diodami, pod warunkiem, że będą to diody schottkiego. Wtedy przy napięciu wyższym niż Vcc+Vf zacznie przewodzić górna dioda, w efekcie napięcie nie będzie dalej narastać, co ochroni procesor. Takie rozwiązanie jest standardowo wykorzystywane. Wejście procesora już zresztą jest zabezpieczone w ten sposób, lecz wbudowanie diody mają bardzo mały ciągły prąd przewodzenie, warto jest je więc "wspomóc" diodami zewnętrznymi.
  • #7 10903628
    Mateusz0944
    Poziom 11  
    Rozumiem, że chodzi o te dwie diody bez tranzystorów. A muszę dawać też diodę od GND do ADC (napięcie nie będzie niższe od GND)? BAT43 się nada? If 0,2A Uf 0,4V
    I mam jeszcze jedno pytanie. tmf piszesz, że wbudowane diody mają mały prąd ciągły, a wiesz może jakie mają Uf? Bo nie wiem czy dobrze rozumuje, ale jeśli wbudowane diody będą miały mniejsze Uf niż te zewnętrzne to czy nie zaczną przewodzić wcześniej i się nie upalą?
  • #8 10904540
    dominon
    Poziom 18  
    Dioda do GND musi być. Co do reszty niech się ktoś inny wypowie bo ja szczerze mówiąc się zgubiłem.

    Powodzenia dla autora, zapowiada się ciekawe rozwiązanie.
  • Pomocny post
    #9 10904889
    tmf
    VIP Zasłużony dla elektroda
    Mateusz0944 napisał:
    Rozumiem, że chodzi o te dwie diody bez tranzystorów. A muszę dawać też diodę od GND do ADC (napięcie nie będzie niższe od GND)? BAT43 się nada? If 0,2A Uf 0,4V
    I mam jeszcze jedno pytanie. tmf piszesz, że wbudowane diody mają mały prąd ciągły, a wiesz może jakie mają Uf? Bo nie wiem czy dobrze rozumuje, ale jeśli wbudowane diody będą miały mniejsze Uf niż te zewnętrzne to czy nie zaczną przewodzić wcześniej i się nie upalą?


    Dioda do GND musi być tylko wtedy jeśli napięcie wejściowe może być mniejsze niż GND, jeśli zawsze jest dodatnie to nie jest potrzebna. Wewnętrzne diody zabezpieczające mają If=0,5mA, a Uf=0,5V, stąd też jako zewnętrzne musisz dać Schottkiego, które mają typowo Uf=0,2V (dla niewielkich prądów).
  • #10 10905177
    Mateusz0944
    Poziom 11  
    No to wiem już wszystko. Dzięki za pomoc:)
REKLAMA