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

Problem długich linii połączeniowych czujników, uC AVR

duzamasa 25 Lis 2005 12:30 3843 12
REKLAMA
  • #1 2024738
    duzamasa
    Poziom 14  
    Posty: 99
    Pomógł: 5
    Ocena: 1
    Linia długa stanowi źródło zakłóceń w wyniku indukowania się w niej prądów. Podczas wykorzystania w systemie mikroktrolerowym czujników połączonych z systemem za pomocą długich kabli, mogą wystąpić na linii wysokie napięcia mogące uszkodzić niezabezpieczony mikrokontroler. Aby temu zapobiec stosuje się obwody izolujące galwanicznie czujnik od mikrokontrolera. Są one jednak rozbudowane, ponieważ wymagają dodatkowego źródła zasilania oddzielonego galwanicznie (czyli nowego trasformatora, stabilizatora napięcia itd.). Innym sposobem zabezpieczenia się przed szkodliwymi zakłóceniami jest zastosowanie obwodów wykorzystujących proste układy całkujące oraz diody chroniące przed wyższym napięciem od napięcia zasilania. Przykład takiego układu przedstawiony jest na rysunku "zabezpieczenie.gif" zaczerpnięty z P. Hadam "Projektowanie systemów mikrokontrolerowych". Jednak jest to także rozbudowany układ wymagający zasilania 12 V (ale już nie musi być oddzielony galwanicznie). Autor podaje, że ten układ można zmniejszyć.
    Po tym wstępie zadam pytanie. Chcę wykorzystać mikrokontroler AVR: ATmega128. Wejścia każdego mikrokotrolera są zabezpieczone przy pomocy układu jak na rysunku "wejscie_AVR.gif" (wewnątrz układu scalonego, dokumentacja str. 63). Znajdują się tam dwie diody oraz kondensator o nieznanych parametrach. Diody, jak zauważyłem, wytrzymują ciągły prąd rzędu kilkunastu mA bez uszkodzenia. Jest to część obwodu zabezpieczającego jak na rysunku "zabezpieczenie.gif". Czy zatem w roli zabepieczenia przed zakłóceniami nie wystarczy wykorzystać obwód wewnętrzny mikrokontrolera zabezpieczony na wejściu dodatkowo rezystorem np. 1 k tworzącym układ całkujący z wewnętrzym kondensatorem i mocno ograniczającym prąd napięć zakłócających większych od napięcia zasilania i masy układu? Takie rozwiązanie mocno zmniejszyłoby koszt mojego układu (mam 10 takich wejść).
    Innym problemem jest powstawanie napięcia zaindukowanego pod wpływem skokowych zmian płynącego prądu w linii długiej. Wykonałem obliczenia dla linii długiej o indukcyjności jak na rysunku "indukcyjność.gif" o l = 30 m, a = 0,5 mm; d = 1,5 mm; skoku płynącego prądu I = 100 uA; czas przyrostu t = 1ns; zaindukowane napięcie wynosi U = 2,15 V zatem nie jest zbyt niebezpieczne. Czy gdzieś nie popełniłem błędu w tych obliczeniach?
    Załączniki:
    • Problem długich linii połączeniowych czujników, uC AVR zabezpiezenie.gif (5.2 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Problem długich linii połączeniowych czujników, uC AVR wejscie_AVR.gif (2.92 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Problem długich linii połączeniowych czujników, uC AVR indukcyjność.gif (1.88 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 2026437
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    ja powiem tak z doświadczenia - potrzebowałem podłączyć czujnik temperatury i2c na odległości ok.50m i nie byłem pewien czy będzie dobrze i przeprowadziłem test u mnie w pracy w rozdzielni NN. Zasilana jest ona trzema transformatorami 15kV/400V o mocy 630kVA wykorzystywanymi na 80% mocy i układ mikroprocesorowy odzczytywał temp bez najmniejszych problemów przez całą zmianę (8 godzin) a kabla rozwinąłem do czujnika ok 80m pomiędzy stycznikami, mawostartami, falownikami i NIC NIE ZAKŁUCIŁO KOMUNIKACJI i2c (bezpośredniej) ..... sam nie wierzyłem ale tak było - w dodatku na przewodzie nieekranowanym 5 x 0,75mm2

    pozdrawiam.

    Dodano po 3 [minuty]:

    jedyne co - to na nóżkach czujnika dolutowałem na zasilaniu kondensatorek 100nF (wg noty aplikacyjnej)
  • REKLAMA
  • #3 2026603
    duzamasa
    Poziom 14  
    Posty: 99
    Pomógł: 5
    Ocena: 1
    Trudno mi tutaj dyskutować. Jednak kłopoty w niektórych przypadkach się zdarzają. Nawet napisano książki o zakłóceniach elektromagnetycznych: WNT i chyba coś w tym jest. Projektowane urządzenie ma działać "zawsze i wszędzie", więc muszę mieć większą pewność.
  • REKLAMA
  • #4 2026755
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    rozumię i wiem, że zakłucenia są i przeszkadzają - nie potrafię do końca wytłumaczyć mojego przykłądu.... myślę, że są bardzo trudno zakłucalne układy, w których nie ma jakiejś pętli zamkniętej "na około" np. masa połączona z uziemieniem, różne zasilania itp... w moim przykładzie to jednym przewodem była realizowana transmisja jak i zasilanie czujnika co nie daje zbytniej możliwości zakłuceń - na wszystkie żyły działa takie samo zakłucenie co może zmieniać ich potencjał ale względem "ziemi" nawet znacznie. Natomiast pomiędzy żyłami nie występuje różnica potencjałów (spowodowana zakłuceniami) co nie wywołuje przepływu prądu "zakłuceń".

    jeszcze zapomniałem dodać, że u nas w firmie na dachu jest nadajnik (nadajniki) ERA GSM....
  • Pomocny post
    #5 2027094
    megao
    Poziom 25  
    Posty: 691
    Pomógł: 66
    Ocena: 91
    Jakiś czas temu budowałem sterownik oświetlenia na uK AVR. Sterownik ten współpracuje z kilkoma czujnikami oraz steruje dwoma optotriakami. Wszystkie połączenia elektryczne z tymi elementami mają długość do 10m.
    W praktyce okazuje się, że dołączenie tak długich "anten" skutkuje występowaniem różnych przypadkowych zakłóceń w pracy układu.
    Jeśli wejścia/wyjścia mikrokontrolera pracują dwustanowo (włącz/wyłącz), to rozwiązanie jest stosunkowo proste, np. izolacja optyczną. Praktyczna realizacja z wykorzystaniem transoptorów. Transoptor powinien być umieszczony po stronie odbiornika, np. przed portem mikrokontrolera współpracującego z odległym czujnikiem. W szybkich układach można wykorzystać specjalne transformatorki.
    Rozwiązanie z transoptorami wykorzystałem w innym sterowniku i ten działa bezproblemowo bez żadnych niespodzianek.
  • #6 2027576
    duzamasa
    Poziom 14  
    Posty: 99
    Pomógł: 5
    Ocena: 1
    Może przedstawię swoją koncepcję w inny sposób. Na rysunku "proste zabezpieczenie.gif" zamieściłem obwody, które powinny chronić mikrokokontroler przed zbyt dużymi przepięciami - służą do tego diody oraz rezystor. Jest to bardzo prosta ochrona, ale według mnie powinna wystarczyć przeciwko uszkodzeniu układu. Ponieważ mikrokontrolery AVR zawierają dwie diody na wejściu każego pinu (na rysunku czerwona kreska oddziela układ scalny uC od pozostałych elmentów elektronicznych), to w celu zmniejszenia kosztów wykorzystałbym je w roli zabezpieczeń. Co o tym sądzicie? Zdaję sobie sprawę, że mój układ będzie wrażliwy na zakłócenia, ale poradzę sobie z nimi programowo rzadko próbkując. W tym rowiązaniu zależy mi tylko na zabezpieczeniu uC przed zniszczeniem/uszkodzeniem obwodów wejściowych.
    Załączniki:
    • Problem długich linii połączeniowych czujników, uC AVR proste zabezpieczenie.gif (3.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #7 2027714
    frohme
    Poziom 21  
    Posty: 421
    Pomógł: 25
    Ocena: 15
    Jeden raz w mojej praktyce zdarzyło się coś co mnie wprawiło w zdumienie, ale fak zaistniał. Było tak - profesjonalny system energetyczny ze sterowaniami Westinghousee'a i podłączane sygnały z przetworników położenia w pętli prądowej 4-20 mA długość linii około 50 m. System wariuje bo sygnały są niestabilne, na zdrowy rozum niska oporność pętli nie jest przyczyną. Szukanie dziury w całym, czyli przetworniki i nic. Wreszcie przez przypadek podłączyłem diodę LED do końcówek lini - świeci. No to zwarłem linię przy przetworniku - LED świeci. Po ujawnieniu tego faktu widziałem jak kask kierownika projektu troszkę się uniósł na włosach (tak sam z siebie). Teraz przyczyna - obok blok energetyczny mocy 200 MW ze sterowaniem wzbudzenia generatora tyrystorami (prądy do 2 kA). Niestety w tym przypadku trzeba było dobierać obwody przeciwzaklóceniowe. Nie ma uniwersalnego zabezpieczenia !!!!!!!! 99% da się przewidzieć jak w twoim przypadku.
  • #8 2027827
    duzamasa
    Poziom 14  
    Posty: 99
    Pomógł: 5
    Ocena: 1
    Może rzeczywiście trochę przesadziłem pisząc "zawsze i wszędzie" :D. Projektowane urządzenie nie będzie stosowane w polu tak silnych zakłóceń.
  • Pomocny post
    #9 2027875
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Opornik szeregowy na wejściu zawsze pogarsza parametry transmisyjne toru (dokładność, co oczywiście nie dotyczy odczytu stanu styku). Drugi problem to brak w większości danych katalogowych parametrów diod tłumiących przepięcia wewnątrz scalaka (dopuszczalna moc wytracana, prąd maksymalny). Trzeci problem w przypadku zastosowania dodatkowych zwykłych diod zabezpieczających bezpośrednio na porcie to fakt, że tak naprawdę nie wiadomo jaka część prądu popłynie przez nie, a jaka przez wewnętrzne diody procesora. Jeśli chodzi o przepięcia generowane w przewodzie, to znacznie gorsze są te od pól zewnętrznych (jeśli takowe występują).

    W silnie zakłóconych środowiskach pozostaje tylko optoizolacja na wejściu procesora, natomiast dla transmisji precyzyjnych pomiarów analogowych w pierwszym podejściu pętla prądowa, w drugim konwersja przy czujniku na sygnał cyfrowy i transmisja szeregowa (I2C, RS485, CAN lub nawet ETHERNET ).

    I jeszcze taka uwaga - jeśli układ jest na tyle rozległy, że musisz sięgać do równań telegrafistów, to chyba powinieneś zmienić koncepcję transmisji (właśnie zastosować jakieś układy transmisji cyfrowej). No chyba, że chodzi o przesłanie pojedynczego styku.
  • #10 2027988
    duzamasa
    Poziom 14  
    Posty: 99
    Pomógł: 5
    Ocena: 1
    marek_Łódź: W moim konkretnym przypadku chodzi tylko o przełącznik (dokładnie kontaktron). Zdaję sobie sprawę, że parametry diód uC AVR nie są podawane przez producenta (pisałem o tym w pierwszym poście). Jak sprawdzałem przy innej okazji, to diody wytrzymują bez szwanku prąd kilkunastu mA. Szybkość działania nie jest aż taka ważna (wszelkie kontakrony/przełączniki nie są wykorzystywane dla dużych częstotliwości), a nawet wejście od przełączników jest próbkowane wielokrotnie w odstępach kilkunastu ms (bardzo dobry przykład to odfiltrowanie występujących drgań styków przycisków; ja w projekcie stosuję coś podobnego).

    W roli zabezpieczenia chciałbym wykorzystać TYLKO diody wewnętrzne mikrokontrolera (aby zmniejszyć koszty urządzenia).
    Muszę przyznać, że jest to rozwiązanie ryzykowne właśnie ze względu na brak danych producenta. Ale zwykłe diody (np. 1N4148) wytrzymują całkiem spory prąd (do 100 mA), a krótkie impulsy prądowe o czasie trwania 1 µs mogą mieć nawet wartość 4 A :!: Zatem pewien optymizm jest chyba uzasadniony (co o tym myślicie?).
  • REKLAMA
  • Pomocny post
    #11 2028077
    megao
    Poziom 25  
    Posty: 691
    Pomógł: 66
    Ocena: 91
    duzamasa napisał:
    W tym rowiązaniu zależy mi tylko na zabezpieczeniu uC przed zniszczeniem/uszkodzeniem obwodów wejściowych.

    Jeśli chodzi tylko o zabezpieczenie układu przed przepięciami na długiej linii, to wewnętrzne diody powinny wystarczyć w zupełności. No chyba, że do linii zostanie dołączone napięcie z jakiegoś źródła. Wtedy może być różnie.
  • Pomocny post
    #12 2030520
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Do łącznika to faktycznie wystarczy. Tyle, ze opornik szeregowy trochę zmniejszy odporność na zakłócenia. W układzie pasywnego styku można by nim zjechać o rząd (powiedzmy do 220Ω). Jak sobie podzielisz Twój wynik 2,5V przepięcia przez 220 dostaniesz 10 mA w impulsie przy mocy mikrowatowej (moc wynika z energii zgromadzonej w przewodach LI²/2), więc diody powinny to spokojnie wytracić.

    Diody to wytrzymają bez problemu. Przy przepływie impulsowym przez element bardziej istotna od prądu jest energia takiego impulsu, która w tym przypadku jest z pewnością mniejsza od np energii wyładowania statycznego gdy po spacerku po wykładzinie z tworzywa chwytasz taki scalak w rękę (a przecież te diody są w stanie obsłużyć takie kilowoltowe impulsy).
  • Pomocny post
    #13 2035571
    koval_s
    Poziom 18  
    Posty: 253
    Pomógł: 3
    Ocena: 20
    Może Panowie wystarczy pętla prądowa na transoptorku np. PC817, wtedy odizolujesz się od zakłóceń które napewno polecą do proca, optorka daj na podstawce w razie czego to się wymieni na nowy, ja takie coś na początek do transmisji używałem i na odcinku 200m cykało w 98%, tyle że na 1000Hz, czyli o niebo więcej niż potrzeba w tym temacie, koszt raczej nie jest wielki załóżmy: rezystorek 220om + PC817 = 2pln, oj zawyżyłem, ale niech będzie, jak proc poleci to proc + program = xxxPLN + koszty awarii, pozdrawiam...

Podsumowanie tematu

✨ Dyskusja dotyczy problemów związanych z zakłóceniami i przepięciami na długich liniach połączeniowych czujników w systemach mikroprocesorowych opartych na mikrokontrolerach AVR. Długie przewody mogą indukować prądy i generować wysokie napięcia, które mogą uszkodzić niechronione wejścia mikrokontrolera. Proponowane metody zabezpieczeń obejmują izolację galwaniczną (np. transoptory PC817), stosowanie prostych układów całkujących z diodami zabezpieczającymi, a także wykorzystanie wewnętrznych diod ochronnych mikrokontrolera. W praktyce stosowano różne rozwiązania: od testów z nieekranowanymi przewodami 5x0,75 mm² na odległość do 80 m z czujnikami I2C, po zastosowanie transoptorów dla sygnałów dwustanowych i pętli prądowych 4-20 mA. Wskazano, że opornik szeregowy na wejściu może pogorszyć parametry transmisji, ale pomaga ograniczyć prąd przepięć. W środowiskach silnie zakłóconych rekomendowana jest optoizolacja oraz transmisja cyfrowa (I2C, RS485, CAN, Ethernet). W przypadku prostych przełączników (np. kontaktronów) ochrona wewnętrznymi diodami mikrokontrolera może być wystarczająca, zwłaszcza przy niskiej częstotliwości próbkowania i odpowiednim filtrowaniu programowym. Podkreślono, że nie ma uniwersalnego zabezpieczenia, a dobór metody zależy od warunków środowiskowych i wymagań niezawodnościowych.
Wygenerowane przez model językowy.
REKLAMA