ATmega8 and KTY-81

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Woofe
Příspěvky: 120
Registrován: 31 bře 2005, 00:00
Bydliště: Czech Republic

ATmega8 and KTY-81

#1 Příspěvek od Woofe »

Kutím regulaci a chtěl bych použít KTY 81-220 přímo na ADC ATmegy.
Zapojení takto:
AVCC 5V
|
|
R
R R=2,7K 1% pro KTY81-110(1000 Ohm)
R nebo R=5,4K 1% pro KTY-210(2000 ohm)
|
ADCIN---
|
|
K
T
Y
8
1
|
AGND

Jde mi o to že přes Getadc načtu hodnotu (0-2,6V = 0-1023). Ví někdo co dál s tou hodnotou, jak jí převest na teplotu? .... četl jsem na DE forech ale germanštinou dokonale nevládnu tak z toho moc moudrej nejsem. Dělám v Bascomu, zkuste mě alespoň nakopnout...převážně to pomůže :) Díky
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#2 Příspěvek od nekmil »

Asi si budeš muset vyrobit nějakou tabulku na převod odporu na teplotu.
Nevím jaký potřebuješ teplotní rozsah.
Nebo zkusit takový LM35(není zrovna levný), LM335...
jen pro inspiraci - http://www.avrprojects.net/articles.php?lng=en&pg=62

jen jsem si tak trochu hrál:


'-------------------------------------------------------------------
'
' TEPLOMĚR S LM335 -40°C - 100°C
'
' LM335 měří teplotu ve stupních Kelvina
' je proto třeba provést konverzi na stupně Celsia
'
' zapojení viz katalogový list
'-------------------------------------------------------------------
'-------------------------------------------------------------------
' Základní nastavení pro zkušební desku MEGA 8535
' (c) nekmil@cbox.cz
'
'-------------------------------------------------------------------
$regfile = "M8535.DAT"
$crystal = 60000000
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 19200

'$sim 'pouze pro simulaci pro nahrání do procesoru vypnout(komentářem ')
'-------------------------------------------------------------------
'připojeni displeje standardně na Port A
'zde připojeno na PORTC protože na PORTA jsou vstupy AD převodníku
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , _
Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0
'Typ Displeje
Config Lcd = 16 * 2
Cls
Cursor Off
'-------------------------------------------------------------------
Dim Temp As String * 4
Dim K As Single , W As Word , V As Single

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC
K = 0.004882 'K=Reference/1024

Start Adc
Locate 1 , 2
Lcd "TEPLOMER LM335"

'zde budeme měřit napětí na senzoru
Do
W = Getadc(0) 'W obsahuje hodnotu po převodu, ADC(0)<-> PA.0
V = K * W 'vynásobíme konstantou
V = V - 2.7315 'zde převedeme Kelvin na Celsius
V = V * 100
Temp = Fusing(v , "#.#") 'zaokrouhlíme na 1 desetinné místo
Locate 2 , 5
Lcd Temp ; " " ; Chr(&Hdf) ; "C" ' zobrazení vypadá asi takto "25,6 °C"
Loop
End 'end program
Naposledy upravil(a) nekmil dne 30 led 2008, 18:37, celkem upraveno 1 x.
Uživatelský avatar
tandel
Příspěvky: 1488
Registrován: 01 led 2008, 00:00

#3 Příspěvek od tandel »

Já bych se tomu KTY81 kvůli nelinearitě raději vyhnul. Dobrá zkušenost je s LM35, má vyhovující linearitu a použití je v podstatě bez problémů. Bohužel, cena tak 70 až 300 Kč dle typu.
Uživatelský avatar
Woofe
Příspěvky: 120
Registrován: 31 bře 2005, 00:00
Bydliště: Czech Republic

#4 Příspěvek od Woofe »

Rozsah mě stačí 0-100°C a ani nekladu důraz na přesnost. Vím že jsou KTY nelineární ale mám jich tu na stole hromádku a vyhodit je nechci.

Tady jsou informace ale není mi to zcela jesné.

http://www.mikrocontroller.net/topic/37976

http://www.mikrocontroller.net/topic/55781

http://www.sprut.de/electronic/temeratur/temp.htm#ptc
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#5 Příspěvek od nekmil »

Tak Ti asi nezbyde než ta tabulka viz ten třetí odkaz.
Uživatelský avatar
Woofe
Příspěvky: 120
Registrován: 31 bře 2005, 00:00
Bydliště: Czech Republic

#6 Příspěvek od Woofe »

no to je sice hezký....ale vůbec mě nenapadá jak to řešit.....nemůžeš mi to nějak objasnit na přikladu?....byl bych moc rád :oops:
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#7 Příspěvek od nekmil »

Připoj čidlo na ADC strč ho do kádinky s olejem k němu dej teploměr, olej zahřívej (nějak) a při dané teplotě si zapiš jaké číslo Ti dává ADC a tak si vytvoříš tabulku např. s odtupňováním 5 stupňů.
Ono to určitě jde i nějakou matematickou metodou ale na to si netroufám.
Uživatelský avatar
Ragnol
Příspěvky: 232
Registrován: 09 lis 2005, 00:00
Kontaktovat uživatele:

#8 Příspěvek od Ragnol »

řešil jsem to matematicky , pokud chceš hodnoty aspoň trochu přesný tak doporučuju změřit v celým rozsahu a pak udělat přes tabulku jak je tu doporučováno. Pokud bys měřil v rozsahu cca 20-30 stupňů tak se dá char. přibližně zlinearizovat a vycházet z ní ale pro rozsah 0-100 je to jednoduchou matematikou nemožný.
Uživatelský avatar
Woofe
Příspěvky: 120
Registrován: 31 bře 2005, 00:00
Bydliště: Czech Republic

#9 Příspěvek od Woofe »

no tak to je zuper.....ještě tu mám dvě SMT 160 ale měřit střídu !?....už takle je ta regulace nacpaná :(
Uživatelský avatar
tandel
Příspěvky: 1488
Registrován: 01 led 2008, 00:00

#10 Příspěvek od tandel »

LM335 měří teplotu ve stupních Kelvina

Jenom nepatrná drobnost, chtělo by opravit - nejsou stupně Kelvina, ale jen Kelviny...

http://cs.wikipedia.org/wiki/Kelvin

I když by se mi ty stupně Kelvina líbily víc.
Uživatelský avatar
Woofe
Příspěvky: 120
Registrován: 31 bře 2005, 00:00
Bydliště: Czech Republic

#11 Příspěvek od Woofe »

tak už to měří ..... zapojil jsem dělič obráceně a nechal procík trochu počítat podle vzorečků http://www.solarskit.wz.cz/ridsys.html :wink: a dokonce v °C
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“