Opisany poniżej pilot IR (infrared) jest zbudowany na bazie Arduino Mini Pro i pozwala na zdalne wyzwalanie migawki aparatu fotograficznego (oczywiście o ile aparat jest wyposażony w taką funkcję) w kilku trybach: każdorazowo po wciśnięciu przycisku, automatycznie co zaprogramowaną ilość sekund (funkcja uruchamiana przyciskiem) oraz zdalnie po podłączeniu do odbiornika RC. Ta ostatnia możliwość pozwala na umieszczenie aparatu w większej odległości od fotografującego i w modelarstwie może być wykorzystana do zdjęć z modelu latającego, bez konieczności ingerencji w elektronikę aparatu. Pilot obsługuje popularne wiodące marki: Canon, Nikon, Minolta, Olympus, Pentax i Sony, ale procesor musi być zaprogramowany pod określoną markę - wystarczy zaremować w programie domyślny wiersz (Olympus) i odremować ten odpowiadający swojej marce.

 

Na początek instrukcja obsługi:

Mode 1 - wyzwalanie migawki przyciskiem. Zworka trybu ustawiona w położeniu PB, podłączamy zasilanie (5V). Po wciśnięciu na krótko przycisku PB następuje wysłanie do aparatu komendy wyzwolenia migawki, na 2 sekundy zapala się dioda LED, kolejne wyzwolenie może nastąpić kiedy dioda zgaśnie. Jeśli wciśniemy przycisk i przytrzymamy go do czasu aż dioda zgaśnie, to włącza się tryb automatycznego (cyklicznego) wyzwalania co zaprogramowaną ilość sekund. Dioda zaczyna migać z częstotliwością 1/sek, a po osiągnięciu zaprogramowanego czasu następuje wysłanie komendy wyzwolenia migawki (potwierdzone dwukrotnym szybkim mignięciem diody) i cały cykl się powtarza. Pilot pozostaje w tym trybie aż do odłączenia zasilania.

Mode 2 - wyzwalanie z odbiornika RC. Podłączamy kabel pilota do odbiornika RC (zasilanie 5V pobierane z odbiornika) do kanału obsługiwanego przełącznikiem ON/OFF. Pilot oczekuje na sygnał o szerokości impulsu większej niż 1,2msec. Przykładowo - minimum przepustnicy z trymerem ustawionym w neutrum to 1,1msec, minimum zgodne ze standardem PPM to 1msec. Pilot nie ma funkcji automatycznej kalibracji sygnału PPM, w razie problemów należy więc dla danego kanału sprawdzić odpowiednie ustawienia w nadajniku („Revers”, „Travel max”, „Subtrim”). Przełącznikiem operujemy za pomocą krótkiej sekwencji OFF-ON-OFF, wysłanie komendy wyzwolenia migawki potwierdza dioda LED.

Mode 3 - programowanie okresu automatycznego wyzwalania. Czas ten to iloczyn dwóch współczynników: C1xC2, wyrażony w sekundach. Programowanie odbywa się następująco: podłączamy zasilanie (5V), dioda LED zaświeci się krótko dwa razy, po czym zapali się pierwszy raz na 10sek, zgaśnie, zamiga bardzo krótko dwa razy, zaświeci się ponownie na 10 sek i zgaśnie. Sekwencja ta powtarza się aż do wyłączenia zasilania. C1 wprowadza się wciskając odpowiednią ilość razy przycisk PB w czasie kiedy dioda LED świeci się długo pierwszy raz, C2 podobnie podczas gdy LED świeci się długo drugi raz. Na końcu każdej „długiej” sekwencji następuje zapamiętanie wprowadzonego parametru C1/C2 w pamięci EEPROM. Jeśli przycisk nie zostanie wciśnięty, to odpowiedni współczynnik ma wartość 1, z zastrzeżeniem, że łączny czas autowyzwalania jest od dołu ograniczony programowo do 15 sekund. W praktyce opis jest bardziej złożony niż samo programowanie, czas 10 sek pozwala na kilkunastokrotne wciśnięcie przycisku, w przypadku pomyłki parametr można poprawić przy następnym cyklu. Przykładowo - wyzwalanie co 1 minutę to C1=6 i C2=10. Dobrane przeze mnie „nastawy” pozwalają na zaprogramowanie okresu wyzwalania do ok 5 minut, jeśli komuś to nie wystarcza, można odpowiednio zwiększyć w programie czas przewidziany na wciskanie przycisku PB.

Uwaga! Ze względu na zastosowany układ procesora pilot wymaga zasilania 5V, wyższe napięcie może uszkodzić procesor. Najprostszym rozwiązaniem jest użycie 4szt akumulatorów AAA NiMh 1,2V (ale nie 4x zwykłe ogniwa 1,5V).

 

Przechodzimy do budowy urządzenia, schemat ideowy, płytkę drukowaną i rozmieszczenie elementów przedstawiają poniższe rysunki:

 

To bardzo prosty układ bez użycia elementów SMD i każdy kto ma trochę wprawy powinien sobie poradzić z jego polutowaniem. Wartości elementów nie są krytyczne, należy tylko pamiętać o dopuszczalnym prądzie diod podczerwonych (IR), w moim przypadku prąd ciągły to 25mA i z tego wynika wartość rezystora R3. Ja zastosowałem dwie diody IR dla większej mocy promieniowania (i sprawności), można oczywiście zastosować jedną diodę (wtedy trzeba zwiększyć wartość rezystora R3). Jeśli układ miałby być wykorzystany w modelu, to można zamiast jednej diody wlutować 2-pinowe złącze goldpin i drugą diodę (np. zabudowaną w modelu na stałe) podłączać na przewodach, a przy używaniu pilota poza modelem zakładać w jej miejsce zworkę z dodatkowym rezystorem ograniczającym prąd.

Prototypowa płytka wykonana przeze mnie i pokazana na zdjęciu różni się trochę od projektu. Ścieżki frezowałem „z ręki” przy pomocy dremela, przez co wygląda ona trochę inaczej niż na rysunku, a do tego jeszcze pomyliłem się w jednym miejscu, co wymagało połączenia dodatkowego mostkiem. Do połączenia procesora z „moją” płytką zastosowałem sprytny (jak mi się wydaje) trick montażowy, polegający na tym, że płytka z elementami ma wlutowane od strony laminatu kątowe złącze żeńskie „goldpin”, natomiast procesor ma wlutowane wzgłuż jednej krawędzi kątowe złącze męskie. Płytki „nasuwa się” na siebie, tylko jeden sygnał musi być wyprowadzony przewodem z drugiej krawędzi procesora. To rozwiązanie powoduje, że pilot jest łatwo rozbieralny i można bez problemu go przeprogramować, lub w razie potrzeby użyć procesora w innym projekcie. Z tego względu ja zdecydowałem się przylutować w procesorze męskie „goldpin” na całej długości płytki, chociaż skrajne piny w tym projekcie nie są wykorzystywane (złącze żeńskie - 10 pin, złącze męskie - 12 pin).

Programowanie procesora odbywa się przy pomocy programatora UsbAsp przez miniISP, podłączenie jak na fotce powyżej, po szczegóły odsyłam do wcześniejszego artykułu „Miniaturowe wersje Arduino”.

Po stronie laminatu montujemy złącze do podłączenia procesora, diody IR, przycisk PB typu „TACT” oraz złącze męskie 3-pin pod zworki, pozostałe elementy montowane są od strony druku. Dwa połączenia są zrobione przewodem montażowym (cienki, biały).

Do płytki drukowanej lutujemy w sposób pokazany na fotce przewód zasilania/RC (czarny-czerwony-żółty), a do wyprowadzenia nr 3 w płytce procesora przewód montażowy, który po włożeniu Arduino w złącze 10-pin dolutowujemy w odpowiednie miejsce płytki z elementami. Należy zaznaczyć, że druk na płytce Arduino jest bardzo delikatny, z pierwszym lutowaniem nie ma kłopotu, ale kilkukrotne przelutowanie może uszkodzić ścieżki. Z tego powodu ja najpierw wlutowałem w otwór nr 3 trochę grubszy drut (odcięta końcówka rezystora) i odpowiednio kształtując wyprowadziłem go na krawędź laminatu, do niego dolutowałem następnie żółty przewód montażowy. W razie konieczności wielokrotnego lutowania takie połączenie nie powinno stanowić zagrożenia dla płytki Mini Pro.

Tak wygląda z obu stron całkowicie zmontowane urządzenie.

Na koniec pozostaje założenie etykiety z oznaczeniami i koszulki termokurczliwej. Po jej obkurczeniu należy wyciąć skalpelem okienko na prostokątny przycisk „Reset” na płytce Mini Pro. Wprawdzie nie jest on używany, ale nie może pozostawać wciśnięty. Dioda sygnalizująca pracę urządzenia znajduje się po prawej stronie tego przycisku, w pobliżu krótszego boku Arduino. Dioda, która sygnalizuje podłączenie zasilania jest umieszczona w środku płytki pod papierową etykietą.

Program korzysta z biblioteki „multiCameraIrControl.h” udostępnionej do niekomercyjnego wykorzystania przez Sebastiana Setz'a. Należy ją pobrać >stąd<, przed kompilacją programu przekopiować do folderu bibliotek Arduino (..\arduino-1.0.1\libraries), a następnie zrestartować środowisko.

Do pobrania - program SGM-RCam i płytka drukowana 1:1 w pdf - plik RCam1.zip

Pilot był testowany przez mnie z lustrzanką Olympus, ale sama biblioteka była sprawdzona z wieloma markami (stosowana informacja jest na stronie autora biblioteki), nie powinno więc być problemu z obsługą innych aparatów. Dziękujemy Sebastianowi Setz za udostępnienie bibliotek.

 

Uzupełnienie 04-03-2014

 

Jak wspomniałem wcześniej, najprostszym sposobem zasilania pilota jest pakiet NiMh 4xAAA - nominalnie 4,8V. Po naładowaniu będzie to napięcie wyższe, np. 5,2V, warto jest skontrolować woltomierzem taki naładowany pakiet, aby upewnić się, że zbytnio nie przekroczymy zalecanej dla Arduino wartości 5V. Kabelek przejściowy z „męskim” złączem typu „serwo” pozwala na połączenie pilota z zasilaniem, sam pakiet nie jest wyposażony od razu w takie złącze, bo wykorzystuję go również w innych celach.

Innym poręcznym źródłem zasilania może być miniaturowy moduł przetwornicy 1,5V/5V. Są one dostępne w kilku odmianach po niezbyt wygórowanych cenach.

Można go zasilić z jednego ogniwa 1,5V, ja zdecydowałem się na wariant z dwoma ogniwami AAA, co pozwala również użyć dwóch akumulatorków AAA 1,2V.

Na odpowiednio przycięty kawałek laminatu 0,8mm przykleiłem taśmą dwustronną koszyk na dwa ogniwa. Następnie przylutowałem dwa kawałki srebrzanki do wejść zasilających przetwornicę (należy się upewnić co do zgodności polaryzacji wejść przetwornicy z końcówkami wyjściowymi z koszyka). Ułożyłem moduł na laminacie, przekładając druty przez oczka wyprowadzeń, przylutowałem je i przyciąłem, a na koniec założyłem na moduł koszulkę termokurczliwą. Po włożeniu ogniw moduł sygnalizuje pracę diodą LED. Wyłącznika nie przewidziałem, tak moduł jak i pilot pobierają niewielki prąd, kilka ewentualnych dodatkowych minut przy włożonych ogniwach nie stanowi większej utraty energii.

Do kompletu zrobiłem jeszcze kabel zasilający (używając przewodu z uszkodzonej myszki USB), pozwalający na podłączenie pilota i odbiornika RC. Może być to przydatne w przypadku korzystania z odbiornika i pilota poza instalacją w modelu. Dzięki temu sam moduł przetwornicy może się przydać do awaryjnego zasilania innych urządzeń z wejściem USB. Z tego właśnie względu zdecydowałem się na taką wersję, bo podobne przetwornice można również kupić w postaci płytki bez złącza. To o czym należy jeszcze pamiętać przy innych zastosowaniach, to maksymalny prąd przetwornicy - w moim przypadku jest to 600mA przy zasilaniu 3V.

 

Projekt wyłącznie do wykorzystania na własny użytek, nie ponosimy odpowiedzialności za ewentualne błędy i uszkodzenia związane z budową i podłączaniem urządzenia, każdy robi to na własne ryzyko.

 

Komentarze  

#1 Marcin 2015-05-22 09:46
witam.to jak będzie wyglądał program by działało na aparacie Nikon .Nie znam się na programowaniu wiec sam do tego nie dojdę.pozdrawia m i proszę o przesłanie na pocztę wsadu pod arduino z resztą już sobie poradzę.Z góry dziękuję i pozdrawiam.
#2 Wojciech Szczęśniak 2015-05-22 13:27
Witam, modyfikacja programu jest bardzo prosta, w programie jest:

Olympus camera(11);
//Nikon camera(11);

dla aparatu Nikon powinno być:

//Olympus camera(11);
Nikon camera(11);

Czyli cała poprawka sprowadza się do dodania dwóch ukośników na początku wiersza 'Olympus camera(11);' oraz usunięcie 2 ukośników z wiersza dla danej marki aparatu.

Pozdrawiam - WS

Nie masz uprawnień aby komentować.

Publikowane tutaj materiały i zdjęcia stanowią własność ich autorów, nie mogą być kopiowane oraz wykorzystywane bez ich zgody.
Strona niekomercyjna.