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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 7 kwi 2025, o 08:40


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 7 paź 2020, o 13:38 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2015
    Posty: 55
    Pomógł: 0

    Witam
    Chciałem zapytać czy da się wykonać pomiaru z 4 różnych czynników DS18B20 na 4 rożnych wejściach procesora
    Chodzi mi o to że potrzebuje wiedzieć który dokładnie czujnik w danej chwili odczytuje. Do tej pory jak robiłem pomiar na kilku układach to podłączałem wszystkie i jednego z nich ogrzewałem po czym sprawdzałem któremu temperatura wzrastała bo cały czas temperatury wysyłałem na UART do putty, poczym numerowałem je i układ działał jak chciałem.
    Problem się pojawił kiedy jeden z czujników uległ awarii to po wymianie wszystkie czujniki a przynajmniej kilka zmieniało swój numerek i musiałem albo programowo sobie je przerzucać albo wszystkie czujniki ponownie ponumerować
    Co prawda wtedy idea 1-wire idzie w zapomnienie ale mam na tyle duży procek ze mi to ogarnie :)

    Miał ktoś podobny problem proszę o pomoc [GRINNING FACE WITH SMILING EYES]

    Wysłane z mojego Redmi 4X przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 14:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2019
    Posty: 145
    Pomógł: 37

    https://github.com/gonium/mikrowerk/tre ... -with-uart
    zapoznać się z komentarzami w onewire.h
    przykładowy sposób użycia dla dwóch czujników na pinach PB3 i PC0:
    //przed użyciem czujnika 1 aktywacja magistrali 1
    ow_set_bus(&PINB,&PORTB,&DDRB,3);
    //... operacje OW_SKIP_ROM, DS18X20_CONVERT_T, DS18X20_READ itd.dla czujnika 1.
    //przed użyciem czujnika 2 aktywacja magistrali 2.
    ow_set_bus(&PINC,&PORTC,&DDRC,0);
    //... operacje OW_SKIP_ROM, DS18X20_CONVERT_T, DS18X20_READ itd.dla czujnika 2.

    _________________
    Think for yourself and question authority.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 14:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    DS18B20 mają numery seryjne. Możesz odczytywać temperaturę po numerze seryjnym czujnika. I mieć je wszystkie na jednym pinie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 16:09 
    Offline
    Moderator
    Avatar użytkownika

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

    michael.873 napisał(a):
    Co prawda wtedy idea 1-wire idzie w zapomnienie ale mam na tyle duży procek ze mi to ogarnie

    Przecież to jest KOMPLETNY nonsens i to do kwadratu. Masz w Bluebooku b.dobrą bibliotekę która umożliwia odczytywanie (I ZAWSZE TAK BYŁO) z każdego czujnika oddzielnie temperaturę - toż je się rozpoznaje po numerach ID które są wczytywane przez bibliotekę do tablicy. Zaglądałeś w ogóle do kodu ?

    _________________
    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: 7 paź 2020, o 17:06 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2015
    Posty: 55
    Pomógł: 0

    Wiem rozumiem używam tej biblioteki z BB
    Mam podłączone np.
    3 czujniki DS18B20 do PINx
    robię pomiar z 3 czujników spięte są w gwiazdę
    odczytuję pierwszy pomiar czujnika z pozycji A otrzymuję wartość X
    odczytuję pierwszy pomiar czujnika z pozycji B otrzymuję wartość Y
    odczytuję pierwszy pomiar czujnika z pozycji C otrzymuję wartość Z
    nagle jeden z czujników ulega uszkodzeniu wyświetla się błąd i wiem ze czujnik się uszkodził
    Wymieniam czujnik z pozycji B na nowy

    Po wymianie okazuję się że
    odczytuję pierwszy pomiar czujnika z pozycji A otrzymuję wartość X
    odczytuję pierwszy pomiar czujnika z pozycji B otrzymuję wartość Z
    odczytuję pierwszy pomiar czujnika z pozycji C otrzymuję wartość Y

    Teraz dostaję błędne wyniki pomiarów z pozycji B i C ponieważ są zamienione i bez zmiany wsadu się nie obejdzie a takich urządzeń planuję około 40 i do każdego podłączone po minimum 3 czujniki max 6 w dwóch. Chodzi mi o to jak przyjdzie do wymiany czajnika nie będę musiał zmieniać programu

    dlatego pomysł żeby podłączyć je do osobnych pinów wydał mi się całkiem fajny :/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 19:38 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Można do różnych pinow,ale można tez po wymianie sensora przed uruchomieniem glownego programu skonfigurować je i przypisać który jest do czego. jeszcze nie przytrafiło mi sie ,zeby jakiś z czujników mi sie popsuł wiec raz kiedyś jak zrobisz taka konfiguracje to sie nic nie stanie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 19:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2019
    Posty: 145
    Pomógł: 37

    Przy małej ilości czujników/kiedy większa ilość okablowania nie jest problemem/kiedy zależy nam na prostocie firmware i hardware/kiedy zależy na łatwości (lub braku) konfiguracji urządzenia nie jest to, uważam, głupie rozwiązanie.
    Jednakże przy 40 urządzeniach przydało by się trochę postarać i zrobić jakiś konfigurator który przypisze czujniki w odpowiednie lokalizacje w czasie pracy urządzenia. Jeśłi urządzenie ma jakiś interfejs użytkownika i menu to można to dodać do menu. Jeśli nie ma to trochę gorzej, ale też można coś wymyślić, na przykład taką prymitywną metodę:
    Zakładamy, że kolejne czujniki są kolejno, po jednym, rejestrowane w systemie po resecie urządzenia i przypisywane do lokalizacji w z góry określonej kolejności. Dołączamy pierwszy czujnik do magistrali, włączamy urządzenie. Czujnik jest wykrywany, jego ID zarejstrowany (zapisywany w pamięci nieulotnej) na pierwszej wolnej pozycji czyli A. Wyłączamy urządzenie, dołączamy drugi czujnik, power up, nowy czujnik jest rejestrowany na pierwszej wolnej pozycji czyli B itd. Teraz gdy jeden czujnik padnie robimy to samo: power off, dołączamy (wymieniamy) czujnik, power on. Urządzenie wykrywa jeden nowy czujnik i jednocześnie widzi, że jeden stary nie daje oznak życia więc podmienia stary na nowy. Algorytm trzeba głębiej przymyśleć bo metoda wykrywania czujników przez 1wire nie gwarantuje że będą one wykrywane w kolejności w której były dołączane fizycznie.

    _________________
    Think for yourself and question authority.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 20:02 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2015
    Posty: 55
    Pomógł: 0

    Kurcze ciekawy pomysł tak do sprawy nie podchodziłem
    Co prawda urządzenie nie ma jakiegoś menu czy wyświetlacza ale będą one podłączone razem ze sobą po RS485
    Bo wszystkie będą zbierać temperatury do PLC to można się do nich podpinać na czas konfiguracji i tam ustawić coś pomyśle

    Wysłane z mojego Redmi 4X przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 paź 2020, o 23:21 
    Offline
    Moderator
    Avatar użytkownika

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

    michael.873 napisał(a):
    Teraz dostaję błędne wyniki pomiarów z pozycji B i C ponieważ są zamienione i bez zmiany wsadu się nie obejdzie a takich urządzeń planuję około 40 i do każdego podłączone po minimum 3 czujniki max 6 w dwóch. Chodzi mi o to jak przyjdzie do wymiany czajnika nie będę musiał zmieniać programu

    No Panie kochany a co za problem sobie zapamiętać numery czujników w pamięci EEPROM ? I jak się uszkodzi to podmienić numer uszkodzonego na ten nowy ? No to jest problem ? Przecież tak się robi - a nie podłącza czujniki na osobnych pinach

    ------------------------ [ Dodano po: 1 minucie ]

    michael.873 napisał(a):
    Co prawda urządzenie nie ma jakiegoś menu czy wyświetlacza ale będą one podłączone razem ze sobą po RS485

    A po rs485 to nie można sobie zrobić konfiguratora ? zaraz LCD potrzebny ? ;) eeeeś

    _________________
    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: 8 paź 2020, o 05:48 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2015
    Posty: 55
    Pomógł: 0

    I tak zrobię

    Dzięki za pomoc
    Pozdrawiam wszystkich [GRINNING FACE WITH SMILING EYES]

    Wysłane z mojego Redmi 4X przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 paź 2020, o 08:16 
    Offline
    Użytkownik

    Dołączył(a): 13 paź 2015
    Posty: 303
    Lokalizacja: Rybnik
    Pomógł: 10

    Ja to tak rozwiązałem:
    https://forum.atnel.pl/topic21850.html

    Później można sobie zrobić zmianę ID czujnika np. po uarcie żeby nie programować znowu procka.



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

    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