Ze względu na liczne prośby postanowiłem opisać proces tworzenia takiego robota z kamerą na podwoziu gąsienicowym i sterowaniem przez bluetooth za pomocą joysticka.
Zawsze marzyłem o stworzeniu robota, którym będzie można sterować za pomocą komputera i obserwować jego ruchy z pierwszej osoby.
Warunkowo podzieliłem cały proces na trzy części:
1. Montaż robota
2. Programowanie wbudowanego mikrokontrolera
3. Programowanie sterowania komputerem
Wierzę, że ten temat będzie najciekawszy dla tych, którzy chcieliby zbudować takiego robota, ale brakuje im wiedzy w pewnych punktach. (Dla tych, którzy są dobrze zorientowani w robotyce, elektronice i programowaniu, nie odkryję niczego nowego). Dlatego opowiem Ci tak szczegółowo i prosto, jak to tylko możliwe.
Ogólnie rzecz biorąc, robota można kupić w postaci gotowej, ale
- po pierwsze nie jest tak ciekawie - sam proces tworzenia robota własnymi rękami to ogromna przyjemność
- po drugie, kupując gotowego robota, często dość trudne, jeśli nie niemożliwe, jest przerobienie go zgodnie z własnymi zainteresowaniami
- i wreszcie, przy odpowiednim podejściu, samodzielne wykonanie robota może być tańsze.
Skorzystamy z najtańszych, ale gotowych montaży, bo nie każdy jest zainteresowany montażem od podstaw, jest to bardziej skomplikowane i ryzykuje znudzenie procesem, który trwał miesiącami :).
Jeśli chcesz nie tylko zdobyć robota do zabawy, ale zrobić to sam, to chodźmy!
Robot nie podejmuje samodzielnie decyzji, to znaczy jest podwoziem sterowanym przez komputer PC, który wykonuje polecenia i przesyła sygnał wideo. Nie jest jednak trudno przerobić go na samodzielnego robota – wystarczy dodać czujniki i dodać logikę komputer pokładowy... Platforma jest do tego zaprojektowana.
Potrzebujemy:
Do podwozia gąsienicowego
1. Skrzynia biegów z dwoma silnikami - Skrzynia biegów z dwoma silnikami Tamiya (TAM70097)
2. Gąsienice i rolki z osiami - Tamiya Track and Wheel Set (TAM70100)
3. Platformy i łączniki - zestaw płyt uniwersalnych Tamiya (2) (TAM70157)
Z tego tylko pozycja 2 to deficyt w Rosji.
Resztę możesz kupić w Terraelectronics (70097 - 520 rubli, 70157 - 385 rubli)
Lub w oficjalnym sklepie Tamiya. Jeśli kupisz w nim, weź podwozie gąsienicowe(630r) i pudełko (390r). Będziesz mieć skrzynkę z jednym silnikiem w rezerwie.
Faktem jest, że potrzebujemy skrzyni z dwoma silnikami, aby robot mógł jechać nie tylko prosto, ale także skręcać, kontrolując osobno tory.
Ponieważ nie można było kupić wszystkiego w jednym miejscu w Moskwie, a nie chciałem biegać i szukać, zamówiłem to wszystko na ebayu u jedynego sprzedawcy, który dostarcza do Rosji w normalnej cenie. Zestaw kosztował około 37,5 $ z dostawą.
Części te można również znaleźć na stronie pololu.com. Są droższe i nie zawsze dostępne.
Zamiast platformy z otworami całkiem możliwe jest użycie kawałka sklejki i elementów złącznych konstruktor metalowy, który jest sprzedawany w świecie dziecięcym za około 200-400 rubli (jest kilka zestawów).
Generalnie najważniejsze są gąsienice i motoreduktory.
Elektronika pokładowa
1. Arduino Duemillanove / Freeduino 2009 - mózg naszego robota -
w serwisie eBay od 17,60 USD.
Wziąłem go na freeduino.ru, dość dawno temu i na 950r.
Dla robota wystarczy na Atmega168 (tańszy niż Atmega328P), jeśli nie zamierzasz pisać bardzo wymyślnej logiki robota lub używać Arduino jak ja do innych eksperymentów, na które 16kB pamięci flash może nie wystarczyć.
2. Moduł zasilania Osłona silnika V2 lub V3 do sterowania silnikiem
W serwisie eBay od 10,5 USD, stara wersja i bez grzebieni do montażu kolejnego piętra tarcz.
na Freeduino.ru od 600 rubli w postaci konstruktora do 900 rubli w zmontowanej formie. Polecam v3 - jest bardziej elastyczny.
3. Osłona czujnika V4 to wygodny moduł do podłączenia czujników i serwonapędów. Jeśli nie onieśmiela cię kłębek przewodów, to nie potrzebujesz go nafig. Kupiłem go do eksperymentów, więc włożyłem go dla wygody.
około 8 USD na ebay
4. Moduł SmartBluetooth. Będzie potrzebna do komunikacji z komputerem PC lub laptopem.
w serwisie eBay od 9,9 USD. Wziąłem długo i kosztowało mnie to aż 23$
5. Klucz sprzętowy Bluetooth - jeśli sterujesz nim z komputera PC i nie ma w nim interfejsu Bluetooth, to musisz go kupić.
cena - 2,7
Łącznie 40,7 USD, jeśli zrobisz bez osłony czujnika, ale z kluczem Bluetooth na PC.
Będziemy też potrzebować zasilania dla Arduino i silników. Możesz użyć zwykłych baterii AA w tej komorze, kupując je na rynku lub w ChipIDip, jeśli jest to bardzo pilne.
« »
lub bateria 9V "Krona".
Wolę mniejsze i wygodniejsze akumulatory LiPoly:
lub 2 ogniwa LiIon 18650 połączone szeregowo.
Ten zestaw wystarczy do wykonania robota z podstawową funkcjonalnością, więc proponuję zatrzymać się w tym miejscu, wybrać gdzie i co zamówisz, złożyć zamówienie lub udać się na zakupy, a w trakcie realizacji zamówienia zająć się podsystemem wideo.
Zamawiając głównie z Chin, otrzymasz wszystkie komponenty w około 2-3 tygodnie i wszystko kosztuje 80-100 $, w zależności od wybranego sprzedawcy lub chęci targowania się i oszczędzania, może być taniej. Jeśli kupujesz kilka produktów od jednego sprzedawcy, poproś o połączenie wysyłki, możesz na tym zaoszczędzić. Tak zwane " Darmowa dostawa„(Bezpłatna dostawa) jest tylko wliczony w cenę i jest dobry, jeśli kupisz jeden przedmiot.
Odbieramy podwozie
Zestaw Tamiya 70100 jest dostarczany z szczegółowe instrukcje... Ostrożnie tnij szczypcami do drutu lub nożem biurowym gąsienice gumowe a wałki oddzielające je od nadlewek montuje się i mocuje śrubami M3x10 do podestu ze sklejki, lub jak kupiłeś zestaw płyt uniwersalnych Tamiya to z kompletnymi klinami są wielokrotnego użytku, więc nic nie szkodzi, jeśli najpierw coś włożysz w złym miejscu.
Następnie montujemy skrzynię silników z przekładniami TAM70097. Ma 2 opcje przełożenia... 58:1 jeździ bardzo, bardzo szybko, ale silniki nie ciągną na niskich obrotach i jęczą żałośnie, a po załadowaniu platformy ledwo mogą się rzucać i skręcać. Polecam montaż w wersji 201:1, dzięki czemu nasz „czołg” nie zniknie z pola widzenia i będzie się poruszał płynniej. To prawda, że hałas z wściekle obracających się kół zębatych będzie większy. Koła zębate napędu podwozia nakładamy na sześciokątne osie skrzyni.
Aby sprawdzić wydajność, wystarczy zasilić silniki z 2 akumulatorów, po prostu dotykając okablowania styków silnika. Teraz musisz przylutować kilka przewodów do silników. Wystarczy 10-15 centymetrów.
Następnie za pomocą części od projektanta zabezpieczyłem drugą platformę do mocowania elektroniki. W zasadzie można to zrobić na jednym piętrze, po prostu nie ma wystarczająco dużo miejsca i praca nie jest zbyt wygodna, ale jest to całkiem możliwe.
Arduino / Freeduino mocujemy do drugiego piętra za pomocą śrub M3x10 (nie do końca pokrywa się w otworach i staje się nieco po przekątnej). Umieść MotorShield na drugim piętrze. Przepuszczamy przewody z silników przez otwory w miejscu i podłączamy przewody do portów M3 i M4 - skrajne śruby, środkowa pozostaje nieużywana (służy do silniki krokowe). Biegunowość podłączenia silników nie ma jeszcze znaczenia, można ją wtedy zmienić lub ustawić programowo, więc nie bój się pomylić.
Na razie wymyśl tylko, gdzie podłączyć moduł Bluetooth lub przymocować go do górnego piętra za pomocą gumki. Nawet go nie rozpakowałem - piankowe opakowanie mu posłuży ochrona mechaniczna, a jednocześnie nie pozwoli na przypadkowe zamknięcie kontaktów.
Dostajesz coś takiego jak ta kanapka:
« »
Otwórz zdjęcie w pełnym rozmiarze, aby lepiej przyjrzeć się, co i jak jest połączone, jeśli masz trudności z montażem i połączeniem. Podłącz Arduino z portem USB do krawędzi platformy, dzięki czemu łatwiej będzie później podłączyć kabel i programować bez wyjmowania go z robota.
Działa tylko przez kilka godzin, jeśli jest wykonywany powoli.
Podsystem wideo
Aby jeździć z obrazem pierwszoosobowym, potrzebujemy miniaturowej kamery wideo, nadajnika radiowego (nadajnika) i odbiornika (odbiornika).
Jest wiele opcji. W tym spacer na targ i zakup chińskiej kamery radiowej w sklepie z gadżetami szpiegowskimi lub sprzętem do monitoringu wideo. Najprawdopodobniej będzie kosztować 2-4 tyr razem z odbiornikiem.
Ale znacznie taniej jest zamówić z Chin.
Polecam brać na 1,2 GHz, a nie 2,4 GHz, aby uniknąć zakłóceń z modułem bluetooth i WiFi działającym na 2,4 GHz
Na przykład oto taki zestaw:
będzie kosztować nieco ponad 30 USD. Są też tańsze, w zależności od dołączonego aparatu.
Na ebay można kupić dokładnie to samo lub z aparatem w metalowym etui jak na zdjęciu z pudełka.
Jakość obrazu wszystkich tych kamer CMOS jest dość dobra (380 TVL, a te są dość mydlane, mają niski zakres dynamiki i wysoki poziom szumów przy słabym oświetleniu). Dlatego zamówiłem kamerę na matrycy Sony CCD o rozdzielczości 420TVL i lepszej czułości na hobbyking.com, co pozwala nawet pod stołem bez dodatkowe oświetlenie zobacz, co się dzieje.
A także uchwyt do niego z obrotem i pochyleniem:
Jak mówi napis na zdjęciu - serwa nie wchodzą w skład zestawu, dlatego zamawiamy niedrogie serwa 9g. Będziemy potrzebować 2 sztuki, trzecia pozostanie w rezerwie, jeśli ją złamiemy.
Mój aparat nie chce działać z 9V, więc muszę go zasilać z osobnego akumulatora 11,1V.
Odbiornik i nadajnik używane z niedrogiego zestawu pokazanego powyżej. (Próbowałem mocniejszego nadajnika - przy 800mW, ale grzeje przyzwoicie, masywny z radiatorem i moc jest taka, że powoduje zakłócenia na serwo kamerach).
Możesz podłączyć odbiornik do telewizora, ale steruj nim z komputera, a oglądanie telewizji nie jest zbyt wygodne (chyba że kupisz przenośny). Dlatego potrzebujemy urządzenia do przechwytywania wideo.
Błogosławieństwo jest tego warte
W życiu wiejskim ciągnik jest ważny agregat... Jest to szczególnie potrzebne w hodowli. Bez niego, jak bez rąk. Worki na ziarno, siano zebrane, ziemniaki lub po prostu Materiały budowlane- to wszystko musi być w jakiś sposób przetransportowane. Bardzo trudno jest ręcznie przenosić takie ładunki, a mały mechaniczny asystent poradzi sobie z tym dość łatwo. Kup dziś taką jednostkę dla domu dla wielu droga przyjemność... O wiele łatwiej i taniej będzie zmontować tak mały traktor na torach własnymi rękami w domu. Co więcej, szczegóły dla niego mogły już dawno zostać zapomniane na podwórku domowym i czekać na skrzydłach.
Ramka
Główną konstrukcją, na którą spada cały ładunek, każdej jednostki mechanicznej jest rama. Jak widać na filmie, tworzenie solidnej metalowej podstawy dla mini traktora na gąsienica to ważny krok. Łatwo to zrobić samodzielnie, jeśli poprawnie wykonasz obliczenia i uwzględnisz obciążenia.
Jak pokazano na filmie, do wykonania ramy potrzebna będzie spawarka. Wzmocniona sztywność konstrukcję bazową jednostki na torach tworzą dźwigary wykonane z wytrzymałego materiału. Zwykle wykonuje się je własnymi rękami 3-stopniowo - zewnętrzne wykonane są z trwałego kanału, a wewnętrzne z kwadratowej rury żelaznej o zwiększonej sztywności.
Warto pamiętać, że przedni trawers musi być zaprojektowany krócej niż tylny odpowiednik. Film pokazuje, że jeśli przednia trawersa jest wykonana z kanału 12, to tylna część ramki muszą być wykonane z kanału 16-kanałowego.Jednostka mocy
Drugi ważny etap w tworzeniu asystenta domowego na podwoziu gąsienicowym jest wybór silnika. Jak widać na wideo tworzonego mini traktora, każdy silnik wyłączy się, jeśli ma odpowiednią moc i odpowiada momentowi obrotowemu. Tutaj idealna opcja będzie instalacja silnik wysokoprężny moc 12 KM, z czterema cylindrami i chłodzeniem wodnym.
Jeszcze nie zła opcja w decyzji ten przypadek będzie silnik z ciągnika siodłowego Sadko. Aby zmniejszyć prędkość w takim silniku, musisz własnymi rękami zainstalować dodatkowe koła pasowe. Te samodzielnie wykonane konstrukcje zmniejszają prędkość obrotową. wał korbowy mini traktor 3,5 razy.
Most
Instalacja mostu jest zwykle prosta. W tym celu nie trzeba dokonywać dodatkowych zmian w konstrukcjach w ramie jednostki. Idealny jest tutaj most usunięty z dowolnego modelu samochodu domowego.
Na przykład w przypadku mini traktora możesz złożyć wniosek tylna oś z GAZ - 21 „Wołga”. Wystarczy własnoręcznie skrócić go do szerokości 800 mm i przeciąć nity na zdjętych pończochach mocujących tak, aby można było umieścić wszystkie elementy mechaniczne.
Gąsienica
Domowe podwozie jednostki jest dość łatwe do wykonania w domu. Do tego potrzebny jest komplet kół np. z wózka i stara opona z koła duży samochód... Wymiary tych elementów do podwozia mini traktora należy dobrać na podstawie wymiarów, tworzona maszyna. Domowe gąsienice są proste. Przygotowaną oponę należy przeciąć po bokach i nałożyć na zamontowane koła. Tutaj ważne jest, aby nie pomylić się z rozmiarem.
Inne mechanizmy
Każdy mechanik rozumie, że projektowana jednostka gąsienicowa nie może poruszać się samodzielnie bez sprzęgła i skrzyni biegów. Jako ostatni element możesz użyć urządzenia przełączającego wyjętego z ciężarówki GAZ-53.Sprzęgło wyjęte z samochodu GAZ-52 idealnie wpasuje się w projekt przyszłego asystenta domowego.
Proces budowania
Zasada działania
Własne agregaty zwykle sumują się w pewnym algorytmie. Jest to ważne, ponieważ niektóre części będą musiały zostać dostosowane do innych części. Bez ustalonej kolejności zgromadzeń będzie to trudne do zrealizowania.
Akcesoria do minitratoctoa
Koło zębate puste
Prowadzące zębatki są gotowe
Zespół ramy gąsienic
Widok z dołu - szyny montażowe
Widok z boku
Przedni widok
W praktyce kolejność budowy jest następująca:
- Zbieranie elementów ramy w jednoczęściową konstrukcję. Montaż na nim kół napędowych i jezdnych.
- Montaż silnika i podłączenie go do skrzyni biegów.
- Rozmieszczenie zespołów hamulcowych i elementu różnicowego. Połączenie mechaniczne określone elementy ze skrzynią biegów.
- Projekt jednostki sterującej i wyposażenia fotela kierowcy.
- Montaż i instalacja torów oraz dodatkowych elementów pomocniczych.
- Sprawdzenie stanu pracy jednostek i systemów jednostki. W razie potrzeby ich rewizja.
- Jazda w ciągniku.
Jeśli weźmiemy pod uwagę zasadę działania mechanizmu domowej roboty, możesz łatwo ustalić, że nie różni się on zbytnio od swoich odpowiedników. produkcja seryjna... Krótko mówiąc, wszystkie podstawowe funkcje są wykonywane tak, jak w konwencjonalnych ciągnikach gąsienicowych. Jedyną różnicą jest uproszczony system wdrażania.
Zasada działania mechanizmu domowej roboty wygląda tak:
- Silnik przenosi moment obrotowy na skrzynię biegów.
- Moment obrotowy przekazywany jest do mechanizmu różnicowego, gdzie jest rozprowadzany na półosi.
- Koła rozpoczynają proces napędowy, który jest przenoszony na gąsienice. Ciągnik rusza w zadanym kierunku.
- Funkcja skrętu polega na tym, że jedna półoś jest hamowana, a cały moment obrotowy spada na drugą półoś. Wskutek hamowania jedna gąsienica zaczyna poruszać się po drugiej hamowanej podwoziu. W ten sposób jednostka się obraca.
- Przed przystąpieniem do montażu jednostki gąsienicowej konieczne jest przede wszystkim wykonanie rysunków zespołów głównych i dodatkowych zawierających dokładne obliczenia.
- Przed rozpoczęciem pracy musisz się martwić o dostępność spawarki, wiertarki elektrycznej ze wszystkimi dyszami i szlifierki.
- Montaż musi być wykonany z wielką starannością. Wszystkie śruby i nakrętki muszą być dokręcone z niezawodną czułością. Każda spoina musi być dokładnie oczyszczona.
Podczas montażu należy pamiętać, że stworzony ciągnik stanie się niezawodny i niezastąpiony asystent w rozwiązywaniu wielu problemów gospodarstwa domowego.
Roboty i systemy zrobotyzowane są często projektowane do użytku w ekstremalne warunki, gdzie konieczne jest ułatwienie lub ochrona pracy ludzi.Bardzo często roboty mobilne są wykorzystywane w sytuacje ekstremalne, na przykład podczas gaszenia pożarów, lokalizowania odpadów promieniotwórczych itp. oraz z reguły pracy w trudnym terenie.
Rozwiązanie takich zadań powierzane jest mobilnym robotom gąsienicowym, które mają: Duży ruch i nośność. Ważny wyróżniająca się jakość gąsienicowe roboty mobilne polegają na ich zwrotności. Dzięki niezależnemu napędowi dla każdego z torów z osobna, robot mobilny może z łatwością zmieniać kierunek własnego ruchu.
Ze względu na to, że prędkość każdego z torów jest regulowana osobno, dość łatwo jest sterować ruchem robota mobilnego. Aby ustawić dowolny kierunek ruchu, musisz zmienić prędkość względna dyski.
Powyższa tabela przedstawia zależność między prędkościami a kierunkami obrotu napędów podwozia gąsienicowego. Ważne jest, aby zwrócić uwagę na położenie napędu, ponieważ w zależności od orientacji w przestrzeni napędu, zależy kierunek obrotu jego wału wyjściowego i odpowiednio kierunek ruchu ogniw gąsienicy. Na przykład, aby robot poruszał się do przodu, konieczne jest, aby jego lewy napęd obracał się „w lewo”, a prawy - „w prawo”.
- Aby jechać prosto, prawy i lewy napęd muszą obracać się z tą samą prędkością w kierunku do przodu.
- Aby skręcić w lewo, konieczne jest, aby prędkość prawego napędu była większa niż prędkość lewego. Im większa różnica prędkości, tym mniejszy promień skrętu podczas jazdy.
- Aby skręcić w prawo, konieczne jest, aby prędkość prawego napędu była mniejsza niż prędkość lewego. Im większa różnica prędkości, tym mniejszy promień skrętu podczas jazdy.
- Aby na miejscu skręcić w lewo konieczne jest, aby prawy napęd obracał się „na wprost”, a lewy „do tyłu” z tą samą prędkością.
- Aby skręcić w prawo w miejscu, konieczne jest, aby lewy napęd obracał się „na wprost”, a prawy „do tyłu” z tą samą prędkością.
- Aby ruszyć do tyłu, konieczne jest, aby prawy i lewy napęd obracały się z tą samą prędkością w kierunku „wstecznym”.
Oprócz dużej zwrotności podwozia gąsienicowe mają zwiększona zdolność przełajowa... Dzięki dobrej przyczepności gąsienic do powierzchni, na której odbywa się ruch, roboty gąsienicowe mogą pokonywać różne nierówności i przeszkody na powierzchni.
W zależności od przeznaczenia robota gąsienicowego i stopnia jego zdolności terenowej można wyróżnić: różne wzory podwozie gąsienicowe.
Tradycyjnie śledzone pojazdy mają z przodu specjalny kąt nachylenia, aby wjechać w przeszkody w kierunku jazdy. Im wyższa przejezdność gąsienicowego robota lub pojazdu, tym większe nachylenie z reguły.
Czasami do rozwiązywania specjalistycznych problemów wykorzystywane są pojazdy gąsienicowe, składające się z gąsienic poruszających się względem siebie. Dzięki regulacji kąta podnoszenia przednich gąsienic roboty takie mogą pokonywać przeszkody o różnym stopniu trudności.
To laboratorium bada, jak sterować mobilnym podwoziem gąsienicowym. Opracowany w ramach tej pracy model robota ma wystarczająco dużą zdolność do jazdy w terenie dla własnych gabarytów.
Konstrukcja podwozia robota składa się z gąsienic umieszczonych pod wystarczająco dużym kątem do kierunku jazdy, aby robot mógł pokonywać przeszkody o wysokości nie mniejszej niż wysokość podnoszenia gąsienic.
Aby robot nie utknął w trakcie ruchu, pokonywał przeszkodę, jego podwozie zostało wyposażone w czujnik podczerwieni, który wykrywa obecność obiektów na jego drodze. Jeżeli czujnik wykryje obiekt, oznacza to, że wysokość obiektu jest współmierna do wysokości robota i istnieje ryzyko, że robot nie będzie w stanie pokonać tej trasy. W takim przypadku robot musi wykonać inną czynność, na przykład ominąć przeszkodę z boku itp.
Lekcja ta jest poświęcona nauce podstaw ruchu gąsienicowych robotów mobilnych, nauce sposobów ich manewrowania i pokonywania różnych przeszkód.
Wykonywanie najprostszych manewrów.
W tej części Praca laboratoryjna są rozważane ruch prostyśledzony robot i proces znajdowania przeszkód na jego drodze.
Jeśli na ścieżce robota znajduje się przeszkoda, oznacza to, że ma ona wymiary, których robot nie może się poruszyć. W takim przypadku system sterowania robota musi podjąć pewne działania, aby wykonać manewry, aby uniknąć kolizji.
Zgodnie z proponowanym algorytmem robot gąsienicowy jedzie prosto, pokonując wszelkie przeszkody na swojej drodze. Jeśli na ścieżce robota zostanie znaleziony przedmiot, który nie znika z toru robota przez 3 sekundy, robot zatrzymuje się i manewruje wokół przeszkody.
Na początku programu ustawiane są podstawowe zmienne, które określają wartość progową do obiektu, prędkość obrotową napędów robota oraz czas oczekiwania przed wykrytym obiektem (3 sek.). Wartości te służą do określenia prędkości manewrowania robotów oraz odległości, na jaką robot nie dotrze do wykrytego obiektu.
Program jest niekończącą się pętlą, w której analizowane są odczyty czujnika podłączonego do PORT. Zmienne przeszkody_próg i bstacle_judging_time są ustawione maksymalne wartości odległość od obiektu i czas wykrycia obiektu. Jeśli obiekt jest poza zasięgiem wzroku, robot kontynuuje ruch pod kontrolą funkcji do przodu.
Jeśli robot wykryje obiekt na swojej drodze, kolejno wywoływane są funkcje reverse, stop, pivot_left, za pomocą których robot wykonuje określony manewr, aby ominąć przeszkodę. Funkcje są przeplatane przez wywołanie timera, który ogranicza czas działania każdej z nich.
Timery są bardzo często używane do ustawiania czasu pracy urządzenia lub fragmentu programu sterującego. Rozważmy działanie timera na przykładzie funkcji inicjującej wywołanej na samym początku programu.
Funkcja ta rozpoczyna odtwarzanie melodii przez czas określony przez zmienną czas_przygotowania. Ta zmienna inicjuje licznik czasu, który działa przez określony czas.
Podczas odliczania występuje opóźnienie, podczas którego wykonywana jest ostatnia operacja, na przykład granie melodii. Opóźnienie odbywa się za pomocą funkcji timer_standby, która używa instrukcji WAIT WHILE do czekania na zakończenie odliczania. W ten sposób można wygenerować dowolne opóźnienie niezbędne do działania programu.
Ważne osobliwość Program ten stanowi różnicę pomiędzy funkcją sprawdzania poprawności montażu a funkcjami rozważanymi w poprzednich pracach. W pracy tej przed uruchomieniem programu głównego określa się, do którego z portów sterujących podłączony jest czujnik IR.
W tym celu wszystkie porty są automatycznie odpytywane, a jeśli na jednym z nich zostaną wykryte odczyty z czujnika podczerwieni, dioda LED mrugnie tyle razy, ile odpowiada numerowi portu.
W przypadku PORT, po wykryciu sygnału z czujnika IR, wywoływana jest funkcja LED_port_num, która miga diodą systemową.
W przypadku wykrycia sygnału z czujnika IR na innym porcie sterownika CM-530, funkcja LED_port_num jest wywoływana za pomocą operatora LOOP FOR, który jest wykonywany określoną liczbę razy.
Pokonywanie przeszkód na drodze.
Opracowywany w ramach tej pracy mobilny robot gąsienicowy można zaliczyć do ultralekkiej klasy takich robotów. Takie roboty z reguły służą do rozpoznania terenu i pracy w trudnym terenie, wśród ruin i gruzu.
Takie mobilne roboty dość szybko poruszają się wśród gruzów, pokonują wzniesienia i zjazdy, ale ze względu na swoją niewielką masę często przewracają się i przewracają. Mimo to roboty muszą wykonać przydzielone zadanie, co oznacza przynajmniej dalsze poruszanie się.
Aby robot mógł kontynuować ruch po przewróceniu, jego konstrukcja jest absolutnie symetryczna.
Aby robot poruszał się w stanie odwróconym, konieczna jest zmiana kierunku obrotu jego napędów. Ponieważ takie roboty poruszają się autonomicznie lub często użytkownik nie może obserwować ich ruchu, zmiana kierunku obrotu powinna odbywać się automatycznie, w zależności od orientacji w przestrzeni robota.
W celu określenia pozycji robota montowany jest czujnik IR wycelowany w podłogę. Odpowiednio, w jednej z pozycji robota działa, a w pozycji odwróconej nie i odwrotnie, w zależności od sposobu zamontowania czujnika.
Program sterowania robota jest identyczny jak w poprzedniej części, z wyjątkiem części dotyczącej określania pozycji robota.
Program robota składa się z dwóch symetrycznych gałęzi, z których każda jest wykonywana w zależności od pozycji robota. W przeciwieństwie do programu z poprzedniej sekcji, ten dotyczy tylko jednego dodatkowego warunku.
Przejście z jednej gałęzi programu do drugiej odbywa się za pomocą czujnika podczerwieni podłączonego do PORTU, który określa orientację robota w przestrzeni.
Ponadto, w przeciwieństwie do programu z części 1, analogi slow_forward i slow_reverse są zaimplementowane dla funkcji do przodu i do tyłu, które zapewniają powolny ruch robota podczas manewrów.
Funkcje te działają na wartościach l_wheel_low_speed i r_wheel_low_speed opisanych na początku programu.
Wniosek.
Aby skonsolidować materiał z tej lekcji, proponuje się wykonanie kilku testów eksperymentalnych.
Symuluj sytuację, w której robot transportuje ładunek poza czarną linią. W tym celu należy wyposażyć podwozie gąsienicowe w dwa czujniki podczerwieni: z przodu do wykrywania obiektów i na dole do wykrywania czarnej linii.
Poznaj drogę robotów pełzających w trudnym terenie, symulując doły lub wąwozy na ścieżce robota. Poproś robota o pokonanie przerywanej przeszkody i przekonaj się, jak szerokość przeszkody do pokonania zależy od wielkości robota.
Pamiętaj, że nic nie ogranicza wyobraźni programistów w rozwiązywaniu przydzielonych zadań. A jeśli przepuszczalność twojego robota nie wystarcza do pokonania przeszkód na jego drodze, nie jest to powód do rozpaczy, ale dobra szansa zastanów się i ulepsz projekt.
Platforma spełniająca szereg wymagań: swobodny ruch, możliwość instalacji dodatkowe wyposażenie i upodmiotowienia, a także rozsądny koszt. To jest rodzaj platformy robota, lub po prostu podwozia gąsienicowego, które zrobię. Instrukcje są oczywiście podane do osądzenia.
Potrzebujemy:
Reduktor podwójny Tamiya 70168 (można wymienić na 70097)
- zestaw rolek i gąsienic Tamiya 70100
- platforma Tamiya 70157 do montażu gearboxa (można zastąpić kawałkiem sklejki 4 mm)
- Małe kawałki blachy ocynkowanej
- Sklejka 10 mm (mały kawałek)
- Arduino Nano
- DRV 8833
- LM 317 (stabilizator napięcia)
- 2 diody LED (czerwona i zielona)
- Rezystory 240 Ohm, 2x 150 Ohm, 1,1 kOhm
- Kondensator 10v 1000uF
- 2 matryce jednorzędowe PLS-40
- 2 złącza PBS-20
- cewka indukcyjna 68 μH
- 6 akumulatorów NI-Mn 1.2v 1000mA
- Złącze męskie-żeńskie dwupinowe do przewodu
- Przewody w różnych kolorach
- Lutowane
- kalafonia
- Lutownica
- Śruby 3x40, 3x20, nakrętki i podkładki do nich
- Śruby 5x20, nakrętki i nakrętki wzmocnione do nich
- Wiertarka
- Wiertła do metalu 3 mm i 6 mm
Krok 1 tniemy metal.
Najpierw musimy wyciąć z blachy (najlepiej ocynkowanej) i wyciąć cztery części. Dwie części na tor. Wytnij dwie części według tego skanu:
Kropki wskazują miejsca, w których konieczne jest wywiercenie otworów, obok zaznaczona jest średnica otworu. Otwory 3 mm potrzebne są do zawieszenia na rolce, 6 mm do przepuszczenia przez nie przewodów. Po wycięciu i wierceniu należy przebić wszystkie krawędzie pilnikiem bez pozostawiania ostrych narożników. Zegnij 90 stopni wzdłuż przerywanych linii. Bądź ostrożny! Pierwszą część wyginamy w dowolnym kierunku, a drugą wyginamy w Odwrotna strona... Powinny być wygięte symetrycznie. Jest jeszcze jeden niuans: konieczne jest wywiercenie otworów na wkręty samogwintujące, które mocują nasze płyty do podstawy. Należy to zrobić, gdy baza jest gotowa. Obrabiany przedmiot nakładamy na podstawę i zaznaczamy miejsca wiercenia tak, aby wkręty wpadły na środek płyty wiórowej. Na drugim skanie robimy jeszcze dwa szczegóły:
Krok 2 przygotowanie bazy.
Skrzynię biegów montujemy zgodnie z załączoną instrukcją. Przypinamy go do serwisu. Jeśli nie ma platformy, wytnij ze sklejki 4 mm prostokąt 53x80 mm i przymocuj do niego skrzynię biegów. Bierzemy sklejkę 10 mm. Wytnij dwa prostokąty 90x53 mm i 40x53 mm. Wewnątrz małego prostokąta wycinamy kolejny prostokąt, dzięki czemu otrzymamy ramkę o grubości ścianki 8 mm.
Przekręcamy wszystko, jak pokazano na zdjęciu:
W rogach platformy wywierciliśmy otwory 6 mm i włożyliśmy w nie nasze śruby 5x20 i dokręciliśmy wzmocnione nakrętki od góry. Są potrzebne do późniejszego mocowania różnych mechanizmów lub desek. Dla wygody od razu przyklejamy diody LED:
Krok 3 elektryk.
Do sterowania użyjemy Arduino Nano. Sterownik silnika DVR 883. Na płytce drukowanej montujemy wszystko zgodnie ze schematem.
L1 to cewka indukcyjna, a C1 służy do stabilizacji napięcia Arduino. Rezystory R1 i R2 przed silnikami ograniczają prąd, ich wartość należy dobrać dla konkretnych silników. Działają u mnie dobrze przy 3 omach. Do ładowania akumulatorów potrzebny jest LM317. Wejście może być zasilane napięciem od 9,5 V do 25 V. R3 - 1,1 kOhm R4 - 240 Ohm. Lewe „piny” służą do późniejszego podłączenia różnego rodzaju urządzeń (Bluetooth, moduł komunikacyjny 433 MHz, IR, Servo, itp.). Do zasilania użyjemy 6 akumulatorów Ni-Mn 1,2v 1000mA zlutowanych szeregowo i nawiniętych taśmą elektryczną.
Krok 4 składanie bazy.
Bierzemy naszą bazę, przyklejamy do niej deskę na dwustronnej taśmie. Części metalowe na pierwszym skanie należy przykręcić do podstawy po bokach małymi wkrętami samogwintującymi, wygiętymi częściami na zewnątrz. Uważaj, aby przykręcić go tak, aby skrajny otwór 6 mm znalazł się na osi wyjściowej gearboxa, spód części musi być równoległy do podstawy i symetryczny w stosunku do drugiej części tego samego. W rezultacie powinieneś otrzymać:
Aby nadać naszemu domowemu produktowi estetyczny wygląd, dodajmy kilka szczegółów. Nie jest to obowiązkowe. Wytnij prostokąt 110x55 mm z białego plastiku i wygnij, jak pokazano na zdjęciu. Kucyk jest również opcjonalny, ale podobało mi się, jak wygląda i fajnie się trzęsie podczas ruchu:
Ta osłona zakrywa skrzynię biegów, dzięki czemu brud nie dostaje się do niej, a także wytwarza mniej hałasu. Następnie z białego plastiku wycinamy również prostokąt 52x41 mm. Wykonujemy otwory do podłączenia Arduino i przycisku wyłączania jak na zdjęciu:
Całość przyklejamy na taśmie dwustronnej:
Piękno naklejki.
Te dwie części mogą być wykonane z niemal każdego dostępnego materiału. Może to być gruba tektura (którą można następnie pomalować), płyta pilśniowa, cienka sklejka lub kawałek plastiku w dowolnym kolorze. Nie zapominajmy o bateriach. Przyklejmy je do taśmy dwustronnej na prawej metalowej części podstawy:
Krok 5 gąsienic.
Tutaj potrzebujemy naszych pustych miejsc do drugiego skanowania. Włóż śruby z łbem półcylindrycznym 3x20 do otworów 3 mm. Zakładamy podkładki i dokręcamy nakrętki:
Przed rolkami należy nosić podkładki. Nie byłem zbyt leniwy i zamówiłem plastikowe podkładki. Możesz użyć zwykłych metalowych, ale wtedy nasze utwory są bardzo głośne. Po rolkach dokręcamy nakrętki bez dokręcania, ale tak, aby rolki obracały się swobodnie.
Na rolkach nakładamy gumowe gąsienice. Płytę kładziemy razem z rolkami na podstawie, upewniając się, że śruby wpadają w otwory. I dokręć nakrętki. Otrzymujemy prawie gotowe podwozie gąsienicowe:
Krok 6 oprogramowanie układowe.
Moim zdaniem najwygodniej jest napisać firmware w Arduino IDE. Zmontowane przez nas podwozie jest wszechstronne, a oprogramowanie układowe jest wymagane w zależności od konkretnego celu. Możesz podłączyć moduł Bluetooth i używać telefonu lub komputera do sterowania. Możliwe jest również podłączenie czujnika podczerwieni i użycie pilota na podczerwień do sterowania. Kolejną możliwością sterowania jest zastosowanie modułu 433 MHz do komunikacji z pilotem. Na bazie podwozia możliwe jest wykonanie kolejnego robota wzdłuż linii lub dowolnego innego autonomicznego. Zamieszczam firmware dla Bluetooth, 433 MHz i IR.
Dwa lata temu, kiedy po raz pierwszy zacząłem robić multikoptery, musiałem zrobić mały. Ponieważ quadkopter został pomyślany jako całkowicie autonomiczny, wszystko, czego wymagano od tego pilota, to sterowanie dronem podczas testowania i strojenia.
W zasadzie pilot radził sobie ze wszystkimi przydzielonymi mu zadaniami całkiem skutecznie ... Ale były też poważne wady.
- Baterie nie pasowały do obudowy, więc musiały być przywiązane do obudowy taśmą elektryczną :)
- Ustawienie parametrów przeprowadzono na czterech potencjometrach, które okazały się bardzo wrażliwe na temperaturę. W pokoju ustawiasz jakieś wartości, wychodzisz na ulicę - i już są różne, odpłynęły.
- Arduino Nano, którego użyłem w pilocie, ma łącznie 8 wejść analogowych. Cztery były zajęte strojeniem potencjometrów. Jeden potencjometr służył jako gaz. Do joysticka podłączono dwa wejścia. Tylko jedno wyjście pozostało wolne, a parametrów do dostosowania jest znacznie więcej.
- Jedyny joystick wcale nie był pilotem. Sterowanie przepustnicą potencjometrem też było dość przygnębiające.
- Ponadto pilot nie wydawał żadnych dźwięków, co czasami jest niezwykle przydatne.
Aby wyeliminować wszystkie te niedociągnięcia, postanowiłem radykalnie przeprojektować pilota. Zarówno część żelazna, jak i oprogramowanie. Oto, co chciałem zrobić:
- Zrób duże etui, abyś mógł włożyć wszystko, co chcesz teraz (w tym baterie) i to, co chcesz później.
- Żeby jakoś rozwiązać problem z ustawieniami, a nie przez zwiększanie ilości potencjometrów. Dodatkowo dodaj możliwość zapisywania parametrów w pilocie.
- Zrób dwa joysticki jak na normalnych konsolach pilota. Cóż, same joysticki są ortodoksyjne.
Nowy budynek
Pomysł jest niezwykle prosty i skuteczny. Z pleksi lub innego cienkiego materiału wycinamy dwie płyty i łączymy je ze stojakami. Cała zawartość walizki jest przymocowana do górnej lub dolnej płyty.
Sterowanie i menu
Aby kontrolować szereg parametrów, musisz albo umieścić kilka potencjometrów na pilocie i dodać ADC, albo dokonać wszystkich ustawień za pomocą menu. Jak powiedziałem strojenie potencjometrami nie zawsze jest dobry pomysł, ale nie powinieneś też z tego rezygnować. Postanowiono więc zostawić w pilocie cztery potencjometry i dodać pełnoprawne menu.
Do poruszania się po menu i zmiany parametrów zwykle używa się przycisków. Lewo prawo góra dół. Ale chciałem użyć enkodera zamiast przycisków. Wpadłem na ten pomysł ze sterownika drukarki 3D.
Oczywiście, dzięki dodaniu menu, kod pilota kilkakrotnie spuchł. Na początek dodałem tylko trzy pozycje menu: "Telemetria", "Parametry" i "Zapisz parametry". Pierwsze okno wyświetla do ośmiu różnych wskaźników. Do tej pory używam tylko trzech: baterii, kompasu i wysokości.
W drugim oknie dostępnych jest sześć parametrów: współczynniki regulatora PID dla osi X/Y, Z oraz kąty korekcji akcelerometru.
Trzeci punkt pozwala na zapisanie parametrów do pamięci EEPROM.
Joysticki
Długo nie myślałem o wyborze joysticków pilotowych. Tak się złożyło, że pierwszy joystick Turnigy 9XR dostałem od kolegi z branży quadrocopterów - Aleksandra Wasiliewa, właściciela znanego serwisu alex-exe.ru. Drugi zamówiłem bezpośrednio w Hobbyking.
Pierwszy joystick był obciążony sprężyną w obu współrzędnych - do kontroli odchylenia i pochylenia. Drugi wziąłem to samo, a następnie przerobiłem go na joystick, aby kontrolować pchnięcie i obrót.
Odżywianie
W starej konsoli zastosowałem prosty regulator napięcia LM7805, który zasilany był wiązką 8 baterii AA. Strasznie nieefektywna opcja, w której na rozgrzanie regulatora wydano 7 woltów. 8 baterii - bo tylko taka komora była pod ręką, a LM7805 - bo w tamtym czasie ta opcja wydawała mi się najprostsza i co najważniejsze najszybsza.
Teraz postanowiłem zrobić coś mądrzejszego i umieścić wystarczająco skuteczny regulator na LM2596S. A zamiast 8 baterii AA zainstalowałem komorę na dwie baterie LiIon 18650.
Wynik
Składając wszystko razem, otrzymaliśmy takie urządzenie. Widok od wewnątrz.
Ale z zamkniętą pokrywą.
Brakuje zaślepki na jednym potencjometrze i zaślepek na joystickach.
Na koniec film o tym, jak skonfigurować parametry za pomocą menu.
Wynik
Fizycznie konsola jest zmontowana. Teraz pracuję nad modyfikacją kodu pilota i quadkoptera, aby przywrócić im dawną silną przyjaźń.
W trakcie konfiguracji pilota zidentyfikowano niedociągnięcia. Po pierwsze, dolne rogi Pilot spoczywa na dłoniach: (Prawdopodobnie trochę przeprojektuję płytki, wygładzę rogi. Po drugie, nawet wyświetlacz 16x4 to za mało do pięknego wyświetlacza telemetrycznego - muszę skrócić nazwy parametrów do dwóch liter. W w kolejnej wersji urządzenia zainstaluję wyświetlacz punktowy, lub po prostu matrycę TFT.