Moje zdalne oko

Namiastkę automatu poruszającego kamerą internetową możemy sobie sprawić bez problemu. Szukając oszczędności, zaprzęgniemy do pracy to, co już jest w domu. Tak, chodzi o peceta. Do sterowania każdym robotem potrzebny jest przecież jakiś komputer, a współczesne maszyny dysponują wystarczającą mocą obliczeniową. Dzięki standardowemu oprogramowaniu nasza ruchoma kamera będzie też mogła dokonać rejestracji obrazu na dysku twardym peceta.

Zbudować robota – to brzmi dumnie

Aby automat się poruszał, musi mieć jakiś napęd – na przykład silniki elektryczne. Tu też pecety przyjdą z pomocą, choć w nieco niekonwencjonalny sposób. Potrzebne elementy mechanizmów i elektronikę sterującą pozyskamy ze starych, uszkodzonych podzespołów komputerowych. Jak to możliwe? Zwyczajnie – nie wszystko i zawsze ulega w danym urządzeniu awarii, a niesprawny sprzęt da się kupić za grosze na giełdach czy aukcjach internetowych.

Planowanie szczegółów konstrukcyjnych naszego urządzenia rozpoczniemy od poczynienia kilku założeń teoretycznych. Licząc siły na zamiary, zakładamy, że nasz automacik będzie dysponował dwoma stopniami swobody, czyli dwoma silnikami napędowymi. Ale nie będą to zwykłe silniczki elektryczne – użyjemy silników krokowych. Mimo wielu zalet ułatwiających impulsowe sterowanie mają one jedną dokuczliwą wadę. Po wyłączeniu zasilania łatwo jest przypadkowo obrócić ich osie i zmienić wyjściowe położenie mechanizmu. W takiej sytuacji nie uda się już prawidłowo zidentyfikować początkowego położenia osi. Mówiąc inaczej, cały mechanizm nie będzie “wiedział”, w którym właściwie miejscu jest ustawiony. Jeżeli wydamy na przykład polecenie wykonania obrotu o trzy kroki w prawo, to nasza kamera rzeczywiście się obróci, ale będzie skierowana niekoniecznie w tę stronę, w którą powinna “patrzeć”. A zatem ruch zawsze musimy rozpoczynać od znanej pozycji, bo jeśli będzie się ona przypadkowo zmieniać, nigdy nie trafimy we właściwe miejsce.

Rozwiązanie przedstawionego problemu można znaleźć, obserwując na przykład drukarkę atramentową lub skaner. Co robią te urządzenia, zanim rozpoczną normalną pracę? Otóż przesuwają swoje głowice w skrajne położenie i dopiero po wykonaniu tej czynności ustawiają je w pozycji roboczej. Gdzie tkwi trik? W skrajnym położeniu głowica załącza jakiś przełącznik krańcowy (optyczny lub mechaniczny). Dzięki temu układ kontrolny potrafi bezbłędnie zidentyfikować aktualne, skrajne położenie mechanizmu i od niego odliczać następne kroki. Także i my musimy zaplanować umieszczenie takich przełączników w konstruowanym urządzeniu. Ponadto niezbędne będzie zaimplementowanie specjalnej funkcji resetu położenia mechanizmu w oprogramowaniu sterującym ruchami kamery.

Poruszyć silnik

Trzeba jeszcze oczywiście rozwiązać problem sterowania silnikami krokowymi. Można podjąć się budowy układu “od zera” – za pomocą tranzystorów lub prostych układów scalonych. Jeśli jednak za źródło materiałów przyjmiemy recycling komputerowego złomu, to łatwo – i, co najważniejsze, bez dodatkowych kosztów – zdobędziemy gotowe, scalone kontrolery silników krokowych. Wspomagając się dokumentacją techniczną tych kości, przygotować trzeba odpowiednie ich połączenia z silnikami i zapoznać się z zasadami sterowania. Zazwyczaj konieczne jest podawanie odpowiednich impulsów na dwa wejścia sterujące. Zmieniając stan logiczny z 0 na 1 lub na odwrót, wywołamy obrót osi o jeden krok w określoną stronę. Kolejna zmiana stanu to kolejny krok. Chcemy przesunąć się o pięć kroków – podajemy pięć impulsów, 10 kroków to 10 impulsów itd. Prawda, że to proste?

Na koniec pozostaje już tylko podłączyć kontrolery silników do peceta. Od razu przychodzi do głowy pomysł wykorzystania portu równoległego. Wiązałoby się to jednak z koniecznością przeprowadzenia miedzy komputerem a naszym sprzętem grubego przewodu wielożyłowego. Może zatem skorzystać z dwużyłowego kabla szeregowego? Owszem, da się przeprowadzić transmisję danych nawet za pomocą dwóch “drutów”. Będzie tylko trzeba zmienić postać sygnałów sterujących tak, aby nadawały się do zarządzania dwoma silnikami.

Rozwiązaniem profesjonalnym byłoby zastosowanie programowanego mikrokontrolera, który mógłby odpowiednio wysterować linie kontrolne układów scalonych kierujących silnikami. To jednak wariant drogi i przeważnie kłopotliwy dla elektronika amatora. Spróbujemy zatem czegoś dużo prostszego.

Więcej:bezcatnews