Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

AD595 - dobór przetwornika.

dturczak 23 Mar 2012 02:43 3799 29
  • #1
    dturczak
    Level 19  
    Witam
    Chcialbym do wyzej wymienionego ukladu dobrac przetwornik aby uzyskac rozdzielczosc 0,5 st.
    Jak bedzie w przypadku zwyklego 10bitowego adc np atmegi16 ?
    Jezeli mamy napiecie wyjsciowe rzedu 0-15V to musze zastosowac dzielnik na jakichs precyzyjnych rezystorach 3:1 ?
    15/1024 = ok15 mV czyli bede mial dokladnosc +-2 stopnie?
    cos mi sie tu nie zgadza ;)
    Bo chyba najlepiej dla takiego przedzialu napiecie refencyjne 5V stosowac?
  • #2
    Jado_one
    Level 22  
    A jaki zakres temperatur Cię interesuje?
    Bo przy 10-bitach masz tylko 1024 kroki do wykorzystania - czyli temperatura max 1024st C z rozdzielczością 1st C.
    Żeby uzyskać 0,5st rozdzielczość max temperatura może być 512st C, itd....

    A dzielnikami dobierasz tylko zakres napięć w interesującym Cię zakresie
    temperaturowym - tak żeby nie przekroczyć napięcia max przetwornika A/D.

    Im wyższe napięcie referencyjne, tym 1 bit ma większą wartość napięciową czyli układ będzie miał większą odporność na zakłócenia - różnica między kolejnymi bitami będzie większa.
    Jeżeli w układzie pomiarowym występują szumy (a to raczej pewne), to ich fluktuacja nakłada się na sygnał mierzony i może powodować przeskakiwanie na wyższy (lub niższy) bit. Jeżeli ten "schodek" jest odpowiednio wysoki, to szum musi osiągać większą amplitudę aby to nastąpiło - mniejsze szumy będą się mieścić w zakresie jednego"schodka" i nie będą powodować przeskakiwania o +-1bit.
  • #3
    Ostry23
    Level 18  
    Jado_one wrote:
    może powodować przeskakiwanie na wyższy (lub niższy) bit. Jeżeli ten "schodek" jest odpowiednio wysoki, to szum musi osiągać większą amplitudę aby to nastąpiło - mniejsze szumy będą się mieścić w zakresie jednego"schodka" i nie będą powodować przeskakiwania o +-1bit.

    Trochę się nie zgodzę. Przeskakiwania o 1bit (jeśli nie odfiltrujesz software'owo) nie da się uniknąć w żadnym ADC, jaki by dokładny nie był i bez względu na to jak niskie są szumy.
    Zauważ, że jeśli sam sygnał uzyteczny (pomijam w tym momencie szumy) jest na granicy przeskakiwania bitów to już b. niewielkie fluktuacje będą powodować przeskakiwanie o 1LSB.
    Nie musi być tak, że dopiero fluktuacje > +-0,5LSB to spowodują.
    No ale to jest fizyka przetwarzania i przed tym się nie ucieknie. Zresztą, takie przeskakiwanie o 1LSB to nie problem, wystarczy dać software'ową filtrację dolnoprzepustową, żeby za szybko nie skakało. Natomiast hardware'owo się tego raczej nie da zrobić.

    Masz rację, że im wyższe Vref tym lepszy SNR, bo 1LSB odpowiada wtedy większemu napięciu i mierzymy dalej od szumów. Oczywiście sygnał kondycjonujemy wtedy na nowe warunki, czyli tak, żeby jak najpełniej wykorzystać zakres przetwarzania ADC.
  • #4
    Jado_one
    Level 22  
    No - jeżeli będziemy na granicy bitów to nie unikniemy przeskakiwania na plus - ale na minus wtedy będzie najtrudniej przeskoczyć - bo będzie nas dzielił od tego prawie cały "schodek". Im większy tym lepszy - jak wyżej :-)

    +-1LSB to marzenie, które nie zawsze się spełnia w mikrokontrolerach, gdzie lubią sobie "latać" ostatnie bity niejako samoistnie.... Potem można się doczytać w erratach, że np. z wewnętrznym Vref to już tak będzie ;-)
    Czasami więc przy dokładniejszych pomiarach warto zastosować zewnętrzny A/D...
    Z mikroprocesorów to zdaje się , że aduc'e też mają niezłe przetworniki - jako, że to Analog Devices.
  • #5
    Ostry23
    Level 18  
    Jado_one wrote:
    No - jeżeli będziemy na granicy bitów to nie unikniemy przeskakiwania na plus - ale na minus wtedy będzie najtrudniej przeskoczyć -

    No tak, albo odwrotnie :)

    Tobie chodziło zapewne o dokładność przetwornika. Przetwornik o rozdzielczości n bit ma dokładność n bitową dopiero, gdy bezwzględny błąd przetwarzania jest mniejszy niż +-0,5LSB.

    Quote:

    Z mikroprocesorów to zdaje się , że aduc'e też mają niezłe przetworniki - jako, że to Analog Devices.

    Akurat tych nie znam.
    Mogę się za to wypowiedzieć nt. ADC w rodzinach XMEGA A. Na forum avfreaks.net było bardzo dużo narzekań na ich dokładność, więc gdy musiałem ich użyć, zrobiłem własne testy.
    Podawałem na wejście dokładnego wzmacniacza (op-amp z technologią autozerowania napięcia offsetu) dokładne sygnały DC z baterii, poprzez dzielnik. ADC miało Vref w postaci zewnętrznego źródła REF192 (to jest podstawa dokładnych pomiarów - stabilność w sensie temperaturowym, niewielkie starzenie, b. małe rozrzuty produkcyjne) i otrzymywałem wyniki o błędach nie przekraczających +-6 LSB (wynik odniesiony względem napięcia zmierzonego bezpośrednio na wejściu ADC; mierzone też względem zmierzonego Vref a nie deklarowanego). Przy czym byłem już na granicy dokładności pomiaru moim multimetrem.
    Można więc powiedzieć, że 12-bit ADC w XMEGA A ma dokładność bezwzględną rzędu 9 bitów (błąd powoduje przekłamania tylko na 3 najmłodszych bitach).
    Uważam, że to nieźle.
    Za to same pomiary nie pływały mi o więcej niż +-1LSB (w długim okresie zapamiętywałem i wyświetlałem maksymalny i minimalny pomiar), z czego wnioskuję, że zapewniłem sobie na PCB odpowiednio niski poziom szumów, nie przekraczający w tym wypadku 0,6 mV.
    To +-6LSB to było po prostu maksymalne, ale stabilne przekłamanie, czyli same nielinearności ADC.
  • #6
    dturczak
    Level 19  
    niestety interesuje mnie pełny zakres temperaturowy (czyli od 0 do 15V).
    Czy bede musial zastosowac jakis zewn min. 12bitowy ?
    15/4096=0,004
    moze MCP3201 z REF 192/195
    Czyli dając napiecie refencyjne 5V(195) a nie 2.5(192) bede mial mniej szumow?
    dzielniki odpowiednio 3:1 i 6:1,chyba ze w takim pelnym zakresie to bez znaczenia..

    No i kwestia tych dzielników ,rozumiem jakies rezystory 1%,a wartosci jakich rzedów najlepiej (jakis przyklad do 5v) ?
  • #7
    gaskoin
    Level 38  
    Szumów będzie tyle samo, tylko, że ze względu na większy kwant przetwornika, będą one miały mniejsze znaczenie.
  • #9
    dturczak
    Level 19  
    tego ukladu to nie znalem ,widze jakis upgrade max6675.
    ciekawy jest fakt ze potrzebuje do zasilania 3.6V kiedy ad595 przy pelnym zakresie prawie 15V.
    przy 4 kanalach lepiej jakis analogowy multiplexer czy 4 osobne ukladu zakupic ?

    A jak z tymi rezystorami w koncu bedzie ?
  • #10
    Ostry23
    Level 18  
    dturczak wrote:
    moze MCP3201 z REF 192/195

    Używałem go i jest rzeczywiście dokładny. Zauważ, że w uC trudno jest osiągnąć dużą dokładność bo masz obok różne zegary, dużo innych modułów działa w bezpośrednim sąsiedztwie ADC. A MCP3201 jest projektowany do jednego zadania. MCP3201 stawiasz na płytce jak najbliżej źródeł sygnału, masz większą kontrolę nad tym, czy coś Ci niedaleko niego sieje. Masz też większa kontrolę nad tym (powinieneś o to zadbać), czy coś ci przecina masę pod spodem ścieżek sygnałów analogowych, czy w poprzek analogówki biegną jakieś sygnały cyfrowe o szybkich zboczach. A w przypadku otoczenia uC często masz gorszą sytuację, bo zazwyczaj (tak mam na swoich płytkach) trzeba gdzieś obok puścić jakąś transmisję itp. Czasem trudno jest dobrze oddzielić drogi cyfrówki od analogówki i nie powodować płynięcia prądów powrotnych sygnałów cyfrowych pod ścieżkami sygnałów analogowych.

    Quote:
    No i kwestia tych dzielników ,rozumiem jakies rezystory 1%,a wartosci jakich rzedów najlepiej (jakis przyklad do 5v) ?

    Z prostej analizy wychodzi coś takiego dla dzielnika 1:6:
    Masz 5R i R. W idealnym przypadku Vwy = 1/6 Vwe.
    Gdy R jest przekłamane na + o 1% (najgorszy przypadek) masz 1,01R .
    Dla 5R na - o 1% - 4,95.
    W tym momencie Vwy = 0,1695 Vwe, zamiast pożądanego 0,1(6).

    Dla przekłamania w drugą stronę:
    Vwy = 0,1639.

    Błąd względny takiego przekłamania: ok. 1,7% w każdym z przypadków.
    W przeliczeniu na błąd bezwzględny liczony w LSB - będzie tym większy im większy będzie sygnał wejściowy.

    Dla przetwarzania 12-bit 1LSB to 0,024% FULL SCALE.
    Z tego wniosek: gdy podasz przez taki dzielnik sygnał porównywalny z poziomem FS, maksymalny błąd pomiaru wyniesie do 70LSB.

    Chcesz to jakoś kalibrować na starcie? I tak nie uciekniesz przed temperaturowym współczynnikiem zmian rezystancji, chyba, że będziesz co chwilę jakoś kalibrował b. dokładnym sygnałem.

    Lepiej użyj rezystorów 0,1% o TCR rzędu 25ppm/°C.

    Pamiętaj też, żeby nie użyć zbyt dużych wartości rezystancji w dzielniku (tak naprawdę liczy się tylko mniejsza z rezystancji) żeby powstałe w ten sposób zastępcze źródło napięcia nie miało zbyt dużej impedancji wyjściowej.
    Im większa ta impedancja, tym trudniej źródełku naładować pojemność w układzie Sample&Hold w ADC, tzn. tym dłużej to trwa.
    To zależy też oczywiście od konstrukcji układu Sample&Hold i od czasu samplowania. Musisz to sobie sprawdzić w nocie MCP3201. Nie jest tam przypadkiem tak, że zegar SPI definiuje ci jednocześnie zegar taktowania ADC? Od tego zalezy pewnie czas samplowania.
    W przypadku pomiarów temperatury możesz sobie pewnie pozwolić na małą częstotliwość próbkowania, czyli na stosunkowo rzadkie wyzwalanie konwersji, więc czas ładowania Csample nie powinien mieć wtedy znaczenia.
  • #11
    Jado_one
    Level 22  
    Ja u siebie dałem taki dzielnik - ale że to już było jakiś czas temu, to nie pamiętam uzasadnienia :-) Pewnie chodziło o wydajność prądową wyjścia AD595...

    AD595 - dobór przetwornika.

    Z tym, że u mnie scalak był zasilany z 5V i dla 1000st C wystarczył dzielnik 1:2 .
  • #13
    Jado_one
    Level 22  
    z 5V to był zasilany mikrokontroler - czyli max napięcie A/C = 5V.
    Dla 1000st. C napięcie z AD595 to ok. 10V - podzielone przez 2 daje max 5V na wyjściu dzielnika...

    Do tego dochodzi jeszcze linearyzacja charakterystyk termopary, ale to już sprawa programowa....

    Dodano po 29 [minuty]:

    Ten wzór to da Ci możliwość obliczenia, jakie jest napięcie termopary - dysponując napięciem wyjściowym z AD595.
    Trzeba jeszcze wiedzieć, co oznacza, że termopara daje tyle i tyle mV napięcia.
    Jaka to jest temperatura?

    Zajrzyj tutaj: http://claustemp.com/an-htp15.htm
    i tutaj: http://us.flukecal.com//Thermocouple-Table-Voltage-Calculator
  • #14
    Ostry23
    Level 18  
    dturczak wrote:
    Ciekawe, jak cenowo stoją

    W smd po kilkadziesiąt gr powinny być.

    Aha, oczywiście AD595 (zasilony napięciem 0-10V czyli skonfigurowany na pomiar od 0-1000st. C) nie da ci dokładności bezwzględnej na poziomie 0,24°C (co odpowiada jednemu LSB po podaniu na przetwornik 12-bit). Z przetwornikiem 12-bit będziesz miał po prostu rozdzielczość rzędu 0,24°C, czyli takie najmniejsze zmiany temp. wykryjesz. Ale bezwzględna wartość temperatury może się dużo znaczniej różnić od rzeczywistej.
    Za to użycie dokładnego dzielnika spowoduje, że po prostu nie zwiększysz błędów pomiaru zbyt znacznie.
  • #15
    dturczak
    Level 19  
    Jado_one Nie no, jasne, pomyliło mi się z czymś zupełnie innym, nawet skasowałem posta przed odpowiedzią ;)

    Co do linearyzacji, to chciałem skorzystać z gotowych współczynników.
    AD595 - dobór przetwornika.
    Z tym, że takich współczynników nie powinno się wyznaczyć doświadczalnie? Czy po prostu można zaufać producentowi? ;]
  • #16
    Jado_one
    Level 22  
    Zależy od producenta :-)
    Jak jest tylko możliwość porównania z jakimś wzorcem - to co szkodzi sprawdzić.
    Jest tu sporo potencjalnych miejsc, które mogą wprowadzać błędy - warto więc sprawdzić poprawność wskazania.

    Ja np. oparłem się na tych tabelach, bo dokładność 1st C była dla mnie wystarczająca, a do tego mały mikrokontroler i program pisany w ASM nie dałby rady tak łatwo dokonać obliczeń (i tak musiałem się bawić z PID)....
  • #17
    dturczak
    Level 19  
    to taki wielomian 9 stopnia nie pozwoli mi obliczyc z dokladnoscia do 0.1 st ? (chyba ze to bedzie tylko zludna dokladnosc)
    przetwarzanie chce robic po stronie PC ,wiec z wydajnoscia nie bedzie problemu.
  • #18
    Jado_one
    Level 22  
    Z tego co czytałem, to są różnice pomiędzy amerykańskimi i europejskimi termoparami typu K....Jakieś różnice stopowe.....Ciekawe, czy specjalnie tak zrobili :-)

    Ciekawe jakie charakterystyki mają chińskie termopary ;-)
  • #19
    Ostry23
    Level 18  
    Jado_one wrote:
    Może zamiast się mordować z AD595 i błędami przetwarzania lepiej użyć tego?: http://www.maxim-ic.com/datasheet/index.mvp/id/7273


    O kurczę, rzeczywiście. W 1 scalaczku za 40PLN masz to samo co w AD595 (70PLN) i MCP3201 (7 PLN). I nie musisz się bawić w żadne dzielniki a zamiast napięć 10V i 5V (lub 3V3) wystarczy ci do zasilenia wszystkiego jedno 3V3.
  • #20
    dturczak
    Level 19  
    nawet za 40zł mam 5 sztuk w tme,wiec taniej wychodzi.
    z tym ze szkoda ze troche wczesniej o nim nie wiedzialem ;/

    Tylko kwestia multipleksowania.
    w sumie mozna zastosować np 4 układy dla 4 kanałów.

    A jak w kwestii doboru multiplexera tak zeby zupelnie pozbyc sie napiec > 5V?

    dla AD zalecaja ADG507A ale niestety zasilanie to rzad 10-15V
    http://www.analog.com/static/imported-files/data_sheets/ADG506A_507A.pdf

    Jakiś dobry,w miare tani multiplexer analogowy z zasilanie 5V ?
    bo chyba zwykly CD4052 nie nadaje sie do takich celow prawda ?
  • #21
    Ostry23
    Level 18  
    dturczak wrote:
    nawet za 40zł mam 5 sztuk w tme,wiec taniej wychodzi.

    Zaraz zaraz, nie ma tak lekko, a ja źle spojrzałem.
    Ten zapis oznacza, że 1 szt. kosztuje 40 ale musisz kupić naraz 5 szt.

    I w przypadku użycia tego układu nie ma co multipleksować, bo jak chcesz dokładnie multipleksować mV z termopary?
    Multipleksować analogowo to możesz wyjście AD595, bo tam już jest spory sygnał.
  • #24
    Ostry23
    Level 18  
    Ostry23 wrote:
    Multipleksować analogowo to możesz wyjście AD595, bo tam już jest spory sygnał.

    No tak. Bez sensu napisałem, bo przecież kanałów w ADC masz sporo, a multipleksować chcesz właśnie z kilku termopar na 1 drogi AD595, nie z kilku drogich AD595 na wielokanałowy ADC :).

    Jakoś nieufnie podchodzę do multipleksowania scalaczkiem linii z termopary... ale może się da, w końcu kanał MOSa w multiplekserze to niby zwykła rezystancja.
    No i dochodzi kwestia dobrania MUXa który może pracować z ujemnymi napięciami na wejściu, mimo zasilania pojedynczym napięciem.
  • #25
    dturczak
    Level 19  
    dorwałem ten układ MAX31855 na testy.
    niby smiga ale zaklocenia sa niesamowite,wystarczy ze reke zblize do calego układu i skok +-10 stopni ;))

    znalazlem w jakiejs nocie ze mozna kilka elementów dodac.
    Na polską dostępność co wziasc w przypadku L1 i C3..
    rozumiem L1 to zwykly filtr emi (jezeli tak to ktory wziasc) a to oznaczenie DNP przy C ??

    AD595 - dobór przetwornika.
  • #29
    dturczak
    Level 19  
    nie mam tu zadnych elementów siejacych,pamietam ze z max6675 mimo profesjonalnej plytki tez lekko nie bylo,dlatego tu nie chodzi o sprawdzenie schematu tylko znalezienie zastepczych elementow L1,C1 . Ktos wogole spotkal sie z takim filtrowaniem przed termoparami ?
  • #30
    Jado_one
    Level 22  
    dturczak wrote:

    a to oznaczenie DNP przy C ??

    DNP= do not populate -> http://answers.yahoo.com/question/index?qid=20080818013734AAf8aDh

    Co do samego układu filtra - w tej przykładowej aplikacji piszą, żeby użyć jak najwięcej miedzi na zaekranowanie układu - widać jest czuły na zakłócenia.
    Radziłbym też użyć elementów SMD jako L,C - im większe rozmiary, tym więcej będą zbierać zakłóceń, więc ich minimalizacja wskazana.