sobota, 5 kwietnia 2014

Inteligentny dom sterowany za pomocą Arduino - podłączanie przewodów do mikrokontrolera

Jak pisałem  w poprzednim wpisie zwykłe podłączenie czujników do Arduino za pomocą pojedynczych przewodów jest bardzo podatne na przypadkowe rozłączenia. Przy połączeniu dwóch czy trzech elementów nie ma to większego znaczenia. Ja szacuję że będę wykorzystywał około 20 cyfrowych pinów. W przypadku gdybym musiał odłączyć arduino (a nastepnie podłączyć ponownie) o pomyłkę byłoby bardzo prosto. Okazałoby się wtedy że na przykład przełącznikiem od światła w salonie włączam nawadnianie ogrodu... Mało kusząca wizja, szczególnie dla osoby która akurat wtedy leżałaby na trawniku :)

Jedynym sensownym rozwiązaniem które mi przyszło do głowy jest zaprojektowanie odpowiedniej płytki która odseparuje błędogenne połączenia od samego mikrokontrolera.

U mnie najwięcej będzie połączeń typu - jeden pin do przekaźnika i jeden do przełącznika który nim będzie sterował. Pod tym kątem projektowałem płytkę. Powstała ona w programie Eagle i wygląda następująco:


Do połączeń przewodów sygnałowych wykorzystałem złącza ARK. Do połączenia płytki z Arduino wykorzystałem 20-żyłową taśmę IDC.

Płytka po wytrawieniu wygląda tak:



Nie jest to jeszcze wersja finalna. Krawędzie nie zostały wyrównane i wyszlifowane, ale na to przyjdzie jeszcze czas.
Po podłączeniu do Arduino całość wygląda tak:

Na płytce znalazło się 9 kanałów. Każdy kanał to:
 +5V
GND
Sygnał do przekaźnika
Sygnał do przełącznika (poprzez rezystor podpięty do masy).

Do każdego z kanałów będzie podpięta jedna skrętka od jednego urządzenia którym będę sterował.

Problem pojawił się z połączeniem taśmy z Arduino. Nie znalazłem niestety gniazda IPC z męską końcówką. Postanowiłem zatem wykorzystać zwykłe goldpiny z których powyjmowałem bolce i powkładałem je w odpowiednie wejścia w Arduino. Przed podłączeniem wtyczki wygląda to tak:


Wbrew pozorom całe połączenie trzyma się dość stabilnie i działa bez zarzutu. Jeśli macie inny pomysł na takie połączenie proszę o informację :).
Niestety przy projektowaniu płytki nie udało mi się uniknąć błędów. Planowałem że taśma zostanie podłączona do Arduino od skrajnej lewej strony patrząc z tyłu płytki, zaczynając od dwóch pinów z masą. Dlatego też dwa skrajne piny na mojej płytce są podpięte do masy. Takie rozwiązanie pozwalało mi w przyszłości w razie potrzeby podłączyć obok drugą podobną płytkę. I wszystko działa świetnie dopóki nie podłączam do Arduino Ethernet Shielda, który jak się później dowiedziałem blokuje piny 50, 51, 52, 53. Przy takim połączeniu tracę zatem możliwość sterowania dwoma z dziewięciu przekaźników. Dlatego zdecydowałem się na wpięcie taśmy od prawej strony Arduino (zaczynając od pinu 22) nie podłączając dwóch ostatnich pinów (GND). Minusem tego rozwiązania jest to że masę pomiędzy Arduino a płytką muszę podłączyć  odrębnym przewodem. Nie jest to większy problem ponieważ przewidziałem dodatkowe złącze ARK na +5V i GND. Plusem natomiast jest to, że mamy dostępne wszystkie 9 kanałów zaprojektowanych na płytce - możemy więc sterować 9-cioma urządzeniami.

Na chwilę obecną takie połączenie jest dla mnie wystarczające. Jeśli będzie taka potrzeba, konieczne będzie wykonanie drugiej płytki z wyeliminowanym błędem.

Podsumowując:
Dzięki wykorzystaniu takiej płytki skrętki wpięte  będą do złącz typu ARK, które zapewniają trwałe i solidne połączenie. Połączenie z Arduino będzie wykonane za pomocą jednej taśmy (i masy - co da się w razie potrzeby wyeliminować). Ewentualna wymiana mikrokontrolera powinna zatem odbyć się w sposób szybki i bezproblemowy co w środowisku "produkcyjnym" jest bardzo istotne :).

3 komentarze:

  1. Czy jest mozliwosc kupic gdzies taka plytke, jak powyzej zaprojektowales? byc moze znalazles juz inne rozwiazanie?

    OdpowiedzUsuń
  2. Kupić raczej nie można, ale zrobić samemu wcale nie jest tak trudno :)

    OdpowiedzUsuń
  3. A może taśmę można połączyć wykorzystując złącze starego dysku ATA ?

    OdpowiedzUsuń