Skocz do zawartości

Zakłócenia z którymi nie wiem jak sobie poradzić


Edek68

Pomocna odpowiedź

Dzień dobry,

od jakiegoś czasu stosuję arduino, jako pewnego rodzaju protezę na wyjątkowo nieudaną chińską maszynę, którą kupiłem na allegro. Urządzenie zasilane 380V, standardowo PLC itd. na 24V. Niestety nie miałem dostępu ani do kodu źródłowego programu do PLC ani do HMI, a firma, która sprzedaje kompletnie olała temat. 
Zacząłem więc, nie znając języka drabinkowego, stosować arduino jako pewnego rodzaju sposób na braki urządzenia. 

Arduino Mega, do którego podłączyłem kilka czujników i kilka przekaźników do sterowania np. elektrozaworami. Głównym zadaniem arduino jest wykrycie anomalii pracy urządzenia (które mogą doprowadzać do uszkodzeń mechanicznych) i zatrzymanie awaryjne. Od początku zauważyłem, że wpinanie czujników na wejścia cyfrowe nie działa poprawnie. Dostawałem fałszywe 0 lub 1. Przepiąłem zatem na analogowe i zauważyłem, że faktycznie w czasie pracy dostaję dziwne wartości, ale dając jakieś przedziały byłem w stanie to opanować (czyli np. 0 to dawałem 0-100 a dla 1 musialem ustawiac 900-1023).

Niestety i tak co jakiś czas dostaję fałszywe sygnały i obstawiam, że przez zakłócenia elektromagnetyczne (urządzenie zasilane 3 fazami). Jak testuję na sucho to wszystko działa "idealnie" nawet przez kilkadziesiąt minut. Jak zaczynam pracować z produktem (czyli urządzenie działa w 100%) to zaczynają się cyrki.

Arudino zasilam przetwornicą LM2596 (24v -> 5v). Ustawiałem nawet zasilanie na 5,5V bo przy pracy i uruchamianiu np. elektrozaworu (przekaźnik -> cewka) spadało do 4,2V i wówczas przestawały działać np. czujniki optyczne 18-D80NK.  Testowałem różne napięcia od 5,1 do nawet 6,5V, ale i tak pracuje to różnie i co jakiś czas bez wyraźnego powodu zatrzymuje mi awaryjnie urządzenie (czyli dostaję np. fałszywy sygnał z czujników optycznych). 
Stosuję przekaźniki, które teoretycznie filtrują zakłócenia powodowane przez cewki (czytałem, że one też mogą generować takie anomalie) - http://electropark.pl/moduly-wejsc-wyjsc/4941-modul-8-przekaznikow-5v-z-separacja.html
Zastosowałem nawet przekaźnik półprzewodnikowy i zamieniłem cewkę 24v na 230V aby działał. Nic to jednak nie pomogło. 

Nie jestem elektrykiem a po prostu wpakowałem się i staram się zaradzić. Czy ktoś mógłby doradzić jak poradzić sobie z tym problemem? 

Link do komentarza
Share on other sites

23 godziny temu, Edek68 napisał:

Arduino Mega, do którego podłączyłem kilka czujników i kilka przekaźników do sterowania np. elektrozaworami. Głównym zadaniem arduino jest wykrycie anomalii pracy urządzenia (które mogą doprowadzać do uszkodzeń mechanicznych) i zatrzymanie awaryjne. Od początku zauważyłem, że wpinanie czujników na wejścia cyfrowe nie działa poprawnie. Dostawałem fałszywe 0 lub 1. Przepiąłem zatem na analogowe i zauważyłem, że faktycznie w czasie pracy dostaję dziwne wartości, ale dając jakieś przedziały byłem w stanie to opanować (czyli np. 0 to dawałem 0-100 a dla 1 musialem ustawiac 900-1023).

@Edek68 witam na forum 🙂 

Z tego co czytam rozumiem, że masz tam sygnał 0-5 V i są tam jakieś sygnały z czujników obarczone błędami. Nie masz dostępu do oscyloskopu żeby sprawdzić jak wyglądają te błędy, jaki mają czas trwania?

  • Możesz spróbować filtr RC który odetnie ci szybkozmienną część sygnału - losowe impulsy i inne śmieci.
  • Możesz uśredniać wynik - zrobić średnią kroczącą na wartościach cyfrowych. Tablica 10 zmiennych, dokładasz na ogonie nowe pomiary i przesuwasz. Jeżeli wynik średniej z tablicy zmieści się w normie, np. wyjdzie 0-0,1 lub 0,9-1 to znak że jest to jeden ze stanów logicznych.
  • Może przerzutnik schmitta na wyjściu czujników? Ma pewną histerezę. Albo komparator z histerezą? Strefa nieczułości pozwoli odrzucić drobne wahania.
23 godziny temu, Edek68 napisał:

Arudino zasilam przetwornicą LM2596 (24v -> 5v). Ustawiałem nawet zasilanie na 5,5V bo przy pracy i uruchamianiu np. elektrozaworu (przekaźnik -> cewka) spadało do 4,2V i wówczas przestawały działać np. czujniki optyczne 18-D80NK. 

To coś jest nie tak z zasilaniem. Spróbuj dać kondensatory filtrujące i odsprzęgające w okolicy Arduino i przekaźników. Przy przekaźniku jakiś większej pojemności. Nie wierzyłbym przetwornicy za 8zł że jest w stanie poprawnie to zasilić. Masz możliwość sprawdzić jak wygląda napiecie pod obciążeniem, czy są duże oscylacje?

23 godziny temu, Edek68 napisał:

Testowałem różne napięcia od 5,1 do nawet 6,5V, ale i tak pracuje to różnie i co jakiś czas bez wyraźnego powodu zatrzymuje mi awaryjnie urządzenie

No bo zasilanie jest kiepskie. Dodaj kondensatory tam gdzie jest większe zużycie energii a najlepiej wymień te przetwornicę na coś porządniejszego.

Link do komentarza
Share on other sites

Przetwornica to by jeszcze uszla...kondensatory napewno by nie zaszkodzily...jesli na "sucho" dziala bez zarzutu a po wlaczenie (domyslam sie) silnika ktory jest blisko arduino moze warto by to arduino upchnac do jakiejs metalowej obudowy i ta obudowe pod mase...najlepiej zeby te przewody od czujnikow tez byly ekranowane i masz 99.9% ze nie bedzie zaklocen..

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.