Sisällysluettelo:

Arduino -ohjattu servobotti (SERB): 7 vaihetta (kuvilla)
Arduino -ohjattu servobotti (SERB): 7 vaihetta (kuvilla)

Video: Arduino -ohjattu servobotti (SERB): 7 vaihetta (kuvilla)

Video: Arduino -ohjattu servobotti (SERB): 7 vaihetta (kuvilla)
Video: 🦾Оживляем танк с манипулятором на Arduino 2024, Marraskuu
Anonim
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)
Arduino -ohjattu servobotti (SERB)

Mikä olisi parempi tapa aloittaa kokeilut avoimen lähdekoodin mikro -ohjaimilla (Arduino) sitten rakentamalla oma avoimen lähdekoodin robotti (CC (SA -BY))? Mitä tehdä SERB -laitteellesi?

  • (täällä) - Kuinka kytkeä SERB Internetiin ja ajaa se Skype -videopuhelun kautta.
  • (tässä) - SERB: n hallinta Wii nunchuckin kiihtyvyysmittarilla
  • (täällä) - Kuinka lisätä esteitä havaitsevat viikset robottiisi
  • (täällä) - Kuinka tehdä 30 sarjaa (avoin valmistus)

Ominaisuudet:

  • Täysin ohjelmoitava Arduino Duemilanove -mikro-ohjaimella (tai muulla valitsemallasi mikro-ohjaimella).
  • Ei tarvitse juottaa.
  • Valikoima leikkausvaihtoehtoja akryylipaloille. (vierityssaha, pääsy laserleikkuriin, valmiiksi leikattujen osien ostaminen)
  • Helposti laajennettavissa ja muokattavissa lisäpultinreikien ja mukana tulevan leipälevyn avulla.
  • Takapyörä, jossa kaksi kuulalaakeria.
  • Käynnissä 1-2 tunnissa. (sarjasta)
  • Avoimen lähdekoodin suunnittelu (rakenna niin monta kuin haluat)

(Häpeämätön pistoke) Isossa -Britanniassa ja kuten Arduino -tavaraa? Katso äskettäin avattu verkkokauppamme oomlout.co.uk Pikavideo valmiista Arduino -ohjatusta servobotista - (SERB), joka suorittaa mukana tulevaa testiohjelmaa (vaihe 6) Huomautus: Lähdetiedostot ovat saatavana rinnakkain Instructable (Source Files For) - Kuinka tehdä Arduino -ohjattu servobotti - (SERB)

Vaihe 1: Osat ja työkalut

Osat ja työkalut
Osat ja työkalut

Kaikki pultit löytyvät paikallisesta Home Depotista. Muut osat löytyvät verkosta (olen lisännyt linkin suosikkilähteeni kullekin).

  • 3 mm x 15 mm pultti (x20)
  • 3 mm x 10 mm pultti (x12)
  • 3 mm mutteri (x34)
  • 3 mm aluslevy (x12)
  • 8 mm x 25 mm pultti (x2)
  • 8mm mutteri (x2)
  • Rullalaakerit (x2) (VXB) (nämä ovat vakiomallisia rullalaakereita, joten ne voidaan pelastaa rullateriltä tai rullalaudalta)

Renkaat

  • Suuri O-rengas (4,5 "ID 3/16" helmiviiva #349) (x2) (McMaster-Carr-tuote #9452K407)
  • Pieni O-rengas (3/4 "ID 3/16" helmiviiva #314) (x1) (McMaster-Carr-tuote #9452K387)

Elektroniikka

  • Arduino Duemilanove (x1) (Maker Shed)
  • Jatkuva kierto Servo (x2) (Parallax)
  • 400 Contact Breadboard (x1) (kaikki elektroniikka))
  • Neljän AA -paristokotelo (x1) (kaikki elektroniikka)
  • 9V akun pidike (x1) (kaikki elektroniikka)
  • 2,1 mm pistoke (x1) (kaikki elektroniikka)
  • 3 -nastainen otsikko (x2) (kaikki elektroniikka)
  • A -B USB -kaapeli - tulostintyyli (x1) (kaikki elektroniikka) (ei sisälly pakkaukseen)

Paristot:

  • AA -paristo (x4) (ei sisälly pakkaukseen)
  • 9v paristo (x1) (ei sisälly pakkaukseen)

Johto: (kaikki johdot ovat 22 AWG kiinteitä, ostan omani McMaster-Carrin kautta)

  • 15 cm violetti (x2)
  • 15 cm musta (x1)
  • 5 cm musta (x2)
  • 5 cm punainen (x2)

Työkalut

  • Ruuvimeisseli (x1) (Philips)
  • Neula-pihdit (x1)

Vaihe 2: Kappaleiden leikkaaminen

Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet
Leikkaavat kappaleet

Valitse seuraavat vaiheet valitsemasi leikkausvaihtoehdon perusteella. Vaihtoehto 1 (valmiiden osien ostaminen)

Osta valmiiksi leikattu runko oomlout.com-kaupasta (täältä) (60 dollaria sisältäen toimituksen Yhdysvaltoihin ja Kanadaan)

Vaihtoehto 2 (digitaalinen valmistus (esim. Ponoko) / pääsy laserleikkuriin)

  • Lataa laserleikkurin asettelu ("03 SERB Ponoko Cutting Layout P2.eps" tai "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Leikkaa tiedostot Ponokolla tai omalla laserleikkurillasi (käyttämällä 3 mm,.118 "akryylia (joskus myydään.125"))

Vaihtoehto 3 (vierityssaha ja pora)

  • Lataa ja tulosta PDF-malli (valitse paperikokoa vastaava tiedosto) 03- (SERB) -ScrollSaw Pattern (kirjain).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (on tärkeää skaalata piirustus tulostuksen aikana)
  • Mittaa tulosteessa oleva viivain luotettavaan viivaimeen, jos ne eivät vastaa kuvion skaalausta ja sinun on tarkasteltava tulostimen asetuksia ennen uudelleen tulostamista. Jos ne sopivat yhteen, eteenpäin.
  • Liimaa kuvio akryylilevyyn (3 mm,.118 "(joskus myydään.125")).
  • Poranreikiä.
  • Leikkaa kappaleet vieritysahalla

Vaihe 3: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Onnittelut siitä, että 90% prosessista on päättynyt, lataa kokoamisohjeet tähän vaiheeseen (04- (SERB) -Ass Assembly Guide.pdf) ja pienen lego/mechano-tyylin kokoonpanon jälkeen olet valmis lankaamaan. Viihdyttääkseni sinua matkan varrella tässä on kokoukseni aika-ajo:

Vaihe 4: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus

Kun kaikki suuret palaset ovat yhdessä, on aika lisätä pienet sähköiset suonet, joiden avulla robottiamme voidaan ohjata. Lataa tämä ja tulosta kytkentäkaavio (05- (SERB) -kytkentäkaavio.pdf). Ensi silmäyksellä se voi näyttää melko pelottavalta, mutta jos teet jokaisen yhteyden peräkkäin ja käytät aikaa, se tulee yhteen erittäin nopeasti. Joten kytke kaikki johdot tarkistamaan se ja lisää sitten virta.

Vaihe 5: Testaus ja vianmääritys

Testaus ja vianetsintä
Testaus ja vianetsintä

Jos tilasit sarjan, Arduinoosi on esiladattu testiohjelma. Laita vain 4 AA -paristoa ja kytke 9v -paristo Arduinoon. Ja jos kaikki on tehty oikein, robotti alkaa liikkua (se kääntyy satunnaiseen suuntaan 0,1–1 sekunnin ajaksi, ennen kuin siirtyy eteenpäin satunnaiseksi ajaksi 1–2 sekuntia ja pysähtyy sitten 2 sekunniksi ennen kuin aloitat uudelleen). Jos et ole ostanut sarjaa, sinun on suoritettava lisävaihe. Lataa liitteenä oleva zip-tiedosto (07- (SERB)-SERB-Test Arduino Program.zip). Pura se sitten Arduino -luonnoshakemistoosi (oletus "My Documents / Arduino \") ja lataa se arduino -taulullesi. (jos olet uusi Arduinon käyttäjä, hyppää askeleen eteenpäin, jossa on linkkejä hyviin aloitusoppaisiin) Yleisiä ongelmia: SERB liikkuu hitaasti, kun se on lopetettava. Tämä johtuu siitä, että servoja ei ole kalibroitu oikein, jotta voit kalibroida servosi odottamaan, kunnes ohjelma on pysähtynyt, ja käännä pienellä ruuvimeisselillä potentiometriä servon sisällä (pieni aukko servokotelossa juuri johtojen yläpuolella). Kierrä sitä vasemmalle tai oikealle, kunnes servo on todella pysähtynyt. Asiat eivät toimi oikein. Lähetä meille oireesi sähköpostitse, niin yritämme auttaa sinua, kun odotat vastausta, tarkista kaikki johdot vaiheen 4 kytkentäkaavion avulla. Jos kohtaat ongelmia, lisää kommentti tähän opetusohjelmaan tai lähetä sähköpostia osoitteeseen [email protected] ja yritämme parhaamme mukaan auttaa sinua saamaan SERB-laitteesi toimimaan

Vaihe 6: Ohjelmointi

Ohjelmointi
Ohjelmointi

Ennen kuin ryhdymme Arduino -ohjatun servobotin - (SERB) - ohjelmoinnin yksityiskohtiin, muutama linkki erinomaisiin Arduino -ohjelmointiresursseihin Internetissä. Arduino -ohjelmointiopas - Täydellinen helppokäyttöinen opas Arduino -ohjelmointikielelle - miten Servot toimivat - Nopea esittely servomoottoreiden toiminnasta. - Kuinka Arduino Servo -kirjasto toimii (miten hallitsemme servojamme). Voit aloittaa Arduino -ohjatun servobotin ohjelmoinnin kolmella tavalla - (SERB). Vaihtoehto 1: (SERB_Test.pde -ohjelman muokkaaminen) Joskus ohjelmoitaessa helpoin asia on ottaa työohjelma ja aloittaa oman koodin lisääminen siihen. Voit tehdä tämän lataamalla SERB_Test-pakatun ohjelman (07- (SERB)-SERB-Test Arduino Program.zip). Jatka tämän purkamista Arduino -luonnoskansioosi (oletusasetus "My Documents / Arduino \"). Avaa lopuksi Arduino -ohjelmointiympäristö ja lataa se Arduinoosi. Koodi on hyvin kommentoitu. (Tai kopioi ja liitä koodi tämän vaiheen liitteestä uuteen Arduino-luonnokseen) Vaihtoehto 2: (SERB-rutiinien lisääminen ohjelmaan) Lisää joitakin yksinkertaisia rutiineja olemassa olevaan ohjelmaan (kuten goForward (), setSpeed (int) jne.). Voit tehdä tämän lataamalla tekstitiedoston rutiinit (07- (SERB)- Simple Routines Text.txt). 1. Kopioi ja liitä johdanto -osa ohjelman alkuun. Kopioi ja liitä rutiiniosa ohjelman runkoon. Lisää puhelu serbSetup (); Vaihtoehto 3: (Oman ohjelman luominen tyhjästä) Tämä ei ole liian vaikeaa. Tarvitset vain perehtyä Arduino Servo -kirjastoon. Sitten oikea servo kytketään nastaan 9 ja vasen servo nastaan 10. Huomautus: Lisäohjelmia lisätään tähän sitä mukaa kun niitä kehitetään; tai jos kehität jotain ja haluat sen olevan esillä, lähetä minulle yksityisviesti ja se voidaan lisätä. liite: (SERB_Test.pde -koodi)

/ * * Arduino -ohjattu servobotti (SERB) - testiohjelma * Lisätietoja: https://www.oomlout.com/serb * * Käyttäytyminen: Yksinkertainen testiohjelma, joka saa SERB *: n kääntymään satunnaisesti vasemmalle tai oikealle * satunnaiseksi ajanjaksoksi 0,1–1 sekuntia. * SERB ajaa sitten eteenpäin satunnaisesti * 1–2 sekunnin ajan. Lopuksi * tauko 2 sekunniksi ennen kuin aloitat uudelleen. * * Johdotus: oikea servosignaali - nasta 9 * vasen servosignaali - nasta 10 * * Lisenssi: Tämä teos on lisensoitu Creative Commons * Attribution -Share Alike 3.0 Unported License -lisenssillä. Jos haluat * nähdä kopion tästä lisenssistä, käy osoitteessa * https://creativecommons.org/licenses/by-sa/3.0/ * tai lähetä kirje osoitteeseen Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * Yhdysvallat. * */// --------------------------------------------- ----------------------------- // ARDUINO-OHJAIMEN SERVO-ROBOTIN (SERB) ALOITUSOHJELMA #sisältää #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo vasenServo; Servo oikeaServo; int nopeus = 100; // asettaa robotin nopeuden (molemmat servot) // prosenttiosuuden välillä 0-100 // ARDUINO-OHJAIMEN SERVO-ROBOTIN (SERB) ESIPUHEEN LOPPU // ---------------- -------------------------------------------------- --------/ * * asettaa nastat sopiviin tiloihin ja kiinnittää servot. Sitten tauko * 1 sekunniksi ennen kuin ohjelma käynnistyy */ void setup () {serbSetup (); // asettaa kaikkien tarvittavien // nastojen tilan ja lisää servoja luonnokseen randomSeed (analogRead (0)); // asettaa satunnaisluvun siemenelle // jotain lievästi satunnaista viivettä (1000);}/ * * kääntää robotin joko vasemmalle tai oikealle (satunnaisesti) * 0,1–1 sekunnin ajaksi. Ennen kuin siirryt eteenpäin satunnaiseen ajanjaksoon * 1–4 sekuntia. Ennen kuin pidät kahden sekunnin tauon ja aloitat sitten * uudelleen. */Void loop () {turnRandom (100, 1000); // Kääntyy satunnaisesti vasemmalle tai oikealle // satunnaisen ajanjakson välillä.1 sekunti // ja sekunti goForwardRandom (1000, 2000); // Siirtyy eteenpäin satunnaiseksi ajanjaksoksi // välillä 1-2 sekuntia goStop (); // Pysäyttää robotin viiveen (2000); // pysähtyy 2 sekunniksi (pysähtyneenä)}/ * * kääntää robotin satunnaisesti vasemmalle tai oikealle satunnaiseksi ajaksi * minTime (millisekuntia) - maxTime (millisekuntia) */void turnRandom (int minTime, int maxTime) {int valinta = satunnainen (2); // Päätettävä satunnaisluku // vasemman (1) ja oikean (0) välillä int turnTime = random (minTime, maxTime); // Satunnaisluku taukolle // aika jos (vaihtoehto == 1) {goLeft ();} // Jos satunnaisluku = 1, käänny // vasemmalle muuten {goRight ();} // Jos satunnaisluku = 0, turn // oikea viive (turnTime); // satunnaisajan viive}/ * * siirtyy eteenpäin satunnaiseksi ajaksi minTime (millisekuntia) * ja maxTime (millisekuntia) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // määrittää satunnainen aika // mennä eteenpäin goForward (); // asettaa SERB -eteenpäinviiveen (forwardTime); // viiveet satunnaiselle ajanjaksolle} // ---------------------------------------- -------------------------------- // ARDUINO-OHJAAMAN SERVO-ROBOTIN (SERB) RUTIININ KÄYNNISTYS/ * * määrittää arduino osoitteeseen SERB käyttämällä mukana tulevia rutiineja*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // asettaa vasemman servosignaalin nasta // ulostulotapiksiMM (RIGHTSERVOPIN, OUTPUT); // asettaa oikean servosignaalin nastan // lähtöön leftServo.attach (LEFTSERVOPIN); // kiinnittää vasen servo rightServo.attach (RIGHTSERVOPIN); // kiinnittää oikean servo goStop ();}/ * * asettaa robotin nopeuden välille 0- (pysäytetty)-100- (täysi nopeus) * HUOMAUTUS: nopeus ei muuta nykyistä nopeutta, sinun on muutettava nopeutta * ja soita sitten go -menetelmistä ennen muutoksia.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // jos nopeus on suurempi kuin 100 // tee siitä 100 if (newSpeed <= 0) {newSpeed = 0;} // jos nopeus on pienempi kuin 0, tee siitä // nopeus = newSpeed * 0,9; // skaalaa nopeuden arvoksi // välillä 0 ja 90}/ * * lähettää robotin eteenpäin */void goForward () {leftServo.write (90 + nopeus); rightServo.write (90 nopeutta);}/ * * lähettää robotin taaksepäin */void goBackward () {leftServo.write (90 - nopeus); rightServo.write (90 + nopeus);} / * * lähettää robotin oikealle * /void goRight () {leftServo.write (90 + nopeus); rightServo.write (90 + nopeus);}/ * * lähettää robotin vasemmalle */void goLeft () {leftServo.write (90 - nopeus); rightServo.write (90 - nopeus);}/ * * pysäyttää robotin */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO-OHJAAMAN SERVO-ROBOTIN (SERB) RUTININ LOPPU // ---------------------------- -----------------------------------------------

Vaihe 7: Valmis, muut, jotka ovat valmiita ja tulevaisuus

Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus
Valmis, muut, jotka ovat valmiit ja tulevaisuus

Onnittelut siitä, että olet päässyt näin pitkälle, ja toivon, että pidät hauskaa Arduino -ohjattavan servobotin kanssa - (SERB). Michael Beckin SERB -Michael löysi SERB -suunnitelmat Thingiverse.com -sivustolta ja katkaisi hänen keltaisesta ja punaisesta akryylistään. Minusta se näyttää hyvältä. Miken SERB - Mike (St. Minusta se näyttää upealta sinisenä. (katso hänen verkkosivustoltaan lisätietoja tästä ja hänen muista roboteistaan (tässä) Tässä osiossa on tietoja tulevasta kehityksestä ja liitteistä (ne esitetään täällä ennen kuin ne on dokumentoitu kunnolla). Mutta haluaisin myös näyttää kuvia Jos olet lopettanut, lähetä minulle yksityisviesti, jossa on valokuva ja muutama sana (kuvaus tai linkki verkkosivustollesi), ja lisään sen tänne. (Häpeämätön pistoke) Jos pidit tämä opettavainen tarkistaa oomlout.com muita hauskoja avoimen lähdekoodin projekteja.

Ensimmäinen palkinto SANYO -eneloop -akkukäyttöisessä kilpailussa

Suositeltava: