Arduino przejmuje kontrolę

Pojazd, gdy nie jest nawet intensywnie użytkowany i tak się starzeje, i powinien przejść nie tylko okresowy przegląd ale czasem nawet poważniejszą modernizację. Poprzedni wpis był wstępem do opisu toczących się zmian. Kolumna nastawników jaką udało mi się pozyskać wymagała innego podejścia do sterowania, a w związku z tym pojawił się pomysł przejścia na rozwojową platformę Arduino. W zasadzie dotychczas stosowany PoKeys dawał sobie radę ze wszystkim co było potrzebne i mogłoby tak pozostać, jednak chęć dodania obsługi wspomnianych nastawników z bezpośrednim odczytem wszystkich pozycji wymuszała zastosowanie dodatkowego mikrokontrolera. Mogłem w zasadzie użyć najprostszej wersji np. UNO, czy Nano jednak przy okazji chciałem zrobić trochę porządku i wyeliminować pewne dotychczasowe rozwiązania. Ze względu na ograniczenia PoKeys jak i samego symulatora musiałem stosować dodatkowe układy sterujące miernikami NN oraz Haslerem. Ten pierwszy został zastąpiony przez fragment kodu programu i możliwość wykorzystania dodatkowych wyjść PWM w Arduino. W drugim przypadku mogłem podłączyć falownik bezpośrednio do dodatkowych złącz RX/TX. Te rzeczy były najłatwiejsze do zrealizowania przy zastosowaniu Arduino MEGA lub DUE, które mają dużo pinów oraz kilka interfejsów UART. Nie chciałem mieszać napięciami dlatego wybrałem wersję MEGA i teraz wszystkie elementy działają na logice 5V. Ważna była również niższa cena tej platformy w porównaniu do PoKeys. Teraz w przypadku awarii mikrokontrolera wymiana będzie mniej bolesna i szybsza, choć wolałbym tego niegdy nie ćwiczyć.

Płytka interfejsu panelu dolnego (I2CIPD)

Gdy już zdecydowałem się na zmianę sterowania, co zostało potwierdzone testami na biurku, a później po podłączeniu nastawników, to pojawił się pomysł zrobienia porządku z przewodami upchniętymi na szybko pod powierzchnią pulpitu. Niestety pierwsza konstrukcja nie była planowana w szczegółach, stąd niesforna pajęczyna przewodów widoczna na wielu moich zdjęciach. Wtedy cieszyło mnie, że coś kolejnego zadziałało i można chwilę pojeździć. Z czasem ta plątanina mogła prowadzić do poważnego problemu gdy, szczególnie podczas transportu, coś przestanie kontaktować i trzeba będzie szybko znaleźć przyczynę. Aby okiełznać ten bałagan, poza Arduino MEGA pojawiły się dodatkowe płytki. Pierwszą z nich był interfejs nastawników zamontowany bezpośrednio w ich obudowie. Wygodna magistrala I2C pozwoliła elegancko podłączyć się z głównym kontrolerem przy użyciu tylko czterech przewodów. Druga płytka miała wyeliminować ciągnięcie wiązki z dolnego panelu hebelków, przycisków i lampek do Arduino i stąd powstał interfejs panelu dolnego (I2CIPD) również wykorzystujący magistralę I2C. Obie płytki interfejsów wykorzystują ekspandery pinów cyfrowych nie ze względu na ich brak w Arduino MEGA, a tylko po to aby można było je połączyć z użyciem minimalnej liczby przewodów.

Arduino MEGA podlączone do płytki ACB

Bezpośrednie połączenie z mikrokontrolerem pozostało dla mierników wykorzystujących piny PWM oraz kilka dodatkowych elementów znajdujących się bliżej. Tę płytkę nazwałem ACB (Arduino Connection Board) bo nie zawiera żadnej istotnej elektroniki, a wyłącznie uporządkowane złącza sterowanych elementów. Za pośrednictwem tej płytki następuje również komunikacja z falownikiem poprzez UART. Płytka ta przymocowana bezpośrednio przy Arduino umożliwi jego łatwą wymianę w razie awarii, a stosowane złącza goldpin nie będą tak narażone na uszkodzenie i niekontakty. Nadal czekam na dostawę dedykowanej płytki-nakładki Arduino Screw Shiel, która miała w zamyśle zapewnić jeszcze łatwiejsze i pewniejsze połączenie pozostałych płytek z Arduino. Niestety przesyłka jest nadal (od kilku miesięcy) w podróży i nie wiadomo czy kiedykolwiek do mnie trafi. Cóż, Chiny daleki kraj.

Teraz pozostaje tylko żmudna zmiana okablowania. Sukcesywnie wypinam stare przewody łączone prowizorycznie z elementami pulpitu i zastępuję je wersjami zaopatrzonymi w stosowne końcówki. Mam nadzieję, że da to pewniejszy kontakt i poprawi przejrzystość połączeń.

Lampki kontrolne sterowane z Arduino

Opisywana tu modernizacja musi niestety potrwać jakiś czas ale mam nadzieję, że zakończy się sukcesem. Dla zapewnienia podstawowego poziomu entucjazmu staram się po podłączeniu kilku elementów uruchomić symulator, przynajmniej na testowej scenerii i potwierdzić, że wszystko idzie we właściwym kierunku. Na zdjęciu wszystkiego nie da się pokazać ale przynajmniej pochwalę się działającymi lampkami. Te podłączyć było stosunkowo łatwo bo wykorzystałem dotychczasowy sterownik SZK przełączając jedynie wejścia transoptorów pod nowy kontroler.

Przygotowany projekt migracji zakłada możliwość podłączenia wszytkiego co pracowało dotychczas z PoKeys, a nawet kilka przyszłościowych zastosowań (np. rysiki Haslera), jednak może się okazać, że kalibracja mierników WN oraz manometrów, a może i kranów hamulcowych będzie łatwiejsza i bardziej precyzyjna poprzez PoKeys niż w Arduino. Kto wie, może docelowo oba mikrokontrolery pozostaną na pokładzie. Czas pokaże.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Kod antyspamowy * Ważność kodu antyspamowego wygasła. Podaj kod ponownie.

This site uses Akismet to reduce spam. Learn how your comment data is processed.