R.R.R.
Guest
Tue Sep 11, 2007 1:06 pm
Witam!
Wykonałem płytkę z Atmegą16, kwarc 12MHz, lcd, ds18b20, kilka
kondensatorów, ledów i przycisków na pokładzie. Taka sobie płytka
testowa do małych projektów uC. Skorzystałem z wątków umieszczonych na
forum.elektroda.pl oraz mikrokontrolery.net i udało się odczytać
temperaurę z ds-a. Wszystko pięknie działało 3 dni. Wczoraj wieczorem
źle podłączyłem przetwornik obrotowo impulsowy i zamiast na jeden z
pinów portu C mikrokontrolera podawać na przemian logiczne 0 i 1
spowodowałem kilkukrotne (5 do 8 razy) zwarcie sygnałów GND z VCC.
Oczywiście poprawiłem połączenia i układ uruchomił się chyba ok (chyba,
gdzyż nie zwracałem uwagi na odczyt temperatury za bardzo - patrzałem na
to czy dobrze zlicza impulsy Myślę jednak, że zauważyłbym jakaś mega
głupotę zamiast temperatury). Po dwóch godzinach gdy podłaczyłem znowu
układ - odczyt temperatury wskazywał 85 stopni. Sprawdzałem już na 5
ds-ach - niektóre pokazują 85 stopni a niektóre 127,9375. Te które
wskazują 85 stopni po przytrzymaniu ręką (nagrzaniu) też zmieniają
temperaturę na 127,9375, po puszczeniu ręki po chwili wracają do 85
stopni. Dodam, że w międzyczasie nie zmieniałem nic w oprogramowaniu.
Sprawdziłem nawet starsze wersje oprogramowania które na 100% działały
i ściągnąłem z internetu czyjś program do obsługi ds-a. Temperatura przy
odczycie obojętnie jakim programem zawsze ma tą samą wartość (85 lub
127,9375).
Co zrobiłem:
- tak jak napisałem sprawdziłem już 5 dsów,
- wymieniłem uC - miałem w domu drugą Atmegę - to samo.
- sprawdziłem kilka wcześniejszych wersji mojego oprogramowania, które
na pewno działały,
Co mogę jeszcze zrobić? co sprawdzić, gdzie szukać? Czy możliwe by kwarc
się jakoś... rozkalibrował? Wiem, że dsy są bardzo czułe na czasy
transmisji - ale skoro coś przez 3 dni działało bez zarzutów? Poza tym
coś z niego czyta... te 85 stopni to temperatura które zapisana jest w
eepromie zaraz po podłączeniu do prądu - i dopiero po wykonaniu
pierwszego pomiaru zamieniana jest na faktyczną. Czyli tak jakby
czujnik... ale przecież sprawdzałem 5 sztuk! I w sumie tak jakby coś
liczył - nagrzewam palcami czujnik i niektóre wskakują na 127 stopni...
No i reszta działa nadal - wyświetlacz lcd, odczyt stanu portów
sterowanie ledami, itd. Wszystko działa jak działo, tylko nagle brak
odczytu z dsów.
Nie wiem czego szukać... gdyby jakaś dobra dusza zapodała pomysł będę
zobowiązany. Jest to moje pierwsze starcie z uC i w sumie elektroniką a
więc bedę wdzięczny za każdą radę.
Rafał
czerwo
Guest
Tue Sep 11, 2007 2:22 pm
R.R.R. pisze:
<ciach>
Quote:
Nie wiem czego szukać... gdyby jakaś dobra dusza zapodała pomysł będę
zobowiązany. Jest to moje pierwsze starcie z uC i w sumie elektroniką a
więc bedę wdzięczny za każdą radę.
Zobacz zasilanie dla dsa, mi zwracał 85 stopni jak miał za
wysokie napięcie zasilania.
Guest
Tue Sep 11, 2007 3:30 pm
Quote:
Witam!
Wykonałem płytkę z Atmegą16, kwarc 12MHz, lcd, ds18b20, kilka
kondensatorów, ledów i przycisków na pokładzie. Taka sobie płytka
testowa do małych projektów uC. Skorzystałem z wątków umieszczonych na
forum.elektroda.pl oraz mikrokontrolery.net i udało się odczytać
temperaurę z ds-a. Wszystko pięknie działało 3 dni. Wczoraj wieczorem
źle podłączyłem przetwornik obrotowo impulsowy i zamiast na jeden z
pinów portu C mikrokontrolera podawać na przemian logiczne 0 i 1
spowodowałem kilkukrotne (5 do 8 razy) zwarcie sygnałów GND z VCC.
Oczywiście poprawiłem połączenia i układ uruchomił się chyba ok (chyba,
gdzyż nie zwracałem uwagi na odczyt temperatury za bardzo - patrzałem na
to czy dobrze zlicza impulsy Myślę jednak, że zauważyłbym jakaś mega
głupotę zamiast temperatury). Po dwóch godzinach gdy podłaczyłem znowu
układ - odczyt temperatury wskazywał 85 stopni. Sprawdzałem już na 5
ds-ach - niektóre pokazują 85 stopni a niektóre 127,9375. Te które
wskazują 85 stopni po przytrzymaniu ręką (nagrzaniu) też zmieniają
temperaturę na 127,9375, po puszczeniu ręki po chwili wracają do 85
stopni. Dodam, że w międzyczasie nie zmieniałem nic w oprogramowaniu.
Sprawdziłem nawet starsze wersje oprogramowania które na 100% działały
i ściągnąłem z internetu czyjś program do obsługi ds-a. Temperatura przy
odczycie obojętnie jakim programem zawsze ma tą samą wartość (85 lub
127,9375).
Co zrobiłem:
- tak jak napisałem sprawdziłem już 5 dsów,
- wymieniłem uC - miałem w domu drugą Atmegę - to samo.
- sprawdziłem kilka wcześniejszych wersji mojego oprogramowania, które
na pewno działały,
Co mogę jeszcze zrobić? co sprawdzić, gdzie szukać? Czy możliwe by kwarc
się jakoś... rozkalibrował? Wiem, że dsy są bardzo czułe na czasy
transmisji - ale skoro coś przez 3 dni działało bez zarzutów? Poza tym
coś z niego czyta... te 85 stopni to temperatura które zapisana jest w
eepromie zaraz po podłączeniu do prądu - i dopiero po wykonaniu
pierwszego pomiaru zamieniana jest na faktyczną. Czyli tak jakby
czujnik... ale przecież sprawdzałem 5 sztuk! I w sumie tak jakby coś
liczył - nagrzewam palcami czujnik i niektóre wskakują na 127 stopni...
No i reszta działa nadal - wyświetlacz lcd, odczyt stanu portów
sterowanie ledami, itd. Wszystko działa jak działo, tylko nagle brak
odczytu z dsów.
Nie wiem czego szukać... gdyby jakaś dobra dusza zapodała pomysł będę
zobowiązany. Jest to moje pierwsze starcie z uC i w sumie elektroniką a
więc bedę wdzięczny za każdą radę.
Rafał
MOze sproboj faktycznie na innym sofcie i jesli chodzi to oscyloskop i timingi
ponoc DS' sa wrazliwe na precyzje timingow. Mam gdzies w c procedurki a teraz
wlasnie walcze w ASM pod M8 Pozdro.
--
Wysłano z serwisu OnetNiusy:
http://niusy.onet.pl
Greg(G.Kasprowicz)
Guest
Tue Sep 11, 2007 4:14 pm
Quote:
Nie wiem czego szukać... gdyby jakaś dobra dusza zapodała pomysł będę
zobowiązany. Jest to moje pierwsze starcie z uC i w sumie elektroniką a
więc bedę wdzięczny za każdą radę.
zoabcz moja odpowiedz na podobny problem dotyczacy DSa kilka postow nizej
entroper
Guest
Tue Sep 11, 2007 4:42 pm
Użytkownik "R.R.R." <rafal@ubuntu.ubuntu> napisał w wiadomości
news:fc60mo$gt2$1@nemesis.news.tpi.pl...
Quote:
No i reszta działa nadal - wyświetlacz lcd, odczyt stanu portów
sterowanie ledami, itd. Wszystko działa jak działo, tylko nagle brak
odczytu z dsów.
Liczysz CRC ? Jeśli nie, oprogramuj liczenie i sprawdź, czy się zgadza.
Możliwe, że porozjeżdzały Ci się jakieś czasy a 3 dni temu po prostu
pracowałeś "na styk".
e.
Zibias
Guest
Tue Sep 11, 2007 7:42 pm
podobny problem mialem jak timingi mialem minimalnie za krótkie.
Sprawdź czasy, dołóż minimalnie, w datashicie jest podane okienko
w jakim musisz się zmieścić, ustawianie krańcowych wartości nie jest dobrym
pomysłem, zrobiłem tak i ...d..a czytało same FF
R.R.R.
Guest
Tue Sep 11, 2007 9:09 pm
Dziękuję za odpowiedzi i podpowiedzi. Co do kwarcu to jest zewnętrzny
12MHz. Jutro przejrzę czasy raz jeszcze.
pozdrawiam,
rafał
CosteC
Guest
Wed Sep 12, 2007 11:54 am
Quote:
podobny problem mialem jak timingi mialem minimalnie za krótkie.
Sprawdź czasy, dołóż minimalnie, w datashicie jest podane okienko
w jakim musisz się zmieścić, ustawianie krańcowych wartości nie jest
dobrym
pomysłem, zrobiłem tak i ...d..a czytało same FF
Potwierdzam. DSy sš wrażliwe na timingi, timingi DSa samego zmieniaja się
wraz z temperaturš, Sš zależne od modelu DS18S20 ma inne niz DS18B20, i
sztuki. Czysta rozkosz. Poważnie sie zastanawiam nad czym innym w następnym
projekcie.
Pozdrawiam
CosteC