| Author |
Message
|
szakamason Poziom 13

Joined: 08 Sep 2003 Posts: 118 Location: Boronów
|
#1
13 Mar 2007 11:42 ds1820 do znudzenia,w symulatorze działa, a w atmega32 nie. |
|
|
|
Problem mam następujący, w proteusie ds1820 działa, wyświetla temperaturę w HEX i reauje na zmiany wartości temperatury a gdy podłącze do rzeczywistej atmegi32 zgłasza jedynie że jest, po resecie, a wartości temperatury wynoszą 0xFFFF. Atmega jest na zewnętrznym kwarcu 8Mhz. Czy robi wielką różnicę gdy zamiast rezystora podciągającego 4k7 mam rezystor 4k617 ??
|
|
| Back to top |
|
 |
Google

|
#
13 Mar 2007 11:42 |
|
|
|
|
|
| Back to top |
|
 |
pmmisiek Poziom 15

Joined: 24 Feb 2006 Posts: 208 Location: wrocław
|
#2
13 Mar 2007 13:52 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
Jeśli ustawiłeś 1wire na lini portu C to wyłącz JTAG w fusebitach lub zmień 1wire na inny port.
Pozdrawiam
|
|
| Back to top |
|
 |
szakamason Poziom 13

Joined: 08 Sep 2003 Posts: 118 Location: Boronów
|
#3
13 Mar 2007 17:56 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
Sprawdzałem na portach D i B, i nic, czy jest możliwe że czujnik nie sprawny lub coś z procesorem, już nie mam pomysłów.
|
|
| Back to top |
|
 |
Google

|
#
13 Mar 2007 17:56 |
|
|
|
|
|
| Back to top |
|
 |
redart Poziom 18

Joined: 31 Oct 2004 Posts: 528 Location: Lublin
|
#4
13 Mar 2007 21:10 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
Nawet jak dasz 3,3k to będzie chodzić, tak samo jak i przy 10k. To nie apteka, chodzi tylko o wymuszenie stanu wysokiego na linii. Jeśli korzystasz z zasilania pasożytniczego (Vcc nie podłączone) to 4,7k czy tam 4,6 jest OK.
Co do odczytu, to proponuję sprawdzić, czy ATMega czeka na konwersję tyle czasu co potrzeba. Może nie zadeklarowałeś właściwego kwarcu w programie/ nie przestawiłeś fusów?
Pzdr.
|
|
| Back to top |
|
 |
Booby Poziom 14

Joined: 17 Sep 2006 Posts: 153 Location: Śląsk
|
#5
13 Mar 2007 22:14 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
Spróbuj na czas zapisu/odczytu układu wyłączyć przerwania. Być może jakieś przerwanie wydłuża czas odczytu układu.
|
|
| Back to top |
|
 |
Google

|
#
13 Mar 2007 22:14 |
|
|
|
|
|
| Back to top |
|
 |
szakamason Poziom 13

Joined: 08 Sep 2003 Posts: 118 Location: Boronów
|
#6
13 Mar 2007 22:40 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
Korzystam z biblioteki AVRlib, kwarc ustawiłem na 8MHz w programie, fusy także za zewnętrzny, UART działa na 19200 więc jest to 8 MHz, oprócz tego w symulatorze działa pod 8MHz. Przerwania zablokowałem na całą sekwencję resetu, zapisu, konwersji i odczytu, nadal 0xFFFF. Procesor sprawny bo sprawdzałem drugą atmegę32 od znajomego, już myślałem że coś z RAM'em atmegi, ale O.K. Zostaje chyba zakup czujnika i wypróbowanie innego.
|
|
| Back to top |
|
 |
szakamason Poziom 13

Joined: 08 Sep 2003 Posts: 118 Location: Boronów
|
#7
18 Mar 2007 15:28 Re: ds1820 do znudzenia,w symulatorze działa, a w atmega32 n |
|
|
|
wreszcie odpaliłem mojego ds, w symulatorku działał zawsze ok, a w realu nie, przypomniałem sobie że w książce "uK AVR w praktyce" był kod źródłowy dla pastylki dallasa, i było to właśnie na 8MHz, tak więc skopiowałem bezczelnie funkcję opóźnienia w [us], wkleiłem do swojego programu i zaczęło działać, wyświetla cały zakres temperatur od -55 do 128oC. Wniosek, symulacja ds18"x"20 w proteusie przebiegała poprawnie dla teoretycznych-idealnych czasów ds'a, czasy te mierzone na wirtualnym analizatorze stanów logicznych były takie,jakie powinny wynikać z zastosowanej funkcji opóźnienia dla uK. W rzeczywistości jednak czasy odpowiedzi ds'a widocznie różniły się nieznacznie od katalogowych na tyle, by uniemożliwić poprawny odczyt z ds'a.
|
|
| Back to top |
|
 |