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



Teraz jest 26 lut 2025, o 22:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 11 sie 2015, o 07:11 
Offline
Nowy

Dołączył(a): 11 sie 2015
Posty: 5
Pomógł: 0

Dzień dobry.
Zmajstrowałem sobie kiedyś sterownik automatyki do kotłowni, w oparciu o AVR mega32. Postanowiłem ostatnio rozbudować liczbę termometrów, dla lepszego monitorowania stanu kotła i natrafiłem na problem, na którym skończyły mi się pomysły.
Kod obsługi 1wire jest oparty o biblioteki z książki (pierwsza wersja, więc może potem były jakieś zmiany).
Problem mam taki, że jeśli podłączone są <=4 czujniki do magistrali, wszystko działa (od kilku miesięcy non-stop). Natomiast jeśli podłączę 5 czujnik, wszystkie czujniki na magistrali przestają być widziane.
Zmieniłem maksymalną obsługiwaną liczbę czujników w ds18x20.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oraz w głównym programie.
Funkcja wykrywania i odczytu temperatury z czujników (używana przy wstępnej konfiguracji czujników) wygląda następująco:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dodanie wyświetlania na wyświetlaczu wartości zmiennej czujniki_cnt pokazuje, że jeśli podłączone są 4 czujniki, wartość jest 4, ale jeśli podłączę piąty czujnik, wartość jest 0. Próbowałem zamienić jeden z czujników - wszystko działa, więc okablowanie jak i sam czujnik wydaje się być sprawny.
Chwilowo dalej nie doszedłem. Do debugowania muszę co i raz biegać do kotłowni :mrgreen:
Czy jest to jakiś znany problem? Przejrzałem kod obsługi DS18x20 jak również 1wire i niespecjalnie rzuciło mi się w moje laickie oko nic, co mogłoby zależeć od liczby czujników.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2015, o 08:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2012
Posty: 238
Pomógł: 5

Zmień kabel na YTKSY 1x2x0.5 ... a z zasilaniem jak masz to na 4 żyłkowy. Taki telefoniczny.
Jeśli to nie pomoże to zmniejszaj rezystor podciągający, powinno zadziałać jeśli w kod prawidłowy.
Dlatego zwracam uwagę na kabel bo właśnie miałem zagwostkę podobną. Zmiana ze skrętki komputerowej kabla pomogła.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2015, o 10:27 
Offline
Nowy

Dołączył(a): 11 sie 2015
Posty: 5
Pomógł: 0

Hmmm, mam 3 czujniki na YTKSY 1x4x0.5 i dwa na skrętce kat.5 (wszystkie odcinki gdzieś po 2 metry), połączone w gwiazdę; przy czym ten nowy czujnik jest też na YTKSY.
Czujniki w trybie z osobnym zasilaniem z pociąganiem linii DQ przez 4k7 - zgodnie z datasheetem.
No nic, będę kombinował, może to faktycznie jakiś problem sprzętowy. Dużo masz tych czujników na jednej magistrali?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2015, o 10:34 
Offline
Moderator
Avatar użytkownika

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

kiziuk napisał(a):
Kod obsługi 1wire jest oparty o biblioteki z książki (pierwsza wersja, więc może potem były jakieś zmiany).

No tak - jak coś nie działa to pewnie biblioteka ;) eeeeh panowie panowie ...

xbary napisał(a):
Jeśli to nie pomoże to zmniejszaj rezystor podciągający,

I to jest podpowiedź dobra .... bo kolega nie rozumie, że zgodnie dataszetem jak piszesz, to może być 4,7K dla jednego czujnika podłączonego w układzie testowym ....

Pojemność linii i zakłócenia się zwiększają gdy tylko wydłużasz magistralę .... stąd ważne jest coraz mocniejsze podciąganie

więc nie zastanawiaj się tylko od razu załóż tam 2,2K a jak nie zadziała to zejdź do 1,2K albo nawet 1K i sprawdź

oczywiście dobór kabli jak pisze xbary to także niebagatelna sprawa ....

To nie jest panie kochany programowanie na PC gdzie biblioteka może działać albo nie działać - tu jest ELEKTRONIKA i gdy coś nie działa to przyczyny mogą być w 50% także właśnie w tejże elektronice ... a drugie 50% to trzeba szukać we własnych błędach gdy się zaczyna dopiero z jakimś tematem. Wtedy szybciej się do czegoś dochodzi.


Autor postu otrzymał pochwałę

_________________
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: 11 sie 2015, o 11:19 
Offline
Nowy

Dołączył(a): 11 sie 2015
Posty: 5
Pomógł: 0

mirekk36 napisał(a):
No tak - jak coś nie działa to pewnie biblioteka ;) eeeeh panowie panowie ...


Nie. Jak coś nie działa, to nie działa i szukam przyczyny. Może biblioteka, a może nie. Zresztą, jak wspomniałem, nie zauważyłem niczego, co sugerowałoby, że biblioteka jest zależna od liczby czujników ;)
A i wstępne wnioski prowadzą do sprzętu, ale wolałem zapytać zanim zacznę psuć coś, co do tej pory działało.

mirekk36 napisał(a):
I to jest podpowiedź dobra .... bo kolega nie rozumie, że zgodnie dataszetem jak piszesz, to może być 4,7K dla jednego czujnika podłączonego w układzie testowym ....


Problem w tym, że mój o tym nie wspomina. Twierdzi, że magistrala wymaga podciągania przez 5k. Żeby chociaż gwiazdka była :lol:

mirekk36 napisał(a):
Pojemność linii i zakłócenia się zwiększają gdy tylko wydłużasz magistralę .... stąd ważne jest coraz mocniejsze podciąganie
więc nie zastanawiaj się tylko od razu załóż tam 2,2K a jak nie zadziała to zejdź do 1,2K albo nawet 1K i sprawdź


Idę szukać takiego SMD :mrgreen:

------------------------ [ Dodano po: 33 minutach ]

Zawiadamiam, że dzięki Waszej pomocy, problem został szybko rozwiązany :)
Żeby nie pruć układu, dolutowałem po prostu na szybko kolejne podciągające 4k7 przy wyjściu na okablowanie :mrgreen:

Przy okazji, zacząłem się zastanawiać, czy wyjście magistrali 1wire z urządzenia nie powinno być jakoś sprytnie buforowane? Taka noga procka wyciągnięta na zewnątrz na długich kablach jest chyba nie najlepszym rozwiązaniem?



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO