Atmega32 i ds18b20 PROBLEM

Mar 08, 2010 7 Replies

Witam



Mam następujący problem z Atmega32 i termometrem DS18b20, mianowicie na nóżce PD.7(poniżej wkleję kod w bascomie) mam cały czas 5V a termometry podłączane do tej nóżki ulegają spaleniu(już spaliłem 3 układy).



Kod obsługi termometru w bascomie:



$regfile = "m32def.dat" $crystal = 1000000 'korzysta z wbudowanego oscylatora Config Portd = output



Config 1wire = Portd.7 Dim Odczyt(2) As Byte



Declare Sub Odcz_temp



Do Call Odcz_temp Loop End



Sub Odcz_temp Wait 5



1wreset
1wwrite &HCC
1wwrite &H44 Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE Waitms 750 Odczyt(1) = 1wread(2)
1wreset If Err = 1 Then Cls 'Lcd "brak ukladu" Portd.5 = 1 Waitms 750 Else Portd.5 = 0 End If Odczyt(1) = Odczyt(1) / 2 End Sub

Do PD.5 podłączona jest dioda LED.



Próbowałem nóżkę PD.7 ustawić jako wejście jednak daje to ten sam efekt. Pomóżcie bo od 2 dni and tym siedzę i nie wiem co robić.


Spróbuj zmieniæ liniê poni¿ej:

Pin dla 1W jest prze³±czany przez procedurê odczytu 1W miêdzy wej¶cie a wyj¶cie je¶li dobrze kojarzê i tego pinu siê nie konfiguruje.

Niestety zmiana kodu na proponowany przez ciebie nie pomogło objawy są takie same jak poprzednio.

Pozdrawiam G.R.

U¿ytkownik snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

Czy to nie ma jakiego¶ wp³ywu ?

OC2 - Port D, Bit 7

OC2, Timer/Counter2 Output Compare Match output: The PD7 pin can serve as an external output

for the Timer/Counter2 Output Compare. The pin has to be configured as an output (DDD7

set (one)) to serve this function. The OC2 pin is also the output pin for the PWM mode timer

function.

Nie wiem jak jest po starcie procka, czy aby ten port nie jest w³±czony jako OC2 ?

Gejzero.

Wcześniej miałem podłączone do PA7 i objawy były takie same.

U¿ytkownik snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

A jak ty to pod³±czasz, bo tam powinien byæ rezystor podci±gaj±cy do VCC...

formatting link
(strona 16)

Nie wiem, czy dotyczy to tak¿e 1-wire, ale np. przy I2C BASCOM nie za³±cza wewnêtrznych rezystorów (str. 12)

U¿ytkownik snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

Nóg w DS nie pomyli³e¶?

A spróbuj zmierzyæ pr±d od masy z tej nogi. Normalnie 1Wire jest podci±gany do zasilania opornikiem 4,7k. Wiec pr±d powinien byæ w okolicach 1mA. Oczywi¶cie jak procek usi³uje co¶ czytaæ to siê zmienia, no i w trakcie pomiaru dla po³±czenia 2-przewodowego powinien pod³±czyæ 5V na sztywno. Je¶li uwali³e¶ czujnik to prawdopodobnie musia³e¶ wys³aæ do czujnika sygna³ odczytu, a potem zwar³e¶ port do zasilania (da³e¶ go jako wyj¶cie). Inaczej siê raczej tego ubiæ nie da, pomijaj±c odwrotne za³o¿enie. Ale mnie siê zdarzy³o odwrotnie zapi±æ czujnik i nic siê nie dzia³o.

Zbyszek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required