Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wielokanałowy pomiar niskich napięć poprzez ADC

jfizyk 15 Jan 2012 04:36 2724 3
  • #1
    jfizyk
    Level 1  
    Szanowni Państwo!

    Przedstawiam się i dziękuję forumowiczom

    Jako nowy uczestnik forum witam wszystkich Uczestników :D :D :D i przede wszystkim dziękuję, że mogłem przez wiele lat korzystać z Państwa wiedzy i doświadczenia. Jestem od wielu lat elektronikiem, mam Ojca krótkofalowca, który w ten temat niestrudzenie mnie wprowadzał za co Mu również w tym miejscu serdecznie dziękuję.
    Jak wspomniałem, od wielu lat, jako użytkownik "read only" korzystam z Państwa głębokiej wiedzy na forum, za co serdecznie dziękuję. Mam trochę styczności z chińskim rynkiem elektroniki i mogę śmiało powiedzieć, że wielu chińskich konstruktorów może jedynie pomarzyć o wiedzy i umiejętnościach jakie wielu z Państwa tu posiada. Myślę, że pod tym względem polska myśl techniczna ma się czym poszczycić i utarty schemat jakoby w Chinach potrafili wszystko, a tutaj nic - można śmiało włożyć między bajki. Jest to raczej kwestia wielkości zamówień i sztucznego, odgórnego zduszenia rodzimego rynku elektronicznego.
    Będąc przy głosie powiem jeszcze, że w wielu przypadkach dyskutanci z niniejszego forum nie zdają sobie sprawy, jak wiele ich dyskusja może pomóc i nakierować innych, którzy nawet po kilku latach odszukują temat. Nieraz czytałem stwierdzenia, że wypowiedź niewiele wnosi i aby zamykać temat, a dla mnie akurat ta wypowiedź była rozwiązaniem poważnego problemu. Dlatego jeszcze raz dziękuję wszystkim, z których wiedzy mogłem korzystać i mam nadzieję, że nieraz moja skromna wiedza też się komuś przyda.


    Moja przetwornica DcDc step-down

    Opisuję tu mój układ (bo może komuś się przyda) oraz, w dalszej części miałbym kilka pytań.

    Wykonuję którąś już wersję przetwornicy DcDc step-down. Przetwornica z napięcia wejściowego 21 V do 34 V ma dawać ok. 19 V i ma zasilać do 8 rzędów diod LED Power (na schemacie są narysowane tylko 4 rzędy)

    Wielokanałowy pomiar niskich napięć poprzez ADC

    Prąd w żadnym z rzędów nie może przekroczyć 700 mA i sterując tym napięciem wyjściowym ~ 19 V można uzyskać ok. 700 mA w każdym rzędzie. Fluktuacje prądów w gałęziach są niewielkie, nie przekraczają 10 mA, bo LED-y w gałęziach są identyczne.
    Głównym moim problemem jest jak najprostszy sposób pomiaru tego prądu do 700 mA w 7-8 gałęziach jednocześnie za pomocą mikrokontrolera.

    W pierwszych próbach używałem procka Atmega48PA. Końcówki oporników pomiarowych RN – PM1 ... PM4 dołączałem bezpośrednio na wejścia Atmeg-i: ADC0... ADC3 i mierzyłem ich napięcie. Prąd Irn = 700 mA przez opornik Rn = 0,3 ohm dawał napięcie ok. Urn = 0,21 V na wejściu ADC. Włączałem napięcie Vref na wewnętrzny wzorzec Atmeg-i – 1,1V. Moje napięcie Urn miało więc ok. 1/5 maksymalnego na ADC i pomiar w przetworniku 10 bitowym stawał się 8 bitowy. Dodatkowo, pomimo względnie stałego prądu Irn dwa, a nawet 3 bity przetwornika (bit 0 – 2) dawały fluktuacje tak, że pomiar zrobił się 6-ścio bitowy. To już bardzo mało zważywszy na to, że PWM Atmeg-i sterujący pośrednio pracą konwertera (tego nie ma na schemacie) musi być-10 bitowy, bo przy mniejszej rozdzielczości widać miganie diod LED.

    Zatem muszę dążyć do zwiększenia dokładności pomiaru ADC niskiego napięcia w wielu kanałach i jeśli można - chciałbym prosić o sugestie jak to można zrealizować.

    Wzmacniacz operacyjny w analogowym torze ADC procesorów

    Oczywiście nie jest tak, że rzucam pytanie na forum i czekam, aż ktoś za mnie rozwiąże problem. Interesują mnie raczej Państwa doświadczenia.
    Ja widzę następującą drogę. Otóż są procesory, które mają analogowy wzmacniacz sygnału w torze ADC. Poniżej przedstawiam zrzut z pdf-a procesora Attiny261A.

    Wielokanałowy pomiar niskich napięć poprzez ADC

    Ten procek jest dla moich celów „za mały”, bo ja jeszcze potrzebuję z 12 pinów do innych celów, ten zaś ma 20 nóżek, 11 odchodzi na ADC i zostaje niewiele. Jest za to dobrą ilustracją, bo również tor PWM ma dobrze rozbudowany.
    Na Attiny261A można by uzyskać 7 wejść o wzmocnieniu x20 i 4 wejścia o wzmocnieniu x8. Wzmocnienie x8 byłoby tu najlepsze. Widać, że procek ma tzw. GAIN AMPLIFIER, na który przekierowuje się sygnały z ADCn.

    Policzmy krótko: max napięcie Vref 1,1V na wyjściu wzmacniacza obsłuży max napięcie wejściowe na ADCn Vwej(x8) = 0,1375V. Przy prądzie Irn = 700 mA trzeba by użyć 2 oporników 1206: 0,39R i moc wydzielana na każdym z nich to ok. 50 mW. A zatem ze wzmacniaczem „GAIN AMPLIFIER” wszystko by się ulepszyło: mniejsze napięcie pomiaru to mniejsze straty na opornikach pomiarowych (zmniejszają sprawność przetwornicy tylko o 0,75%), to z kolei mniejsze ciepło, które pewnie wypacza pomiar. Zarazem rozciągnięcie zakresu pomiaru prawie na max zwiększa dokładność pomiaru – u mnie 5-cio krotnie.



    Myślałem też nad zewnętrznymi wzmacniaczami operacyjnymi, ale to dodało by skomplikowania układu, trzeba by ustawiać opornikami wzmocnienie układu, miejsce na płytce, robocizna montażu itd., choć jeśli byłby jakiś 8 kanałowy wzmacniacz operacyjny to to można by rozważyć.

    Zatem pozostaje wybór odpowiedniego procka. Jest to problem, bo mało z nich ma wzmocnienie na 8 kanałach. Np. Atmega32 tylko ma 3. Znalazłem jednak fajny procek ATXmega16A4. On z tego co widzę może obsłużyć 7 kanałów, bo 8 musi być pinem „negative”. Jest tam ustawiane wzmocnienie x2, x4, x8, x16, x32, x64.

    Wielokanałowy pomiar niskich napięć poprzez ADC

    A więc nieźle i jestem pod jego wrażeniem. Acha – ma ADC 12 bit-owe !!! i niesamowitą szybkość (widziałem jak ktoś zrobił na tym niezły oscyloskop). Na dodatek może robić całą masę innych, fajnych rzeczy, a kosztuje w TME 15,40 zł netto.

    Czy procesory PIC mają wzmacniacze w ADC ?

    Natomiast rozglądałem się też w procesorach PIC i tam bardzo mnie zainteresowała rodzina 16 bitowa PIC24. I tak np.:

    PIC24F04KA201-I/SS 20 pin, za 6,85 zł netto;
    PIC24FJ64GA004T TQFP44 , za 10,00 zł netto;

    W takich cenach to bywają Attiny, a tu widzę, że w PIC są 3 zegary 16 bitowe i cała masa akcesoriów. Co do toru ADC, to w PIC24 tak to jest urządzone:

    Wielokanałowy pomiar niskich napięć poprzez ADC

    I tu jest właśnie główna przyczyna mojego postu: na rysunku widać, że sygnały z „AN” przechodzą do DAC poprzez wzmacniacz różnicowy „S/H”, który w pdf jest nazywany „A/D sample/hold amplifier”.
    [http://ww1.microchip.com/downloads/en/devicedoc/39881b.pdf]
    Czy jest to rzeczywiście wzmacniacz ?. Z jednej strony dalej w pdf-ie nie ma nigdzie żadnej wzmianki o wzmocnieniu wzmacniacza, tak jakby go nie było. Z drugiej strony nie chce mi się wierzyć, że w Attiny tyle lat temu stosowano takie wzmacniacze, a w takich wypasionych PIC-ach by ich nie było wcale ?
    Stoję zatem przed wyborem procesora i wszelkie Państwa rady będą mi wielce pomocne.

    Pytania w skrócie

    Pyt1) Czy procesory PIC mają wzmacniacze operacyjne w torze ADC ? Czy może inne procesory NXP, ST mają w tym względzie dobre rozwiązania ?

    Pyt2) Czy metodą pomiaru niskich napięć na ADC może być zmniejszanie napięcia Vref aby skrócić zakres ? Czy to stabilne rozwiązanie ? (w Atmega48PA gdy Vref < 0,7V to pomiary wariują)

    Pyt3) Czy zmniejszanie fizycznych napięć i zwiększanie wzmocnień w ADC (np. x16, x32) nie wprowadzi dużych szumów i do jakich wzmocnień warto się już nie zbliżać ?

    Pyt4) Czy są może lepsze metody pomiaru niskich napięć od podanych przeze mnie ?

    Pyt5) Czy w ATXmega (3,3V) można uzyskać wyjściowe napięcia na portach I/O 5V poprzez jakiś otwarty kolektor („Totem-pole with Pull-down” ?) (bo w PIC o tym czytałem, że można)

    Dziękuję.
  • #2
    excray
    Level 40  
    jfizyk wrote:
    Dodatkowo, pomimo względnie stałego prądu Irn dwa, a nawet 3 bity przetwornika (bit 0 – 2) dawały fluktuacje tak, że pomiar zrobił się 6-ścio bitowy.

    Ten prąd wcale nie jest "względnie stały". Zasilasz całość z przetwornicy impulsowej i na dodatek jako jedyną filtrację stosujesz szeregowo podłączony kond 1u z opornikiem 22R, a pomiar wykonujesz bezpośrednio na opornikach ograniczających i dziwisz się że masz skoki napięcia.
    Sygnał pobierz z oporników ograniczających ale nie bezpośrednio pod piny ATMegi tylko przez filtr RC 47kom i 220nF.
  • #3
    Fredy
    Level 27  
    Czemu na wyjściu nie dasz większego elektrolita ? Tak jak pisze mój przedmówca - tam jest ostra sieczka, więc jakakolwiek kontrola prądu tak zdeformowanego będzie skazana na porażkę. Nawet jak wzmocnisz to napięcie n-razy to i tak otrzymasz wynik który będzie pływać n-razy więcej.
    I jeszcze jedno - poszukaj takich układów jak multpleksery analogowe (przełączniki analogowe). Możesz wtedy programowo wybierać punkt pomiarowy, włączać go na wejście ze wzmocnieniem i mierzyć.
  • #4
    tmf
    Moderator of Microcontroller designs
    ad 2. Nie możesz. Dla każdego procesora Vref ma określoną, minimalną wartość, zwykle jest to nie mniej niż 1,1-2,4V. Co więcej ze względu na budowę ADC w ATMega rozdzielczości lepszej niż 2mV bezpośrednio nie uzyskasz.
    ad 3. Oczywiście wprowadzi, w nocie jest to nawet określone. Dla 10-bitowego ADC zastosowanie wzmacniacza powoduje utratę około 2 bitów. W dodatku samo wzmocnienie ma też pewien zakres tolerancji. Tu XMega jest góra bo masz DAC i możesz sobie to fajnie skompensować.
    ad 4. Tak. Zastosować dedykowane to takiego sterowania scalaki. Są gotowe drivery do LED z regulowanym prądem.
    ad 5. Z tego co pamiętam to XMega nie ma wyjść 5V tolerant, problemem jest zabezpieczenie wejść przeciwko ESD. Z drugiej strony po co ci 5V?