Robot na bazie Raspberry Pi #1

in #pl-artykuly6 years ago (edited)

Ponieważ jestem w trakcie " elekronicznego flow" kilka dni temu rozpocząłem pracę nad pojazdem, którego sercem jest Raspberry Pi. Malinowego komputerka nikomu zapewne przedstawiać nie trzeba. Mały, energooszczędny, tani a jednocześnie bardzo mocny układ.

Założenia:

  • robot ma poruszać się na kołach
  • sygnały sterujące odbierane będą poprzez wi-fi z domowego routera
  • robot musi posiadać autonomiczne zasilanie
  • byłoby dobrze dodać mu kamerę

W celu wykorzystania RPi do budowy robota, potrzebowałem kół z silnikami oraz konstrukcji na jakiej całość miałaby się trzymać. W tym celu w sklepie dla pasjonatów robotyki nabyłem gotową platformę jezdną wraz z dwoma silnikami o przekładniach ślimakowych z kołami w komplecie.Za koło trzecie robi plastikowy ślizgacz wkręcany w obudowę.Zmiana kierunku jazdy robota polegać będzie na hamowaniu odpowiedniego silnika. Konstrukcja składa się z dwóch blaszek skręconych przy pomocy gwintowanych dystansów oraz śrub.

Pierwszym krokiem budowie modelu, było zapewnienie możliwości sterowania zakupionymi silnikami poprzez porty GPIO Raspberry Pi. Aby było to możliwe, potrzebny był odpowiedni driver. Ja zdecydowałem się na sterownik DRV 8834, który poza możliwością sterowania silnikiem krokowym, daje możliwość przełączenia w tryb sterowania dwoma silnikami prądu stałego. Tak się składa, że mam tego typu układ pod ręką. Rozważałem także L293D, czyli scalony mostek typu H. Obydwa te rozwiązania są jednak jak najbardziej w porządku do sterowania silnikami.
Układ sterownika zamontowałem na kawałku uniwersalnej płytki, którą przykręciłem do mojej konstrukcji, co widać na zdjęciu:

IMG_20180716_220612574.jpg

W celu sterowania driverem, na płytce tej umieściłem także złącze pinowe, do którego wpięta została taśma łącząca go ze złączem GPIO Raspberry Pi. Taśma ta pochodzi z sygnałowego kabla ATA od HDD ze starego komputera.

Po przykręceniu płytki sterownika silników do konstrukcji, wyżej umieściłem drugi jej element.
Złącze mojego kabla sygnałowego przeciągnąłem przez jeden z otworów montażowych konstrukcji, co widać niżej:

IMG_20180716_221402971.jpg

Wtyczkę sygnałową miałem zamiar pierwotnie wpiąć bezpośrenio do GPIO Raspberry Pi. Pomyślałem jednak, że lepiej byłoby zapewnić bardziej uniwersalne rozwiązanie dostępu do portów, dlatego zdecydowałem się na dodanie jeszcze jednej, pośredniej płytki na której umieściłem złącze gold-pin o takiej samej ilości pinów jak w Malince:

IMG_20180716_221602941.jpg

IMG_20180716_220252046.jpg

Rozwiązanie takie pozwoli w przyszłości na prostsze wykorzystywanie portów GPIO komputerka przez dodawanie kolejnych kabelków sygnałowych. Można też po prostu wpiąć całą taśmę(znaną w starych komputerach jako PATA) i wyciągnąć od razu wszystkie sygnały na płytę. Ja póki co ograniczyłem się jedynie do sygnałów jakie są mi w tej chwili potrzebne do sterowania silnikami. Dodałem także złącze dodatkowe na wtyczkę sygnałową drivera silników(To z białymi zatrzaskami). Jeśli będzie potrzeba,dodam kolejną wiązkę przewodów.

Na płytce umieściłem dodatkowe gwintowane dystanse, do których z łatwością mogłem zamontować Raspberry Pi w wersji 3.

IMG_20180716_220136478.jpg

Cała konstrukcja wygląda finalnie tak:

_IGP2434.jpg

_IGP2439.jpg

_IGP2436.jpg

Tymczasowo zasilanie dla silników zostało doprowadzone kablem z niezależnego źródła zasilania. Docelowo będzie to najpewniej pakiet Li-Po, jednak temat ten muszę jeszcze przemyśleć.

Jest to dopiero początek pracy nad projektem. Zakup gotowej platformy jezdnej oszczędził mi zabawy ze ślusarką( nie jest to moja domena). Będę teraz mógł skupić się na tym co tygrysy lubią najbardziej, czyli implementacji kodu robota, oraz aplikacji sterującej najlepiej na urządzenia mobilne. Po odpowiednim przekierowaniu portów domowego routera na adres lokalny przydzielony do RPi, będzie można sterować pojazdem w domu z dowolnego miejsca na świecie i oglądać przez kamerę co tam w domku słychać :). Niegłupim rozwiązaniem byłoby postawienie na RPi WEB serwera i sterowanie robotem po zalogowaniu się do witryny. Na jakie rozwiązanie padnie? Tego jeszcze nie wiem - wyjdzie w praniu. Jeśli kwestia sterowania zostanie domknięta, nic nie stoi na przeszkodzie aby popracować nad jakimś trybem autonomicznej pracy urządzenia. Niech jeździ po domu i np bawi się z kotem ;). Muszę także zastanowić się nad wydajnym źródłem zasilania na pokładzie robota. To jednak temat na kolejny wpis.

Sort:  

Świetny projekt, jestem pod wrażeniem.

Dziękuję. Dopiero go rozpocząłem, mam zamiar rozwijać na tyle na ile czas pozwoli. Bardzo lubię takie zabawki :)

Congratulations @flocki! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - The results, the winners and the prizes

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 59588.19
ETH 2572.25
USDT 1.00
SBD 2.50