logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Kalibracja odczytu temperatury PT100 z atmega - różnice napięć

SebastianTyb 14 Kwi 2016 10:03 3126 23
  • #1 15602186
    SebastianTyb
    Poziom 9  
    Witam
    Mam problem co mam dalej zrobić
    użyłem tego schematu: Kalibracja odczytu temperatury PT100 z atmega - różnice napięć

    Rezystory dałem 1%, wyplułem na wyświetlacz wartość napięcia porównując do miernika. Muszę odczytać temp. od 0 - 50 stopni. Przy rezystorze 100 om powinienem mieć 0V, a wskazuje mi 0,15 V. W temp. pokojowej wskazuję mi 0.56V a na mierniku 0.60V, Podgrzewając w górę do 4V mam różnice tylko do 0.04V. Później ta różnica się zwiększa przy końcu na mierniku wskazuje mi 5,10V a na wyświetlaczu 4.85V więcej nie chce pokazać, można to jakoś skalibrować???

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #2 15602280
    Konto nie istnieje
    Konto nie istnieje  
  • #3 15602310
    SebastianTyb
    Poziom 9  
    Miałem taką wartość tylko sprawdzałem inną, najbliżej zbliżoną do wskazania miernika to 0.0050. Przy podgrzaniu wart. wskazana max. 5.05, a na mierniku 5.10... tylko przy 100om powinienem mieć 0V a mam 0.15 w miarę podgrzewania tem. pt100 oba wskazania się jakoś pokrywają.....
  • #4 15602393
    arturt134
    Poziom 27  
    Czy twój układ pomiarowy jest skalibrowany? Oczywiście że nie.

    Twój wynik powinien być obliczany w ten sposób:
    u[v] = a * wbin_adc + b
    gdzie a i b powinny być wyznaczone w procedurze kalibracji.

    Dołącz do wejścia ADC jakieś napięcie (może być zasilające przez potencjometr) i woltomierz. Odczytaj wartość napięcia i porównaj z tą zmierzoną woltomierzem. Mając zmierzone dwa punkty (jeden blisko zera, drugi blisko góry zakresu) wyznacz współczynniki a i b i używaj ich do obliczania wartości zmierzonego napięcia.
  • #5 15602457
    SebastianTyb
    Poziom 9  
    podłączyłem potenc. 10K pod adc...
    wartość minim. na wyś to 0.05V na mierniku 0.06V, wart. max na wyśw. to 4.85V na mierniku to 4.91V
  • #6 15602562
    arturt134
    Poziom 27  
    Czyli już widać różnicę. Jeżeli skalibrujesz wejście napięciowe, to trochę to pomoże.
    Teraz kolejna sprawa - wzmacniacze operacyjne mają napięcie niezrównoważenia, a rezystory mają tolerancję. Jeżeli pętlą kalibracji obejmiesz także wzmacniacz operacyjny znajdujący się najbliżej ADC, to jego wpływ też skompensujesz. Pozostanie Ci tylko błąd wprowadzany przez przez pierwszy wzmacniacz. W takim układzie nie wiem jak to sensownie zrobić przy pomocy małych nakładów pracy i kosztów. Ale PT100 z reguły pracuje w nieco innym układzie - jest zasilany stałym prądem ze źródła prądowego (np. 1mA) i jest mierzone napięcie na nim. w ten sposób, jeżeli będziesz miał skalibrowane wejście napięciowe, a prąd płynący przez PT100 zmierzysz z odpowiednią dokładnością zewnętrznym amperomierzem, to bez wysiłku uzyskasz o wiele większą dokładność niż obecnie.
    Jeżeli dodatkowo podłączysz PT100 przy pomocy 4 przewodów (2 zasilające i 2 pomiarowe), to wyeliminujesz wpływ długości przewodów na wskazanie.

    Mam nadzieję, że wiesz już jak zbudować dokładny układ pomiarowy. Schematu Ci nie narysuję, bo po pierwsze można coś takiego łatwo znaleźć w internecie, a po drugie, chodzi o to żebyś włożył do swojego projektu własną myśl techniczną.

    Pozdrawiam i życzę powodzenia.
  • #7 15604401
    SebastianTyb
    Poziom 9  
    PT100 tylko 2-przewodowe, przewody będą koło 25cm. Poczytałem sobie że lepiej pt100 4 przewodowe, ale mam tylko 2 takie i jeden pt1000. Sporo i tak kasy wyłożyłem na wszystko. I tak na razie muszę zrobić normalne zasilanie do czujników bo biorę z zasilacza komput. i trochę mi zakłócenia się we walają. Na schemaciku co dałem powyżej wyznaczyłem sobie 4 pomiary dwa z temp. jedna 0 stopni, a druga para z czajnika 99 stopni ( sprawdzałem za pomocą termometru rtęciowego pożyczyłem od teścia :-) ). Dwa kolejne pomiary to wartości przy tych temp. wyplute od razu wartości z przetwornika. Wzór użyłem z równania na prostą. y = ax+b , y to jest moja wartość stopni C, a i b obliczyłem (są to moje stałe wartości) a x jest to wartość z przetwornika którą z czytałem.
    Zastanawiam się jak można to inaczej zrobić bo jestem jak na razie zielony...
  • #8 15611406
    arturt134
    Poziom 27  
    Kalibracja temperatury to jeszcze lepsza metoda, tylko dużo trudniejsza - trzeba mieć możliwość zadania dokładnej temperatury. Ale jak widzę poradziłeś sobie...
  • #9 15611417
    zdzichra
    Poziom 32  
    Jak uzyskałeś 0°C?
  • #10 15611429
    arturt134
    Poziom 27  
    Mieszanina wody i lodu ma 0°C.
  • Pomocny post
    #11 15611536
    Konto nie istnieje
    Konto nie istnieje  
  • #12 15612221
    SebastianTyb
    Poziom 9  
    Dzisiaj sprawdzę i dam znać co i jak.....

    Dodano po 5 [godziny] 46 [minuty]:

    Witam
    Wpisałem kod w program i to ma coś takiego być.... działa, temp. nie skacze... na razie jest zrobiony na płytce stykowej i zasilanie biorę z zasilacza komp. a tak to ma być na płytce finalnie i temp. sprawdzona w komorze temperaturowej (mam dojście :-))) jeszcze raz wyniki porobione.. póki co to tak wygląda
    Kalibracja odczytu temperatury PT100 z atmega - różnice napięć

    a kod na pt100 tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #13 15613349
    PiotrPitucha
    Poziom 34  
    Witam
    Bawiłem się kiedyś PT100, ale na układach specjalizowanych i obrabiałem prąd wyjściowy w pętli.
    Dziwię się że się dziwisz wynikom :)
    Piszesz o rezystorach 1%, ja dawałem 0,01%, zobacz na charakterystykach PT100 przy jakiej temperaturze PT100 ma 101Ω.
    Druga sprawa to wzmacniacz, prosty i popularny, ale jak zobaczysz w parametrach offset i dryfty temperaturowe to się trochę zdziwisz, w przyjaznych cenach kupisz coś z 10 razy lepszymi parametrami.
    O tym że każdy opornik jest termistorem :) ze współczynnikiem proporcjonalnym do tolerancji możesz się przekonać dmuchając suszarką na rezystory w działąjącym układzie.
    PT100 nie ma liniowej charakterystyki, ADC z Atmegi też :)
    Tak na dobrą sprawę każdy taki układ wypadałoby kalibrować osobno i albo godzimy się z tym że mierzymy z małą dokładnością albo zmieniamy koncepcję :)
  • #14 15613460
    SebastianTyb
    Poziom 9  
    I tak cudem dorwałem 1%, ciężko mi dorwać o.5% lub mniejsze. Temperaturę będę tylko mierzył od 0 do 50.
  • #16 15613742
    SebastianTyb
    Poziom 9  
    Inżynierka mi się kłania i nauka Bascom :-)))

    Odczytuję już: LM35DX, KTY-81-210, termoparę typu-K i 3x DS18B20 i 1x DS 1820 po jednej linii. Potrzebuję jeszcze PT100 do odczytu i drugie PT100 do wysterowania peltierem od 0 do 50 stopni, no i jakieś sensowne menu do którego próbowałem podejść lecz z fiaskiem coś mi nie wychodziło. Ale to po kolei :-))))
  • #17 15615767
    tos18
    Poziom 42  
    To może jeszcze dołożysz do kolekcji MCP980x - gada po I2C

    SebastianTyb napisał:

    I tak cudem dorwałem 1%, ciężko mi dorwać o.5% lub mniejsze


    Myślę że z tym nie ma problemu
    http://www.tme.eu/pl/katalog/#id_category=113497&page=1&s_field=artykul&s_order=ASC
  • #18 15615847
    SebastianTyb
    Poziom 9  
    Kolekcja już się skończyła... wymogi promotora :-)
    A o smd widziałem tylko już mam pod przewlekane przygotowane, a kolejne zamówienia, zobaczę jeszcze jak to będzie działało jak do komory włożę czujnik i porównam z zadaną temp., jak coś to będę zmieniał....
  • #19 15634236
    SebastianTyb
    Poziom 9  
    A mam pytanie, układ który zmontowałem działa od 0 stopni,,, a bym potrzebował odczytywać od -20 stopni, jakaś podpowiedź.?
  • Pomocny post
    #20 15638087
    Konto nie istnieje
    Poziom 1  
  • #21 15638088
    arturt134
    Poziom 27  
    Zamiast potencjometru lepiej jest dać kombinację rezystorów (połączonych szeregowo lub równolegle) - będzie o wiele mniejszy współczynnik temperaturowy niż potencjometru.
  • #22 15639017
    SebastianTyb
    Poziom 9  
    Dobrze sprawdzę to, myślałem żeby zamiast zasilania +12V i GND dać symetryczne +12V i -12V na LM358.

    Dodano po 4 [minuty]:

    No i dzisiaj dostałem program który musiałem zamówić bo przekroczyłem wersje demo.
  • #23 15639038
    piotrva
    VIP Zasłużony dla elektroda
    Mogłeś pomyśleć o przerzuceniu się na C - do tego języka dostępne są w pełni darmowe i nie posiadające ograniczeń środowiska programistyczne.
REKLAMA