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.

[Solved] wzmacniacz PT100 do zakresu 3.3V

floop93 13 Aug 2019 10:28 1842 23
  • #1
    floop93
    Level 11  
    Witam,
    próbuje wykonać wzmacniacz do czujnika PT100. Interfejs 4 przewodowy (ze względu na dokładność i uniwersalność). Ma on za zadanie mierzyć temperaturę z zakresu 0-300 stopni C z dokładnością do 1 stopnia. Odczytu na końcu ma dokonywać przetwornik 12bit w STM32F4 w trybie single ended. Po przeszukaniu kilkudziesięciu opracowań / przykładów doszedłem do wniosku, że kompensacje zera jak i dokładne przeliczenie/kalibracje zrobię programowo, natomiast co do samego wzmacniacza to jeśli dobrze rozumiem, najlepiej jest wykonać źródło stało prądowe (w moim przypadku ok, 1,25mA) i wzmacniaczem operacyjnym podbić napięcie z PT100. Wykonałem wstępny schemat (jest to jeden moduł z kilku które mają znaleźć się na płytce):
    wzmacniacz PT100 do zakresu 3.3V
    W związku z tym mam kilka wątpliwości:
    1. Czy układ lm317 nadaje się na źródło stało prądowe? w teorii powinno dać radę ale obawiam się o stabilność. Można również wykonać takie źródło w oparciu o źródło napięcia referencyjnego i wzmacniacz operacyjny.
    2. W niektórych przykładach znalazłem informacje, że wzmacniacze powinny być minimum 2. Pierwszy odejmujący a drugi wzmacniający. Nie wiem tylko w jakim celu? Dodatkowa stabilizacja? A może kwestia izolacji od uC?
    3. Sam wzmacniacz obecnie na schemacie to lm358. Nie jest idealny ale tani. Chce go docelowo zastąpić czymś dokładniejszym (np. MCP601). Może jakieś sugestie?
    4. Ostatnie ale może i najważniejsze, czy moje założenia mają jakikolwiek sens? Może zwyczajnie coś mylę.
    Za wszelką pomoc dziękuję.
  • Helpful post
    #2
    trymer01
    VIP Meritorious for electroda.pl
    1.
    W teorii - nie nadaje się. Czytaj datasheet LM317 - min. prąd to 5mA (10mA).
    2.
    Odejmujący stosuje się gdy chcesz przesunąć poziom napięć - np. tak aby dla 0stC, Uwy=0.
    Jeśli chcesz
    floop93 wrote:
    kompensacje zera jak i dokładne przeliczenie/kalibracje zrobię programowo

    to odejmujący nie jest konieczny, tyle że pozwoliłby na rozszerzenie zakresu Uwe dla przetwornika.
    3.
    Wszystko zależy od oczekiwanej dokładności. MCP601 jest niewiele dokładniejszy od LM358. Atrakcyjny jest OP07 ze względu na cenę, ale wymaga zasilania symetrycznego.
  • #3
    floop93
    Level 11  
    1. Faktycznie, moja pomyłka, nie zauważyłem tego wcześniej. Między czasie szukałem już innego rozwiązania i doszedłem do czegoś takiego:
    wzmacniacz PT100 do zakresu 3.3V
    2. Wiem po co stosuje się odejmujące (do przesunięcia zera jeszcze mostek Wheatstone’a jest potrzebny) ale w tym przypadku odejmujący jest tylko i wyłącznie, żeby zniwelować rezystancje przewodów dla interfejsu 4 przewodowego. W pytaniu bardziej chodziło mi o kwestie stosowania 2 wzmacniaczy w szeregu, pierwszy odejmujący, bez wzmocnienia a drugi wzmacniający. I jeszcze zaznaczali, że muszą być 2 ale nikt nie objaśniał dlaczego. Stąd moje wątpliwości bo jeśli jestem wstanie wzmocnić wystarczająco sygnał do moich potrzeb to po co drugi? Moim zdaniem to bez sensu ale ekspertem nie jestem i dla tego pytam.
    3. Napięcia symetrycznego wolałbym uniknąć. Zapytam inaczej, czy lm358 wystarczyłby do uzyskania żądanej dokładności? może ma ktoś doświadczenie w temacie, stosował takie wzmacniacze przy podobnych aplikacjach?

    Dodano po 24 [minuty]:

    Co do wzmacniacza, MCP6022 ma dużo mniejsze napięcie niezrównoważenia na wejściu, cenowo też akceptowalny.
  • #4
    trymer01
    VIP Meritorious for electroda.pl
    1.
    Schemat nieczytelny.
    2.
    floop93 wrote:
    przesunięcia zera jeszcze mostek Wheatstone’a jest potrzebny

    ??
    Chyba coś tu mylisz.
    3.
    floop93 wrote:
    czy lm358 wystarczyłby do uzyskania żądanej dokładności?

    To trzeba policzyć, zakładając odpowiedni schemat/układ. To już lepiej LM258 - ta sama cena, dokładniejszy, lepszy.
    Uwzględnić dokładność WO, odchyłki (tolerancje oporników), założyć najbardziej niekorzystny przypadek gdy odchyłka jednego opornika działa w jedną stronę, druga w drugą - a będzie ich więcej.
    1stC/300stC=0,3% - więc obawiam się że nie wystarczy użyć oporników 0,1% (drogie), potrzebne będą dokładniejsze - drogie i mało dostępne.
    Przykładowo jeśli 0-300stC przetwarzasz na U=0-3V to masz 10mV/K i max błąd to 10mV - a kilka mV napięcia niezrównoważenia LMx58 "zje" ci większość tego, zostawiając niewielki margines błędu na pozostałe elementy (oporniki, źródło prądowe, dryft temperaturowy - jaki zakres zmian temp. otoczenia?)
    Dlatego raczej zapomnij o LMx58 czy LMx24, seria MCP od Microchip jest znacznie lepsza i znajdziesz tam nawet (o ile pamiętam) dokładniejsze od MCP6022.
  • #5
    floop93
    Level 11  
    1. wstawiam lepszej rozdzielczości:
    wzmacniacz PT100 do zakresu 3.3V
    2. Żeby wyzerować PT100 na wzmacniaczu odejmującym trzeba na wejście ujemne podać napięcie równe napięciu na PT100 w temp. 0, wiec stosuje się dodatkowy dzielnik co w efekcie daje nam mostek Wheatstone’a... Nic nie mylę. Oczywiście można to robić na wiele sposobów i mniej lub bardziej to modyfikować ale to jest najbardziej popularne rozwiązanie. Natomiast zgubiło się gdzieś samo pytanie.
    3. Ok, z tym, że znając błędy rezystorów kompensuje je raz w programie i tyle. Zostaje tylko kwestia dryftu źródła. Temp. pracy to ok 10-30 st. C, według noty 2,5mV w tym zakresie, co przekłada się na 1uA, co można pominąć. Dodatkowy problem stanowi wzmacniacz na masie układu, jego błąd jest 2 razy większy co oznacza 2uA, czyli dalej do pominięcia. Jak będzie w rzeczywistości to się sprawdzi. Oporniki też na tym trochę ucierpią, nie wiem nawet jak to do końca oszacować. Musiałbym już dokładnie elementy dobrać. Co do lmx58 to faktycznie jest słaby punkt, więc go zastąpię. Wspomniany powyżej MCP6022 powinien być trochę lepszy. Jeśli idea tego układu się trzyma mniej więcej kupy chyba najrozsądniej będzie go po prostu zbudować i przetestować.
  • #6
    trymer01
    VIP Meritorious for electroda.pl
    floop93 wrote:
    znając błędy rezystorów kompensuje je raz w programie i tyle.

    Znasz błędy? - a skąd? Nawet jeśli je pomierzysz (omomierz o klasie <0,01% ?) to nic nie gwarantuje bo odchyłki danego opornika mogą się zmieniać z czasem - w granicach jego tolerancji podawanej przez producenta. I tylko tę tolerancję można uznać za pewną i przy liczeniu błędów musisz założyć jej wartość max (że taka odchyłka może mieć miejsce).
    floop93 wrote:
    Temp. pracy to ok 10-30 st. C

    Patrz błąd MCP1525, dryft temp. WO.
    Samego wzmacniacza nie rozumiem, klasyczny różnicowy ale z bardzo dziwnymi opornikami - co on ma robić? Obawiam się że jednak mylisz się co do tego mostka, różnicowy jest tu potrzebny gdyż warto
    floop93 wrote:
    wyzerować PT100 na wzmacniaczu odejmującym

    aby
    trymer01 wrote:
    pozwoliłby na rozszerzenie zakresu Uwe dla przetwornika.

    floop93 wrote:
    Natomiast zgubiło się gdzieś samo pytanie.

    Ale pytasz o coś co "ktoś gdzieś powiedział/napisał" - jak się do tego odnieść?
    Generalnie nie ma potrzeby stosowania dwóch - osobno wzm. i osobno odejmujący, na wzmacniaczu różnicowym zrobisz to samo - na jednym stopniu tylko nie w klasycznym układzie "książkowym" (dwie pary oporników - każda para jednakowe - jak u Ciebie powyżej). To nie mostek - zauważ, że dzielnik 10k/120k na we(+) zmniejsza Ci sygnał we. 13-krotnie - bez sensu. A do tego wzmocnienie samego wzmacniacza jest małe.

    Dodano po 24 [minuty]:

    Rozumiem, że diodę Zenera wstawiłeś bo obawiasz się przekroczenia 3,3V na we. przetwornika? - używając MCP zasil go Uzas=3,5V i nie potrzeba diody Zenera, która przy 3-3,3V może już "podbierać" prąd co da spadek napięcia na szeregowym oporniku i błędy Uwy.
    A sam przetwornik zapewne ma zakres Uwe większy niż Uzas czyli do 3,6V wytrzyma (sprawdzić w nocie), ma diody zabezpieczające, i dla "świetego spokoju" wystarczyłby szeregowy opornik (sprawdzić jaki jest Ibias przetwornika) ograniczający prąd tych diod - to dla Uzas =5V.
  • Helpful post
    #7
    Mkrasuski
    Level 20  
    Kolego floop93

    Kolega trymer01 dobrze Ci radzi, a do tego wykonaj kilka prościutkich obliczeń!
    RTD@0°C = 100 Ω
    RTD@300°C = 212 Ω zgodnie z wielomianem Callendar-Van Dusen

    Dla prądu 1mA mamy więc zmianę napięcia w zakresie 100mV...212mV czyli przyrost ok. 374uV na każdy °C
    i to bez uwzględniania nieliniowości PT100 , która w tym zakresie temperatur sama z siebie powoduje już błąd rzędu ok. 5Ω czyli 4%
    Dla osiągnięcia zakładanej precyzji nieliniowość powinna być skompensowana.

    Nie znam STM32F4 więc nie wiem jaka jest wartość wewnętrznego Uref dla przetwornika ale zakładając że Uref=2,5V będziesz przykładowo potrzebował wzmocnienia GAIN=10 aby możliwie szeroko wykorzystać zakres napięć wejściowych ADC (2,12V dla 300°C).

    Ponieważ 'offset wzmacniacza też się wzmocni' oznacza to, że aby sensownie zmierzyć przetwornikiem napięcie na PT100 offset wzmacniacza pomiarowego powinien być przynajmniej 5x, a lepiej 10x mniejszy niż wymagana rozdzielczość 374uV/°C czyli coś w granicach 25...35uV.

    W praktyce, pomiar PT100 często realizuje się stosując tzw. pomiar ratiometryczny
    W pomiarze ratiometrycznym rezystancja czujnika RTD porównywana jest do wartości rezystancji rezystora wzorcowego co pozwala uniezależnić pomiar od niestabilności źródła prądu Iref.

    wzmacniacz PT100 do zakresu 3.3V

    W tym układzie CODEmax przetwornika wynosi: CODEmax = Uref = Iref x Rref
    Natomiast wartość zmierzona przetwornikiem: CODE = GAIN x Iref x RTD
    Dzieląc stronami i przekształcając otrzymujemy:
    RTD = (CODE x Rref) / (CODEmax x GAIN)

    Ponieważ CODEmax = 4095 (dla 12-bitów) jest stałe, to głównymi źródłami błędów pomiarów będą:
    - dokładność rezystora Rref
    - dokładność wzmocnienia wzmacniacza GAIN
    - dokładność ADC czyli nieliniowość oraz offset ADC a także offset wzmacniacza - to można z powodzeniem kompensować programowo
    Jest jeszcze błąd rezystancji doprowadzeń ale jego kompensacja jest już sporo trudniejsza.


    Od strony praktycznej:
    Proste i stosunkowo dokładne źródło prądowe można zbudować w formie lustra 2xPNP i np. NPN + 2 diody
    Jako wzmacniacz proponuję instrumentacyjny INA333 (Vos≈15uV i GAINerror = ±01% - wartości średnie/typowe)
    Rref = 2kΩ 0.1% dla 1mA daje Uref = 2,0V
    Ponieważ w wyniku konwersji ADC otrzymasz praktycznie bezpośrednio rezystancję RTD to program będzie prościutki.
    Wystarczy wyznaczyć wartość RTD i porównać z tabelą temperatur - w ten sposób pokonasz nieliniowość i unikniesz przy tym złożonych obliczeń. Powinna wystarczyć tabela co 2°C i interpolacja.

    I ma to jeszcze jedną zaletę: powinno działać przy zasilaniu 3,3V, u Ciebie zasilanie 5V to absolutne minimum

    Powodzenia!
  • Helpful post
    #8
    Thaddy

    Level 10  
    Poszukaj ADS1247. TI udostępnia noty aplikacyjne.

    MAX31865 może okazać się bardziej optymalnym rozwiązaniem.
  • #10
    floop93
    Level 11  
    trymer01 wrote:
    Znasz błędy? - a skąd?

    nie znam i nie muszę. Wystarczy zrobić kalibrację już na podstawie odczytów z ADC i wzorcowego termometru.

    trymer01 wrote:
    Patrz błąd MCP1525, dryft temp. WO.

    patrzyłem, przeliczyłem i wyszło mi na szybko, że prąd będzie skakać w bardzo niewielkim zakresie. Jutro jeszcze dokładnie postaram się przeliczyć błędy które mogę/umiem.

    trymer01 wrote:
    Samego wzmacniacza nie rozumiem, klasyczny różnicowy ale z bardzo dziwnymi opornikami - co on ma robić?

    Pierwszy przy MCP1525 to zwykły wtórnik (ma na celu odizolowanie prądowe masy źródła) drugi to natomiast klasyczny przykład wzmacniacza operacyjnego, odejmującego właśnie ;) Jak nie wierzysz to odsyłam chociażby do Wikipedii (pierwszy link jaki mi wyskoczył)
    https://pl.wikibooks.org/wiki/Wzmacniacze_operacyjne#Wzmacniacz_odejmujący

    trymer01 wrote:
    Obawiam się że jednak mylisz się co do tego mostka, różnicowy jest tu potrzebny gdyż warto
    floop93 napisał:
    wyzerować PT100 na wzmacniaczu odejmującym

    aby
    trymer01 napisał:
    pozwoliłby na rozszerzenie zakresu Uwe dla przetwornika.

    Nie do końca rozumiem ten fragment. Po pierwsze nie negowałem zalet płynących z zerowania PT100, po drugie wiem, że do tego stosuje się wzmacniacze w układzie odejmującym ale chciałem to zostawić po stronie uC. Po trzecie, jak wpiszesz "PT100 circuit" w google to mostki te właśnie obecne są na wielu obrazkach które zobaczysz w grafice... wystarczy sobie trochę rezystory poukładać w wyobraźni ;) Ale moim zdaniem rozmowa o nich dalej nie ma większego sensu ani wkładu w temat.

    trymer01 wrote:
    Ale pytasz o coś co "ktoś gdzieś powiedział/napisał" - jak się do tego odnieść?

    To jest ciekawe, bo od początku pytałem czy są jakieś przesłanki, żeby musiały być 2 wzmacniacze w szeregu (przykładowo większa dokładność czy może izolacja uC), po czym twierdzisz, że nie wiesz o co pytam a za chwile udzielasz odpowiedzi ;)
    trymer01 wrote:
    generalnie nie ma potrzeby stosowania dwóch - osobno wzm. i osobno odejmujący, na wzmacniaczu różnicowym zrobisz to samo - na jednym stopniu


    trymer01 wrote:
    zauważ, że dzielnik 10k/120k na we(+) zmniejsza Ci sygnał we. 13-krotnie - bez sensu

    Masz racje, bije się w pierś. Czeski błąd, na odwrót wpisałem wartości rezystorów, zamiast 120k powinno być 10k i na odwrót. Jak sobie to zamienisz to masz wzmacniacz odejmujący o wzmocnieniu 12-to krotnym. Odejmujący ze względu na pomijanie w takim układzie rezystancji przewodu w czujnikach z 4 przewodami.

    trymer01 wrote:
    Rozumiem, że diodę Zenera wstawiłeś bo obawiasz się przekroczenia 3,3V na we. przetwornika? - używając MCP zasil go Uzas=3,5V i nie potrzeba diody Zenera, która przy 3-3,3V może już "podbierać" prąd co da spadek napięcia na szeregowym oporniku i błędy Uwy.

    Bardzo pomocna rada, dziękuje.

    Mkrasuski wrote:
    Kolega trymer01 dobrze Ci radzi, a do tego wykonaj kilka prościutkich obliczeń

    Nigdy nie negowałem rad dawanych przez kolegę trymer01, po prostu rozmowa niepotrzebnie zbacza na inne tory. Niestety nie miałem czasu, żeby dokładnie policzyć wszystko. Obiecuje, że jutro się tym zajmę. Po za tym dziękuję za tak obszerne i pomocne wytłumaczenie zagadnienia Zwłaszcza cenne są dla mnie rady od strony praktycznej.

    Thaddy
    Znam te układy. Chciałem zrobić to taniej ze względu na konieczność podpięcia 8 czujników ale może się okazać, że ostatecznie bardziej opłaci mi się skorzystać z gotowców ;)

    Mkrasuski
    Dzięki, na pewno się przyda ;)
  • Helpful post
    #11
    Mkrasuski
    Level 20  
    floop93 wrote:
    Thaddy
    Znam te układy. Chciałem zrobić to taniej ze względu na konieczność podpięcia 8 czujników ale może się okazać, że ostatecznie bardziej opłaci mi się skorzystać z gotowców


    INA333 kosztuje trochę więc będzie trudno pogodzić i tanio i dokładnie budując 8 pojedynczych kanałów.

    Ze swej strony chciałbym zasugerować by użyć zewnętrzny przetwornik ADS124S08: przetwornik sigma-delta 4ksps, 24-bity z dwoma źródłami prądowymi, wzmacniaczem PGA i 12-kanałowym rozbudowanym multiplekserem na wejściu.
    Ponieważ każde z dwóch wbudowanych źródeł prądowych można tu przypisać do dowolnego kanału to 12 kanałów może obsłużyć:
    - cztery czujniki RTD 4-przewodowe
    - trzy tańsze czujniki RTD 3-przewodowe
    Przetwornik nie należy do najtańszych, kosztuje ok 60zł np. w Farnell, ale 8x (INA333 + Iref + Rref) będzie jeszcze droższe - niestety dokładność zawsze kosztuje
  • #12
    floop93
    Level 11  
    Po chwili spędzonej przy obliczeniach, zakładając:
    - Układ po taniości, mniej więcej taki jak ostatnia wersja w moim poście (1 kanał wyniósłby ok 10 pln) (wzmacniacz MCP6022, źródło MCP1525, rezystory 0,1% 25ppm/°C)
    - Kalibracje końcową i wykorzystanie tablic z wartościami rezystancji od temperatur
    Wyszła mi dokładność rzędu ΔT=±2,2°C (±9,6 mV na ADC). Głównie wynikająca z dryftu temperatury na wszystkich elementach oraz napięcia niezrównoważenia wejść wzmacniaczy. Nie uwzględniałem samego odczytu ADC, zakłóceń czy rezystancji przewodów RTD. Bezpieczniej było by przyjąć T zmierzone na poziomie ±5°C względem rzeczywistej. Dokładając Rref i odejmowanie na wzmacniaczu można by zredukować nieco błędy wynikające z dryftu prądu ale i tak największy błąd dalej wynika ze wzmacniacza więc dużo to nie poprawi. Sam INA333 to koszt rzędu 23 pln za 1 kanał więc układ traci już zupełnie sens. Ewentualnie znalazłem MCP6V31 kóry teoretycznie powinien być znacznie lepszy od MPC a cena podobna (ma 4 kanały).

    Stosując ADS124S08 i interfejs 2-przewodowy można osiągnąć większą dokładność za ok 15-20 pln na kanał (o ile się nie mylę?)

    Podsumowując. ADS124S08 jak na razie to najlepszy kompromis cena/dokładność ale tracę możliwość korzystania z PT100 3 i 4 przewodowych. Względnie muszę poszukać wzmacniacza o lepszych parametrach ale w podobnej cenie co może okazać się niemożliwym.
  • #13
    Mkrasuski
    Level 20  
    floop93 wrote:
    Stosując ADS124S08 i interfejs 2-przewodowy można osiągnąć większą dokładność za ok 15-20 pln na kanał (o ile się nie mylę?)

    floop93 wrote:
    ... tracę możliwość korzystania z PT100 3 i 4 przewodowych


    Dlaczego tylko 2-przewodowy?
    Przecież ADC MUX jest konfigurowalny i wystarczy kilka dodatkowych ścieżek i zworek lub DIP switch oraz zmiana w oprogramowaniu

    wzmacniacz PT100 do zakresu 3.3V

    I chyba czas aby kol. ujawnił czy projekt to jest hobby/zaliczenie czy komercyjny z już ustaloną ceną... za niską oczywiście :-)
    Bo jeśli to pierwsze, to na AliExpress:
    INA333 jest za ~1$/szt
    ADS1248 (podobny do ADS124S08 ale tylko 8 kanałów) jest za ~2$ (przy zakupie 5szt)
  • #14
    floop93
    Level 11  
    Mkrasuski
    Trochę hobby trochę projekt komercyjny. Pracuje w stosunkowo małej firmie produkcyjnej i tworzę w niej coś na kształt "jednoosobowego działu utrzymania ruchu" ;) Parę miesięcy temu szef zamówił pięć do proszkowego malowania ale tak się stało, że ostatecznie musimy robić go sami... Konstrukcja już prawie jest więc pora na sterowanie. Muszę przedstawić szefowi jakie mamy możliwości. Jedna opcja zakłada wykorzystanie PLC a druga własny projekt na uC. Tak więc mam okazję w czasie pracy na odrobinę kreatywności i staram się tak dopracować całość, żeby po doliczeniu czasu mojej pracy nadal się to opłacało ;) Stąd ta optymalizacja... No i chce zamówić gotowe PCB więc nie mam za dużo czasu na prototypowanie a do tej pory zagadnienia związane z pomiarem temperatury traktowałem po macoszemu...

    Dzięki za ostatnie schematy, myślę, że nie ma co za bardzo kombinować i od razu zamówię ADS1248 albo ADS124S08
  • #15
    floop93
    Level 11  
    W końcu udało mi się przerobić schematy, mam kilka wątpliwości:
    1. Czy dalej ciągnąć to tym wątku? koncepcja w zasadzie nie ma już nic wspólnego z tematem. Jak nie to przepraszam i oczywiście wprowadzę niezbędne zmiany.
    2. Jakie są użyteczne zasięgi stosowania PT100? Tzn. ile metrów przewodu stosuje się w praktyce dla pojedynczego czujnika? (podejrzewam, że odpowiedź nie jest do końca prosta i zależy od bardzo wielu czynników, ale zakładam użycie czujników 4- przewodowych i odległości od czujnika do przetwornika maksymalnie 15 m. Wydaje mi się, że może to znacznie utrudnić mi życie)
    3. Jeśli odległości są za duże dla czujników to chciałem przetworniki dać jak najbliżej czujników ale to wiąże się z przesyłaniem danych po SPI na dystansie ok 10 m. Z tego co wiem to nie ma szans na taki manewr. Pytanie jak można sobie z tym poradzić? repeater? Czy może układ który wyśle dane po RS485?
    4. Poprawność schematów. Może komuś rzucą się w oczy błędy to będę wdzięczny za ich wypunktowanie. Zakładam użycie (nie wiem czy słusznie) regulatorów napięcia liniowych w celu redukcji zakłóceń.

    Poniżej nowe schematy połączeń:
    wzmacniacz PT100 do zakresu 3.3V
    wzmacniacz PT100 do zakresu 3.3V

    Pierwszy schemat obejmuje blok z ADS124S08 (4 kanały) drugi połączenia tych 2 układów razem i do uC.
  • #16
    Mkrasuski
    Level 20  
    Ad.2
    W mojej praktyce nie napotkałem problemów z czujnikami łączonymi z modułem pomiarowym PLC przewodami o długości do ok. 30mb:
    - czujniki PT100 klasy A w wykonaniu głowicowym
    - konfiguracja trój-przewodowa, wykonane przewodem ekranowanym H05VVC4V5-K 4G0.75,
    - osiągnięta dokładność rzędu 0,4°C w zakresie 50-110°C - weryfikowane kalibrowanym termometrem laboratoryjnym, ale tylko w prototypie
    UWAGA: w Twoim przypadku może być potrzebny inny przewód dostosowany do wyższej temperatury np. w izolacji silikonowej lub mineralnej

    Ad.3
    Jeżeli upierasz się przy wyniesieniu układu przetwornika w pobliże czujnika, to są dostępne ADS112U04 i ADS122U04 z wyjściem w standardzie UART ale nie zastanawiałem się jak rozwiązać 'flow control' przy przejściu na RS485 dla nadawania i odczytu.
    Dodatkowo pojawia się problem zasilania i ew. izolacji wyniesionego układu (tutaj może pomóc np. ADM2587, stosowaliśmy go z powodzeniem)
    Odrębną kwestią jest ew. wpływ temperatury otoczenia na działanie takiego wyniesionego przetwornika. Jeżeli umieści się taki przetwornik w głowicy czujnika to trzeba przyjąć, że jego temperatura pracy osiągnie 70-80°C ze wszystkimi tego konsekwencjami
    Moim zdaniem, jeżeli problemem jest odległość, to alternatywą byłoby skorzystanie z gotowych czujników PT100 z przetwornikiem 4-20mA w głowicy.

    Ad.4
    Czy przeprowadziłeś analizę pod kątem wzmocnienia PGA, zakresu napięć wejściowych i 'common voltages'?
    Zobacz '9.3.2.1 PGA Input-Voltage Requirements' w karcie katalogowej
    Być może potrzebna będzie korekcja wartości IDAC, PGA i Rref lub nawet przejście zasilanie symetryczne - nie zastanawiałem się ale sam przegapiłem to kiedyś w innym projekcie. Jak znajdę dziś czas to przyjrzę się temu uważniej i jeszcze napiszę.
  • #17
    floop93
    Level 11  
    2. Brakuje mi praktyki w tym temacie więc dziękuję bardzo za podpowiedzi. Myślałem o zakupie PT100 z krótkimi przewodami o podwyższonej temperaturze pracy (nawet 2 przewodowe) i łączenie ich z przewodami ekranowanymi (takimi jak wspomniane H05VVC4V5-K 4G0,75).
    3. Skoro w praktyce odległości na poziomie 15 m nie stanowią bariery nie do przejścia, odpuszczę sobie migracje przetworników poza skrzynkę sterowniczą. Chyba więcej zachodu niż przyniesie to zysków. Dodatkowo PT100 z przetwornikami są też stosunkowo drogie.
    4. Przeliczałem i dla Gain na poziomie 8, Idac = 1mA, Rref = 2k, napięcia dla zakresu nawet 0-300 st. C nadal spełniają warunki. Co prawda przy 300 mam już niewielki zapas ale zakładam największe temperatury do 220. Chyba, że coś mylę. Nie do końca rozumiem jakie korzyści w tej aplikacji dałoby mi zasilanie symetryczne .(?)
  • #18
    Mkrasuski
    Level 20  
    Ad.4
    Obecnie, dla wartości:
    IDAC = 1mA,
    Rref = 2kΩ,
    GAIN=8,
    oraz RTDmax = 214Ω (trochę powyżej 300°C),
    wzmacniacz PGA pracuje w swoim liniowym zakresie.
    Jednocześnie napięcie na wejściach różnicowych będzie zmieniać się w zakresie 2,...2,214V czyli napięcie różnicowe Udiff = ±107mV. a Vcm = 2,107V
    Ponieważ FSR przetwornika to FSR = ±VREF / GAIN czyli ±250mV więc ponad połowa zakresu kodów wyjściowych przetwornika pozostanie niewykorzystana, a dodatkowo typowe wartości pomiarów wyniosą powiedzmy 107Ω ... 214Ω więc zakres kodów ograniczy się jeszcze dwukrotnie i to jeszcze większa strata na precyzji.

    Tak na szybko to mam przeczucie, że można inaczej dobrać GAIN, Rref i IDAC aby lepiej wykorzystać zakres przetwarzania przetwornika ale potrzebuję czasu aby to do końca przemyśleć i spróbować policzyć. Mogę się mylić.
  • #19
    floop93
    Level 11  
    Wstępnie dobierałem te wartości w celu uzyskania jak największej rozdzielczości ale miałem jeden problem. Udif na wejściu ma zakres zawsze powiększony o wartość RTD w zerze (Udif skacze od 0,1 do 0,214V a FSR=0,25V) i teraz zmniejszając Rref, Udif zawsze musi zawierać się w FSR. Stąd nawet jak bym Rref zmniejszył do 1,75k (co dałoby mi ok 97% Udif/FSR) to i tak użyteczna dalej jest tylko połowa zakresu pomiarowego ADC. Rozwiązaniem może być obcięcie tego zakresu (rezystancji RTD w 0°C) prostym mostkiem Wheatstone’a. To z kolei wiąże się ze zwiększeniem wzmocnienia (mostek spowoduje spadek Udif do poziomu 50Om przy rezystorach 1k). Można też obciąć to kolejnym wzmacniaczem ale wprowadzamy dodatkowy błąd i moim zdaniem w takim wypadku stosowanie układu ADS traci sens. Tyle udało mi się wywnioskować, nie wiem czy słusznie.

    Natomiast biorąc pod uwagę rozdzielczość przetwornika (do obliczeń przyjmowałem 24bity ale nie mam pewności ile tak naprawdę użytecznej rozdzielczości uzyskam) mam w mojej konfiguracji wartość odczytaną na poziomie 47871/°C.

    Ciekawi mnie jeszcze kwestia zasilania symetrycznego i jak mogłoby to pomóc mi w tej aplikacji bo niestety nie potrafię tego dostrzec a jestem naprawdę ciekaw korzyści jakie to ze sobą niesie ;)

    Dziękuje za rady ;) załączam excela z moimi obliczeniami
  • #21
    floop93
    Level 11  
    No to super ;) Biorę się za PCB i resztę układów. Wprowadziłem poprawki, w oparciu o datasheet oraz podpowiedzi (Rbias, dodatkowe rezystory na komunikacji cyfrowej no i oddzieliłem masy analogową od cyfrowej przy samym układzie)

    Dziękuje bardzo za pomoc :) Wrzucam jeszcze schematy ostateczne w formacie pdf. Jak wykonam całość postaram się opisać efekty.
  • #22
    Mkrasuski
    Level 20  
    Ostatnia uwaga:
    floop93 wrote:
    Natomiast biorąc pod uwagę rozdzielczość przetwornika (do obliczeń przyjmowałem 24bity ale nie mam pewności ile tak naprawdę użytecznej rozdzielczości uzyskam) mam w mojej konfiguracji wartość odczytaną na poziomie 47871/°C.


    Nie więcej niż 23 bity - połowa kodów przetwornika obejmuje sytuację gdy Vindiff < 0 to znaczy gdy Vinn>Vinp
    To dlatego zakres przetwornika definiowany jest jako przedział FSR = ± Vref/GAIN a kody wyjściowe należy traktować jako U2
    W tej aplikacji zawsze Vinp > Vinn więc siłą rzeczy 'dostępnych' kodów jest tylko połowa.

    Powodzenia i pochwal się kiedyś efektami!
  • #23
    floop93
    Level 11  
    Układ zmontowany, działa zgodnie z założeniem (no prawie, nie zaimplementowałem jeszcze tablicy rezystancji PT100 dla poszczególnych temperatur ale może niebawem znajdę czas)
    wzmacniacz PT100 do zakresu 3.3V
    Nie obyło się bez pomyłek... pomyliłem raster obudowy układu ADS co skutkowało mozolnym lutowaniem "pajączka". Na szczęście działa wszystko ok. Pomiar odbywa się w trybie "singleshot" żeby mieć większą kontrole nad sekwencją (nie muszę mieć dużego próbkowania) Oczywiście po za pomiarem temperatury jest jeszcze reszta "pieca", czyli wejścia i wyjścia cyfrowe oraz płytka spinająca to wszystko z STM nucleo 144
    wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V
    A tak wygląda całość:
    wzmacniacz PT100 do zakresu 3.3V
    wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V
    Po zamontowaniu z elementami automatyki w obudowie:
    wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V
    wzmacniacz PT100 do zakresu 3.3V
    No i finalny montaż na piecu:
    wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V wzmacniacz PT100 do zakresu 3.3V

    Nie rozpisuję się za bardzo o całosći bo temat stricte dotyczy pomiaru temperatury ;)
  • #24
    floop93
    Level 11  
    Zapomniałem napisać podsumowanie. Dzięki cennym radom forumowiczów, początkowa koncepcja szybko się zmieniła i ostatecznie pomiar realizowany jest na dedykowanych układach co pozwoliło na zaoszczędzenie czasu i pieniędzy. W ostatecznej formie układ działa zgodnie z założeniami. Dziękuje bardzo wszystkim za pomoc, w szczególności koledze Mkrasuski. Temat zamykam.