Elektroda.pl
Elektroda.pl
X

Search our partners

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

Najlepsza architektura ADC do pomiaru temp. przez PT100

Platon 27 Nov 2006 19:21 5250 21
  • #1
    Platon
    Level 42  
    Witam,
    Realizuje pewien projekt pomiaru temperatury (olej we wtryskarce, w zależności od temperatury ma sie włączyć jakies dodatkowe urządznie -konfiguracja NO lub NC) z wykorzytaniem PT100. Zakres temperatur 20-80stopni, rozdzielczość 0.1stopnia. Częśc analogowa mam już zrobioną, tzn sygnalem wyjsciowym jest napięcie rzędu 0-5V (ew 4.096V) lub inne - to nie problem.
    I teraz kwestia przetwornika ADC. Myśle, ze 16-bitów bedzie odpowiednie, szybkośc nie jest kluczowa - max to pewnie kilkadziesiąt pomiarów/s, a interfejs do ukontrolera to juz detale.
    Zerkajac na strony producentów IC do wyboru jest sporo ukladów, ale zauważyłem dostępne różne architektury takich czujników:
    Dual-Slope, Sigma Delta, Dual-Slope, Sigma Delta, SAR, modulator, pipeline, itp Czy powieniem sie sugerować tymi parametrami? Która architektura powinna najlepiej sie sprawdzic w opisanym zastosowaniu? Czy sa jakies specjalne ADC dedykowane pomiarom?

    Dziekuje za pomoc.
  • #2
    Jerzy Węglorz
    Level 39  
    Dyskutował bym zasadność użycia czujnika Pt100. Jego wady: nieliniowość, mała czułość, pomiar dokładny możliwy tylko w układzie 3 lub 4-przewodowym, konieczność użycia przetwornika A/D.
    Ponadto: jeżeli z czujnika chcesz mieć sygnał ok. 5V, to przez czujnik płynie znaczny prąd (50mA!), co wprowadza dodatkowy błąd pochodzacy od grzania/chłodzenia czujnika. Użycie Pt1000 było by lepsze, ale podstawowe wady Pt100 pozostają ...
    Sugerował bym użycie czujnika SMT160-30, który można połączyć wprost do portu komputera.
    Patrz tu:
    http://www.smartec.nl/pdf/DSSMT16030.PDF
  • #3
    crazy_phisic
    VIP Meritorious for electroda.pl
    Jerzy Węglorz wrote:
    Dyskutował bym zasadność użycia czujnika Pt100. Jego wady: nieliniowość, mała czułość, pomiar dokładny możliwy tylko w układzie 3 lub 4-przewodowym, konieczność użycia przetwornika A/D.
    Ponadto: jeżeli z czujnika chcesz mieć sygnał ok. 5V, to przez czujnik płynie znaczny prąd (50mA!), co wprowadza dodatkowy błąd pochodzacy od grzania/chłodzenia czujnika. Użycie Pt1000 było by lepsze, ale podstawowe wady Pt100 pozostają ...
    Sugerował bym użycie czujnika SMT160-30, który można połączyć wprost do portu komputera.
    Patrz tu:
    http://www.smartec.nl/pdf/DSSMT16030.PDF


    O jakiej nieliniowości mówisz?? W przedziale 0 - 100C jest bardzo liniowy, poza tym charakterystyka jest dokładnie okreslona wieć można bardzo łatwo zlinearyzować ewentualne odstępstwa.
    Czułość sensorów RTD jest bardzo duża... kwestia tylko zewnętrznej obudowy czujnika...
    Jeśli mowa o pomiarach z dokładności 0.1C to scalone czujniki raczej nie mają racji bycia, połaczenie 3 lub 4 przewodowe to tylko małe uniedogodnienie które łatwo zamienić w zaletę.
    Kwestię prądu przemilcze....

    Co do zastosowania przetwornika... przy tak zdefiniowanych wymaganiach praktycznie każdy przetwornik zda egzamin... choć Sigma-Delta może nie wyrobić takiej częstotliwości pomiarów dla 16bitów.
  • #4
    Jerzy Węglorz
    Level 39  
    Nooo, w znormalizowanej tabeli oporności czujnika Pt100: http://szarp.com.pl/howto/ipk/html/pt100-resistances.html
    jest niewielka różnica: między 0 a 10°C jest 3,9 ohma, a między 90 a 100°C jest 3,8 ohma. Czasem to może nie mieć znaczenia, pewnie jest porównywalne ze zmianą oporności kabla łączącego i potencjałami termoelektrycznymi na złączach ...
    Rozdzielczość dla 0,1°C to jest zmiana sygnału na poziomie 10^-4, trochę mało.
    A może by tak jednak jakiś czujnik półprzewodnikowy (ale nie termistor!)? Są znacznie wieksze czułości, urządzenie jest jednorazowe, więc pierwsza kalibracja jest jedyną.
  • #5
    Plumpi
    Heating systems specialist
    Jerzy Węglorz wrote:
    Dyskutował bym zasadność użycia czujnika Pt100. Jego wady: nieliniowość, mała czułość, pomiar dokładny możliwy tylko w układzie 3 lub 4-przewodowym, konieczność użycia przetwornika A/D.
    Ponadto: jeżeli z czujnika chcesz mieć sygnał ok. 5V, to przez czujnik płynie znaczny prąd (50mA!), co wprowadza dodatkowy błąd pochodzacy od grzania/chłodzenia czujnika. Użycie Pt1000 było by lepsze, ale podstawowe wady Pt100 pozostają ...
    Sugerował bym użycie czujnika SMT160-30, który można połączyć wprost do portu komputera.
    Patrz tu:
    http://www.smartec.nl/pdf/DSSMT16030.PDF


    A teraz zalety czujnika Pt-100
    1. Duża dokładność i powtarzalność
    2. Duży zakres pomiarowy od -200 do +750°C
    3. Łatwy w zastosowaniu przy użyciu specjalizowanych scalaków, które lianeryzują charakterystykę oraz umożliwiają dokonanie jej kalibracji, choćby z resii XTR.... (wiele firm oferuje gotowe przetworniki jednoukładowe przetwarzajace rezystancję Pt-100 na standardowy sygnał napięciowy, prądowy, częstotliwościowy oraz cyfrowy, także w wersjach dwu-przewodowych - czyli tą sama parą przewodów odbywa się zasilanie scalaka oraz przesyłanie sygnału)
    4. Możliwość podłączenia w układzie 3 lub 4-przewodowym, który eliminuje wpływ oporności linii.
    5. Wykonanie także w wersjach SMD (mała bezwładność czujnika)
    6. Ze względu na swoją dużą dokładność i powtarzalność pomiarową stosowane jako czujniki wzorcowe temperatury.
    7. Powrzechnie stosowane w przemyśle i z tego powodu nie ma problemów z zakupem. Stosowany i sprawdzony w przemyśle od dziesiątków lat.
    8. Dobry stosunek ceny do wielkości oraz dokładności zakresu pomiarowego.
    9. Duża odporność na przekroczenie zakresu pomiarowego.
    10. Możliwe zastosowanie bardzo długich przewodów połaczeniowych (duża odporność na zakłócenia przemysłowe)

    A teraz wady DSSMT16030
    1. Bardzo mały zakres pomiarowy -45 do 130°C
    2. Bardzo wrażliwy na uszkodzenia spowodowane przekroczeniem zakresu pomiarowego (uszkodzenie struktury półprzewodnikowej).
    3. Mało dokładne. Zwiększenie dokładności wymaga indywidualnej kalibracji.
    4. Drogie.
    5. Trudne do zdobycia na polskim rynku.
    6. Mało popularne.
    7. Wrażliwy na zakłócenia przemysłowe (maksymalna długość przewodów 20m)

    P.S. Pt-100 nie używa się tak dużych prądów rzędu 50mA, nawet w logometrach. Stosuje się specjalizowane przetworniki lub wzmacniacze operacyjne pracujące w mostkach, dzięki czemu wymuszony prąd mierzony jest w uA, a mimo to konstrukcja jest bardzo odporna na zakłócenia przemysłowe.
    Jednak widać, że mało używałeś Pt-100 :)

    Jacek "Plumpi"
  • #6
    Jerzy Węglorz
    Level 39  
    Używałem, używałem, w cementowni, było ich kilkadziesiąt, poza tym jeszcze mnóstwo PtRh i inne ...
    Ale autor postu (Platon) potrzebuje zakresu temperatur 20 - 80 stopni, pewnie też od czujnika do układu pomiarowego ma kabel nie dłuższy niż 5m, ale dyskusja o wszelkich dostępnych rozwiązaniach technicznych jest zawsze pożyteczna (zwłaszcza, że punkt widzenia zależy od punktu siedzenia), a ja nie upieram się, żeby "moje było na wierzchu" ...
    Pewnie gdybym nie sprowokował Cię krytyką Pt100, nigdy byś się nie zdobył na tak piękny hymn pochwalny ...
  • #7
    Plumpi
    Heating systems specialist
    Fakt, nie doczytałem zakresu 20-80°C., zatem zmienia to postać rzeczy.
    Poza tym zmyliło mnie też zastosowanie we wtryskarce, gdzie temperatury są znacznie wyzsze.

    Osobiście, jeżeli miał bym stosować w tym zakresie jakis czujnik to zapewne wybrał bym LM35 ze względu na popularność, dość dobre parametry, liniową charakterystykę wyjściową i bezpośrednią współpracę z prawie każdym przetwornikiem umożliwiającym podpiecie źródła referencyjnego.
    Na wyjściu LM35 uzyskuje się sygnał 0,2-0,8V dla zakresu 20-80°C

    Poza tym dziwi mnie trochę wymagana przez autora wątku dokładność i rozdzielczość. W przypadku zastosowania przetwornika 16-bitowego daje nam 65536 punktów. Zatem oczekiwana rozdzielczość wynosi 0,0009°C.

    Uważam, że w tego typu zastosowaniach przemysłowych, wykorzystanie przetworników 10-bitowych tych, które znajdują się w wielu mikrokontrolerach i tak zapewnia wystarczjacą rozdzielczość oraz klasę dokładności. Dla przykładu dla zakresu 0-120°C i przetworniku 10-bitowym (1024 punkty) uzyskuje się rozdzielczość rzędu 0,12°C

    Jacek "Plumpi"
  • #8
    Grzegorz77
    Level 25  
    Kiedyś robiłem taki układ , ale zastosowałem At89c2051 , i jego przetwornik
    oraz napisałem prostą procedurę mierzącą czas ładowania kondensatora .
    Gdyby dodać tablicę przeliczeniową to można uzyskać bardzo dokładne wyniki i pominąć nieliniowość układu .
    Wadą było to żę w zasadzie trzeba tworzyć tabelę dla konkretnego układu
  • #9
    Platon
    Level 42  
    Jerzy Węglorz - nie napisalem, ze przez PT puszcze prad 50mA. Prąd wynosi poniżej 1mA, a zajmuje sie tym "czesc analogowa". Nie pytalem tez o inne czujniki, bo musze to zrobic na PT100.

    Plumpi - z czujnika 16 bit mozna wykorzystać 10 bitów. Z czujnika 10bitów nie wykorzystasz wiecej. Nie mowiąc o lataniu ostatnich bitów. Więcej niż 10 bitów pozwoli przyblizyc dokladniej temperature do 0.1stopnia.


    crazy_phisic -dzięki.
  • #10
    McRancor
    VIP Meritorious for electroda.pl
    Jeśli chcesz zgłębić architektury opisanych przetworników polecam:
    http://qps.web.cern.ch/qps/seminar_pdf/przetwornikisem.pdf

    Jeśli chcesz tylko odpowiedź - ja na Twoim miejscu użyłbym przetwornika Δ∑, 16bitów (albo coś koło tego) i zaniżać programowo, jeśli wyrobi się czasowo to szkoda sobie zawracać głowę przetwornikami wbudowanymi, lepiej zastosować słaby µC i jak najlepszy przetwornik, ładnie poprowadzić masy, ekran, a cyfrówke zawsze można dobrać inną.
  • #11
    remiorn
    Level 18  
    Platon wrote:
    Jerzy Węglorz - nie napisalem, ze przez PT puszcze prad 50mA. Prąd wynosi poniżej 1mA, a zajmuje sie tym "czesc analogowa". Nie pytalem tez o inne czujniki, bo musze to zrobic na PT100.

    Plumpi - z czujnika 16 bit mozna wykorzystać 10 bitów. Z czujnika 10bitów nie wykorzystasz wiecej. Nie mowiąc o lataniu ostatnich bitów. Więcej niż 10 bitów pozwoli przyblizyc dokladniej temperature do 0.1stopnia.


    crazy_phisic -dzięki.


    Z doświadczenia wiem, że 10 bitów przetwornika wystarczy w zupełności.
    A jeśli chodzi o "latanie" ostatnich bitów.
    No cóż z przetwornika temperatury i tak nie dostaniesz odpowiedzi szybszej niż rząd 1/sek.
    A przetwornik np. taki znajdujący się bezpośrednio w PIC12f675 może odczytać kilkadziesiąd tysięcy próbek na sekundę.
    Wystarczy uśrednić i jakiekolwiek "latanie" bitów masz z głowy.
  • #12
    crazy_phisic
    VIP Meritorious for electroda.pl
    remiorn wrote:

    ....
    No cóż z przetwornika temperatury i tak nie dostaniesz odpowiedzi szybszej niż rząd 1/sek.
    ....


    Rozumiem że mówisz o szybkości zmianie ΔT=1°C/s... Wszystko zależy od pojemności cieplnej czujnika i jego obudowy, elementy RTD (PT100 itd) wykonuje sie jako układy cienkowarstwowe więc ich pojemność jest znikoma, co umożliwia na dokładną analizę ewolucji czasowej całego procesu. Nawet dla obudowanych przemysłowych czujników czas reakcji na przyrost jednostkowy jest znacznie mniejszy:

    http://www.samson.de/pdf_en/t52040en.pdf

    Pozdrawiam
  • #13
    Plumpi
    Heating systems specialist
    Platon wrote:

    Plumpi - z czujnika 16 bit mozna wykorzystać 10 bitów. Z czujnika 10bitów nie wykorzystasz wiecej. Nie mowiąc o lataniu ostatnich bitów. Więcej niż 10 bitów pozwoli przyblizyc dokladniej temperature do 0.1stopnia.


    Jest tylko kwestia opłacalności tego przedsięwzięcia, ponieważ przetworniki 8 i 10-bitowe masz "na dzień dobry" w co drugim mokrokontrolerze, zaś przetwornik 16-bitowy to dodatkowa inwestycja.
    Swego czasu, kiedy podchodziłem do każdego zadania, ze wszystko musi być "naj" i na wyrost, także chciałem zastosować przetworniki 16-bitowe. Po ściągnięciu ofert, w których ceny takich przetworników zaczynały się od 100zł, stwierdziłem, że przecież tak na prawdę nie potrzebuję większej rozdzielczości jak 8 bitów. Do dzisiejszego dnia układy te spełniają swoje zadanie i cieszą ich nabywców, a ja zaoszczędziłem trochę kasy ;)
    W tym sensie jest cała moja wypowiedź.

    Jacek "Plumpi"
  • #14
    remiorn
    Level 18  
    crazy_phisic wrote:
    remiorn wrote:

    ....
    No cóż z przetwornika temperatury i tak nie dostaniesz odpowiedzi szybszej niż rząd 1/sek.
    ....


    Rozumiem że mówisz o szybkości zmianie ΔT=1°C/s...


    Nie.
    Mówię o całkowitej odpowiedzi na nagłą zmianę temperatury.

    crazy_phisic wrote:

    Wszystko zależy od pojemności cieplnej czujnika i jego obudowy, elementy RTD (PT100 itd) wykonuje sie jako układy cienkowarstwowe więc ich pojemność jest znikoma, co umożliwia na dokładną analizę ewolucji czasowej całego procesu. Nawet dla obudowanych przemysłowych czujników czas reakcji na przyrost jednostkowy jest znacznie mniejszy:

    http://www.samson.de/pdf_en/t52040en.pdf

    Pozdrawiam


    Akurat w tym przetworniku czas reakcji jest sporo większy od 1 sekundy.
    W końcu jeśli chcemy uzyskać rozdzielczość na poziomie 0,1°C, to wypadałoby uzyskać dokładność rzędu 1°C.
    Wymieniony w linku przetwornik w czasie 0,75 s zmienia swą temperaturę o połowę skoku temperatury przepływającej cieczy.
    Więc biorąc pod rozwagę wykres zamieszczony w pliku uzyskamy ustalenie wskazań z dokładnością 1°C na 40 stopniowy skok temperatury powyżej 4s, natomiast z dokładnością 0,1°C w czasie powyżej 6s.

    Gdyby dokładnie rozważyć, to w przypadku takiego czujnika jak ww. próbkowanie szybsze niż np. 10/sek kompletnie mija się z celem, gdyż sama odpowiedź czujnika jest wolniejsza. W końcu chcemy mierzyć zjawisko, a nie czujnik.
  • #15
    crazy_phisic
    VIP Meritorious for electroda.pl
    Gdy tak zdefiniujesz czas reakcji to trudno znaleźć czujnik który w pełni obudowany będzie zdolny zareagować tak szybko...
    Jednakże mylisz się w kwestii próbkowania... zauważ że w momencie zmiany temperatury o 40°C dla czasu Z0.5 (0.75s) zmiana temperatury wynosi 20°C. Aby zarejestrować taką zmianę z rozdzielczością 0.1°C musimy próbkować z częstotliwością co najmniej ~270 Hz.
    Dla czujnika bez obudowy czas reakcji jest znacznie mniejszy, natomiast rzadko kiedy przypada nam mierzyć skokowe zmiany temperatury.
    W tym (jak i we większości przypadków) częstotliwość próbkowania będzie zależeć od dynamiki zmian mierzonego zjawiska...

    Pozdrawiam
  • #16
    Tdv
    Level 34  
    crazy_phisic: PT100 jest elementem nieliniowym, opiasnym charakterystyką kwadratową w zakresie temeperatur dodatnich i sześcienną w zakresie temperatur ujemnych.
    Platon: Z tym szesnastobitowym przetwornikiem to zdecydowana przesada. Jak już przedmówcy zauważyli przetworniki takie są niemiłosiernie drogie, a używanie ich tylko po to ażeby sześć bitów wyniku zaniedbać to moim zdaniem średni pomysł.
    Ja bym Ci polecił przetwornik MCP3201, ma 12 bitów, szeregowy interfejs i kosztuje kilkanaście złotych.
  • #17
    crazy_phisic
    VIP Meritorious for electroda.pl
    Tdv wrote:
    crazy_phisic: PT100 jest elementem nieliniowym, opiasnym charakterystyką kwadratową w zakresie temeperatur dodatnich i sześcienną w zakresie temperatur ujemnych.
    ....


    Bardzo cenna uwaga, ale wydaje mi się że wszyscy biorący udział w dyskusji znają takie podstawowe wiadomości....
    W przewidzianym zakresie temperatur można z bardzo dużą dokładnością opisać temperaturę ograniczając zależność termometryczna tylko do członu liniowego (poprawka wprowadzana przez człon kwadratowy jest znikoma). Istnieją adaptacje np algorytmu Newtona na bardzo szybkie iteracyjne wyznaczenie temperatury z olbrzymia dokładnością.
    http://erst.ch/english/appnotes/appnote2.html


    Pozdrawiam
  • #18
    roobert
    Level 14  
    Dałbym DS2450 - bo go lubię. Cena kilkanaście zł na Al... lub trzydzieści kilka w sklepie internetowym. Proponuję nast. "architekturę" PT100 --- przewód kilkanaście cm --- mały modulik z DS + rezyst. prec. ( solidnie obudowany np. w rurce AL ) a dalej to już możesz dać kilkadziesiąt metrów kabla 3 żyłowego + dowolny moduł uP. Tylko po co ta już zrobiona część analogowa. Ale to tylko jedno z wielu możliwych rozwiązań.
  • #19
    remiorn
    Level 18  
    crazy_phisic wrote:
    Gdy tak zdefiniujesz czas reakcji to trudno znaleźć czujnik który w pełni obudowany będzie zdolny zareagować tak szybko...
    Jednakże mylisz się w kwestii próbkowania... zauważ że w momencie zmiany temperatury o 40°C dla czasu Z0.5 (0.75s) zmiana temperatury wynosi 20°C. Aby zarejestrować taką zmianę z rozdzielczością 0.1°C musimy próbkować z częstotliwością co najmniej ~270 Hz.


    Niby prawda, ale jak pisałem w takim przypadku mierzymy faktycznie czujnik, a nie zjawisko i nie ma kompletnie szansy na to, żeby na podstawie odczytu temperatury czujnika podać temperaturę zjawiska z dokładnością większą niż kilka °C.
    Poza tym zgadzam się, że można zastosować czujniki miniaturowe, które mają mniejszą pojemność cieplną, a co za tym idzie czas reakcji. Wówczas próbkowanie szybsze niż np. 1-10/sek mogłoby się przydać przy zapewnieniu bardzo dobrego połączenia termicznego czujnika ze zjawiskiem i małych pojemnościach cieplnych.
    Tylko, że jeśli mamy do czynienia z szybkim pomiarem temperatury, to w grę wchodzą raczej pirometry.
    Zresztą proponowana przeze mnie metoda i tak jest wystarczająco szybka.
    Typowy czas przetwarzania przetwornika wewnątrz procesora może osiągać powiedzmy 20µs, nawet jeśli potrzebujemy próbkować 1000 Hz każdy pomiar możemy uśrednić z 50 próbek, co daje teoretycznie 7x względny spadek szumu.
  • #20
    Plumpi
    Heating systems specialist
    remiorn wrote:

    Tylko, że jeśli mamy do czynienia z szybkim pomiarem temperatury, to w grę wchodzą raczej pirometry.


    Niestety pirometry nie zapewnią mu tak dużej dokładności jakiej wymaga, ponieważ ich charakterystyka zbyt mocno zależy od czynników zewnętrznych takich jak współczyjnik emisyjności (lub szarości w przypadku pirometrów dwubarwnych), a co za tym idzie stopnia utlenienia i zanieczyszczenia powierzchni, a także od kąta ustawienia pirometu, stopnia zapylenia i zaparowania powietrza, średnicy wizowania oraz odległości pirometru od badanej tamperatury. Ponad to pirometr mierzy tylko i wyłacznie temperaturę powierzchni zatem "bierze w łeb" jeżeli jest potrzeba mierzenia temperatury wewnątrz urządzenia.
    Poza tym koszt najtańszego pirometru jest kilka-kilkanaście razy wiekszy od kosztu czujnika Pt-100 wraz z przetwornikami.

    Jacek "Plumpi"
  • #22
    skalny7
    Level 17  
    Witam,

    Ja osobiście używam do PT-100 układu AD7708. Przy czym mam do niego podłączone 4 szt. PT-100.

    Pozdrawiam,
    DS