Elektroda.pl
Elektroda.pl
X

Search our partners

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

Arduino i kontaktrony na długim kablu

mil0n 12 Mar 2019 21:50 1170 12
  • #1
    mil0n
    Level 10  
    Witam,

    Staram się wykorzystać dwa czujniki na kontaktronach i obsłużyć je na Arduino (zliczanie impulsów).
    Wszystko pięknie działa jak są podpięte krótkimi przewodami zaraz obok Arduino.
    Niestety jak wykorzystam kabel 6x0,5 o długości ok 15 metrów to niestety wskazania są przekłamane. Kabel jest niestety długi, nieekranowany i w części pewnie jest prowadzony wzdłuż kabli energetycznych (taki już mam położony w domu). Kabla nie wymienię.

    Może ma ktoś pomysł jak zmodyfikować układ żeby dało się wykorzystać te czujniki na tak długim kablu?
    Może dodatkowy rezystor w masie od czujników, albo najlepiej dwa i puszczenie masy od czujników na niezależnych kablach?

    Wszelkie sugestie mile widziane.


    Arduino i kontaktrony na długim kablu

    Pozdrawiam, Robert
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    Marian B
    Level 37  
    Na tak długim kablu po prostu pojawia się tzw. "przydżwięk sieci", indukują się napięcia z sieci energetycznej. Trzeba zamontować na obu końcach kabla kondensatory filtrujące rzędu 0,1÷0,47µ. Może wystarczy tylko na jednym końcu, trzeba sprawdzić doświadczalnie.
  • #3
    mil0n
    Level 10  
    Zastanawiałem się nad jakimś kondensatorem tylko czy to nie będzie miało wpływu na odczyty?..
    Jeden z kontaktronów to anemometr gdzie jeden impuls/sek z kontaktronu to 2.4 km/h. Zakładając że wiatr wieje z prędkością np. 100KM/H mamy na wejściu arduino prostokąt o częstotliwości 41Hz i pewnie mizernym wypełnieniu. Obawiam się że taki kondensator może jeszcze pogorszyć dokładność pomiarów.

    Poeksperymentuje i zobaczymy co z tego wyjdzie.
  • #4
    Marian B
    Level 37  
    Moim zdaniem nie trzeba gdybać, tylko sprawdzić doświadczalnie dobierając odpowiednią wartość kondensatora zaczynając np. od około 10nF w górę. Styki kontaktronu, to sztywne "0" lub "1". Indukowane zakłócenia to nie regularny, ciągły przebieg i będzie on "zwierany" kondensatorem.
    Można też poeksperymentować z kablem ekranowanym.
  • #5
    andrzej55
    Level 36  
    Na początek zastosuj dodatkowe rezystory pullup o wartościach 1÷3kΩ.
  • #6
    lechoo
    Level 39  
    Marian B wrote:
    Na tak długim kablu po prostu pojawia się tzw. "przydżwięk sieci", indukują się napięcia z sieci energetycznej. Trzeba zamontować na obu końcach kabla kondensatory filtrujące rzędu 0,1÷0,47µ. Może wystarczy tylko na jednym końcu, trzeba sprawdzić doświadczalnie.

    Tak włączony kondensator, o wydawałoby się znikomej wartości, będzie powodował erozję styków kontaktronu.
  • #8
    krzysiek_krm
    Level 40  
    Tak z innej beczki, czy te kontaktrony to jest w ogóle dobry pomysł
    mil0n wrote:
    mamy na wejściu arduino prostokąt o częstotliwości 41Hz

    biorąc pod uwagę fakt, że będziesz musiał maskować drgania styków.
  • #9
    Ture11
    Level 38  
    krzysiek_krm wrote:
    Tak z innej beczki, czy te kontaktrony to jest w ogóle dobry pomysł

    Jedyny - bo autor używa gotowego produktu, anemometru: https://cdn.sparkfun.com/assets/8/4/c/d/6/Weather_Sensor_Assembly_Updated.pdf

    Maskowania drgań styków rozwiązałem u siebie (w takim samym czujniku) stosując kondensator bodajże 68nF i rezystor chyba 10k, albo 1k - zajrzę potem na schemat...

    Tylko, że...

    lechoo wrote:
    Tak włączony kondensator, o wydawałoby się znikomej wartości, będzie powodował erozję styków kontaktronu.


    Dodano po 3 [minuty]:

    mil0n wrote:
    i pewnie mizernym wypełnieniu.
    Nie jest tak źle. Masz oscyloskop? - sprawdź sam.
    mil0n wrote:
    Obawiam się że taki kondensator może jeszcze pogorszyć dokładność pomiarów.
    Nie przejmowałbym się tym przy rozdzielczości 2,4km/h...
  • #10
    TvWidget
    Level 36  
    mil0n wrote:
    mamy na wejściu arduino prostokąt o częstotliwości 41Hz i pewnie mizernym wypełnieniu.

    To jest teoretycznie 3 500 000 cykli dziennie. Jaką trwałość ma kontaktron, który zastosowałeś ?
  • #11
    _jta_
    Electronics specialist
    Przy rozwartych kontaktronach wejścia Arduino "wiszą" i są podatne na zakłócenia pojemnościowe. Skoro kontaktrony łączą z masą, to trzeba użyć oporników pull-up przy Arduino. Żeby zmniejszyć prąd styków kontaktronów, można użyć tranzystorów (PNP, kolektor do masy, baza do styków, emiter do przewodu), i wtedy oporniki pull-up np. 120 omów.
  • #12
    krzysiek_krm
    Level 40  
    _jta_ wrote:
    Przy rozwartych kontaktronach wejścia Arduino "wiszą" i są podatne na zakłócenia pojemnościowe

    Raczej nie wiszą, pewnie są użyte wewnętrzne pull-upy bo inaczej to by prawdopodobnie w ogóle nie działało. Tyle że wewnętrzne pull-upy mają dość dużą rezystancję, więc pewnie trzeba pull-upy "utwardzić" o czym ktoś już wcześniej pisał.
  • #13
    Ture11
    Level 38  
    TvWidget wrote:
    mil0n wrote:
    mamy na wejściu arduino prostokąt o częstotliwości 41Hz i pewnie mizernym wypełnieniu.

    To jest teoretycznie 3 500 000 cykli dziennie. Jaką trwałość ma kontaktron, który zastosowałeś ?

    Ale kolega to wyrwał z kontekstu! Przy 100 km/h wiatru obliczenia może i są słuszne, ale nie widziałem jeszcze wichury, w której wiatr wiałby 100km/h bez ani sekundy przerwy!

    Autor nie stosował żadnego kontaktronu; fabryczny produkt, dostępny w handlu, jest wyposażony fabrycznie w kontaktron jako element czujnika!