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

Pomiar napięcia 0-10V za pomocą AT90CAN128

morius 19 Lut 2012 21:27 2281 9
  • #1 19 Lut 2012 21:27
    morius
    Poziom 10  

    Witam wszystkich

    Przymierzam się do budowy prostego sterownika na bazie AT90CAN128. Układ ma za zadanie sterować procesem w trudnych warunkach przemysłowych. Problem polega na tym, że potrzebne mi są wejścia analogowe 0-10V, dlatego chciałbym zapytać się jak powinien wyglądać obwód takiego wejścia analogowego, zanim sygnał trafi na przetwornik ADC w avr? Odpadają rozwiązania w stylu dzielnik na rezystorach w celu dostosowania poziomu napięcia, gdyż moim zdaniem są raczej mało profesjonalne. Wejścia i wyjścia projektuję jako optoizolowane, z zabezpieczeniami przepięciowymi itp itd, więc tu nie ma problemu, natomiast mam dylemat odnośnie analogów i nie wiem co by tu sensownego wymyślić, aby dobrze przygotować mierzony sygnał zanim trafi on na avrka (odkłócić, zabezpieczyć, dostosować poziomy). W internecie ciężko znaleźć jakieś porządne rozwiązanie, które mogłoby nadawać się do zastosowania w środowisku pełnym zakłóceń, gdzie stosuje się często długie przewody przyłączeniowe. Dlatego rozwiązanie dołączenia czegoś takiego wprost do procesora wydaje mi się dość ryzykowne... Chciałbym zatem poprosić doświadczonych kolegów o zdanie i nakierowanie mnie na trafne rozwiązanie problemu.

    0 9
  • Arrow Multisolution Day
  • Pomocny post
    #2 20 Lut 2012 02:19
    Anonymous
    Użytkownik usunął konto  
  • Arrow Multisolution Day
  • Pomocny post
    #3 20 Lut 2012 15:53
    kamil1cos7
    Poziom 14  

    Cześć, nie jestem bardzo doświadczony ale trochę miałem przygód z przetwornikiem
    analogowo-cyfrowym w avr. Z mojego doświadczenia aby był jak najlepszy i najbardziej stabilny pomiar należy:
    - bezwzględnie wszystkie nieużywane piny uP ustawić jako wyjścia i nadać im jakiś stan (gdyż domyślnie są wejściami i nie ustawiając je jako wyjścia będą pracowały jak 'antenki' zakłócając Ci pomiar)
    - najlepiej nie stosować wewnętrznych źródeł odniesienia (jeśli układ takie posiada), już lepiej pod Vref podać 5V zasilania. Bardzo dużo zależy od stabilności napięcia odniesienia.
    - musisz odpowiednio podłączyć piny uP odpowiedzialne za zasilanie przetwornika itp. Na ten temat dużo znajdziesz w internecie.

    0
  • Pomocny post
    #4 20 Lut 2012 20:54
    tmf
    Moderator Mikrokontrolery Projektowanie

    kamil1cos7 napisał:
    Cześć, nie jestem bardzo doświadczony ale trochę miałem przygód z przetwornikiem
    analogowo-cyfrowym w avr. Z mojego doświadczenia aby był jak najlepszy i najbardziej stabilny pomiar należy:
    - bezwzględnie wszystkie nieużywane piny uP ustawić jako wyjścia i nadać im jakiś stan (gdyż domyślnie są wejściami i nie ustawiając je jako wyjścia będą pracowały jak 'antenki' zakłócając Ci pomiar)
    - najlepiej nie stosować wewnętrznych źródeł odniesienia (jeśli układ takie posiada), już lepiej pod Vref podać 5V zasilania. Bardzo dużo zależy od stabilności napięcia odniesienia.
    - musisz odpowiednio podłączyć piny uP odpowiedzialne za zasilanie przetwornika itp. Na ten temat dużo znajdziesz w internecie.


    To pierwsze wynika wprost z noty Atmela, żadynch własnych doświadczeń tu nie trzeba praktykować. Tak samo trzecie. To drugie to bajka.

    Dodano po 9 [minuty]:

    morius napisał:
    Witam wszystkich

    Odpadają rozwiązania w stylu dzielnik na rezystorach w celu dostosowania poziomu napięcia, gdyż moim zdaniem są raczej mało profesjonalne. Wejścia i wyjścia projektuję jako optoizolowane, z zabezpieczeniami przepięciowymi itp itd, więc tu nie ma problemu, natomiast mam dylemat odnośnie analogów i nie wiem co by tu sensownego wymyślić, aby dobrze przygotować mierzony sygnał zanim trafi on na avrka (odkłócić, zabezpieczyć, dostosować poziomy). W internecie ciężko znaleźć jakieś porządne rozwiązanie, które mogłoby nadawać się do zastosowania w środowisku pełnym zakłóceń, gdzie stosuje się często długie przewody przyłączeniowe. Dlatego rozwiązanie dołączenia czegoś takiego wprost do procesora wydaje mi się dość ryzykowne... Chciałbym zatem poprosić doświadczonych kolegów o zdanie i nakierowanie mnie na trafne rozwiązanie problemu.


    A co to za sygnał? Jeśli są duże zakłócenia to mierzenie sygnałów na długich przewodach jest bez sensu - wejście ADC dla DC ma impedancję rzędu megaomów i każde zakłócenie da się we znaki. Dla AC nie jest dużo lepiej. Do optoizolacji sygnałów analogowych stosuje się transoptory pomiarowe. Generalnie chodzi o to, że robi się układ na op-ampach z wykorzystaniem transoptora którego dioda oświetla dwie optostruktury, dzięki czemu można skorygować rozrzut CTR i innych parametrów samego transoptora. Ew. dwa fotoelementy i dwie diody, z których jedna koryguje offset transoptora. Zobacz np. HCPL2530. Możesz też w miejscu pomiaru umieścić ADC i go optoizolować od procesora już po stronie cyfrowej co może być prostsze.

    0
  • Pomocny post
    #5 21 Lut 2012 06:57
    PiotrPitucha
    Poziom 33  

    Witam
    Podpisuję się pod tym co napisał tmf, nie demonizowałbym niestabilności wewnętrznego źródła odniesienia, jest o niebo lepsze od zewnętrznych typowych stabilizatorów 5V, jeśli Ci zależy na lepszej stabilności to masz masę innych rozwiązań od TL431 poczynając a na HP kończąc, z moich doświadczeń wynika że wewnętrzne źródło jest stabilne choć nie zawsze powtarzalne, jak nie robisz 100 jednakowych układów to i tak musisz to skalibrować.
    Jeśli chcesz się izolować galwanicznie to jest masa wzmacniaczy izolowanych, choćby ISO124 firmy BB.
    Brak mi informacji o odległości, do kilku, kilkunastu metrów dałbym przewód ekranowany, wejście i wyjście zaterminowałbym rezystorem rzędu kilkuset Ω a przed procesorem filtr RC, jeśli kabel dłuższy to zdecydowanie zamieniłbym to na sygnał prądowy i odtworzył napięciowy przed samym procesorem.
    Pytanie następne co robisz tym procesorem? jeśli masz wolny czas to zrobiłbym filtrację cyfrową, nawet proste uśrednianie daje sympatyczne efekty.
    W sieci jest masę rozwiązań tylko musisz sprytnie szukać, poszukaj PDFów do wzmacniaczy przemysłowych a w nich znajdziesz konkretne aplikacje.
    Piotr

    0
  • #6 28 Lut 2012 17:16
    morius
    Poziom 10  

    Dziękuję kolegom za odpowiedzi. Postaram się teraz odpowiedzieć na pytania szczegółowe, a więc:

    1) pomiar będzie odbywał się z rozdzielczością 10 bitów, o częstotliwości próbkowania ok 250kHz (tak mi mniej więcej wychodzi ze wstępnych obliczeń przy użyciu kwarcu 16Mhz)
    2) z tą długością kabli trochę przesadziłem, myślę, że w większości będą to sygnały dostępne w szafach sterowniczych, a poza nimi będą to połączenia maksymalnie kilku metrów, żeby nie wprowadzać zbędnego zamieszania w części analogowej
    3) jeśli chodzi o napięcie referencyjne - myślałem raczej o użyciu +5V, które ma zasilać procesor, jednakże skłaniam się także do użycia układu TL431, oczywiście podłączenie według noty katalogowej atmela - tutaj nie ma co za dużo dyskutować
    4) pomiar oczywiście będzie uśredniany przynajmniej trzykrotnie, więc to także znacznie poprawi odczyty

    5) od pomiaru nie jest wymagana jakaś ogromna precyzja typu odczyt z dokładnością do któregoś miejsca po przecinku, jednakże nie chciałbym mieć zbyt dużego przekłamania, wystarczy mi dokładność do 0,1V. Zależy mi także na tym, aby wejście analogowe było zabezpieczone przed różnymi przypadkami mogącymi uszkodzić procesor lub znacząco wpłynąć na jego działanie, dlatego odniosłem wrażenie, że wejście w postaci (tylko i wyłącznie) dzielnika napięcia jest niewystarczające. Zrobiłem kilka różnorakich urządzeń opartych o mikrokontrolery, lecz były to raczej kompaktowe urządzenia typu proste sterowniki do jakichś niezbyt zaawansowanych zastosowań, wtedy wystarczyło mi podłączenie dzielnika + prostego filtra dolnoprzepustowego RC i układ działał bardzo zadowalająco. Moją obawą jest skonfrontowanie tego ze środowiskiem przemysłowym, bo rozwiązania które znakomicie sprawdzały się w zastosowaniach np. domowych niekoniecznie muszą sprawdzić się w zastosowaniach przemysłowych.

    Jeśli koledzy mają jeszcze do mnie jakieś pytania odnośnie założeń i wymagań konstrukcyjnych, proszę pytać i sugerować.

    0
  • Pomocny post
    #7 28 Lut 2012 17:35
    tmf
    Moderator Mikrokontrolery Projektowanie

    ad 1. Jak to samplowanie ci wychodzi z użytego kwarcu? Samplujesz z taką częstotliwością jaka jest potrzebna. Co to za przebieg?
    ad 2. Kilka metrów to naprawdę sporo.
    ad 3. 5V z zasilania procesora to nie jest najlepszy pomysł, przy twojej dokładności wew. nap. referencyjne będzie ok.
    ad 5. Skoro potrzebujesz z dokładnością 0,1V, to raptem 6 bitów ci wystarczy. Chyba, że rozdzielczość będzie kosmiczna? Przy 6-bitowej rozdzielczości nawet te kilka m kabla może nie być problemem. Zabezpieczysz wejście dodatkowymi diodami, rezystor w szereg jest ok, ale musisz się liczyć z utworzeniem filtra RC, generalnie ADC z AVR nadaje się do samplowania sygnału o paśmie rzędu 4 kHz, więc w sumie to nie będzie problemem.

    0
  • #8 28 Lut 2012 17:56
    morius
    Poziom 10  

    ad 1. przy kwarcu 16MHz i użyciu preskalera 64 przy konfiguracji ADC otrzymuję 250kHz, potraktowałem to jako częstotliwość samplowania - być może się pomyliłem... Trudno tu raczej mówić o przebiegu, będzie to napięcie stałe otrzymywane z czujnika, wyjścia analogowego innego układu cyfrowego np PLC, wyjścia analogowego falownika, itp
    ad 3. faktycznie może się wydawać, że wewnętrzne napięcie referencyjne wystarczy, chociaż wezmę jeszcze pod uwagę, aby rozważyć TL431
    ad 5. zatem na razie skłaniam się do rozwiązania typu dzielnik napięcia, diody zabezpieczające oraz filtr RC (R 10k oraz C 100nF - myślę że powinno być ok), a gdyby faktycznie miałbym mieć z czymś problemy mógłbym zredukować rozdzielczość do 8 bitów, ale jeżeli praktyka nie zmusi mnie do tego to pozostanę przy 10 bitach. Częstotliwości samplowania też nie muszę mieć dużej, nie będą to jakieś szybkozmienne przebiegi, raczej normalna przemysłówka, tak jak opisałem w punkcie 1.

    0
  • Pomocny post
    #9 03 Mar 2012 12:25
    Fredy
    Poziom 27  

    Jeśli masz kilka punktów pomiarowych i chcesz to zrobić naprawdę profesjonalnie to daj dodatkowy mały sterownik w szafce, zamieniający wszystkie sygnały analogowe i cyfrowe na jeden sygnał cyfrowy, a potem całość jednym kablem do głównego sterowania. Odpada ci problem zakłóceń, zmniejsza się ilość kabli, łatwa diagnostyka całego systemu.

    0
  • #10 05 Mar 2012 00:28
    morius
    Poziom 10  

    Jeśli chodzi o większe odległości przesyłania sygnałów analogowych to faktycznie zrobię coś w rodzaju "modułu rozszerzeń" i wybiorę opcję konwersji napięcia na postać cyfrową i całość będzie przesyłana poprzez CAN do modułu głównego.
    Ostatecznie postanowiłem zbudować wejście analogowe w postaci dzielnika rezystorowego, za tym wtórnik napięcia (na LM358), następnie prosty filtr RC dolnoprzepustowy i ostatecznie przy samym wejściu ADC mikroprocesora dwie diody 1N4148 jedna do VCC, druga do GND, aby uchronić wejście ADC przed przepięciami i nieprzewidzianymi wzrostami mierzonego napięcia. Mam nadzieję, że taki układ dobrze sobie poradzi.

    0