4148 jako czujnik temperatury + ADC

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

4148 jako czujnik temperatury + ADC

Post autor: seg » 23 mar 2010, 7:07

W jaki sposób przeliczyć spadek napięcia na złączu diody na stopnie? Mam wynik ADC, mam napięcie, ale nie wiem jak przekształcić to na stopnie Celsjusza. uC to mega8, język Bascom. Wiem, że spadek wynosi ~2.2mV/st. ale co z tym dalej?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 23 mar 2010, 7:36

Dalej to musisz ułożyć równanie opisujące zmianę temperatury. Jeśli jest liniowa to wystarczy prosta funkcja y=ax+b. Policz sobie jakie napięcie otrzymasz dla dwóch różnych temperatur i napisz równanie http://matematyka.pisz.pl/strona/1223.html

Możesz bez przeliczania na napięcie, wystarczą działki ADC. Zmierz ile wskaże przetwornik w dwóch znanych ci temperaturach i policz wg. wzoru na prostą.

Im mniejszą różnicę temperatur weźmiesz do przeliczania tym dokładniej opiszesz zmianę temperatury równaniem prostej. Czyli jak zrobisz termometr mierzący w zakresie 0-10st to wynik będzie bliższy prawdzie niż dla 0-30. Podejrzewam jednak że nie zmienia się ona liniowo i jak będziesz chciał szeroki zakres poprawnie mierzyć to wyjdzie ci równanie wyższego rzędu.

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 24 mar 2010, 17:13

A to jak jest rozwiązane? Spadek napięcia na diodzie względem temperatury jest praktycznie liniowy. Należy wziąć pod uwagę temperaturę otoczenia..

Kod: Zaznacz cały

Sub Convert
A = Getadc(0)
N = 173 - 19
M = 170 - 279
'N = 187 - 20
'M = 187 - 274
Mm = N / M
Temperatura_real = A * Mm
V = Mm * 279
'V = Mm * 274
Temperatura_real = Temperatura_real - V
Temperatura_real = Temperatura_real + 19
'Temperatura_real = Temperatura_real + 20
Temperatura = Temperatura_real
End Sub
Źródło: ->klik<-

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 24 mar 2010, 21:58

Tak czy siak będzie trzeba to wykalibrować, więc dlaczego nie zrobić tego od razu? Założyć że temperatura = a*ADC+b a nastepnie dobrać współczynniki a i b doświadczalnie, `b` za pomocą wody z lodem a `a` za pomocą wrzątku.

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 24 mar 2010, 22:36

Woda z lodem ujdzie, ale wrzątek /z kranówą/ to nieporozumienie. Mam termometr w mierniku, więc dam radę. Chodziło mi o same przeliczenia. Matematykę miałem 12l temu stąd pytania. Już wszystko wiem. Dzięki.

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 25 mar 2010, 9:33

Wrzątek to tylko jedna z metod. Jeśli masz dobry termometr to jasne, że lepiej go użyć, ale taki termometr z multimetru też należy darzyć raczej ograniczonym zaufaniem :)

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 25 mar 2010, 18:31

Z Fluke 189 też? ;)

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 25 mar 2010, 18:38

I tak wszystko zależy jaką dokładność będzie miała twoja dioda pomiarowa. Zresztą temperatura to jest generalnie trudna do pomiaru bo w każdym punkcie ośrodka może być różna. Zależy temperaturę czego chcesz mierzyć i do czego ma ten pomiar być wykorzystywany. Najlepiej mieć termometr o dokładności min. 10 razy większej niż twój układ pomiarowy z dioda.

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 25 mar 2010, 19:27

Fluk ma 0.1'C, więc daje radę. Wiem, że lepiej byłoby zastosować termometr laboratoryjny, ale w tym zastosowaniu to nie mam sensu. Koledzy - to tylko pomiar temperatury wałka i grzałki w laminatorze, więc nie jest potrzebna kosmiczna dokładność :)

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 25 mar 2010, 21:11

seg pisze:Z Fluke 189 też? ;)
Też, bo to dalej multimetr w którym pomiar temperatury jest dodatkiem, a nie porządny termometr. Ale z tego co widzę producent podaje jakąś dokładność (w najlepszym przypadku "± (1.0%+1°C)", cokolwiek to znaczy), ale i na to bym trochę oko przymrużył. 0,1° to ROZDZIELCZOŚĆ a nie dokładność ;)

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 25 mar 2010, 22:53

Masz rację z tą rozdzielczością :oops: - często to mylę.
Do takich pomiarów mimo to wystarczy. Nie musi być szału z dokładnością. +-5st. C byłoby zadowalające. Pomiar robię na ADC(1), a na ADC(0) mam wpięty LM35 do pomiaru temperatury otoczenia w celu uwzględnienia jej w działaniach. Póki co tyle.. może jutro podczepię diodę-czujnik do profilu grzałki w laminatorze, bo dziś mam lenia po 12h pracy ;)

ODPOWIEDZ