Problem z DS1820 - brak odczytu a wcześniej był

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
Kamil 1
-
Posty: 70
Rejestracja: 01 cze 2007, 15:20

Problem z DS1820 - brak odczytu a wcześniej był

Post autor: Kamil 1 » 16 wrz 2008, 19:47

Witam

Mam dość dziwny problem z DS1820. Jest on podpięty pod Atmega8. Wczoraj wieczorem jeszcze czujnik mierzył mi normalnie temperaturę a dzisiaj brak reakcji :cry: Atmega jest w porządku - inne programy chodzą bez problemu myślałem że może poszedł termometr ale napisałem program który miał odczytać z niego nr. ID i wyświetlał mi go poprawnie czyli reakcja była, a po resztą Err wskazywał 0 czyli zgłaszanie się czujnika odbywało się poprawnie. Zauważyłem że gdy od czujnika odłączę szynę i po chwili ją dołączę to na wyświetlaczu pojawia się 85.0°C i już nie znika.

Proszę o pomoc

alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 16 wrz 2008, 21:58

Heh... Wyszukiwanie bledow w cudzym projekcie na odleglosc jest raczej trudne. Magiczna wartosc 85 st. C to wartosc domyslna, jaka znajduje sie w pamieci termometru po resecie. Wyglada to tak, jakbys nie wykonywal pomiaru. Nie napisales tez czy sprawdzasz CRC czy nie.
Moja diagnoza (ograniczona z wyzej wymienionych powodow) brzmi: masz zle napisana procedure obslugi termometru. Wczesniej albo pracowales gdzies na skraju akceptowalnych parametrow transmisji, albo masz jakies przerwanie, procedure, czy cos, co sprawia, ze czasy sa zle obliczane. Jezeli nie stosujesz rezonatora kwarcowego to tym bardziej jest to prawdopodobne - temperatura zmienia czestotliosc pracy wewnetrznego obwodu RC i wplywa na odstepy czas obliczane przez program.

Kamil 1
-
Posty: 70
Rejestracja: 01 cze 2007, 15:20

Post autor: Kamil 1 » 17 wrz 2008, 16:07

Atmega 8 jest taktowana zewnętrznym rezonatorem 4MHz. Fuse bity są ustawione prawidłowo. Termometr chodził mi dobrze przez 2 dni i jeszcze wieczorem drugiego sprawdzałem odczyt i się zgadzał, a już na następny dzień po włączeniu zasilacza termometr przestał reagować. Poniżej jest program napisany w bascomie którego używam do odczytu temperatury.
Załączniki
DS1820 dokładny.rar
(872 Bajtów) Pobrany 357 razy

ODPOWIEDZ