logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak uniknąć resetów uC przy sterowaniu silnikami przez przekaźniki?

PietrekDer 16 Lip 2008 16:23 3753 16
  • #1 5348181
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Witam
    - Wstęp:
    Zrobiłem układ który zasilam jak na rysunku poniżej, tzn: Najpierw 12V idzie na duży dławik i zasila kondzior 4700uF, 100nF i trzy stabilizatory: jeden 7805 i dwa 7806. Za stabilizatorami też są standardowe kondziory, 7805 zasila elektronikę i uC (mega8), a każdy 7806 jedno serwo. Tuż za kondensatorem 4700uF, ale jeszcze przed stabilizatorami (czyli nadal 12V) poprzez mały dławik zasilam cewki dwóch przekaźników. Przekaźniki mają diody. Do przekaźników podłączam osobne źródło zasilania - prostownik 12V/6A, ich złącza (NC, NO, COM) łącze jak na rysunku.
    - Problem:
    Gdy nie podłączam silnika do przekaźników, wszystko działa OK, ale gdy podłącze silnik, elektronika się resetuje przy "pstrykaniu" przekaźnikami, co jest dziwne, bo przekaźniki tworzą izolację galwaniczną od silnika, dodatkowo elektronika i silnik mają osobne zasilania. Co prawda przy włączaniu silnik potrafi szarpnąć i ze 3A, ale głównie resety są gdy wyłączam przekaźnik (włączam jeden PK na ok 1s, silnik się kręci, i gdy wyłączam ten PK dość często jest reset ).
    Załączniki:
    • Jak uniknąć resetów uC przy sterowaniu silnikami przez przekaźniki? uklad.GIF (4.89 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #2 5348274
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 123
    Pokaż schemat "uC i całej elektroniki" bo to w niej jest pies pogrzebany.

    Zakłócenia EM obstawiam.
  • #3 5348695
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Oki, podaję schemat oraz wzór płytki PCB, w sumie żadna to tajemnica ani projekt NASA :) Dokładniejszy opis można zobaczyć tutaj.

    AHA, na schemacie jest mały błąd, normalnie nie ma rezystora na emiterze tranzystora sterującego przekaźnikiem (R8, R10) oraz VCC przekaźnika jest wpięte pod 12V przez mały dławik 100uH.

    Jeszcze później może spróbuje przekaźniki na jakimś kabelku umieścić tak ok 20cm od elektroniki.
    Załączniki:
    • PCB.pdf (53.75 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Schematic.pdf (68.58 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 5348866
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 123
    No cóż, elektronika wygląda solidnie i profesjonalnie. Odsunięcie przekaźników powinno pomóc. Jeszcze przed tym spróbuj zewrzeć wyprowadzenia rezystora R23 (pullup resetu) Kondensator od resetu jest bardzo blisko przekaźnika i nie zdziwiłbym się gdyby to on "czarował".

    Obstawiałbym że to samoindukcja (pole EM) jest odpowiedzialna za "złe czary" ;)
  • #5 5349922
    elezibi
    Poziom 21  
    Posty: 605
    Pomógł: 18
    Ocena: 122
    McRancor napisał:
    No cóż, elektronika wygląda solidnie i profesjonalnie.


    ???

    zasilanie cewek przekaźników "leci przez" procesor!!!!
    reset podpięty za zworą bezpośrednio do zasilania cewek przekaźników!!!!
    nie szukałem więcej
    rozprowadzenie zasilania :oops:
  • #6 5349939
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 123
    Przecież wyraźnie napisał że zasilanie cewek jest z 12V...

    Fakt może i są niedociągnięcia, ale nie ma tragedii. Rozprowadzenie zasilania do najlepszych nie należy - ale przynajmniej kondensatory są ;)

    Przetnij tą olbrzymią pętle masy w jednym miejscu.
  • #7 5349984
    elezibi
    Poziom 21  
    Posty: 605
    Pomógł: 18
    Ocena: 122
    przepraszam nie doczytałem tylko polukałem na pcb

    spróbowałbym przerzucić reseta na drugą stronę procka gdzieś na ścieżkę resetu do złącza (na pająka),
    odciął pozostałą ścieżkę po resecie ,
    wywaliłbym zworę a resztę (po prawej) podpiął prosto z stabilizatora

    ciekawe jakie prądy i napięcie gdy odpuszcza przekaźnik ??
  • #8 5350791
    OldSkull
    Poziom 28  
    Posty: 1159
    Pomógł: 61
    Ocena: 184
    spróbuj dać dławik na wejściu zasilania uC - zabezpieczy przed spadkiem zasilania (gdyby problemy były spowodowane właśnie tym). Poza tym ścieżka resetu jest trochę blisko ścieżek zasilających silniki, mogą iść zakłócenia.

    PS:
    a nie wydaje Ci się kiepskim pomysłem zasilanie serw przez przetwornik liniowy? Sądzę, że lepiej byłoby użyć PWMa.
  • #9 5350978
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Witam
    Kondensator od resetu dałem w inne miejsce i trochę pomogło, rzadziej się resetowało, ale dopiero zamocowanie przekaźników w odległości ok 15cm od całej elektroniki rozwiązało problem. A zasilanie przekaźników biorę zaraz za diodą zabezpieczającą przed odwrotnym wpięciem zasilania. I mam jeszcze pytanie, bo zastosowałem te najtańsze i najzwyklejsze przekaźniki JZC-20F:
    Jak uniknąć resetów uC przy sterowaniu silnikami przez przekaźniki?
    i może gdybym zastosował jakieś lepsze przekaźniki (np RM96) to nie wnosiłyby aż takich zakłóceń ?

    Hmm, co do zasilania serw, to faktycznie jedno jest potężne (20 kg) i może faktycznie lepiej by zasilić czymś innym, bo bez obciążenia przy obracaniu pobiera ok 0.6A, a jak zbyt obciążę zasilacz, to wtedy serwa nie trzymają. Ale nie wiem jaki układ byłoby dobrze zastosować do zasilania serw.

    Ostatnio zacząłem czytać te artykuły o zakłóceniach z EdW, i tam właśnie było napisane, że należy unikać jakichkolwiek pierścieni na płytce, szczególnie z masy :] I tak będę musiał zaprojektować jeszcze jedną płytkę, z lepszym zasilaniem i jego rozprowadzeniem. No i może z lepszymi przekaźnikami.
  • #10 5351777
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 123
    Jak będziesz projektował to wrzuć na forum - zawsze cudze oko zobaczy więcej. Zwierałeś rezystor? Dało rezultaty?

    Droższe przekaźniki nie pomogą tak jak pomoże najprostszy układ gasikowy RC.
  • #11 5352089
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Tak, ten rezystor od resetu całkiem wywaliłem i dałem zworę i przemieściłem kondensator i trochę pomogło. Myślę że gdybym lepiej poprowadził ścieżki zasilania to by mogło działać bez umieszczania przekaźników poza płytką. W ogóle jak teraz patrzę, to układ zasilania wg mnie jest zły, biorąc pod uwagę w jakim projekcie to jest wykorzystywane i w następnej wersji chcę go przerobić. Kolega OdlSkull wspominał coś o zasilaniu PWM serw. Jakie układy byście polecali do zasilania poszczególnych bloków? (np serwa na LM2577T, czy elektronika mogłaby zostać na 7805, czy także jakiś stabilizator impulsowy).
  • #12 5354416
    Fyszo
    Poziom 37  
    Posty: 3987
    Pomógł: 223
    Ocena: 115
    Daj gasiki RC na silnikach.
  • #13 5382097
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Witam
    Zaprojektowałem już drugą wersję płytki, sam schemat uległ niewielkiej zmianie, teraz wyjścia z układu 4060 można przełączać bramkami NAND, a nie jak wcześniej - zworą. Zastosowałem przekaźniki RM96P-5V, przynajmniej obudowa jest zalana i styki nie są narażone na wilgoć itp ( tamten przekaźnik doprowadzał mnie do szaleństwa, kiedy okazało się że jedne styki nie przewodzą, a wystarczyło przetrzeć papierem ściernym, a przekaźnik był prosto ze sklepu! ). Kompletnej przebudowie uległ jedynie blok zasilania, zasilanie starałem się rozprowadzać zgodnie z rysunkiem poniżej, unikając połączeń oznaczonych na czerwono:
    Załączniki:
    • Płytki.pdf (99.53 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Schemat.pdf (32.83 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Jak uniknąć resetów uC przy sterowaniu silnikami przez przekaźniki? zasilanie.GIF (2.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #14 5413249
    kulmar
    Poziom 33  
    Posty: 1897
    Pomógł: 184
    Ocena: 368
    PietrekDer napisał:
    Witam
    Tuż za kondensatorem 4700uF, ale jeszcze przed stabilizatorami (czyli nadal 12V) poprzez mały dławik zasilam cewki dwóch przekaźników.


    Jeśli po włączeniu tranzystora cewki przekaźnika przez dławik płynie prąd, to co się dzieje po wyłączeniu tranzystora ? Diody na cewkach przkaźników mają za zadanie rozładować te cewki po wyłączeniu tranzystorów, kierując prąd cewki do zasilania. I to zasilanie powinno być zablokowane kondensatorem (np 100uF/16V), tak , aby ten zwrotny prąd nie powodował tetnień na zasilaniu. Jeżeli w szereg z tymi cewkami dodany jest dławik, to mało, że prąd cewek nie ma gdzie "wrócić", to jeszcze sam dławik nie ma gdzie oddać zgromadzonej energii w chwili, gdy wyłączymy tranzystory przekaźników.

    Pozdrawiam
    Mariusz
  • #15 5415432
    PietrekDer
    Poziom 13  
    Posty: 134
    Pomógł: 1
    Ocena: 5
    Aha, dziękuję za dobrą radę, uwzględnię to przy poprawkach do drugiej wersji sterownika :) Myślę też aby zrobić podobny sterownik do tego, tylko na jakimś PIC-u, podobno są bardziej odporne na zakłócenia, i zobaczę jak to wpłynie na częstość resetów itp.
  • #16 5416215
    kulmar
    Poziom 33  
    Posty: 1897
    Pomógł: 184
    Ocena: 368
    PietrekDer napisał:

    Gdy nie podłączam silnika do przekaźników, wszystko działa OK, ale gdy podłącze silnik, elektronika się resetuje przy "pstrykaniu" przekaźnikami, co jest dziwne, bo przekaźniki tworzą izolację galwaniczną od silnika, dodatkowo elektronika i silnik mają osobne zasilania. Co prawda przy włączaniu silnik potrafi szarpnąć i ze 3A, ale głównie resety są gdy wyłączam przekaźnik (włączam jeden PK na ok 1s, silnik się kręci, i gdy wyłączam ten PK dość często jest reset ).


    Ze schematu wynika, że są to silniki prądu stałego, prawdobodobnie komutatorowe. Taki silnik ma swoją indukcyjność, tak więc w momencie wyłączenia, jeśli nie ma żadnych układów gaszących przepięcia, na stykach przekaźników w momencie wyłączania pojawia się wysokie napięcie, powodujące przeskok iskry - cewka silnika musi się rozładować. Jest to sytuacja zupełnie analogiczna do wyłączania cewki przekaźnika (i tam są diody). Najprostszym rozwiązaniem zapobiegającym takim przepięciom jest dołączenie równolegle do styków zasilających silnik - kondensatora. Wartość napięcia, do jakiego naładuje się kondensator w momencie wyłączenia silnika zależy od indukcyjności silnika i prądu, jaki przez niego płynął oraz oczywiście pojemności kondensatora. W idealnym przypadku (pomijając rezystancje uzwojeń i inne straty) energia cewki silnika zostanie przekazana do kondensatora.

    ½CU² = ½LI²

    To równanie pozwala na oszacowanie wartości potrzebnego kondensatora.

    Pozdrawiam
    Mariusz
  • #17 5416333
    Fyszo
    Poziom 37  
    Posty: 3987
    Pomógł: 223
    Ocena: 115
    Na samym komutatorze powstaje mnóstwo impulsów - dlatego gasiki RC na takich silnikach to podstawa.

Podsumowanie tematu

✨ Problemem są resetowania mikrokontrolera Atmega8 podczas sterowania silnikami DC przez przekaźniki, mimo zastosowania galwanicznej izolacji i osobnych zasilaczy dla elektroniki i silników. Przyczyną są zakłócenia elektromagnetyczne generowane przez cewki przekaźników i silników, a także niewłaściwe rozprowadzenie zasilania i ścieżek masy na płytce PCB. Zalecane rozwiązania to odsunięcie przekaźników od elektroniki (ok. 15-20 cm), poprawa układu zasilania eliminująca duże pętle masy, zastosowanie dławików i kondensatorów filtrujących (np. 100 µF/16 V) na zasilaniu cewek przekaźników, a także gasiki RC na silnikach i cewkach przekaźników w celu tłumienia przepięć. Wskazano, że diody zabezpieczające cewki przekaźników powinny mieć odpowiednie kondensatory blokujące, aby prąd zwrotny nie powodował tętnień. Zasugerowano także rozważenie zasilania serw impulsowo (PWM) zamiast liniowo (7806), np. za pomocą przetwornic impulsowych LM2577T. W nowej wersji projektu zastosowano przekaźniki RM96P-5V z obudową zalaną żywicą dla lepszej niezawodności. Dodatkowo podkreślono konieczność stosowania gasików RC na silnikach komutatorowych ze względu na powstawanie impulsów zakłócających na komutatorze. W planach jest także testowanie mikrokontrolera PIC, który może być bardziej odporny na zakłócenia.
Wygenerowane przez model językowy.
REKLAMA