• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
DS18B20 - dziwne "zawieszenie"...
#11
(03-07-2019, 18:20)PierwszyWolnyLogin napisał(a): nie to reset magistrali. Powinno załatwić "sprawę"... I mam gdzieś co lokalny psychopata o tym myśli Smile

PWL
Błagam, co to za rozwiązanie ? Mam kupę DSow, i żaden jeden się nie zawieszał.
Coś ci nie dziala, i rozwiazanie to reset.
Jak auto nie działa i pali się check to zaklejasz naklejke ? Zamiast zmienić jakaś pewnie drobną pierdole ?
 
#12
(03-07-2019, 20:20)error105Błagam, co to za rozwiązanie ? Mam kupę DSow, i żaden jeden się nie zawieszał. napisał(a): Coś ci nie dziala, i rozwiazanie to reset.
Jak auto nie działa i pali się check to zaklejasz naklejke ? Zamiast zmienić jakaś pewnie drobną pierdole ?

Skuteczne. Mam nadzieje Wink Też mam "kupę" i tylko raz mi się zawiesiły.
Nie mam jak stwierdzić co się stało, więc robię co mogę. Niewiele, ale lepsze niż nic Smile
PWL
 
#13
(03-07-2019, 20:33)PierwszyWolnyLogin napisał(a): [quote='error105Błagam, co to za rozwiązanie ? Mam kupę DSow, i żaden jeden się nie zawieszał.' pid='13251' dateline='1562178038']
Nie mam jak stwierdzić co się stało, więc robię co mogę. Niewiele, ale lepsze niż nic Smile
PWL
ŻENADA!

Idę o zakład, że w kodzie ZERO diagnostyki "Nie mam jak stwierdzić co się stało", wykrywania błędów itp, w przeciwnym wypadku napisałbyś "W logu zanotowano...".
Kod, który napisałeś, to po prostu dziecinada! Arduinowa zabawka, nie nadająca się do normalnego użytkowania. Do CV nie wpisuje sobie takich "osiągnięć". Pamiętaj też, że pracodawcy czasem czytają fora!
 
#14
(03-07-2019, 20:33)PierwszyWolnyLogin napisał(a): Skuteczne. Mam nadzieje Wink Też mam "kupę" i tylko raz mi się zawiesiły.
Nie mam jak stwierdzić co się stało, więc robię co mogę. Niewiele, ale lepsze niż nic Smile
PWL

Cóż, wolałbym się dowiedzieć co niż tak załatwiać projekt Smile
Sam nie jestem nie wiadomo jak uzdolniony programistycznie, ale siedziałbym aż bym znalazł ten jeden głupi błąd i go wywalił.....
Diesel nie musi dymić Smile
 
#15
Ja też, masz pomysł jak? Smile Logowanie wszystkie jak leci i czekanie aż się powtórzy raczej odpada Wink
Układ działał wiele godzin, aż raz skisł Smile Inny układ z ośmioma DSami robi robotę od pół roku bez
żadnych problemów. Wróżkiem nie jestem Wink

PWL
 
#16
(03-07-2019, 20:49)PierwszyWolnyLogin napisał(a): Ja też, masz pomysł jak? Smile Logowanie wszystkie jak leci i czekanie aż się powtórzy raczej odpada Wink
Zacząć należy od konstrukcji urządzenia. Pewnie 1-Wire przez "machanie" GPIO z blokowaniem przerwań?
Jak tak, to bez komentarza.

Bywa, że narodzi się nowy pomysł i jakiś interfejs nie był przewidziany ale ja w każdym poważnym projekcie mam wyprowadzony w rezerwie co najmniej jeden z interfejsów: UART, SPI, I2C. Każdy z nich może bezpośrednio lub pośrednio obsłużyć 1-Wire setki razy lepiej niż "machanie" GPIO.

Kolejna rzecz, to "logowanie jak leci".
U mnie praktycznie zawsze taki mechanizm istnieje. W różnej postaci ale jest. Między innymi tym się różni profesjonalizm od amatorszczyzny. Bywa, że po pewnym czasie klient zgłasza się z problemami, ale ja mam informacje, np co było przyczyną resetu, na jakim adresie zadziałał WDG, ile trwa obieg pętli głównej (min, max, typowo).
Masz takie mechanizmy u siebie? Pewnie nie!
Mój komercyjny soft działa nieprzerwanie latami, w tysiącach sztuk! Nie wiesza się, jeśli coś takiego się zdarzy to znam przyczynę ale to kosztuje, więc teraz wiesz dlaczego za napisanie softu kasuję 10'000zł a nie 200 czy 500zł.
 
#17
Jaki dym się tu zrobił nie wiadomo o co... Co Wy porównuje i? Absy, elektronie atomowe, wahadlowce, samoloty i inne urządzenia które kosztuja masę kasy do dsa za 10zl???? Żarty jakieś robicie?

Co przepraszam raz w ciągu roku zawiesił mi się termometr na balkonie (który nie ma żadnej obudowy, jest zalepiony klejem na gorąco aby był szczelny, poprostu "ma być") to mam robić z tego powodu panikę, uruchamiać oscyloskop, wprowadzić jakieś procedury awaryjne i nie wiadomo co jeszcze.. po co ? Ludzie... Opanujcie się!
Nie wiem co bym miał mieć na tym dsie zrobione abym musiał wprowadzić "plan awaryjny". Ale przypuszczalnie jakbym miał coś wielkiego zrobić to pewnie nie miałbym dsa za 10zl tylko pewnie jakieś inne cudo za 500zl które samo w sobie się broni przed zawieszeniem....






Ps. Skoro żadne urządzenia nie mogą się popsuć to czemu w samolotach wszystko jest podwójne? Wink Właśnie dlatego aby "był zapas"...

Wysłane z mojego Neffos Y5s przy użyciu Tapatalka
 
#18
(04-07-2019, 18:53)gavron7 napisał(a): i inne urządzenia które kosztuja masę kasy do dsa za 10zl????
Nie ważne ile kosztuje DS. Śruba mocująca koło kosztuje jeszcze mniej a jej niedokręcenie może być tragiczne w skutkach.

Jak nie nauczysz się od poczatku przygody z programowanie pisać dobrego softu, to możesz doprwadzić w przyszłości do tragedii.

(04-07-2019, 18:53)gavron7 napisał(a): Co przepraszam raz w ciągu roku zawiesił mi się termometr na balkonie (który nie ma żadnej obudowy, jest zalepiony klejem na gorąco aby był szczelny, poprostu "ma być")
Amatorszczyzna!
Nie trzeba być ekspertem, że tak można zrobić na kilka dni, może miesiąc a nie na rok czy kilka lat.
Proponuje dokształcić się w chemii.
Jeśli jest więcej czujników, to zewnętrzne, narażone na awarie, powinny być na osobnej magistrali, jak jest w tym projekcie?
Czy magistrala 1-Wire, wychodząca poza PCB jest zabezpieczona DS9503? Na 90% nie, bo w arduinowych "potworach" NIGDY nie widziałem tego układu, arduinowcy o nim nie wiedzą (nie chcą wiedzieć). W najlepszym przypadku jest jakaś dioda Zenera, która do tego się KOMPLETNIE nie nadaje!

(04-07-2019, 18:53)gavron7 napisał(a): to mam robić z tego powodu panikę, uruchamiać oscyloskop, wprowadzić jakieś procedury awaryjne i nie wiadomo co jeszcze.. po co ? Ludzie... Opanujcie się!
Dobrze napisany soft, gdy stwierdziłby brak komunikacji przez określony czas, zresetował by "driver" 1-Wire, jak to by nie pomogło, zrobiłby reset CPU. Naturalnie jakiś log ze zdarzeń, choćby ostatniego zdarzenia, zapisałby. Wystarczy nawet informacja, na LCD, czy po UART o w/w zdarzeniach.
Urządzenie, które zrobiłeś, nadaje się do jakiegoś kursu, ale nie do pracy 24/h.

(04-07-2019, 18:53)gavron7 napisał(a): pewnie nie miałbym dsa za 10zl tylko pewnie jakieś inne cudo za 500zl które samo w sobie się broni przed zawieszeniem....
Naiwny jesteś sadząc, że to DS się zawiesił. Na 99% masz skopany soft, co oznacza, ze nie potrafisz pisać dobrych programów.

(04-07-2019, 18:53)gavron7 napisał(a): Ps. Skoro żadne urządzenia nie mogą się popsuć to czemu w samolotach wszystko jest podwójne? Wink Właśnie dlatego aby "był zapas"...
W samochodach też?
W ekspresie do kawy?
 
#19
(03-07-2019, 20:49)PierwszyWolnyLogin napisał(a): Ja też, masz pomysł jak? Smile Logowanie wszystkie jak leci i czekanie aż się powtórzy raczej odpada Wink
Układ działał wiele godzin, aż raz skisł Smile Inny układ z ośmioma DSami robi robotę od pół roku bez
żadnych problemów. Wróżkiem nie jestem Wink

PWL

Skoro inny układ działa to albo coś Ci sieje w drugim, albo któryś DS jest walnięty.
Ja bym zaczął od wymiany czujników kolejno.

Zakładam że soft jest OK (skoro gdzie indziej działa) Smile
 
#20
(04-07-2019, 19:57)error105 napisał(a): Zakładam że soft jest OK (skoro gdzie indziej działa) Smile
Niekoniecznie!
Jeśli soft nie jest odporny na błędy, co jest normą w bibliotekach i programach na Arduino, to np z powodu zakłóceń, przepięć itp, soft może się wieszać.
W komercji nie używam Arduino, a zabawkach bardzo, bardzo rzadko, ale podczas prób, stwierdziłem, że:
- 1-Wire przeważnie nieodporne jest na zwarcie magistrali i głupieje.
- 1-Wire nie interpretuje sygnału zgłoszenia przerwania przez slave.
- DS18B20 nie sprawdza CRC
- DS18B20 nie sprawdza PULSE.
- DS18B20 niepotrzebnie używa float.
- I2C nieodporne jest na status F8 i zawiesza program.
- I2C nie używa przerwań.
- INA219 niepotrzebnie używa float.
- TM1637 na długi czas blokuje CPU.
- LCD ze sterownikiem zgodnym z HD44780 nie używają sprzętowego busskeepera gdy CPU jest w niego wyposażony.
- LCD/TFT kolor nie używają sprzętowych możliwości LCD
- LCD/TFT kolor nie używają buforów, nawet na część ekranu, w konsekwencji stawianie piksela to 7 bajtów zamiast 2, bywa, że kasowanie ekranu to ponad 300ms zamiast 30 czy 1ms gdy LCD/TFT ma sprzętowe kasowanie.
O pozostałych bibliotekach nie będę pisał, bo temat woda. Napisane są BARDZO ŹLE. Wiem o tym, bo sporo bibliotek portowałem z Arduino na ARM, wcześniej AVR. ANI JEDNA nie nadawała się do sensownego użytku!
One nadają się tylko do zademonstrowania działania układu peryferyjnego, przetestowania go ale nie do normalnego użytkowania, zwłaszcza 24/h.
Niestety, arduinowcy nie mogą tego pojąc i używają ich. Ile osób, które wykorzystało Arduino, modyfikowało biblioteki?
 
  


Skocz do:


Przeglądający: 1 gości