Jeśli zajrzy się do działu DIY Konstrukcje Elektrody, albo odwiedzi się inne fora czy strony poświęcone samodzielnemu realizowaniu projektów elektronicznych, łatwo zauważyć, iż większość zrealizowanych projektów to kopie innych projektów, a wiele rozwiązań układowych jest powielanych, często bezmyślnie. Oczywiście nie ma w tym nic złego, i to nie jest żadna krytyka, ale warto się pochylić nad tym, ile czasu i pracy zajmuje przygotowanie projektu, który być może będzie powielony przez tysiące elektroników-hobbystów. O tym właśnie chciałem napisać przedstawiając cały proces od pomysłu, przez prototyp po wykonanie własnej obudowy do gotowego urządzenia. Przedstawię cały proces tak detalicznie, jak tylko mogę. Uzasadnię każdą decyzję projektową, opiszę dokładnie zasadę działania, przedstawię źródła oprogramowania (doprowadzając do nerwowych reakcji u "starych wyjadaczy" programowania) wraz z wyjaśnieniami. Przedstawię też proces zbierania niezbędnych informacji, pomiary i testy prototypu. Po drodze też pokażę proces projektowania płytki i wykonywania jej na frezarce CNC oraz proces projektowania obudowy w programie CAD/CAM oraz jej wycinania na frezarce CNC. Od Was, drodzy czytelnicy oczekuję jednak sugestii i komentarzy, gdyż każdy projekt to też proces samoedukacji, warto więc korzystać z doświadczenia tych, którzy wiedzą więcej ode mnie.
Pomysł
Jak nie wymyślić głupiego projektu?
Najczęstszą pomyłką przy tworzeniu nowego projektu od zera, i to popełnianą częściej przez różne start-upy oraz wielkie korporacje jest stworzenie rozwiązania, a potem szukanie pasującego do niego problemu. Zwykle tylko w świecie suplementów diety takie coś przechodzi, dzięki czemu co dwa miesiące miliony ludzi w naszym kraju odkrywa w sobie nowe choroby, na które pomoże cudowna tabletka. Ale jeśli projekt jest elektroniczny, elektromechaniczny lub stricte mechaniczny, i rozwiązuje nieistniejący problem, to raczej skazany jest na porażkę.
Drugą klasą projektów skazanych na porażkę są przesadnie skomplikowane rozwiązania prostych problemów. O ile konstrukcje w stylu Rube Goldberga wyglądają fascynująco, zwłaszcza jak działają, o tyle jako praktyczne rozwiązania są... ekhm, mało praktyczne. Zresztą spójrzcie sami:
Jak wymyślić dobry projekt?
Zasadniczo są trzy drogi do udanego projektu:
1. Rozwiąż problem, który masz.
2. Rozwiąż problem, który ma wielu ludzi.
3. Ulepsz gotowe urządzenie.
Droga numer trzy prowadzi często do rozwiązań bardziej skomplikowanych, niż to potrzebne. Ponadto większość urządzeń zostało już ulepszonych. Czasem jednak zachodzi ewolucja wsteczna, czyli lepsze rozwiązanie znika, bo jest zbyt drogie, skomplikowane lub niepotrzebne. Przykład z mojego życia to podgrzewacz do butelek z mlekiem i słoiczków jedzenia Philips Avent. Starszy model pozwalał wybrać rodzaj podgrzewanego pojemnika, objętość zawartości oraz to, czy pojemnik jest w temperaturze pokojowej, z lodówki czy z zamrażarki - mikrokontroler (z rodziny STM8) operował grzałką za pomocą przekaźnika i odliczał czas potrzebny na podgrzanie posiłku dla niemowlaka. Nowe podgrzewacze nie pozwalają na taki poziom kontroli i zostały zredukowane do prymitywnych termostatów. Z ceną premium, bo to Avent.
Jako drugi przykład niech posłuży ta prezentacja tostera z lat 50tych, który zawsze robi perfekcyjne grzanki i ma genialnie rozwiązany mechanizm ich opuszczania i podnoszenia:
Pójście drogą numer dwa może prowadzić do sytuacji, gdzie źle zidentyfikujemy problem gnębiący ludzkość i w konsekwencji skończymy z rozwiązaniem desperacko potrzebującym problemu. Albo z suplementem diety chroniącym przed oparami topnika...
Dlatego ja rekomenduję drogę numer jeden - najlepiej rozwiązać problem, który ma się samemu. Wielką zaletą takiego podejścia jest to, że mamy dokładną wiedzę na temat problemu i zapewne kilka pomysłow na jego rozwiązanie. Ponadto jeśli my mamy ten problem, to być może są inni, którzy też go mają.
Problem zdefiniowany
Problem, który chcę rozwiązać dotyczy mojego aparatu fotograficznego. Sony A5100 (ILCE-5100) był najniższym modelem w serii bezlusterkowców Sony z matrycą APS-C. W ramach cięcia kosztów i redukcji rozmiarów Sony zrezygnowało z montażu "gorącej stopy" dla zewnętrznych lamp błyskowych. Nie dodało jednak gniazdka PC albo mini-Jack do synchronizacji zewnętrznej lampy błyskowej. To w pewnym stopniu ogranicza użyteczność aparatu. Zintegrowana lampa błyskowa działa wcale nieźle, ale jest nad obiektywem, co powoduje, iż wszelkie portrety wychodzą "płasko". W takich sytuacjach oddzielna lampa błyskowa zsynchronizowana z aparatem to konieczność.
Generalnie lampy błyskowe można synchronizować z aparatem na trzy sposoby: przewodowo, radiowo i z pomocą fotoceli. Metoda przewodowa i radiowa wymagają połączenia z aparatem kabla synchro albo nadajnika radiowego. Fotocela natomiast wyzwoli lampę, gdy zarejestruje błysk innej lampy, na przykład wbudowanej w aparat. Ale to oznacza, że musimy jej użyć. A by to zrobić i nie wpłynąć na zdjęcie jej błyskiem, trzeba lampę odchylić palcem do góry, jak na załączonym obrazku (z telefonu, bo mam jeden aparat):
Mój wewnętrzny inżynier buntuje się na takie nieeleganckie, wręcz paskudne rozwiązanie. A dodatkowo moja lampa nie ma fotoceli. Dokupienie zewnętrznej to koszt ponad 40 złotych, a tyle wydałem na samą lampę - mój wewnętrzny księgowy się buntuje.
Tak oto zdefiniowaliśmy problem:
Jak dorobić zewnętrzne wyjście synchronizacli lampy błyskowej tak, by działało bez użycia lampy w aparacie i by nie modyfikować samego aparatu w żaden sposób?
Mam problem - co dalej?
Mamy zdefiniowany problem, trzeba zatem wymyślić jakieś rozwiązanie, czyli faktyczny pomysł na urządzenie. Na tym etapie warto sprawdzić, czy ktoś inny nie wymyślił rozwiązania. W przypadku mojego problemu rozwiązania nie ma.
Sony A5100 posiada tylko kilka gniazdek: karty pamięci, HDMI i USB. Tylko że gniazdko USB jest nietypowe - jest dwurzędowe, i drugi, głębszy rząd zawiera dodatkowe styki. Wśród nich są dwa wejścia: jedno do aktywowania autofokusa, drugie do wyzwalania migawki. Zwarcie któregoś z nich do masy aktywuje daną funkcję. Dowiedziałem się tego wszystkiego, gdyż jednym z moich pierwszych zakupów do aparatu był kabel z pilotem zdalnego wyzwalania - planowałem robić zdjęcia z długimi czasami ekspozycji. Przy okazji więc pogooglowałem za schematem połączeń pilota i innymi informacjami na temat tego dziwnego gniazdka USB od Sony.
A jakby użyć pilota do jednoczesnego wyzwalania aparatu i lampy?
Tu pojawia się pewien problem: między wciśnięciem spustu, a faktycznym wykonaniem zdjęcia mija trochę czasu. Jak dużo? Tu z pomocą przychodzi Google. Po krótkich poszukiwaniach z hasłem "Sony A5100 shutter delay" znalazłem informację w jednej recenzji, iż zależnie od trybu AF opóźnienie wynosi od 126 milisekund, do 352 milisekund. Ale jeśli ostrość jest wstępnie ustawiona, to opóźnienie wynosi tylko 21 milisekund. Wartości tego opóźnienia zależą też od typu obiektywu. Zatem nasz pilot z wyzwalaczem lampy powinien najpierw wysłać sygnał aktywujący system AF, odliczyć przynajmniej 400 milisekund, wysłać sygnał wyzwalający migawkę, odliczyć kolejne 21 milisekund i w końcu wyzwolić lampę.
Zatem mamy rozwiązanie, i zajęło to tylko kilka chwil myślenia i googlowania. Ale mój wewnętrzny inżynier twierdzi, że to nadal nie jest aż tak eleganckie, jakby mogło być, bo do cykania zdjęcia z zewnętrzną lampą zawsze będzie potrzebny pilot. Czy nie byłoby fajnie, gdyby cykać zdjęcia przyciskiem na aparacie, a lampa sama się wyzwoli?
Skoro aparat ma te wejścia "podciągnięte" do jakiegoś napięcia, a ich zwarcie do masy aktywuje funkcje, to czy aktywacja funkcji przyciskiem na aparacie nie zmienia tych sygnałów na wejściach? Sprawdziłem to. Rozebrałem pilota, odkrywając, iż w środku jest tylko kilka blaszek, po czym wpiąłem się do nich multimetrem, podczas gdy pilot był podłączony do włączonego aparatu.
Na wejściach aparatu panuje napięcie około 3,52V. Naciśnięcie spustu w aparacie obniża to napięcie do mikrowoltów (sic!). To pozwala wysnuć wniosek, iż przyciski pilota są połączone równolegle z przyciskiem spustu (mającym dwa poziomy naciśnięcia). Zatem nasz pilot może wykryć wciśnięcie spustu i wyzwolić lampę z pewnym opóźnieniem. Może też wyzwolić aparat na żądanie, a potem wyzwolić lampę. Pozwala nam to dodać do pilota różne, bardziej zaawansowane funkcje. Na przykład funkcję "timelapse", która jest niedostępna w aparacie, jeśli nie kupi się specjalnej aplikacji (mój wewnętrzny księgowy dostał ataku apopleksji przez chytrość Sony). Może też wyzwalać aparat błyskiem pioruna, co pozwoli robić gustowne zdjęcia burzy. Można doczepić aparat do ramienia robota albo do obrotowej głowicy i robić panoramy i wielkoformatowe zdjęcia składane w GIMPie czy w Hugin. Zapewne możecie wskazać inne zastosowania i funkcje. Ba, istnieje gotowy pilot/wyzwalacz DIY dla lustrzanek, który realizuje wiele z tych funkcji.
Założenia projektowe
Warto sobie wypisać, jakie funkcje gotowe urządzenie powinno realizować, i jakie cechy powinno mieć. W ten sposób niczego nie pominiemy w trakcie projektowania. Zwykle taką listę mam w głowie, ale na potrzeby tej serii wypiszę ją tutaj. Będziemy do niej wracać w trakcie realizacji projektu, by sprawdzić, jak wiele udało się osiągnąć. Lista będzie też ewoluować wraz z Waszymi sugestiami.
Założenia projektu "Pilot/wyzwalacz do aparatu Sony A5100":
Cechy główne:
1. Dwukierunkowa komunikacja z aparatem.
2. Izolowane wyjście dla lampy błyskowej.
3. Izolowane wejście i wyjście sterujące dla dodatkowych układów.
4. Fotocela (wyzwalanie aparatu błyskiem).
5. Regulacja opóźnienia lampy.
6. Regulacja opóźnienia między AF a migawką.
7. Oddzielny przycisk AF i migawki.
8. Programowalna funkcja Timelapse.
Cechy dodatkowe:
1. Ładna obudowa.
2. Zasilanie ogniwem Li-Ion (18650).
3. Wskaźnik naładowania baterii.
4. Wyzwalanie dźwiękiem.
5. Dodatkowy pilot bezprzewodowy (do selfie).
6. Konfiguracja (i ładowanie) przez port USB.
Myślę, że tyle na początek wystarczy. Jeśli macie jakieś propozycje, podzielcie się nimi w komentarzach. W następnej części zajmiemy się wstępnym projektem układu.
Pomysł
Jak nie wymyślić głupiego projektu?
Najczęstszą pomyłką przy tworzeniu nowego projektu od zera, i to popełnianą częściej przez różne start-upy oraz wielkie korporacje jest stworzenie rozwiązania, a potem szukanie pasującego do niego problemu. Zwykle tylko w świecie suplementów diety takie coś przechodzi, dzięki czemu co dwa miesiące miliony ludzi w naszym kraju odkrywa w sobie nowe choroby, na które pomoże cudowna tabletka. Ale jeśli projekt jest elektroniczny, elektromechaniczny lub stricte mechaniczny, i rozwiązuje nieistniejący problem, to raczej skazany jest na porażkę.
Drugą klasą projektów skazanych na porażkę są przesadnie skomplikowane rozwiązania prostych problemów. O ile konstrukcje w stylu Rube Goldberga wyglądają fascynująco, zwłaszcza jak działają, o tyle jako praktyczne rozwiązania są... ekhm, mało praktyczne. Zresztą spójrzcie sami:
Jak wymyślić dobry projekt?
Zasadniczo są trzy drogi do udanego projektu:
1. Rozwiąż problem, który masz.
2. Rozwiąż problem, który ma wielu ludzi.
3. Ulepsz gotowe urządzenie.
Droga numer trzy prowadzi często do rozwiązań bardziej skomplikowanych, niż to potrzebne. Ponadto większość urządzeń zostało już ulepszonych. Czasem jednak zachodzi ewolucja wsteczna, czyli lepsze rozwiązanie znika, bo jest zbyt drogie, skomplikowane lub niepotrzebne. Przykład z mojego życia to podgrzewacz do butelek z mlekiem i słoiczków jedzenia Philips Avent. Starszy model pozwalał wybrać rodzaj podgrzewanego pojemnika, objętość zawartości oraz to, czy pojemnik jest w temperaturze pokojowej, z lodówki czy z zamrażarki - mikrokontroler (z rodziny STM8) operował grzałką za pomocą przekaźnika i odliczał czas potrzebny na podgrzanie posiłku dla niemowlaka. Nowe podgrzewacze nie pozwalają na taki poziom kontroli i zostały zredukowane do prymitywnych termostatów. Z ceną premium, bo to Avent.
Jako drugi przykład niech posłuży ta prezentacja tostera z lat 50tych, który zawsze robi perfekcyjne grzanki i ma genialnie rozwiązany mechanizm ich opuszczania i podnoszenia:
Pójście drogą numer dwa może prowadzić do sytuacji, gdzie źle zidentyfikujemy problem gnębiący ludzkość i w konsekwencji skończymy z rozwiązaniem desperacko potrzebującym problemu. Albo z suplementem diety chroniącym przed oparami topnika...
Dlatego ja rekomenduję drogę numer jeden - najlepiej rozwiązać problem, który ma się samemu. Wielką zaletą takiego podejścia jest to, że mamy dokładną wiedzę na temat problemu i zapewne kilka pomysłow na jego rozwiązanie. Ponadto jeśli my mamy ten problem, to być może są inni, którzy też go mają.
Problem zdefiniowany
Problem, który chcę rozwiązać dotyczy mojego aparatu fotograficznego. Sony A5100 (ILCE-5100) był najniższym modelem w serii bezlusterkowców Sony z matrycą APS-C. W ramach cięcia kosztów i redukcji rozmiarów Sony zrezygnowało z montażu "gorącej stopy" dla zewnętrznych lamp błyskowych. Nie dodało jednak gniazdka PC albo mini-Jack do synchronizacji zewnętrznej lampy błyskowej. To w pewnym stopniu ogranicza użyteczność aparatu. Zintegrowana lampa błyskowa działa wcale nieźle, ale jest nad obiektywem, co powoduje, iż wszelkie portrety wychodzą "płasko". W takich sytuacjach oddzielna lampa błyskowa zsynchronizowana z aparatem to konieczność.
Generalnie lampy błyskowe można synchronizować z aparatem na trzy sposoby: przewodowo, radiowo i z pomocą fotoceli. Metoda przewodowa i radiowa wymagają połączenia z aparatem kabla synchro albo nadajnika radiowego. Fotocela natomiast wyzwoli lampę, gdy zarejestruje błysk innej lampy, na przykład wbudowanej w aparat. Ale to oznacza, że musimy jej użyć. A by to zrobić i nie wpłynąć na zdjęcie jej błyskiem, trzeba lampę odchylić palcem do góry, jak na załączonym obrazku (z telefonu, bo mam jeden aparat):
Mój wewnętrzny inżynier buntuje się na takie nieeleganckie, wręcz paskudne rozwiązanie. A dodatkowo moja lampa nie ma fotoceli. Dokupienie zewnętrznej to koszt ponad 40 złotych, a tyle wydałem na samą lampę - mój wewnętrzny księgowy się buntuje.
Tak oto zdefiniowaliśmy problem:
Jak dorobić zewnętrzne wyjście synchronizacli lampy błyskowej tak, by działało bez użycia lampy w aparacie i by nie modyfikować samego aparatu w żaden sposób?
Mam problem - co dalej?
Mamy zdefiniowany problem, trzeba zatem wymyślić jakieś rozwiązanie, czyli faktyczny pomysł na urządzenie. Na tym etapie warto sprawdzić, czy ktoś inny nie wymyślił rozwiązania. W przypadku mojego problemu rozwiązania nie ma.
Sony A5100 posiada tylko kilka gniazdek: karty pamięci, HDMI i USB. Tylko że gniazdko USB jest nietypowe - jest dwurzędowe, i drugi, głębszy rząd zawiera dodatkowe styki. Wśród nich są dwa wejścia: jedno do aktywowania autofokusa, drugie do wyzwalania migawki. Zwarcie któregoś z nich do masy aktywuje daną funkcję. Dowiedziałem się tego wszystkiego, gdyż jednym z moich pierwszych zakupów do aparatu był kabel z pilotem zdalnego wyzwalania - planowałem robić zdjęcia z długimi czasami ekspozycji. Przy okazji więc pogooglowałem za schematem połączeń pilota i innymi informacjami na temat tego dziwnego gniazdka USB od Sony.
A jakby użyć pilota do jednoczesnego wyzwalania aparatu i lampy?
Tu pojawia się pewien problem: między wciśnięciem spustu, a faktycznym wykonaniem zdjęcia mija trochę czasu. Jak dużo? Tu z pomocą przychodzi Google. Po krótkich poszukiwaniach z hasłem "Sony A5100 shutter delay" znalazłem informację w jednej recenzji, iż zależnie od trybu AF opóźnienie wynosi od 126 milisekund, do 352 milisekund. Ale jeśli ostrość jest wstępnie ustawiona, to opóźnienie wynosi tylko 21 milisekund. Wartości tego opóźnienia zależą też od typu obiektywu. Zatem nasz pilot z wyzwalaczem lampy powinien najpierw wysłać sygnał aktywujący system AF, odliczyć przynajmniej 400 milisekund, wysłać sygnał wyzwalający migawkę, odliczyć kolejne 21 milisekund i w końcu wyzwolić lampę.
Zatem mamy rozwiązanie, i zajęło to tylko kilka chwil myślenia i googlowania. Ale mój wewnętrzny inżynier twierdzi, że to nadal nie jest aż tak eleganckie, jakby mogło być, bo do cykania zdjęcia z zewnętrzną lampą zawsze będzie potrzebny pilot. Czy nie byłoby fajnie, gdyby cykać zdjęcia przyciskiem na aparacie, a lampa sama się wyzwoli?
Skoro aparat ma te wejścia "podciągnięte" do jakiegoś napięcia, a ich zwarcie do masy aktywuje funkcje, to czy aktywacja funkcji przyciskiem na aparacie nie zmienia tych sygnałów na wejściach? Sprawdziłem to. Rozebrałem pilota, odkrywając, iż w środku jest tylko kilka blaszek, po czym wpiąłem się do nich multimetrem, podczas gdy pilot był podłączony do włączonego aparatu.
Na wejściach aparatu panuje napięcie około 3,52V. Naciśnięcie spustu w aparacie obniża to napięcie do mikrowoltów (sic!). To pozwala wysnuć wniosek, iż przyciski pilota są połączone równolegle z przyciskiem spustu (mającym dwa poziomy naciśnięcia). Zatem nasz pilot może wykryć wciśnięcie spustu i wyzwolić lampę z pewnym opóźnieniem. Może też wyzwolić aparat na żądanie, a potem wyzwolić lampę. Pozwala nam to dodać do pilota różne, bardziej zaawansowane funkcje. Na przykład funkcję "timelapse", która jest niedostępna w aparacie, jeśli nie kupi się specjalnej aplikacji (mój wewnętrzny księgowy dostał ataku apopleksji przez chytrość Sony). Może też wyzwalać aparat błyskiem pioruna, co pozwoli robić gustowne zdjęcia burzy. Można doczepić aparat do ramienia robota albo do obrotowej głowicy i robić panoramy i wielkoformatowe zdjęcia składane w GIMPie czy w Hugin. Zapewne możecie wskazać inne zastosowania i funkcje. Ba, istnieje gotowy pilot/wyzwalacz DIY dla lustrzanek, który realizuje wiele z tych funkcji.
Założenia projektowe
Warto sobie wypisać, jakie funkcje gotowe urządzenie powinno realizować, i jakie cechy powinno mieć. W ten sposób niczego nie pominiemy w trakcie projektowania. Zwykle taką listę mam w głowie, ale na potrzeby tej serii wypiszę ją tutaj. Będziemy do niej wracać w trakcie realizacji projektu, by sprawdzić, jak wiele udało się osiągnąć. Lista będzie też ewoluować wraz z Waszymi sugestiami.
Założenia projektu "Pilot/wyzwalacz do aparatu Sony A5100":
Cechy główne:
1. Dwukierunkowa komunikacja z aparatem.
2. Izolowane wyjście dla lampy błyskowej.
3. Izolowane wejście i wyjście sterujące dla dodatkowych układów.
4. Fotocela (wyzwalanie aparatu błyskiem).
5. Regulacja opóźnienia lampy.
6. Regulacja opóźnienia między AF a migawką.
7. Oddzielny przycisk AF i migawki.
8. Programowalna funkcja Timelapse.
Cechy dodatkowe:
1. Ładna obudowa.
2. Zasilanie ogniwem Li-Ion (18650).
3. Wskaźnik naładowania baterii.
4. Wyzwalanie dźwiękiem.
5. Dodatkowy pilot bezprzewodowy (do selfie).
6. Konfiguracja (i ładowanie) przez port USB.
Myślę, że tyle na początek wystarczy. Jeśli macie jakieś propozycje, podzielcie się nimi w komentarzach. W następnej części zajmiemy się wstępnym projektem układu.
Cool? Ranking DIY