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.

Precyzyjny termometr ( lekarski )

robball 25 Sep 2008 20:46 14450 24
IGE-XAO
  • Precyzyjny termometr ( lekarski )


    Chciałbym przedstawić na forum układ elektroniczny, który wykonaliśmy razem z kolegą mnemesem jako projekt na uczelnię z przedmiotu Elektronika Biomedyczna.

    Układ pełni funkcję termometru lekarskiego, czyli w założeniu ma mierzyć temperaturę ciała z rozdzielczością i dokładnością nie gorszą niż 0,1 stopnia C. Oczywiście zakres działania układu jest dużo szerszy, prawie od zera do ponad 100 stopni.

    Jako czujnik pomiarowy zastosowaliśmy popularny układ LM35. Sygnał napięciowy z niego trafia na przetwornik AC typu ICL7135. Układ ten w zamierzeniach konstruktorów przystosowany jest jest do sterowania wyświetlacza LED 4.5 cyfry, jednak pewne sprytne rozwiązania układowe opisane w nocie aplikacyjnej pozwalają na bardzo proste przechwycenie wyniku pomiaru przy użyciu zaledwie dwóch linii danych. Przechwytywaniem tych danych, sterowaniem wyświetlaczem i wyłącznikiem zasilania zajmuje się mikrokontroler 89C2051. Program sterujący został napisany w języku Bascom, dzięki czemu powstał w mniej więcej jeden dzień :). Z ciekawszych rozwiązań zastosowanych w projekcie chciałbym wymienić układ wyłącznika zasilania. Całe urządzenie włączamy jednym przyciskiem, co powoduje załączenie klucza sterującego zasilaniem, uruchomienie mikrokontrolera, który następnie sam załącza klucz, zapewniając pracę po puszczeniu przycisku. W momencie zakończenia pomiaru mikrokontroler wyłącza klucz, co powoduje odcięcie zasilania od całego układu. Dzięki takim rozwiązaniom jak i położeniu nacisku na pobór prądu w czasie pracy, możliwe było zasilenie całości z baterii 6F22. Układ w czasie pomiaru pobiera prąd około 8mA, z czego większość mikrokontroler ( tu jest jeszcze pole do manewru przy użyciu trybów uśpienia), natomiast po wyłączeniu pobór prądu jest praktycznie niemierzalny.

    Tyle jeśli chodzi o rozwiązania układowe.

    Kalibracji całości dokonaliśmy na specjalnym stanowisku laboratoryjnym wyposażonym w podgrzewany, podwójny zbiornik wody, oraz rtęciowy termometr o rozdzielczości 0,1 stopnia.

    Precyzyjny termometr ( lekarski )
    Precyzyjny termometr ( lekarski )
    Precyzyjny termometr ( lekarski )

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    robball
    Level 21  
    Offline 
    Has specialization in: linux
    robball wrote 433 posts with rating 27, helped 32 times. Live in city Mikołów. Been with us since 2004 year.
  • IGE-XAO
  • #2
    Elektricon
    Level 12  
    moglbys dokladniej opisac na jakiej zasadzie dziala układ wyłącznika zasilania ? bo to rzeczywiscie sprytne rozwiazanie ;)
  • IGE-XAO
  • #3
    lechoo
    Level 39  
    Jak na pełnioną funkcję ten układ jest mocno przekombinowany, chociażby rozdzielczość przetwornika a/c wystarczyłaby mniejsza o rząd wielkości. No ale tak to już jest na uczelniach, że się robi czasami bezsensowne projekty...
    Jak sobie radzi LM35 jako czujnik? Nie było problemów z jego liniowością?
  • #4
    robball
    Level 21  
    Na schemacie dołączony w zipie należy spojrzeć na 3 tranzystory w górnym lewym rogu. Tworzą one układ wyłącznika. Kluczem jest T1. Wciśnięcie przycisku PSW powoduje włączenie klucza T1 "na sztywno", uruchomienie mikrokontrolera, który po resecie wystawia jedynkę na wyjściu PSON uruchamiając układ na pozostałych dwóch tranzystorach, zapewniając tym samym przewodzenie tranzystora T1 niezależnie od dalszego stanu przycisku PSW. Po zakończeniu programu mikrokontroler podaje stan niski na wejście PSON, przestaje przewodzić T3, i klucz się wyłącza. Dodatkowo tranzystor T2 również przestaje przewodzić, a włączony w taki sposób uniemożliwia już ponowne uruchomienie wyłącznika przez przypadkowy impuls z mikrokontrolera, w momencie gdy "kończy" mu się zasilanie z kondensatorów.

    Co do przetwornika to wydaje mi się że jest dobrze dobrany, napięcie referencyjne 1,2V zapewnia nam wewnętrzną rozdzielczość na poziomie 0,012 stopnia, dzięki czemu dużo łatwiej skalibrować cały układ. Układ ICL7135 jest też przyjaźniejszy w nietypowych zastosowaniach niż klasyczny ICL7107. W zasadzie można by się pokusić o zwiększenie rozdzielczości na wyświetlaczu o jedną cyfrę ( i żeby tam było 0 lub 5) przy zachowaniu sensowności całego rozwiązania. Sam LM35 okazał się bardzo przyzwoitym czujnikiem. W zakresie temperatur 32-45 stopni ( w takim miała być kalibracja) przetwarzanie danych z przetwornika na wynik odbywa się z użyciem funkcji liniowej. Z ciekawości zmierzyliśmy go jeszcze przy 24 i 50 stopniach, i kształt charakterystyki nadal jest bardzo przyjemny
  • #5
    markovip
    Level 34  
    Witam

    Wyświetlacz 2x16 dla 8 znaków? Wydaje mi się że 4 razy za dużo ;)

    Pozdrawiam
  • #6
    telemah
    Level 27  
    Fajny projekt - zdziałałem podobny termometr + sterowanie przekaźnikiem
    zależnie od temperatury (może niedługo zamieszczę na forum), i pomyśleć że długo nie mogłem się przekonać do uP w połaczeniu z Bascomem są one naprawdę dostępne ! i chyba prostsze niż bardziej rozbudowane układy analogowe - tak mi się bynajmniej wydaje . Na LCD jest fajniej niż na LED bo można coś dopisać do programu i przedstawiać na LCD więcej ró.znych opcji a na ledach ciężko jest wyświetlić wygodnie coś innego niż kilka cyfr.

    Moderated By CMS:

    Ludzie co z wami jest ? Zauważyłem, że co raz częściej użytkownicy stosują "bynajmniej" w sobie tylko znanym znaczeniu, najczęściej zamiast "przynajmniej" ale widziałem też inne ciekawe "odmiany". To jakaś nowa moda ?

    Słownik języka polskiego wrote:
    *
    bynajmniej I «partykuła wzmacniająca przeczenie zawarte w wypowiedzi, np. Nie twierdzę bynajmniej, że jest to jedyne rozwiązanie.»
    *
    bynajmniej II «wykrzyknik będący przeczącą odpowiedzią na pytanie, np. Czy to wszystko? – Bynajmniej.»

  • #7
    Elektricon
    Level 12  
    no tak,ale to musi byc az na 3 tranzystorach ?
    nie moze byc np. tak prosto ?
    Precyzyjny termometr ( lekarski )
    (jestem poczatkujacy ,dlatego sie pytam czy takie cos zda egzamin).
    nie bardzo rozumiem po co jest dodatkowy tranzystor T2
  • #8
    maziu
    Level 18  
    Ciekawe rozwiązanie oceniam 8/10
    Mam jedno pytanie dobrze działa ten LM ? jak sprawdzałem co daje na wyjściu to strasznie się "bujało" napięcie czyli przeliczając na dokładność to dziesiąte stopnia rosły i malały uniemożliwiając pomiar dokładniejszy niż do 0,5 stopnia

    PS.Jak na możliwości LM35 to i tak mało ;] (od -55 do 150) ale rozumiem ze w laboratorium nie dało się na zbiorniku uzyskać ujemnych temperatur co uniemożliwiło kalibrację ?
    Z drugiej strony to poco te wywijasy ? LM35 daje na wyjściu napięcie rzędu mV +10mV na każdy stopień C (0 stopni 0mV 20stopni 200mV 30 stopni 300mV itd.) czyli zamiast jakiegoś tam laboratorium trzeba było wykorzystać zasilacz laboratoryjny podłączyć go zamiast tego LM i kalibrować według zasady powyżej no ale z termometrem rtęciowym na pewno było ciekawiej :)

    Pozdrawiam
  • #9
    markosik20
    Level 33  
    maziu wrote:
    ..... no ale z termometrem rtęciowym na pewno było ciekawiej :)


    Nie tylko ciekawiej ale i prawidłowo. Jeżeli układ ma mierzyć temperaturę to najdokładniej jest porównywać go z..temperaturą. Kalibracja przez zadawanie napiecią (które też jest obarczone błędem) , porównywanie go z fabrycznym sygnałem z LM'a (który wcale nie jest do końca taki jak w pdf'ie) to okrężna droga z sumowaniem błędów wszystkich elementów po kolei.
  • #10
    robball
    Level 21  
    1. Wyłącznik niestety musi być taki skomplikowany :) Dwa tranzystory to minimum, bo mikrokontroler pracuje na napięciu 5V a bateria ma 9V, co już uniemożliwiłoby wyłączenie układu. Trzeci tranzystor - funkcję wytłumaczyłem kilka postów wyżej.

    2. Sam LM daje raczej stabilny sygnał, dodatkowo przechodzi on przez filtr dolnoprzepustowy na elementach R7 C14. Proszę zwrócić uwagę, że nawet napięcie zasilające LM35 jak i sam przetwornik jest dodatkowo filtrowane w układzie R12 C18 C19. Chcieliśmy się w ten sposób zabezpieczyć przed różnego rodzaju niespodziankami typu "coś tam skacze na wyświetlaczu to, nie wiadomo dlaczego".

    3. Jest oczywiste, że kalibracja za pomocą termometru jest niezbędna. To właśnie LM35 jest obarczony największy rozrzutem parametrów, dużo większym niż zastosowane w układzie źródło napięcia wzorcowego ICL8069.
  • #11
    androot
    VIP Meritorious for electroda.pl
    Studenci...
    Nakombinowane jak koń pod górę.
    Jak już uparliście się na LM35 i piszecie to w BASCOMie, to wystarczyło wziąć ATMEGĘ8 i odpadłyby 2 układy scalone. Skoro termometr biomedyczny to zakres kilku stopni. Rozdzielczość przetwornika byłaby wystarczająca. LM35 nie jest i tak zbyt dokładny...
    Zasilanie z baterii 6F22 i stabilizator liniowy to nieporozumienie.
  • #12
    Fsoliebhaber
    Level 17  
    androot wrote:
    Studenci...
    Nakombinowane jak koń pod górę.
    Jak już uparliście się na LM35 i piszecie to w BASCOMie, to wystarczyło wziąć ATMEGĘ8 i odpadłyby 2 układy scalone. Skoro termometr biomedyczny to zakres kilku stopni. Rozdzielczość przetwornika byłaby wystarczająca. LM35 nie jest i tak zbyt dokładny...
    Zasilanie z baterii 6F22 i stabilizator liniowy to nieporozumienie.


    androot projekty uczelniane takie właśnie są. Maja działać, spełniać wymagane funkcje, zadania. Czasem im bardziej skomplikowany i pokrętny tym lepiej. Choć elektronikiem nie jestem tylko mechanikiem (studentem) to ta zasada sprawdza sie i u mnie, w mojej dziedzinie.
    Może konstruktor dostał takie kryteria konstrukcji/budowy a nie inne.
    I zrobił tak jak "promotor" chciał. Stąd to owe "nakombinowanie".

    Wszyscy wiemy androot, że zrobiłbyś to zdecydowanie lepiej. Niemalże palców pstrykiem. W końcu jesteś moderatorem a tutaj niesamowita wiedza i praktyka idzie w parze.

    PS. Jesli post jest bezsensowny i nie wnosi nic nie do tematu, nie pogniewam się jak otrzymam ostrzeżenie!
  • #13
    androot
    VIP Meritorious for electroda.pl
    Bycie moderatorem nie ma nic do rzeczy. Jakbyś chciał to znalazłbyś to co zrobiłem i zamieściłem w DIY. A jak na studiach ktoś uczy się bezkrytycyzmu do tego co robi, to już taki pozostanie po obronie.
    Obroniłem się w czerwcu, ale na szczęście nie z elektroniki. Bo pewnie poznając elektronikę tylko na studiach, tworzyłbym takie rzeczy...
  • #14
    creativ_pl
    Level 21  
    W sumie zgodzę sie z przedmówcami że no troszkę tutaj przekombinowane maksymalnie. W moim pojęciu im prostsze i mniej elementów tym lepsze (mniejsza awaryjność i szybciej można dojść co jest popsute) a szczególnie jeżeli chodzi o termometr lekarski. Był nawet przedstawiany termometr na forum własnej roboty jeden AVR do tego wyświetlacz 2 przyciski i to było chyba tyle mały poręczny i w dodatku mierzył temperaturę wewnątrz i na zewnątrz, a i zapomniałem o 2 czujnikach.

    A co do androot to końcowa wypowiedz się w 100% zgadza ci którzy uczą się elektroniki na własną rękę i są fanatykami robią dużo lepsze projekty niż ci którzy wybrali sie na elektronikę
  • #16
    Alana
    Level 37  
    Zastanawiam sie czy nie lepiej by bylo zrobic uklad pomiaru temperatury calkowicie cyfrowo. Patrzac na schemat to przy zastosowaniu czujnika temperatury Dallas z magistrala 1-wire wylatuja z ukladu 3 scalaki i sporo elementow RC, mysle tez ze uklad z osobnym przetwornikiem nie ma sensu jak i tak masz mikroprocesor. Wiele z nich ma wbudowane A/C a nawet 89c2051 da sie zmusic do realizacji takiej funkcji [wykozystac wewnetrzny komparator analogowy dostepny na p1.0 i p1.1 i zasade dzialania ICL7106/7]. Dodatkowo - co z kalibracja? Przy prototypie i produkcji jednostkowej da sie ale co jak bedziesz chcial zrobic powiedzmy 100 i wiecej sztuk tych termometrow?
  • #17
    dir3ctor
    Level 27  
    O hehe, widze ze koledzy z poli-slaskiej sie dziela swoim projektem :D
    Jak oddam swoj i opracuje dokumentacje to tez sie pochwale :-) Pozdrowienia dla ekipy z roku :]
  • #18
    me_super
    Level 29  
    Alana wrote:
    Zastanawiam sie czy nie lepiej by bylo zrobic uklad pomiaru temperatury calkowicie cyfrowo. Patrzac na schemat to przy zastosowaniu czujnika temperatury Dallas z magistrala 1-wire wylatuja z ukladu 3 scalaki i sporo elementow RC, mysle tez ze uklad z osobnym przetwornikiem nie ma sensu jak i tak masz mikroprocesor.


    Bezsensu. Zaletą w/w rozwiązania jest właśnie kalibracja, dallas ma dokładność 0,5 stopnia a rozdzielczość na poziomie 0,125 stopnia jak pamiętam - dostajesz gotowy wynik trudny do kalibracji. Do tego rozpoczęła sie typowa polska litania narzekań, że to nie dobre a tamto bezsensowne, i cała zgraja zaczyna przechwałki że zrobiłaby znacznie lepiej.
  • #19
    robball
    Level 21  
    Przede wszystkim prosiłbym każdego wypowiadającego się w temacie i jadącego po mnie ile wlezie o dokładne przeczytanie postów wyjaśniających zasadę działania, a przed zaproponowaniem swoich "najlepszych" rozwiązań tego problemu o dogłębne zastanowienie się. Na papierze wszystkie takie "super" rozwiązania działają, gorzej w praktyce. Projekt naprawdę nie powstawał w 5 minut na kolanie na zasadzie " wrzuć coś tam byle zadziałało".
    Teraz odniosę się do kilku zarzutów:
    1. Dlaczego nie Dallas? Ano dlatego, że na dallasie już inni koledzy robili, zresztą podpięcie dallasa do uP nie wymaga wogóle myślenia i ma prawie zerowy wymiar dydaktyczny, typowe PnP, a nie o to chodzi w projektach.
    2. Dlaczego nie ATMEGA, a dokładniej przetwornik z niej? Ano dlatego, że jest to przetwornik 10 bitowy, o znamionowym kroku gdzieś około 2,5mV, czyli już za mało. Można teraz kombinować z przesuwaniem napięcia z przetwornika tak, żeby temperaturze 32-45 stopni odpowiadało napięcie 0-2,5V, tylko należy się zastanowić, jaki wpływ na stabilność będzie miało pływanie napięcia niezrównoważenia wzmacniacza operacyjnego, czy nawet przysłowiowe "chuchnięcie" na rezystory go otaczające, choćby nawet były precyzyjne. Dlatego takie rozwiązanie odrzuciłem na samym początku. Zwróćcie uwagę, że nawet napięcie referencyjne nie jest sprowadzane do standardowego poziomu 1V, by nie psuć jego stabilności dodatkowymi rezystorami.

    3.Co z kalibracją?. Tu problemu nie ma, to nie jest urządzenie do seryjnej produkcji, nie ten rozmiar, nie ten kraj ( tu tylko Chiny), i z całą świadomością tego było projektowane. Gdyby ktoś się bardzo uparł, to mógłby sobie trzymać dane do kalibracji w pamięci i2c zawartej na płytce, a czujniki LM35 mierzyć tylko w dwóch, lub nawet jednym punkcie. Chodzi tylko o ustalenie poziomu "zera", sam czujnik jest bardzo liniowy. Należy zacząć rozróżniać pojęcia dokładność, stabilność, rozdzielczość . To że czujnik robi nas fabrycznie w trąbę choćby o pół stopnia nie ma znaczenia, byle zawsze o tyle samo. Po to jest kalibracja.


    4.Zasilanie bateryjne a stabilizator liniowy. W tym przypadku nie zgodzę się, że to zły pomysł. Sprawność tego układu wynosi około 50%, naprawdę trudno zrobić przetwornicę impulsową, która zapewni taką sprawność przy tak małych przenoszonych mocach ( rzędu 20-40mW) i będzie nie większa niż LM317. Większość łatwo dostępnych sterowników pobiera na własne potrzeby prąd porównywalny z resztą układu.


    Na koniec chciałbym jeszcze nadmienić, że wiedza nabyta na uczelni nie ma tu praktycznie nic do rzeczy, od wielu lat grzebię się amatorsko w elektronice, praktycznie wszystkiego nauczyłem się sam.
  • #20
    lechoo
    Level 39  
    DS18B20 ma rozdzielczość max. 1/16°C (4 bity na część ułamkową), a więc 0,0625°C. Dokładniejszą kalibrację też można przeprowadzić i opisać jakimś wielomianem, a parametry kalibracji przechowywać w pamięci EEPROM.
    Niezłym wyczynem byłoby wykonanie termometru o rozdzielczości 0,01°C i dokładności min. 0,05°C - można spotkać termometry lekarskie o takiej właśnie rozdzielczości. Czasami się przydają, np. w metodzie termicznej ;)
  • #21
    karol12b
    Level 16  
    Mam takie pytanie czy ten termometr będzie działał na wyświetlaczu 1X16:?::?
  • #22
    mskojon
    Level 31  
    Trzeba bardzo leciutko przerobić soft :wink:

    A dokładnie:
    Zamienić linijkę
    Code:
    Config Lcd = 16 * 2

    na
    Code:
    Config Lcd = 16 * 1

    I prawie na końcu usunąć linijkę Lowerline.
  • #23
    mick
    Level 15  
    Ciekawy projekt, ale co do tematu to nie wydaje mi się żeby był to "precyzyjny" termometr, można by nazwać go "dokładny" albo jakoś inaczej. Słowo "precyzyjny" kojarzy mi się z większą dokładnością, ale to może tylko moje zwichrowanie bo skończyłem studia ze specjalnością "metrologia elektryczna" :D

    pozdrawiam
  • #25
    karol12b
    Level 16  
    W nadmiarze wolnego czasu wykonałem ten termometr na wyświetlaczu 1x16 i chodzi bez zarzutu z góry dziękuje za zmodyfikowanie softu ,