Skocz do zawartości

Sporadyczne błędy przy odczycie z 5-ciu DS18B20 - za długie przewody.


andris

Pomocna odpowiedź

1 godzinę temu, _LM_ napisał:

to jest obejście problemu a nie jego rozwiązanie

Działa? Działa. To na co się męczyć?

7 minut temu, andris napisał:

Nie pogorszyłem tym aby czasem?

Zależy. Nigdy nie powinieneś skręcać ze sobą dwóch przewodów sygnałowych (o ile nie są to sygnały różnicowe jak np. USB, ETH czy RS422/485). A w przypadku skręcenia masy z sygnałem... Różnie bywa. Ogólnie najlepszym rozwiązaniem jest gdy masa jest "klatką faraday'a" dla sygnału (jest to przewodzący oplot podłączony do masy, aka. ekranowanie przewodu). Pusta żyła raczej nie spowoduje dużych problemów, o ile nie będzie zbierać sygnałów radiowych, ale życie lubi zaskakiwać...

Link do komentarza
Share on other sites

Trochę mętnie napisałem 😞
Do czujnika idą dwa dwużyłowe przewody. /lewy i prawy dla zobrazowania/
Jedna żyła z lewego idzie na "-" czujnika.
Jedna żyła z prawego na "+" czujnika.
Druga z lewego razem z drugą prawego /połączone na początku i na końcu linii/ na "sygnał" z czujnika./i na A5 Arduino/
Czy nie zrobiłem w ten sposób jakoś powiększonej "pojemności" czy czegoś tam szkodliwego?

 

Link do komentarza
Share on other sites

9 godzin temu, H1M4W4R1 napisał:

Działa? Działa. To na co się męczyć?

Rzecz w tym że niezupełnie działa. Pytanie kontrolne: czy jak się gra zawiesza to najlepszym wyjściem jest zrestartowanie smartfona?

@andris Fajnie, że wymyśliłeś super konstrukcję z while() i że koniecznie chcesz ją zastosować w programie żeby było lepiej. Tyle, że wymyśliłeś kwadratowe koło, wszyscy Ci próbują wytłumaczyć że to się nie będzie toczyć więc postanowiłeś zastosować okrągłe, ale lewe przednie będzie jednak kwadratowe...

Nie rozumiesz jak działa watchdog? Więc wytłumaczę na bazie Twojego programu.

Jeden z termometrów ulega awarii. Pętla while nie może zostać przerwana, bo cały czas są błędne odczyty z tego termometru. Na szczęście watchdog pilnuje, i po pewnym czasie robi reset. Program startuje od początku. Chce zmierzyć temperatury, więc wchodzi w tę genialną pętlę while, która nie zostanie przerwana, bo cały czas są błędne odczyty z tego termometru. Na szczęście watchdog pilnuje, i po pewnym czasie robi reset. Program startuje od początku. Chce zmierzyć temperatury, więc wchodzi w tę genialną pętlę while, która nie zostanie przerwana, bo cały czas są błędne odczyty z tego termometru. Na szczęście watchdog pilnuje, i po pewnym czasie robi reset. Program startuje od początku. Chce zmierzyć temperatury, więc wchodzi w tę genialną pętlę while, która nie zostanie przerwana, bo cały czas są błędne odczyty z tego termometru. Na szczęście watchdog pilnuje, i po pewnym czasie robi reset. Program startuje od początku. Chce zmierzyć temperatury, więc wchodzi w tę genialną pętlę while, ktora nie zostanie przerwana, bo cały czas są błędne odczyty z tego termometru. Na szczęście watchdog pilnuje, i po pewnym czasie robi reset. Program startuje od początku. Chce zmierzyć temperatury, więc wchodzi w tę genialną pętlę while, która nie zostanie przerwana...

Na pewno tak to ma działać?

Ogólnie: zadziałanie watchdoga to efekt błędu w programie. Jeśli Twoim zdaniem zadziałanie wywołane jest awarią zewnętrznego komponentu (w tym przypadku termometru) - to nieprawda. To efekt błędu w programie, który nie potrafi zareagować na awarię.

No - ale to już Twoja sprawa i Twoje pompy. Ja mam dość tłumaczenia że jak się czegoś nie potrafi stosować to się tego na siłę nie stosuje. W tym przypadku instrukcji while.

 

  • Lubię! 1
Link do komentarza
Share on other sites

Napisałem dość wyraźnie, że rozumiem - mam więc nadzieję, że użyłeś kopiuj/wklej zamiast aż tak męczyć palce 🙂
Napisałem również, że chętnie ową pętlę wywalę /"komunistyczną" pamiętasz?/.
Oraz, że stosuję ją TYLKO dla tego, że nie umiem poradzić sobie inaczej - a na zrozumienie /zastosowanie/ Twojej podpowiedzi jestem niestety za cienki.
Napisałem również, że Watchdog mi się spodobał i zamierzam go użyć do restartu przy zacięciach a przy okazji do sygnalizowania awarii /"buzerek" w setupie/  zauważyłeś?
Podsumowując - szczypta ironii = fajna sprawa ale ta szopka, którą odstawiłeś to zupełnie inna półka.
W dodatku w całkowitym oderwaniu od rzeczywistości /ww co wcześniej pisałem/.
Lubisz traktować ludzi jak idiotów czy jedynie masz okres?

 

  • Lubię! 1
  • Nie zgadzam się! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

1) Zamiast marudzić wypróbuj przykłady z millis, zrób to wpierw na jakimś osobnym układzie choćby z diodami świecącymi tak jak w przykładzie który linkowałem. 

2) Wgrywanie niepewnego programu do już jako tako działającego układu jest błędem. Zatem zakup dodatkowe czujniki temperatury - to nie jest wielki koszt -  zbuduj sobie drugi prototyp i na nim testuj swoje pomysły, po co biegać tam i z powrotem jak można wszystko ogarnąć w ramach swojego biurka?

3) Zapomnij chwilowo o watchdogu, do czasu aż twój program zacznie działać jak należy

4) Chcemy Ci tutaj pomóc, zatem wpierw zacznij jakkolwiek wdrażać nasze porady niż się wściekać.

Link do komentarza
Share on other sites

5 godzin temu, andris napisał:

Lubisz traktować ludzi jak idiotów czy jedynie masz okres?

Daruj se takie odzywki, ja rozumiem że w szkole z kumplami ciśniecie po sobie w ten czy inny sposób i jest ok. Jednak tutaj to tak nie działa, no ale to nie ja jestem twoim wychowawcą. 

Edytowano przez _LM_
Link do komentarza
Share on other sites

ad. 1-2  Pomysł dobry zwłaszcza, że już mam drugą płytkę. Zresztą poprzednio tak właśnie robiłem /na biurku/ zaskoczyła mnie dopiero długość przewodów czego na biurku brakło a wcześniej problem nie obił się o uszy.
ad. 3  Chętnie - jak tylko zrozumiem/zastosuję z powodzeniem w praktyce inną drogę. Jak na razie "pomoc", którą dostałem w przykładowym kodzie zaprowadziła mnie w kierunku którego ni jak nie ogarniam /co zresztą już pisałem = brak jakiejkolwiek reakcji/. Za miast niej kpiny na całego wykazujące dobitnie, że "pomagający" wiedzę ma ale w necie funkcjonuje głównie aby nią błyszczeć zamiast się dzielić.
ad. 4 TY chcesz - to "widać słychać i czuć" 🙂 Sposób w jaki to robisz jest super i wiele z tego skorzystałem/ dowiedziałem się. Kolejny raz Dziękuję.
I nie wściekam się a jedynie jestem zniesmaczony reakcją Twojego kolegi.
Natomiast co do odzywek...
Po pierwsze "
w szkole z kumplami" robiłem to jakieś ~40 lat temu po drugie Tutaj czy gdziekolwiek indziej nie mam w zwyczaju popuszczać dupkom, którym się wydaje, że jak już coś umieją w jakimś temacie to czyni ich "władcami świata" mogącymi sobie pozwalać na chamskie zagrywki w stosunku do innych.
Zwłaszcza kiedy oparte o ewidentne bzdury - bo jak wynika wyraźnie z mojej wcześniejszej wypowiedzi zrobił swoją szopkę nie czytając/ nie uwzględniając niczego co wcześniej napisałem.
I waląc swoje kopiuj/wklej całkowicie z d**y.
Reasumując nie po Wychowanie tu przyszedłem a po konkretną pomoc w konkretnym temacie - od Ciebie ją dostałem i super a frustraci... no cóż pełno ich wszędzie. Jeśli nie chcą pomóc tylko "błyszczeć" - wolna droga ale proszę bez ŚMIECENIA w moim wątku.
 

  • Nie zgadzam się! 1
Link do komentarza
Share on other sites

Dnia 26.04.2023 o 08:41, Treker napisał:

@andris tutaj znajdziesz m.in. opis ...

Dziękuję - a przy okazji "za całość" tzn. Kurs Arduino.
Trafiłem na niego już ładnych parę lat temu i od niego zacząłem zainteresowanie całością.
Co prawda marny ze mnie uczeń bo i głowa już nie młoda i oprócz hobby masa innych obowiązków ale co raz wracam i kilka urządzonek/usprawnień już sobie dzięki Tobie i kursowi wykonałem.
Myślę, że w wolnej chwili watro by gdzieś w kursie/ komentarzach czy jakoś inaczej, przy okazji omawiania zagadnień związanych z OneWire położyć większy nacisk na możliwość wystąpienia problemów, kiedy projekt "zejdzie z biurka" na większe odległości.
Może dzięki temu będzie mniej "zaskoczonych" ew od razu pójdą w innym kierunku zamiast brnąć w trudności kiedy na etapie pomysłu jest łatwiej o zmiany.

Link do komentarza
Share on other sites

- dziwne jest to, że dyskusja zawsze się toczy w złym kierunku , jak tylko jeden uczestnik (zawsze ten sam) do niej dołączy.

- sprawdziłem na tych 12 tematach, reszty nie zamierzam sprawdzać aby mi ciśnienie nie skoczyło.

- coś mi to przypomina elektrodę kilka lat temu.

- a może my nie potrafimy rozmawiać na tematy techniczne jak zomal z zomalem.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.