Obsah:

Servo robot riadený Arduino (SERB): 7 krokov (s obrázkami)
Servo robot riadený Arduino (SERB): 7 krokov (s obrázkami)

Video: Servo robot riadený Arduino (SERB): 7 krokov (s obrázkami)

Video: Servo robot riadený Arduino (SERB): 7 krokov (s obrázkami)
Video: Micro Servo Robot 2024, Júl
Anonim
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)
Servo robot riadený Arduino (SERB)

Aký lepší spôsob, ako začať experimentovať s otvorenými zdrojovými mikrokontrolérmi (Arduino), potom vybudovaním vlastného open source robota (CC (SA -BY))? Čo robiť s vašim SERB?

  • (tu) - Ako pripojiť SERB k internetu a viesť ho cez videohovor cez Skype.
  • (tu) - Ako ovládať svoje SERB pomocou akcelerometrov Wii nunchuck
  • (tu) - Ako do svojho robota pridať fúzy na zisťovanie prekážok
  • (tu) - Ako vyrobiť 30 súprav (otvorená výroba)

Vlastnosti:

  • Plne programovateľné pomocou mikrokontroléra Arduino Duemilanove (alebo iného mikrokontroléra podľa vášho výberu).
  • Nie je potrebné spájkovať.
  • Voľba možností rezania akrylových kúskov. (špirálová píla, prístup k laserovej rezačke, nákup vopred narezaných kusov)
  • Ľahko rozšíriteľný a upraviteľný pomocou ďalších otvorov pre skrutky a priloženého nepájivého poľa.
  • Zadné koleso s dvojitým guľkovým ložiskom.
  • Spustí sa za 1-2 hodiny. (zo súpravy)
  • Open source dizajn (zostavte ľubovoľný počet)

(Nehanebná zástrčka) V Británii a máte radi veci z Arduina? pozrite sa na náš novootvorený internetový obchod oomlout.co.uk Rýchle video o dokončenom servo robote riadenom Arduino - (SERB), na ktorom je spustený zahrnutý testovací program (krok 6) Poznámka: Zdrojové súbory sú k dispozícii na paralelnom inštrukcii (zdrojové súbory pre) - Ako vyrobiť servo robot riadený Arduino - (SERB)

Krok 1: Diely a nástroje

Diely a nástroje
Diely a nástroje

Všetky skrutky nájdete vo svojom miestnom domácom sklade. Ostatné diely nájdete na internete (ku každému som pridal odkaz na môj obľúbený zdroj). Zoznam dielov: Balíček obsahujúci všetky hardvérové položky je možné zakúpiť v obchode oomlout.com (tu) (120 dolárov) Orechy a skrutky:

  • Skrutka 3 mm x 15 mm (x20)
  • Skrutka 3 mm x 10 mm (x12)
  • Matica 3 mm (x34)
  • Podložka 3 mm (x12)
  • Skrutka 8 mm x 25 mm (x2)
  • Matica 8 mm (x2)
  • Ložiská pre korčule (x2) (VXB) (to sú štandardné ložiská pre korčule, ktoré je možné zachrániť z páru koliesok alebo skateboardu)

Pneumatiky

  • Veľký O-krúžok (4,5 "ID 3/16" guľôčkový pomlčka #349) (x2) (Produkt McMaster-Carr #9452K407)
  • Malý O-krúžok (3/4 "ID 3/16" guľôčkový pomlčka #314) (x1) (Produkt McMaster-Carr #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Servo s nepretržitým otáčaním (x2) (paralaxa)
  • 400 Contact Breadboard (x1) (všetka elektronika))
  • Štvornásobný batériový box AA (x1) (všetka elektronika)
  • Klip na 9V batériu (x1) (všetka elektronika)
  • 2,1 mm konektor (x1) (všetka elektronika)
  • 3kolíkový konektor (x2) (všetka elektronika)
  • A -B USB kábel - štýl tlačiarne (x1) (všetka elektronika) (nie je súčasťou súpravy)

Batérie:

  • Batéria AA (x4) (nie je súčasťou súpravy)
  • 9v batéria (x1) (nie je súčasťou súpravy)

Drôt: (všetok drôt je pevný 22 AWG, kupujem môj cez McMaster-Carr)

  • 15 cm fialová (x2)
  • 15 cm čierna (x1)
  • 5 cm čierna (x2)
  • 5 cm červená (x2)

Nástroje

  • Skrutkovač (x1) (Philips)
  • Kliešte s ihlovým nosom (x1)

Krok 2: Krájanie kúskov

Rezanie kusov
Rezanie kusov
Rezanie kusov
Rezanie kusov
Rezanie kusov
Rezanie kusov
Rezanie kusov
Rezanie kusov

Podľa zvolenej možnosti rezania zvoľte, ktoré kroky budete postupovať. Možnosť 1 (Nákup vopred narezaných dielov)

Kúpte si vopred narezaný podvozok v obchode oomlout.com (tu) (60 dolárov vrátane dopravy do USA a Kanady)

Možnosť 2 (Digitálna výroba (tj. Ponoko) / Prístup k laserovému rezaču)

  • Stiahnite si rozloženie laserovej rezačky („03 SERB Ponoko Cutting Layout P2.eps“alebo „03- (SERB) -Ponoko Cutting Layout (P2).cdr“)
  • Vystrihnite súbory pomocou Ponoko alebo pomocou vlastnej laserovej rezačky (3 mm, 0,118 "akrylu (niekedy sa predáva aj ako.125")

Možnosť 3 (špirálová píla a vŕtačka)

  • Stiahnite si a vytlačte vzor PDF (zvoľte súbor zodpovedajúci veľkosti papiera) 03- (SERB) -ScrollSaw Pattern (letter).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (je dôležité, aby ste jeho mierku nezvyšovali) kresba počas tlače)
  • Odmerajte pravítko na výtlačku voči pravítku, ktorému dôverujete, ak sa nezhoduje, vzor bol zmenšený a pred opätovnou tlačou sa musíte pozrieť na nastavenia tlačiarne. Ak sa zhodujú, ďalej.
  • Prilepte vzor na akrylový list (3 mm,.118 "(niekedy sa predáva ako.125").
  • Vyvŕtajte otvory.
  • Vystrihnite kusy pomocou špirálovej píly

Krok 3: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Blahoželáme, že ste sa dostali tak ďaleko, 90% procesu je dokončených, stačí si stiahnuť montážny návod v tomto kroku (04- (SERB) -Assembly Guide.pdf) a po malej montáži v štýle lego/mechano budete pripravení zapojiť. Aby som vás zabavil na ceste, je tu časozberné video z môjho zhromaždenia:

Krok 4: Zapojenie

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

So všetkými veľkými kusmi dohromady je čas pridať malé elektrické žily, ktoré umožnia ovládať nášho robota. Za týmto účelom si stiahnite a vytlačte schému zapojenia (05- (SERB) -Schéma zapojenia.pdf). Prvý pohľad na to môže vyzerať dosť skľučujúco, ak však urobíte každé pripojenie postupne a budete mať čas, spojí sa pozoruhodne rýchlo. Elektroinštalácia je pomerne jednoduchá a do vášho obvodu nemôže prísť žiadna škoda, kým nepridáte batérie. Všetko teda zapojte, dvakrát skontrolujte a potom zapojte.

Krok 5: Testovanie a riešenie problémov

Testovanie a riešenie problémov
Testovanie a riešenie problémov

Ak ste si objednali súpravu, vo vašom Arduine je vopred nainštalovaný testovací program. Stačí vložiť 4 batérie AA a 9V batériu zapojiť do Arduina. A ak je všetko vykonané správne, váš robot sa začne pohybovať (bude sa otáčať v náhodnom smere po dobu 0,1 až 1 sekundy, potom pôjde náhodne 1 až 2 sekundy dopredu, potom na 2 sekundy pauzu a potom znova začnite). Ak ste si nekúpili súpravu, je potrebný ďalší krok. Stiahnite si priložený súbor zip (07- (SERB)-SERB-Test Arduino Program.zip). Potom ho rozbaľte vo svojom adresári skic Arduino (predvolene „moje dokumenty / Arduino \“) a stiahnite si ho na dosku arduino. (ak ste v Arduine nováčik, urobte krok dopredu, kde sú odkazy na skvelé návody na začiatok) Bežné problémy: Môj SERB sa pohybuje pomaly, keď by mal byť zastavený. Je to dôsledok toho, že vaše serva nie sú správne kalibrované. Ak chcete kalibrovať serva, počkajte, kým sa serva serva nezastavia, a potom malým skrutkovačom otočte potenciometer vnútri serva (malý otvor v kryte serva tesne nad miestom, kde sú vodiče.). Otočte ním doľava alebo doprava, kým sa servo skutočne nezastaví. Veci nefungujú celkom správne. Pošlite nám e-mail so svojimi príznakmi a my sa pokúsime vám pomôcť, kým čakáte na odpoveď. Skontrolujte všetky svoje vodiče podľa schémy zapojenia z kroku 4. Ak narazíte na nejaký problém, pridajte komentár na tento Instructable alebo pošlite e-mail na [email protected] a my sa pokúsime urobiť všetko pre to, aby vám SERB fungoval.

Krok 6: Programovanie

Programovanie
Programovanie

Fyzickému robotovi je hotový čas, aby mu začal dávať mozog. Predtým, ako sa dostaneme k podrobnostiam o programovaní servo robota ovládaného Arduino - (SERB) - niekoľko odkazov na vynikajúce programovacie zdroje Arduino na internete. Arduino Starter Guide - Sprievodca vám pomôže začať s Arduinosom, od stiahnutia programovacieho prostredia po napísanie prvého programu. Referencia k programovaniu Arduino - kompletný a ľahko použiteľný sprievodca programovacím jazykom Arduino. Ako fungujú servá - rýchly základ toho, ako fungujú servomotory. Servo knižnica Arduino - Ako funguje knižnica servopohonov Arduino (ako ovládame naše servá). V poriadku s učením sa z cesty umožňuje získať programovanie. Existujú tri spôsoby, ako začať s programovaním servo robota riadeného Arduino - (SERB). Možnosť 1: (Úprava SERB_Test.pde) Niekedy je pri programovaní najľahšie zobrať si pracovný program a začať doň pridávať vlastný kód. Za týmto účelom si stiahnite skomprimovaný program SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). Pokračujte v rozbaľovaní tohto priečinka v priečinku skici Arduino (predvolené nastavenie „Moje dokumenty / Arduino \“). Nakoniec otvorte programovacie prostredie Arduino a stiahnite si ho do svojho Arduina. Kód je dobre okomentovaný. (Alebo skopírujte kód z dodatku v tomto kroku do nového náčrtu Arduino) Možnosť 2: (Pridanie rutín SERB do programu) Pridajte niekoľko jednoduchých rutín do už existujúceho programu (napríklad goForward (), setSpeed (int) atď.). Za týmto účelom si stiahnite rutiny do textového súboru (07- (SERB)- Simple Routines Text.txt). 1. Skopírujte úvodnú časť a prilepte ju na začiatok programu. Skopírujte a prilepte rutinnú časť do tela programu. 3. Pridať hovor k serbSetup (); do vašej rutiny setup (). Možnosť 3: (Vytvorenie vlastného programu od začiatku) Nie je to príliš ťažké. Všetko, čo je potrebné, je zoznámiť sa s servo knižnicou Arduino. Potom je pravé servo pripojené k pinu 9 a ľavé servo k pinu 10. poznámka: Tu budú pri vývoji pridávané ďalšie programy; alebo ak niečo vyviniete a chcete, aby to obsahovalo, pošlite mi súkromnú správu a bude možné ju pridať. Príloha: (Kód SERB_Test.pde)

/ * * Servo robot riadený Arduino (SERB) - testovací program * Bližšie informácie nájdete na: https://www.oomlout.com/serb * * Správanie: Jednoduchý testovací program, ktorý spôsobuje, že sa SERB * náhodne otáča doľava alebo doprava na * náhodné časové obdobie od 0,1 do 1 sekundy. * SERB potom bude jazdiť dopredu náhodne * po dobu 1 až 2 sekúnd. Nakoniec * pozastavíte na 2 sekundy, než začnete znova. * * Elektroinštalácia: Pravý servo signál - kolík 9 * Ľavý servo signál - kolík 10 * * Licencia: Toto dielo je chránené licenciou Creative Commons * Pripisovanie - Zdieľať podobne 3.0 Neportovaná licencia. Ak si chcete * pozrieť kópiu tejto licencie, navštívte * https://creativecommons.org/licenses/by-sa/3.0/ * alebo pošlite list na adresu Creative Commons, 171 Second * Street, Suite 300, San Francisco, Kalifornia 94105, * USA. * */// --------------------------------------------- -------- 9Servo vľavoServo; Servo vpravoServo; vnútorná rýchlosť = 100; // nastavuje rýchlosť robota (obidvoch serv) // percentuálne číslo od 0 do 100 // KONEC ARDUINO OVLÁDANÉHO SERVO ROBOTA (SERB) PREAMBULE // ---------------- ---------------------------------------------------------- --------/ * * nastavuje kolíky do príslušných stavov a pripája servá. Potom sa na 1 sekundu pozastaví * pred spustením programu */ void setup () {serbSetup (); // nastaví stav všetkých potrebných // pinov a pridá do vášho náčrtu servá randomSeed (analogRead (0)); // nastaví osivo náhodných čísel s // niečím mierne náhodným oneskorením (1 000);}/ * * otočí robota buď doľava alebo doprava (náhodne) na dobu medzi * 0,1 a 1 sekundou. Pred pokračovaním v náhodnom časovom období * medzi 1 a 4 sekundami. Pred pozastavením na dve sekundy a spustením znova *. */Void loop () {turnRandom (100, 1000); // Otočí sa náhodne doľava alebo doprava o // náhodný časový úsek medzi.1 sekundou // a jednou sekundou goForwardRandom (1000, 2000); // Pokračuje v náhodnom časovom období // medzi // 1 a 2 sekundami goStop (); // Zastaví oneskorenie robota (2000); // pozastaví na 2 sekundy (keď je zastavený)}/ * * otočí robota náhodne doľava alebo doprava počas náhodného časového obdobia medzi * minTime (milisekundy) a maxTime (milisekundy) */void turnRandom (int minTime, int maxTime) {int voľba = náhodná (2); // Náhodné číslo na rozhodnutie // medzi ľavou (1) a pravou (0) int turnTime = random (minTime, maxTime); // Náhodné číslo pre prestávku // čas if (voľba == 1) {goLeft ();} // Ak je náhodné číslo = 1, potom otočte // doľava {goRight ();} // Ak náhodné číslo = 0, potom odbočiť // oneskorenie doprava (turnTime); // oneskorenie pre náhodný čas}/ * * ide dopredu o náhodné časové obdobie medzi minTime (milisekundy) * a maxTime (milisekundy) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // urcite nahodny cas // idete dopredu goForward (); // nastaví SERB posunutie dopredu (forwardTime); // meškania za náhodné časové obdobie} // ---------------------------------------- -------- arduino na oslovenie vášho SERB pomocou priložených rutín*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, VÝSTUP); // nastaví ľavý signál signálu servo // na výstupný pinMode (RIGHTSERVOPIN, OUTPUT); // nastaví pravý signálny pin servo // na výstup leftServo.attach (LEFTSERVOPIN); // pripája ľavé servo rightServo.attach (RIGHTSERVOPIN); // pripája pravé servo goStop ();}/ * * nastavuje rýchlosť robota medzi 0- (zastavené) a 100- (plná rýchlosť) * POZNÁMKA: rýchlosť nezmení aktuálnu rýchlosť, musíte zmeniť rýchlosť * potom zavolajte spôsobov, ako nastanú zmeny.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // if speed is greater than 100 // make it 100 if (newSpeed <= 0) {newSpeed = 0;} // ak je rýchlosť menšia ako 0 make // it 0 speed = newSpeed * 0,9; // nastaví rýchlosť na // medzi 0 a 90}/ * * pošle robota dopredu */void goForward () {leftServo.write (90 + rýchlosť); rightServo.write (90 - rýchlosť);}/ * * pošle robota dozadu */void goBackward () {leftServo.write (90 - rýchlosť); rightServo.write (90 + rýchlosť);} / * * pošle robota doprava * /void goRight () {leftServo.write (90 + rýchlosť); rightServo.write (90 + rýchlosť);}/ * * pošle robota doľava */void goLeft () {leftServo.write (90 - rýchlosť); rightServo.write (90 - rýchlosť);}/ * * zastaví robota */void goStop () {leftServo.write (90); rightServo.write (90);} // KONEC ARDUINO RIADENÝCH SERVO ROBOTOV (SERBOVÝCH) CESTÁCH // ---------------------------- ------------------------------------------------

Krok 7: Hotovo, ostatní, ktorí skončili a budúcnosť

Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť
Dokončení, ostatní, ktorí skončili a budúcnosť

Blahoželáme vám, že ste sa dostali až sem, a dúfam, že sa bavíte so svojim servo robotom Arduino Controlled - (SERB). SERB Michaela Becka - Michael našiel plány pre SERB na Thingiverse.com a vystrihol ho zo žltého a červeného akrylu. Myslím, že to vyzerá skvele. Mikeov SERB - Mike (z robotického klubu St. Louis Area ROBOMO) nechal priateľa laserom vyrezať podvozok SERB a na jeho uvedenie do prevádzky použil svoje vlastné robotické know -how. Myslím, že to vyzerá úžasne, keď je to urobené v modrej farbe. (pozrite sa na jeho webovú stránku, kde nájdete podrobnosti o tomto a ďalších jeho robotoch (tu) Táto časť bude obsahovať podrobnosti o budúcom vývoji a prílohách (budú tu uvedené skôr, ako budú riadne zdokumentované). Ale chcel by som sa pochváliť aj obrázkami iných ľudí SERB. Ak ste teda skončili, pošlite mi súkromnú správu s fotografiou a niekoľkými slovami (či už ide o popis alebo odkaz na váš web) a ja ju sem pridám. (Nehanebná zástrčka) Ak sa vám páči tento pokyn nájdete na stránke oomlout.com, kde nájdete ďalšie zábavné projekty s otvoreným zdrojovým kódom.

Prvá cena v súťaži SANYO eneloop na batérie

Odporúča: