Kazalo:

Arduino krmiljeni servo robot (SERB): 7 korakov (s slikami)
Arduino krmiljeni servo robot (SERB): 7 korakov (s slikami)

Video: Arduino krmiljeni servo robot (SERB): 7 korakov (s slikami)

Video: Arduino krmiljeni servo robot (SERB): 7 korakov (s slikami)
Video: BigTreeTech — SKR 3/SKR 3 EZ — Основы 2024, November
Anonim
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)
Arduino krmiljeni servo robot (SERB)

Kakšen boljši način, da začnete eksperimentirati z odprtokodnimi mikrokrmilniki (Arduino), potem pa zgradite svojega lastnega odprtokodnega robota (CC (SA -BY))? Kaj storiti s svojim SERB -om?

  • (tukaj) - Kako svoj SERB povezati z internetom in ga poganjati prek Skype videoklica.
  • (tukaj) - Kako upravljati svoj SERB z merilniki pospeška Wii nunchuck
  • (tukaj) - Kako svojemu robotu dodati brke za odkrivanje ovir
  • (tukaj) - Kako narediti 30 kompletov (odprta proizvodnja)

Lastnosti:

  • Popolnoma programabilno z uporabo mikrokrmilnika Arduino Duemilanove (ali drugega mikro krmilnika po vaši izbiri).
  • Ni treba spajkati.
  • Izbira možnosti rezanja akrilnih kosov. (drsna žaga, dostop do laserskega rezalnika, nakup že narezanih kosov)
  • Enostavno razširljiv in spremenljiv z dodatnimi luknjami za vijake in vključeno mizo.
  • Zadnje kolo z dvojnim krogličnim ležajem.
  • Začetek delovanja v 1-2 urah. (iz kompleta)
  • Odprtokodna zasnova (sestavite jih, kolikor želite)

(Brezsramni vtič) V Združenem kraljestvu in všeč Arduino stvari? si oglejte našo novo odprto spletno trgovino oomlout.co.uk Hiter videoposnetek dokončanega servo robota, ki ga upravlja Arduino - (SERB), ki izvaja priloženi preskusni program (korak 6) Opomba: Izvorne datoteke so na voljo v vzporednem programu Instructable (izvorne datoteke za) - Kako narediti servo robota, ki ga upravlja Arduino - (SERB)

Korak: Deli in orodja

Deli in orodja
Deli in orodja

Vse vijake lahko najdete v vašem lokalnem domu. Druge dele lahko najdete na spletu (za vsakega sem vključil povezavo do svojega najljubšega vira). Seznam delov: Paket, ki vsebuje vse elemente strojne opreme, lahko kupite v trgovini oomlout.com (tukaj) (120 USD) Matice in vijaki:

  • Vijak 3 mm x 15 mm (x20)
  • Vijak 3 mm x 10 mm (x12)
  • 3 mm matica (x34)
  • 3 mm podložka (x12)
  • Vijak 8 mm x 25 mm (x2)
  • 8 mm matica (x2)
  • Drsalni ležaji (x2) (VXB) (to so standardni drsalni ležaji, zato jih je mogoče rešiti iz para valjev ali rolke)

Pnevmatike

  • Velik O-obroč (4,5 "ID 3/16" Bead Dash #349) (x2) (izdelek McMaster-Carr #9452K407)
  • Majhen O-obroč (3/4 "ID 3/16" Bead Dash #314) (x1) (izdelek McMaster-Carr #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Servo z neprekinjenim vrtenjem (x2) (paralaksa)
  • 400 Kontaktna plošča (x1) (vsa elektronika))
  • Quad AA škatla za baterije (x1) (vsa elektronika)
  • 9V sponka za baterijo (x1) (vsa elektronika)
  • 2,1 mm vtič (x1) (vsa elektronika)
  • 3 -polna glava (x2) (vsa elektronika)
  • A -B kabel USB - Slog tiskalnika (x1) (vsa elektronika) (ni vključeno v komplet)

Baterije:

  • AA baterija (x4) (ni vključena v komplet)
  • 9v baterija (x1) (ni vključena v komplet)

Žica: (vsa žica je trdna 22 AWG, jaz jo kupim prek McMaster-Carra)

  • 15 cm vijolična (x2)
  • 15 cm črna (x1)
  • 5 cm črna (x2)
  • 5 cm rdeča (x2)

Orodja

  • Izvijač (x1) (Philips)
  • Klešče z igelnim nosom (x1)

2. korak: Rezanje kosov

Rezanje kosov
Rezanje kosov
Rezanje kosov
Rezanje kosov
Rezanje kosov
Rezanje kosov
Rezanje kosov
Rezanje kosov

Prosimo, izberite korake, ki jih morate upoštevati glede na izbrano možnost rezanja. Možnost 1 (Nakup vnaprej izrezanih delov)

Kupite vnaprej izrezano podvozje v trgovini oomlout.com (tukaj) (60 USD, vključno z dostavo v ZDA in Kanado)

Možnost 2 (digitalna proizvodnja (tj. Ponoko) / dostop do laserskega rezalnika)

  • Prenesite postavitev laserskega rezalnika ("03 SERB Ponoko Cutting Layout P2.eps" ali "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Izrežite datoteke z uporabo Ponoko ali z lastnim laserskim rezalnikom (z uporabo 3 mm, 0,118 "akrila (včasih se prodaja kot. 125")

Možnost 3 (žaga za pomikanje in vrtanje)

  • Prenesite in natisnite vzorec PDF (izberite datoteko, ki ustreza vaši velikosti papirja) risba med tiskanjem)
  • Ravnilo na izpisu izmerite z ravnilom, ki mu zaupate, če se ne ujema z vzorcem, ki je pomanjšan in morate pred ponovnim tiskanjem pogledati nastavitve tiskalnika. Če se ujemajo, naprej.
  • Vzorec prilepite na akrilno ploščo (3 mm,.118 "(včasih se prodaja kot.125").
  • Vrtajte luknje.
  • Izrežite kose z drsno žago

3. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Čestitamo, da je tako daleč 90% postopka končano. Prenesite navodila za sestavljanje na tem koraku (04- (SERB) -Vodič za sestavljanje.pdf) in po majhnem sestavljanju v slogu lego/mehano boste pripravljeni na ožičenje. Za zabavo na tej poti je zamik moje sestave:

4. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Z vsemi velikimi deli skupaj je čas, da dodamo majhne električne žile, ki bodo omogočale nadzor našega robota. Če želite to narediti, prenesite in natisnite shemo ožičenja (05- (SERB) -Žirni diagram.pdf). Na prvi pogled je lahko videti precej zastrašujoče, če pa vsako povezavo zaporedoma vzamete in si vzamete čas, se ta združi izjemno hitro. Ožičenje je precej preprosto in vaše vezje ne more poškodovati, dokler ne dodate baterij. Zato vse skupaj dvakrat preverite, nato dodajte napajanje.

5. korak: Testiranje in odpravljanje težav

Testiranje in odpravljanje težav
Testiranje in odpravljanje težav

Če ste naročili komplet, je vaš Arduino vnaprej opremljen s testnim programom. Samo vstavite 4 baterije AA in priključite 9v baterijo v Arduino. In če je bilo vse narejeno pravilno, se bo vaš robot začel premikati (začasno se bo obrnil v naključni smeri med 0,1 in 1 sekundo, preden se bo naključno pomaknil naprej med 1 in 2 sekundami, nato pa za 2 sekundi ustavil, preden se bo znova zagnal). Če kompleta še niste kupili, je potreben dodaten korak. Prenesite priloženo datoteko zip (07- (SERB)-SERB-Test Arduino Program.zip). Nato ga razpakirajte v imenik skic Arduino (privzeto "moji dokumenti / Arduino \") in ga naložite na svojo ploščo arduino. (če ste novi v Arduinu, skočite korak naprej, kjer so povezave do odličnih vadnic za začetek) Pogoste težave: Moj SERB se počasi premika, ko ga je treba ustaviti. To je posledica tega, da servomotorji niso bili pravilno umerjeni. Če želite umeriti servomotorje, počakajte, da se program ustavi, nato pa z majhnim izvijačem zavrtite potenciometer znotraj servo (majhna odprtina v servo ohišju tik nad žicami). Zavrtite ga levo ali desno, dokler se servo ne ustavi. Stvari ne delujejo pravilno. Pošljite nam e-pošto s svojimi simptomi, mi pa vam bomo poskušali pomagati, medtem ko čakate na odgovor, dvakrat preverite vse svoje žice s shemo ožičenja iz 4. koraka. Če naletite na kakršno koli težavo, dodajte komentar na ta Instructable ali pošljite e-pošto na [email protected], mi pa se bomo potrudili, da vam pomagamo, da vaš SERB deluje

6. korak: Programiranje

Programiranje
Programiranje

Preden se lotimo podrobnosti programiranja Arduino krmiljenega servo robota - (SERB) - nekaj povezav do nekaj odličnih programerskih virov Arduino v internetu. ki vam bo pomagal začeti z Arduinosom, od prenosa programskega okolja do pisanja prvega programa. Referenca za programiranje Arduino - Popoln in enostaven vodnik po programskem jeziku Arduino. Kako delujejo servomotorji - hiter primer delovanja servo motorjev. Arduino servo knjižnica - Kako deluje knjižnica Arduino Servo (kako nadzorujemo naše servomotorje). V redu z učenjem na poti, lahko začnemo programirati. Obstajajo trije načini za začetek programiranja vašega arduino krmiljenega servo robota - (SERB). 1. možnost: (spreminjanje SERB_Test.pde) Včasih je pri programiranju najlažje vzeti delovni program in mu začeti dodajati svojo kodo. Če želite to narediti, prenesite program z zadrgo SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). Odstranite to v mapi Arcino skice (privzeto "Moji dokumenti / Arduino \"). Končno odprite programsko okolje Arduino in ga prenesite v svoj Arduino. Koda je dobro komentirana. (Ali kopirajte in prilepite kodo iz priloge tega koraka v novo Arduino skico) Možnost 2: (Dodajanje podprogramov SERB v vaš program) Dodajte nekaj preprostih rutin v že obstoječi program (na primer goForward (), setSpeed (int) itd.). Če želite to narediti, prenesite rutine v besedilno datoteko (07- (SERB)- Enostavne rutine Text.txt). 1. Kopirajte in prilepite del preambule na začetek programa. 3. Kopirajte in prilepite rutinski del v telo programa. Dodajte klic v serbSetup (); na vašo rutino setup (). Možnost 3: (Ustvarjanje lastnega programa iz nič) To ni pretežko. Vse, kar je potrebno, je, da se seznanite s servo knjižnico Arduino. Nato je desni servo priključen na pin 9, levi na pin 10. opomba: tukaj bodo dodani dodatni programi, ko se razvijajo; ali če nekaj razvijate in želite, da je predstavljeno, mi pošljite zasebno sporočilo, ki ga lahko dodam. Dodatek: (koda SERB_Test.pde)

/ * * Arduino krmiljeni servo robot (SERB) - preskusni program * Za več podrobnosti obiščite: https://www.oomlout.com/serb * * Vedenje: Preprost preskusni program, ki povzroči, da se SERB * naključno obrne levo ali desno za * naključno časovno obdobje med 0,1 in 1 sekundo. * SRB se nato za naključno * časovno obdobje od 1 do 2 sekund odpelje naprej. Končno * za 2 sekundi ustavite, preden začnete znova. * * Ožičenje: desni servo signal - pin 9 * levi servo signal - pin 10 * * Licenca: To delo je licencirano pod licenco Creative Commons * Attribution -Share Alike 3.0 Unported License. Za * ogled kopije te licence obiščite * https://creativecommons.org/licenses/by-sa/3.0/ * ali pošljite pismo na Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * ZDA. * */// --------------------------------------------- ----------------------------- // ZAČETAK ARDUINOVEGA SERVO ROBOTA (SERB) PREAMBULA #vključuje #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo; Servo desnoServo; int hitrost = 100; // nastavi hitrost robota (oba servomotorja) // odstotek med 0 in 100 // KONEC ARDUINO KONTROLIRANEGA SERVO ROBOTA (SERB) PREAMBULA // ---------------- -------------------------------------------------- --------/ * * nastavi nožice v ustrezna stanja in priklopi servomotorje. Nato zaustavi * za 1 sekundo, preden se program zažene */ void setup () {serbSetup (); // nastavi stanje vseh potrebnih // nožic in doda servomotorje na skico randomSeed (analogRead (0)); // nastavi seme naključnega števila z // nekaj rahlo naključne zakasnitve (1000);}/ * * obrača robota levo ali desno (naključno) za obdobje med * 0,1 in 1 sekundo. Preden greste naprej za naključno časovno obdobje * med 1 in 4 sekundami. Preden za dve sekundi ustavite in nato znova zaženete *. */Void loop () {turnRandom (100, 1000); // Naključno se obrne levo ali desno za // naključno časovno obdobje med.1 sekundo // in eno sekundo goForwardRandom (1000, 2000); // gre naprej za naključno časovno obdobje // med // 1 in 2 sekundami goStop (); // ustavi zakasnitev robota (2000); // za 2 sekundi zaustavljen (medtem ko je ustavljen)}/ * * obrača robota naključno levo ali desno za naključno časovno obdobje med * minTime (milisekunde) in maxTime (milisekunde) */void turnRandom (int minTime, int maxTime) {int izbira = naključno (2); // naključno število za odločitev // med levo (1) in desno (0) int turnTime = naključno (minTime, maxTime); // Naključna številka za premor // čas if (izbira == 1) {goLeft ();} // Če je naključna številka = 1 potem zavijte // levo else {goRight ();} // Če je naključno število = 0 potem turn // desno zakasnitev (turnTime); // zakasnitev za naključni čas}/ * * gre naprej za naključno časovno obdobje med minTime (milisekunde) * in maxTime (milisekunde) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = naključno (minTime, maxTime); // določimo naključni čas za // iti naprej goForward (); // nastavi zakasnitev naprej SERB (forwardTime); // zamude za naključno časovno obdobje} // ---------------------------------------- -------------------------------- // ZAČETEK ARDUINO KONTROLIRANIH SERVO ROBOTNIH (SRBSKIH) RUTIN/ * * nastavi vaš arduino za naslov vašega SERB -a z vključenimi rutinami*/void serbSetup () {setSpeed (hitrost); pinMode (LEFTSERVOPIN, OUTPUT); // nastavi levi servo signalni pin // na izhodni pinMode (RIGHTSERVOPIN, OUTPUT); // nastavi desni pin servo signala // na izhod leftServo.attach (LEFTSERVOPIN); // pritrdi levi servo desniServo.attach (RIGHTSERVOPIN); // priklopi desni servo goStop ();}/ * * nastavi hitrost robota med 0- (ustavljeno) in 100- (polna hitrost) * OPOMBA: hitrost ne bo spremenila trenutne hitrosti, morate spremeniti hitrost *, nato pokličite enega metod go, preden pride do sprememb.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // če je hitrost večja od 100 // naj bo 100 if (newSpeed <= 0) {newSpeed = 0;} // če je hitrost manjša od 0 make // it 0 speed = newSpeed * 0,9; // poveča hitrost, ki je // med 0 in 90}/ * * pošlje robota naprej */void goForward () {leftServo.write (90 + hitrost); rightServo.write (90 - hitrost);}/ * * pošlje robota nazaj */void goBackward () {leftServo.write (90 - hitrost); rightServo.write (90 + hitrost);} / * * pošlje robota desno * /void goRight () {leftServo.write (90 + hitrost); rightServo.write (90 + hitrost);}/ * * pošlje robota levo */void goLeft () {leftServo.write (90 - hitrost); rightServo.write (90 - hitrost);}/ * * ustavi robota */void goStop () {leftServo.write (90); rightServo.write (90);} // KONEC ARDUINO KONTROLIRANIH SERVO ROBOTSKIH (SRBSKIH) RUTIN // ---------------------------- -----------------------------------------------

7. korak: Končano, drugi, ki so končali in prihodnost

Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost
Končano, drugi, ki so končali in prihodnost

Čestitamo, da ste prišli tako daleč in upam, da se zabavate s svojim servo robotom z nadzorovanim Arduinom - (SERB). SRB Michaela Becka - Michael je na Thingiverse.com našel načrte za SERB in ga izrezal iz rumenega in rdečega akrila. Mislim, da izgleda super. Mikov SERB - Mike (iz robotskega kluba St. Louis Area, ROBOMO) je imel prijatelja, ki je lasersko prerezal ohišje SERB, in ga uporabil za lastno robotsko znanje. Mislim, da je videti super v modri barvi. (za podrobnosti o tem, pa tudi o njegovih drugih robotih (oglejte si njegovo spletno mesto) drugih ljudi SRBOV. Torej, če ste končali, mi pošljite zasebno sporočilo s fotografijo in nekaj besedami (naj bo to opis ali povezava do vaše spletne strani) in jo bom dodal sem. (Brezsramni vtič) Če vam je bilo všeč na tem oomlout.com lahko preberete druge zabavne odprtokodne projekte.

Prva nagrada na tekmovanju SANYO eneloop na baterije

Priporočena: