-
11. Data: 2017-03-07 22:41:12
Temat: Re: dziwny problem
Od: Dariusz Dorochowicz <_...@w...com>
W dniu 2017-03-07 o 21:50, Dariusz Dorochowicz pisze:
> Zewnętrzny watchdog powinien tu wystarczyć. Może być ich kilka jak
> chcesz bardzo się zabezpieczyć - każdy odpalany inną linią.
A jeszcze jeden pomysł przyszedł mi do głowy - wyzwalanie watchdoga
przez przerzutnik D. Sterujesz wejściem D i CLK przerzutnika, a jego
wyjście dopiero na watchdoga. JK się mniej do tego nadaje, bo przy
którymś stanie na wejściach robi za dwójkę liczącą, a na D jak nie
będziesz zmieniał stanu wejścia to nie będzie zmian stanu na wyjściu.
Pozdrawiam
DD
-
12. Data: 2017-03-07 22:47:22
Temat: Re: dziwny problem
Od: "V.L.Pinkley" <v...@g...com>
W dniu wtorek, 7 marca 2017 21:38:25 UTC+1 użytkownik Sebastian Biały napisał:
> On 2017-03-07 21:02, Adam Wysocki wrote:
> >> Niby dlaczego? Watchdog strzela resetem, przekaźnik jest wyłączony w
> >> procedurze resetu i nie włączy się do aż oprogramowanie się nie odnajdzie.
> > Chyba że upali się port (ale tak samo może się upalić i w innym scalaku),
> > pytanie jakiego rodzaju zakłócenia to ma wytrzymać.
>
> Jeśli spore to pozostaje być może zrobienie na 74123 lub całkowicie
> analogowo.
>
> Tylko że spore zakłucenia propagują sie na logikę. Może trzeba wziąć uC
> przeznaczony do pracy w cieższych warunkach (np PIC zamiast ARV).
>
> Tak czy inaczej jesli watchdogowi ufać nie można to chyba nic sie nie da
> zrobić od strony cpu a wymyslanie magicznych sekwencji zakończy się tym
> że procesor wygeneruje randomiczne szumy na pinach po awarii i będa
> pasować ...
>
> > Poza tym - czy styki przekaźnika mogą się skleić? Jeśli tak to może warto
> > dać drugi przekaźnik, szeregowo, rozłączany po tym pierwszym i załączany
> > przed nim...
>
> Mam piec weglowy z podejnikiem węgla sterowany z jednego przekaźnika.
> Kilkukrotnie sterownik szlag trafił. Albo nie łączy albo skleja. Jak
> sklei to po kilkudziesieciu minutach mam pożar. Autor software i
> hardware nie przejmował się tym jednak jak widać za bardzo :D Ot,
> tranzystor na port i reszta dnia wolne.
Słuszna koncepcja, serwisantom też trzeba dać zarobić.
Co do tematu, klepanie pinem z wypełnieniem 50% + filtr RC + komparator
okienkowy obejmujący 2,5V +-0,5V.
CPLD to raczej armata na muchy, toż dla 3 pinów wystarczy 2 układy.
OT.
W mikrofalówkach są 2 włączniki, w przypadku awarii drzwiczek jest zwarcie
i leci bezpiecznik.
-
13. Data: 2017-03-08 00:51:53
Temat: Re: dziwny problem
Od: sundayman <s...@p...onet.pl>
Zbiorczo odpowiadam :
> Jesli zapętli się z popychaniem watchdoga to przecież to samo co > >
> zapętlenie z popychaniem magicznego scalaka. Ryzyko takie samo." w
Jednak nie takie samo.
Watchodog użyty jest w obrębie całego programu. Wyobraź sobie teraz, że
program w trakcie obsługi tego najważniejszego procesu zostanie
niespodziewanie "przerzucony w inne miejsce. Nadal będzie się wykonywał,
być może nawet poprawnie. A watchdog będzie nadal pracować.
To niestety zjawisko, które może realnie wystąpić, a nawet miałem taki
przypadek.
> Poza tym - czy styki przekaźnika mogą się skleić? Jeśli tak to może >
>warto dać drugi przekaźnik, szeregowo, rozłączany po tym pierwszym i
Opis, który zrobiłem jest pewnym uproszczeniem. W rzeczywistości po
pierwsze jest "drugie odcięcie", ponieważ przekaźnik jest za układem
tranzystorowym, który po pierwsze spełnia rolę PWM, a po drugie właśnie
odcina sygnał.
A styki przekaźnika są "monitorowane" - jest sygnał zwrotny do MCU.
> Jeśli spore to pozostaje być może zrobienie na 74123 lub całkowicie
analogowo
Sam 74123 to rozwiązanie nie nadające się do kontroli kilki linii
wyzwalających, zwłaszcza jeżeli mają działać sekwencyjnie.
Poza tym - co do rozwiązań analogowych - układ może działać w bardzo
szerokim zakresie temperatur. I pojawiają się problemy z np.
charakterystykami kondensatorów. Wolałbym tego uniknąć.
> Co do tematu, klepanie pinem z wypełnieniem 50% + filtr RC + >
komparator okienkowy obejmujący 2,5V +-0,5V.
No to jest jakieś minimum absolutne, ale - może się zdarzyć, że program
zapętli się jakoś "w tym machaniu" i wówczas dupa.
To jest imo słabsze rozwiązanie niż istniejące (bo przy 2 MCU mamy
jednak 2 razy mniejsze ryzyko co najmniej).
> Coś mi mówi, że zapewnienie 100% bezpieczeństwa elektronicznie może >
nie
wystarczyć. Masz (Ty lub osoba odpowiedzialna) ubezpieczenie na wypadek
skutków zbyt długiego włączenia przekaźnika? Może warto o tym pomyśleć,
szczególnie jeśli straty mogą być nie tylko finansowe...
To jest problem firmy, która te urzadzenia montuje, i za nie odpowiada.
Ja robię, co mogę od strony technicznej. Tylko i aż tyle :)
> A co to są zmiany poprawnego czasu? Jak to sobie wyobrażasz? Że
watchdog zadziała ale nie zadziała?
Chodzi mi o to, żeby układ "nadzorujący" wymagał nie tylko określonej
sekwencji, ale też określonych "czasów" tych sekwencji.
Krótko mówiąc - żeby wykrył ewentualne opóźnienia/przyspieszenia.
> Piszesz o jakimś niebezpieczeństwie. Może podchodzisz do tematu z
niewłaściwej strony?
Temat jest ściśle tajny niestety, i nie mogę pisać o szczegółach, bo
zaraz potem musiałbym was wszystkich zabić :) No a ile bym się musiał
najeździć w tym celu ??
OK - niebezpieczeństwo może (nie musi) powstać, jeżeli zadany czas
uruchomienie tego przekaźnika zostanie przekroczony.
Przy czym - uwaga - czas ten nie jest stały.
Tj. może być zmieniany przez obsługę co jakiś czas.
Obecnie jest on zapamiętywany w obu MCU, i w trakcie pracy odmierzanie
czasu odbywa się w obu.
Podstawowe ryzyko, to właśnie nieprzewidziane zachowanie programu, na
skutek występujących bardzo silnych zakłóceń EM, czy to na zasilaniu.
(oczywiście, elektronika posiada ekrany EM).
Praktyka pokazała jednak, że na uderzający w okolicy piorun nie ma siły,
i MCU potrafi zrobić coś, co wydaje się niewykonalne - np. zmienić
ustawienia w jakimś rejestrze, co powoduje że sam program działa nadal
poprawnie, tylko nie zupełnie w tym otoczeniu MCU co trzeba :)
Dlatego chodzi mi o to, żeby wykonanie "uruchomienia" i - co ważniejsze
- jego dalsze utrzymanie w działaniu - nie mogło się odbyć po jakimś
przypadkowym wejściu do procedury.
Oczywiście mogę pozostać przy obecnym rozwiązaniu - świat się nie
zawali, choć miałem nadzieję na uproszczenie (w sensie braku
konieczności programowania 2 MCU).
Dodatkowym plusem byłoby zmniejszenie ryzyka awarii urządzenia,
spowodowanego tym, że MCU jednak są bardziej podatne na to niż np.
układy logiczne.
Taka awaria nie skutkuje niebezpieczeństwem o którym tu mowa, ale - po
prostu może wyłączyć urządzenie. Choć jak dotąd nie pojawiło się to
więcej niż kilka razy na kilkaset urządzeń.
A z dwojga złego - lepiej, żeby sterownik się wysypał całkiem, niż gdyby
miał źle działać.
__________________________
Co propozycji dotyczących MCU - używam atmeli.
Nie wiem, czy są potwierdzone analizy, że inne MCU są bezpieczniejsze ?
W oprogramowaniu są stosowane rozwiązania zwiększające bezpieczeństwo -
np. przechowywanie zmiennych w wielu komórkach pamięci i kontrola, czy
wszystkie są zgodne itp.
Oczywiście także kontrola CRC pamięci programu po restarcie, czy też
właśnie okresowe restartowanie systemu co godzina.
To są rzeczy, które istotnie zwiększyły niezawodność - jak dotąd
był jeden niebezpieczny przypadek (jeszcze w czasie kiedy nie stosowałem
rozwiązania z dwoma MCU).
No, ale wolę dmuchać na zimne - teoretycznie istnieje ryzyko dla zdrowia
czy życia ludzie - żartów więc nie ma.
-
14. Data: 2017-03-08 02:57:58
Temat: Re: dziwny problem
Od: "Bo(o)t Manager" <b...@U...wp.pl>
Dnia Tue, 07 Mar 2017 13:47:22 -0800, V.L.Pinkley napisał(a):
>[ciach]
> Co do tematu, klepanie pinem z wypełnieniem 50% + filtr RC + komparator
> okienkowy obejmujący 2,5V +-0,5V.
>
> CPLD to raczej armata na muchy, toż dla 3 pinów wystarczy 2 układy.
>
> OT.
> W mikrofalówkach są 2 włączniki, w przypadku awarii drzwiczek jest
zwarcie
> i leci bezpiecznik.
A nie lepiej prosty step up? tranzystorem steruje noga proca, jeden
tranzystor, jedna cewka, dioda, i przekaźnik na 12V, może jeszcze
kondensator do tego i bezpiecznik.
Jak prawidłowo działa uc to generuje prostokąt, wtedy napięcie jest
podbijane i przekaźnik się załącza, w innym przypadku czy to 0 czy 1,
przetwornica nie działa.
--
Pozdrawiam
Bo(o)t manager
-
15. Data: 2017-03-08 07:34:04
Temat: Re: dziwny problem
Od: Marek <f...@f...com>
On Tue, 7 Mar 2017 19:58:36 +0100, sundayman
<s...@p...onet.pl> wrote:
> PS; oczywiście oprogramowanie wykorzystuje watchdogi. Ale
> to niestety nie jest zabezpieczenie przed nietypowymi zachowaniami
> programu - nie zapewnia bezpieczeństwa.
Przekombinowujesz. Poprawność działania programu uzyskuje się przede
wszystkim poprzez odpowiednie testy. Takoż samo uzyskuje się
poprawność (klasę) działania urządzenia jako całości w określonych
warunkach.
Jeśli używasz zwrotu "nietypowe działanie programu" w kontekscie
własnych urządzeń produkcyjnych (w rozumieniu końcowych) to od razu
sugeruje, że nie masz wdrożonych odpowiednich testów oprogramowania i
puszczasz urządzenia na żywioł. Konsekwencją tego jest później
kombinowanie i rozwiązywanie nieistniejących problemów.
--
Marek
-
16. Data: 2017-03-08 07:40:03
Temat: Re: dziwny problem
Od: Marek <f...@f...com>
On Tue, 7 Mar 2017 21:38:05 +0100, Sebastian
Biały<h...@p...onet.pl> wrote:
> Mam piec weglowy z podejnikiem węgla sterowany z jednego
przekaźnika.
> Kilkukrotnie sterownik szlag trafił. Albo nie łączy albo skleja.
Każdy przekažnik ma ścisle odkreślony. min. prąd styków, który jest
wymagany do ich prawidłowej konserwacji (prawidłowego załączania),
stawiam źle dobrany przekaźnik., wręcz po co w ogóle przekaźnik.
--
Marek
-
17. Data: 2017-03-08 07:54:03
Temat: Re: dziwny problem
Od: Marek <f...@f...com>
On Wed, 8 Mar 2017 00:51:53 +0100, sundayman
<s...@p...onet.pl> wrote:
> Co propozycji dotyczących MCU - używam atmeli.
> Nie wiem, czy są potwierdzone analizy, że inne MCU są
bezpieczniejsze ?
Oczywiście, przede wszytkim do trudnych warunków używa się wersji I
(industrial), które m.in. mają szerszą temp. stosowania. Każdy model
PICa jest dostępny w wersji I, nie wiem czy atmele tak mają.
Oczywiście nie wspinając o odpowiednmi projekcie pcb.
--
Marek
-
18. Data: 2017-03-08 07:58:10
Temat: Re: dziwny problem
Od: Marek <f...@f...com>
On Wed, 8 Mar 2017 00:51:53 +0100, sundayman
<s...@p...onet.pl> wrote:
> Watchodog użyty jest w obrębie całego programu. Wyobraź sobie
teraz, że
> program w trakcie obsługi tego najważniejszego procesu zostanie
> niespodziewanie "przerzucony w inne miejsce. Nadal będzie się
wykonywał,
> być może nawet poprawnie. A watchdog będzie nadal pracować.
Źle zaprojektowany program, nieprawidlowa implementacja obsługi
watchdoga. Wyczuwam bascom albo inne tego typu pseudo języki...
> To niestety zjawisko, które może realnie wystąpić, a nawet miałem
taki
> przypadek.
j.w.
--
Marek
-
19. Data: 2017-03-08 09:02:10
Temat: Re: dziwny problem
Od: slawek <f...@f...com>
On Tue, 7 Mar 2017 19:58:36 +0100, sundayman
<s...@p...onet.pl> wrote:
> Obecnie jest to rozwiązane w taki sposób, że w układzie są dwa MCU.
Z ciekawości: a zrobiłeś matematyczną analizę że drugi MCU zmniejsza
ryzyko? Bo może być dokładnie odwrotnie: dwa MCU to dwa razy większa
szansa awarii plus problemy dodatkowe...
-
20. Data: 2017-03-08 09:18:10
Temat: Re: dziwny problem
Od: slawek <f...@f...com>
On Tue, 7 Mar 2017 22:10:07 +0100, Piotr Wyderski <n...@m...com> wrote:
> No to proponuję sterować przekaźnikiem przez tranzystor z
prostownikiem
Problem numer zero: przekaźnik może nie rozłączyć, np. stopione
zestyki.
IMHO sensowne byłoby połączenie szeregowe przekaźnika i czegoś
półprzewodnikowe (tranzystor?). To półprzewodnikowe po generalnym
kaboom powinno ładnie się psuć do przerwy w obwodzie.
Z totalnie głupich (tzn. analogowych) trików: bezpiecznik
bimetaliczny. W każdym czajniku elektrycznym coś takiego jest.