Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Arduino - Jak zrobić wykryć przerwanie obwodu?

pyko123 30 Jul 2016 12:32 2874 18
Optex
  • #1
    pyko123
    Level 8  
    Witam.

    Jak w najprościej w arduino zaprogramować i wykryć[red] przerwanie obwodu, tj. mam kabelek, który gdy zostanie np. przecięty to arduino "coś wtedy zrobi", dla przykładu zapali diodkę.
    Dodatkowe pytanie, jak długi może być taki kabelek 1, 10, 100, 200m ?

    Pozdrawiam.
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • Optex
  • #2
    dedito
    Level 39  
    pyko123 wrote:
    Jak w najprościej w arduino zaprogramować i zrobić przerwanie obwodu, tj. mam kabelek, który gdy zostanie np. przecięty to arduino "coś wtedy zrobi" dla przykładu zapali diodkę.

    https://www.arduino.cc/en/Reference/DigitalRead
    pyko123 wrote:
    Dodatkowe pytanie jak długi może być taki kabelek 1, 10, 100, 200m ?
    Kabel może być tak długi jak długo spadek napięcia na nim nie będzie większy od progu wysterowania wejścia.
  • Optex
  • #3
    jesion40
    Level 27  
    pyko123 wrote:
    Jak w najprościej w arduino
    Najprościej rzadko oznacza najlepiej, ale jeżeli to jedynie zadanie to najprościej podwiesić jakiś pin ustawiony jako wejście do + zasilania przez opornik, kabelkiem zewrzeć do go masy i w pętli sprawdzać jego stan. Gdy zmieni się z H na L wykonać przewidzianą na tę okoliczność akcję.

    pyko123 wrote:
    jak długi może być taki kabelek 1, 10, 100, 200m ?
    a choćby i 10 000m. Nie w tym problem. Kabelek cechuje się rezystancją, im dłuższy i cieńszy tym większą. Wejście uC ma wysoką impedancję wejściową więc podwieszając je do + przez dość dużą rezystancję możesz (teoretycznie) uzyskać dowolny realny zasięg.

    Ale pozostaje kwestia zakłóceń i to niezależnie od długości kabelka. W skrajnym wypadku dochodzi też kwestia bezpieczeństwa (niekoniecznie tylko układu) bo w kabelku np. podczas burzy mogą się indukować impulsy o całkiem wysokim napięciu. Dlatego trzeba dodać odpowiednie zabezpieczenia i filtry wejściowe.
  • #4
    User removed account
    User removed account  
  • #6
    User removed account
    User removed account  
  • #7
    pyko123
    Level 8  
    na wstępie dzięki za podpowiedzi.

    Może napisze dokładnie co chciałbym zrobić wtedy będzie łatwiej.

    Więc to ma być coś w rodzaju alarmu, konkretnie alarm ogrodzenia ( ostatnio zapierdzielono mi kilka paneli z ogrodzenia panelowego ). Chcę całe ogrodzenie opleść cienkim kabelkiem (np. takim jak żyłki w kablach skrętkach UPT - wiem, że takie skrętki pomimo standardu nawet na 200m śmigają). Przez kabelek nieustannie lub np. raz na 10 sek. przepływa napięcie, sprawdzający czy jest on cały, gdy nastąpi przerwanie (np. przez wyjęcie panelu i urwanie kabelka), następuje załączenie syreny itd.
  • #8
    User removed account
    User removed account  
  • #9
    pyko123
    Level 8  
    Niestety nie, jest to ocynk pomalowany farbą, więc niestety - chyba cienki kabelek taki to najlepsze moi zdaniem.
  • Helpful post
    #10
    piotrva
    VIP Meritorious for electroda.pl
    No to jak ogrodzenie to mamy problem z piorunami - tak długi kabel będzie pięknie wykrywał pioruny i może palić coś co jest po drugiej stronie.

    Pierwsze pytanie - czy tu trzeba uC/Arduino? Moim zdaniem nie.

    Po stronie ogrodzenia dałbym osobny zasilacz np. 12V, następnie transoptor. Tę stronę bym zabezpieczył co najmniej warystorem.

    Za transoptorem zastosować w odpowiednim podłączeniu tranzystor dobrany do mocy syreny i zasilanie syreny.

    Następuje przerwanie obwodu - transpotor przestaje przewodzić, otwiera się tranzystor "mocy" syrena wyje. Abyś mógł ją wyłączyć dodaj w szereg zwykły przełącznik.
  • #11
    User removed account
    User removed account  
  • #12
    pyko123
    Level 8  
    Mój wybór padł na arduino gdyż miałem z nim jakieś doświadczenia, ale jeżeli można się obejść bez to czemu nie.

    piotrva: czy mógłbyś rozwinąć swoją wypowiedź np. schematem jak coś takiego zbudować połączyć ? Nigdy nie używałem transoptorów i nie bardzo wiem jaki rodzaj i jak je zastosować.
  • #13
    piotrva
    VIP Meritorious for electroda.pl
    @pyko123, w razie czego może znajdę chwilę na narysowanie czegoś, ale zachęcam - spróbuj sam coś nam pokazać, to skomentujemy, a sam szukając się czegoś nauczysz ;)
  • #14
    pyko123
    Level 8  
    Trochę rozejrzałem się i doszedłem do pewnego punktu.
    Arduino - Jak zrobić wykryć przerwanie obwodu?

    Tak wygląda schemat od strony ogrodzenia, oczywiście nie wiem na obecną chwilę o jakich parametrach dobrać warystor i transoptor chodzi mi czy tak jak to połączę będzie dobrze?

    Nie wiem też jak za transoptorem (po drugiej stronie) prawidłowo podłączyć tranzystor oraz jaki? Z tego co czytałem to podając na bazę w tranzystorze prąd z np.transoptora, wzbudzę przepływ prądu z kolektora do emitera gdzie w obwodzie będzie np. włączona syrena. I tu problem gdyż w założeniu ma być odwrotnie, tj. gdy przestaje transoptor działać to ma włączać się syrena.

    Na obecnym etapie chyba dałbym już radę to ogarnąć na arduino.
    NP. tak jak ktoś pisał wyżej wykrywać stan H, L transoptora po drugiej stronie i np. z poziomu arduino poprzez przekaźnik sterować włączanie syreny.
  • #15
    piotrva
    VIP Meritorious for electroda.pl
    Ale Arduino samo i tak przekaźnika nie wysteruje ;) Albo zrobi to jeden raz - potem masz duże szanse na spalenie pinu lub całego układu.

    Warystor wepnij równolegle do przewodu w ogrodzeniu.

    W takiej konfiguracji zastosuj tranzystor "mocy" o odpowiednim prądzie typu NPN.

    Emiter transoprota do GND zasilania syreny.

    Kolektor transoptora przez rezystor do napięcia zasilania syreny oraz do bazy tranzystora "mocy" typu NPN.

    Emiter tranzystora "mocy" również do masy zasilania syreny, jego kolektor do ujemnego "bieguna" zasilania syreny, dodatni biegun zasilania syreny do napięcia zasilającego.

    Jak to zadziała?

    Póki kabel będzie cały transoptor będzie "zwierał" bazę tranzystora "mocy" do masy, zatem nie będzie napięcia Ube (lub będzie ono minimalne) i tranzystor "mocy" nie będzie przewodził prądu - syrena nie wyje.

    Jeśli obwód zostanie przerwany to transoptor przestanie działać, i rezystor podciągający bazę tr. "mocy" spowoduje jego otwarcie i wycie syreny.

    Jeśli w szereg z syreną wepniesz przełącznik to będziesz mógł prosto wyłączyć ją.

    Jeśli Arduino nie ma modulować syreny, wysyłać SMS'a na policję lub do Ciebie e-maila to właśnie zaoszczędziłeś tyle pieniędzy ile wydałbyś na Arduino do tego projektu ;)
  • Helpful post
    #16
    jesion40
    Level 27  
    pyko123 wrote:
    Na obecnym etapie chyba dałbym już radę to ogarnąć na arduino.
    NP. tak jak ktoś pisał wyżej wykrywać stan H, L transoptora po drugiej stronie i np. z poziomu arduino poprzez przekaźnik sterować włączanie syreny
    Nie żartuj, jak Arduino ma w tym wszystkim robić za prosty wzmacniacz, to jest to naprawdę niepoważne. Przecież przekaźnika też nie sterujesz wprost z końcówki procesora, prawda?

    Natomiast transoptor jako ochrona na wypadek przepięć w długiej pętli wokół ogrodzenia to też duży optymizm. Wprawdzie ma wytrzymać ten 1000 czy nawet 3000V, ale akurat takie krótkie impulsy mogą mieć i więcej.

    Proponuję podejść do tego inaczej, odseparować oba końce pętli rezystorami o dość dużej wartości a potem prąd podać na bazę tranzystora, w którego kolektorze dać jedynie opornik i podać sygnał na drugi stopień (bazę drugiego tranzystora), w którego kolektorze będzie cewka przekaźnika. Przekaźnik zapewni ci separację nie gorszą od transoptora, ale główną linię obrony powinny stanowić warystory wpięte za opornikami separującymi pętlę. Do tego kondensatory, które z jednej strony mogą przejąć ładunek impulsu chroniąc resztę układu a z drugiej filtrować zakłócenia, które będą się indukować w pętli.

    Arduino - Jak zrobić wykryć przerwanie obwodu?



    Edit

    Można się zastanowić, czy zamiast warystorów nie dać diod Zenera (warystory wytrzymają więcej) albo czy w szereg obok oporników nie dać jeszcze bezpieczników (tak są robione zabezpieczenia w listwach przeciwprzepięciowych) ale to wszystko wariacje na ten sam temat. Najważniejsze jest odseparowanie elementami, które sporo wytrzymają a w razie najgorszego poświęcą się dla dobra reszty układu i się przepalą, ale nie pozwolą by przepięcie poszło dalej. :D

    Jeżeli syrena może być zasilona z tego samego napięcia to oczywiście można ją wpiąć zamiast cewki przekaźnika.

    Do tego wszystkiego istotny jest montaż z zachowaniem odpowiednich odległości.
  • #17
    piotrva
    VIP Meritorious for electroda.pl
    Ja mimo wszystko bym zastosował transoptor - zawsze to separacja fizyczna i wyładowanie narobi mniej strat.

    I tak czy siak wszystko bym tak obudował, żeby nic się nie zapaliło na wypadek silnego przepięcia.
  • #18
    jesion40
    Level 27  
    piotrva wrote:
    Ja mimo wszystko bym zastosował transoptor - zawsze to separacja fizyczna i wyładowanie narobi mniej strat.
    Separacja przekaźnikiem jest mniej "fizyczna"?

    Akurat ostatnio użyłem PC817 do odseparowania sieci od układu i tak się tej drobince przyglądałem pod kątem wytrzymałości napięciowej. Ok, sam transoptor tak, ale te nóżki jedna obok drugiej...

    Nie ma się co spierać, transoptor ok, choć tez wymusza podwójne zasilanie jeżeli ma coś dać ale na pewno warto dopracować elementy bezpośrednio współpracujące z potencjalnym źródłem impulsów wysokiego napięcia - pętlą. Ograniczenie np. tak jak zaproponowałem rezystorami i warystorami praktycznie pozwala spać spokojnie i to nawet przy zasilaniu całości z jednego źródła. :D
  • #19
    piotrva
    VIP Meritorious for electroda.pl
    W takim przypadku po stronie "gorącej" jest tylko transoptor, zasilacz i rezystor.
    A są i transoptory z nóżkami odpowiednio oddalonymi - idealne do takich zadań.

    A można do nich i dołożyć Twój układ z tranzystorami i rezystorami 100k - będzie bezpieczniej.

    Nie krytykuję Twojej idei - obie mają szansę się sprawdzić równie dobrze przy doborze odpowiednich elementów (odpowiedni transoptor / przekaźnik)