Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 mar 2026, o 13:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 27 lut 2015, o 16:06 
Offline
Użytkownik

Dołączył(a): 16 lis 2014
Posty: 79
Pomógł: 0

Witam,
koncze projekt termometra z zegarkiem i wszystko swietnie ale mam 1 problem. Testowalem ds18b20 na atmega16 i wszystko dobrze dzialalo, a po podłączeniu pod atmege8 mierzy temperaturę, ale raz na jakis czas wywali jakas randomowa wartosc. Program ten sam co na atmedze 16 wiec to nie bedzie kwestia programowa.
W obu przypadkach czest taktowania 8MHz z wewnetrznego osc. Przypuszczam ze dzieje się tak z powodu, że atmega 8 jest wolniejsza ?? Miał ktoś kiedyś podobny problem ?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Skoro w obu przypadkach masz taktowanie 8MHz to jak stwierdziles ze atmega8 jest wolniejsza?

Zainteresuj sie ustawieniem tinerow dla atmegi8 bo napewno ma inne niz atmega16.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:18 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

A czy kolego używasz bibliotek z książki ?

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:25 
Offline
Użytkownik

Dołączył(a): 16 lis 2014
Posty: 79
Pomógł: 0

Witam, znalazłem dużo lżejszą i prostszą biblioteke na mikrokontroler.pl
Biblioteki z ksiazki tez uzywalem ale nie w tym konretnym przypadku - zaraz to zrobie.
Timery sprawdzałem juz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

kubavit napisał(a):
Przypuszczam ze dzieje się tak z powodu, że atmega 8 jest wolniejsza ??

sorki panie kolego ale to mi przypomina takie stare pytanie, które dzieci sobie zadają

"co jest cięższe? ... kilogram żelaza! czy kilogram waty?"

często dzieci odpowiadają sobie - no przecież wiadomo że cięższy jest kilogram żelaza bo ono jest cięższe od waty!


A ty bierzesz procesor m16 taktujesz go 8MHz i bierzesz procesor m8 i też taktujesz go 8MHz .... i piszesz że m8 jest wolniejszy ??? ... nie sądzisz, że wybierasz tu odpowiedź jak z tym lżejszym kilogramem waty od kilograma żelaza ?

-------------------------------------------------------------------------------------------------------------------

kubavit napisał(a):
Program ten sam co na atmedze 16 wiec to nie bedzie kwestia programowa.

zdecydowanie to może być kwestia programowa - wystarczy np że nie sprawdzasz sumy kontrolnej CRC! ... i wtedy będziesz miał śmieci. A że przypadkowo częściej one pojawiają ci się na m8 to już tylko kwestia losu ;)

kubavit napisał(a):
Miał ktoś kiedyś podobny problem ?

Zapewniam cię że mnóstwo początkujących ma właśnie takie problemy i ja też je kiedyś miałem - stąd wiem ;) że w 99,99% przypadków to właśnie kod programu panie kochany jest za to odpowiedzialny

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:29 
Offline
Użytkownik

Dołączył(a): 16 lis 2014
Posty: 79
Pomógł: 0

Panie Mirku, człowiek chciał "krótszy" program do ds18b20 niż w bluebooku i pokarało.
Ma Pan racja że chodzi o CRC. Zaraz wrzuce biblioteke z książki.
Kolejny raz dzieki wielkie !



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 16:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Dodam jeszcze, że często gdy obsługa DS'a jest w pętli głównej, a są włączone przerwania to już z urzędu fundujemy sobie raz na jakiś czas błędny odczyt. Dzieje się tak dlatego, że transmisja z DS przez i2c nie lubi jak jej się przeszkadza, a przerwania wprowadzają tu zakłócenia jeśli akurat trafią w momencie komunikacji. W C jeszcze nie miałem potrzeby korzystać z DS'a ale w bascomie zrobiłem kilka sterowników i potwierdziło się to w 100% co napisałem. Kiedy przeniosłem komunikację do przerwań i cyklicznie porozumiewałem się z termometrem nie pamiętam żadnego(!) błędnego wskazania i to bez używania CRC choć nie ukrywam, że bez CRC zawsze może się zdarzyć, że jakieś wredne siły zewnętrzne coś mogą na chwilę zamieszać, ale przed tym bronię się algorytmami czasowymi w sterownikach, które mnie jeszcze nie zawiodły :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 18:09 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

SylwekK napisał(a):
Dodam jeszcze, że często gdy obsługa DS'a jest w pętli głównej, a są włączone przerwania to już z urzędu fundujemy sobie raz na jakiś czas błędny odczyt. Dzieje się tak dlatego, że transmisja z DS przez i2c nie lubi jak jej się przeszkadza, a przerwania wprowadzają tu zakłócenia jeśli akurat trafią w momencie komunikacji. W C jeszcze nie miałem potrzeby korzystać z DS'a ale w bascomie zrobiłem kilka sterowników i potwierdziło się to w 100% co napisałem. Kiedy przeniosłem komunikację do przerwań i cyklicznie porozumiewałem się z termometrem nie pamiętam żadnego(!) błędnego wskazania i to bez używania CRC choć nie ukrywam, że bez CRC zawsze może się zdarzyć, że jakieś wredne siły zewnętrzne coś mogą na chwilę zamieszać, ale przed tym bronię się algorytmami czasowymi w sterownikach, które mnie jeszcze nie zawiodły :)

co to są te algorytmy czasowe? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 18:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Niewielkie opóźnienia użyte w newralgicznych miejscach oczywiście o konstrukcji nieblokującej. Można by to porównać do debounce dla przycisków :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2015, o 18:43 
Offline
Użytkownik

Dołączył(a): 16 lis 2014
Posty: 79
Pomógł: 0

SylwekK z Twojej rady tez skorzystam i wrzuce pomiar do przerwania :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO