Innholdsfortegnelse:

Arduino kontrollert servob robot (SERB): 7 trinn (med bilder)
Arduino kontrollert servob robot (SERB): 7 trinn (med bilder)

Video: Arduino kontrollert servob robot (SERB): 7 trinn (med bilder)

Video: Arduino kontrollert servob robot (SERB): 7 trinn (med bilder)
Video: Single servo robot 2024, Juli
Anonim
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)
Arduino kontrollert servob robot (SERB)

Hvilken bedre måte å begynne å eksperimentere med åpen kildekode -mikrokontrollere (Arduino) og deretter bygge din egen åpen kildekode -robot (CC (SA -BY)) Hva skal jeg gjøre med SERBEN din?

  • (her) - Slik kobler du SERB til Internett og kjører den via et Skype -videosamtale.
  • (her) - Slik kontrollerer du SERBEN din ved hjelp av en Wii nunchucks akselerometre
  • (her) - Slik legger du til hinderdetekterende kinnhår i roboten din
  • (her) - Hvordan lage 30 sett (åpen produksjon)

Funksjoner:

  • Fullt programmerbar ved hjelp av en Arduino Duemilanove mikrokontroller (eller en annen mikrokontroller du velger).
  • Du trenger ikke lodde.
  • Valg av skjæremuligheter for akrylstykker. (rullesag, tilgang til laserskjærer, kjøp av ferdigklippte stykker)
  • Lett å utvide og modifisere med ekstra bolthull og inkludert brødbrett.
  • Dobbel kulelager bakhjul.
  • I gang om 1-2 timer. (fra settet)
  • Open source -design (bygg så mange du vil)

(Shameless Plug) I Storbritannia og liker Arduino -ting? sjekk ut vår nyåpnede nettbutikk oomlout.co.uk En rask video av en ferdig Arduino -kontrollert servobot - (SERB) som kjører det medfølgende testprogrammet (trinn 6) Merk: Kildefiler er tilgjengelige på en parallell instruerbar (kildefiler for) - Hvordan lage en Arduino -kontrollert servob robot - (SERB)

Trinn 1: Deler og verktøy

Deler og verktøy
Deler og verktøy

Alle bolter finner du på ditt lokale Home Depot. De andre delene kan bli funnet på nettet (jeg har inkludert en lenke til min favorittkilde for hver). Deleliste: En bunt som inneholder alle maskinvareelementer kan kjøpes i oomlout.coms butikk (her) ($ 120) Nuts and Bolts:

  • 3 mm x 15 mm bolt (x20)
  • 3 mm x 10 mm bolt (x12)
  • 3 mm mutter (x34)
  • 3 mm vaskemaskin (x12)
  • 8 mm x 25 mm bolt (x2)
  • 8 mm mutter (x2)
  • Skatelagre (x2) (VXB) (disse er standard rullelagre slik at de kan reddes fra et par rulleskøyter eller et skateboard)

Dekk

  • Stor O-ring (4,5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr-produkt #9452K407)
  • Liten O-ring (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr-produkt #9452K387)

Elektronikk

  • Arduino Duemilanove (x1) (Maker Shed)
  • Kontinuerlig rotasjonsservo (x2) (Parallax)
  • 400 kontaktbrødbrett (x1) (all elektronikk))
  • Quad AA batteriboks (x1) (all elektronikk)
  • 9V batteriklips (x1) (all elektronikk)
  • 2,1 mm plugg (x1) (all elektronikk)
  • 3 -pinners topptekst (x2) (all elektronikk)
  • AB USB -kabel - skriverstil (x1) (all elektronikk) (ikke inkludert i settet)

Batterier:

  • AA -batteri (x4) (ikke inkludert i settet)
  • 9v batteri (x1) (ikke inkludert i settet)

Wire: (all wire er 22 AWG solid jeg kjøper min gjennom McMaster-Carr)

  • 15 cm Lilla (x2)
  • 15 cm svart (x1)
  • 5 cm svart (x2)
  • 5 cm rød (x2)

Verktøy

  • Skrutrekker (x1) (Philips)
  • Nåltang (x1)

Trinn 2: Skjære stykker

Skjærebiter
Skjærebiter
Skjærebiter
Skjærebiter
Skjærebiter
Skjærebiter
Skjærebiter
Skjærebiter

Velg hvilke trinn du vil følge basert på skjærealternativet du har valgt. Alternativ 1 (Innkjøp av forhåndsskårne deler)

Kjøp et ferdigskåret chassis fra oomlout.coms butikk (her) ($ 60 inkludert frakt til USA og Canada)

Alternativ 2 (digital produksjon (dvs. Ponoko) / tilgang til laserskærer)

  • Last ned laserskjærelayoutet ("03 SERB Ponoko Cutting Layout P2.eps" eller "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Klipp filene med Ponoko eller på din egen laserskærer (ved bruk av 3 mm.118 "akryl (noen ganger solgt som.125")

Alternativ 3 (rullesag og bor)

  • Last ned og skriv ut PDF-mønsteret (velg filen som samsvarer med papirstørrelsen) 03- (SERB) -ScrollSaw Pattern (letter).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (det er viktig å ikke skalere tegningen mens du skriver ut)
  • Mål linjalen på utskriften mot en linjal du stoler på. Hvis de ikke samsvarer med mønsteret har blitt skalert og du må se på skriverinnstillingene før du kan skrive ut på nytt. Hvis de stemmer overens, videre.
  • Lim mønsteret til akrylarket (3 mm,.118 "(noen ganger solgt som.125").
  • Bore hull.
  • Skjær ut stykker med en rullesag

Trinn 3: Montering

montering
montering
montering
montering
montering
montering

Gratulerer med at du har gjort det så langt 90% av prosessen er fullført, bare last ned monteringsinstruksjonene på dette trinnet (04- (SERB) -monteringsguide.pdf), og etter en liten lego/mechano-stilmontering er du klar til å koble. For å underholde deg underveis her er en time-lapse av min forsamling:

Trinn 4: Kabling

Kabling
Kabling
Kabling
Kabling

Med alle de store brikkene sammen er det på tide å legge til de små elektriske venene som gjør at roboten vår kan kontrolleres. For å gjøre dette laster du ned og skriver ut koblingsskjemaet (05- (SERB) -Ledningsdiagram.pdf). Et første blikk på det kan se ganske skremmende ut, men hvis du foretar hver tilkobling i rekkefølge og tar deg god tid, kommer den utrolig raskt sammen. Kablingene er ganske enkle og ingen skade kan komme til kretsen din før du legger til batterier. Så koble til alt, dobbeltsjekk det, og legg deretter til strøm.

Trinn 5: Testing og feilsøking

Testing og feilsøking
Testing og feilsøking

Hvis du har bestilt et sett, har Arduino blitt forhåndslastet med et testprogram. Bare sett inn 4 AA -batterier og koble 9v -batteriet til Arduino. Og hvis alt er gjort riktig vil roboten begynne å bevege seg (den vil snu i tilfeldig retning i en tid mellom 0,1 og 1 sekund før den går fremover i en tilfeldig tid mellom 1 og 2 sekunder, og deretter pause i 2 sekunder før den starter på nytt). Hvis du ikke har kjøpt et sett, er det nødvendig med et ekstra trinn. Last ned den vedlagte zip-filen (07- (SERB)-SERB-Test Arduino Program.zip). Pakk den deretter ut i Arduino -skissekatalogen (standard "mine dokumenter / Arduino \") og last den ned til arduino -kortet. (hvis du er ny på Arduino, hopp et skritt videre der det er koblinger til gode opplæringsoppgaver) Vanlige problemer: SERB -en min beveger seg sakte når den skal stoppes. Dette er et resultat av at servoene dine ikke er kalibrert helt riktig, for å kalibrere servoene dine, vent til programmet ditt har stoppet servoene, og skru deretter potensiometeret inne i servoen med en liten skrutrekker (den lille åpningen i servohuset rett over der ledningene er). Roter den til venstre eller høyre til servoen virkelig stoppes. Ting fungerer ikke helt som det skal. Send oss en e-post med symptomene dine, så prøver vi å hjelpe deg, mens du venter på svar, må du dobbeltsjekke alle ledningene dine med koblingsskjemaet fra trinn 4. Hvis du støter på problemer, kan du enten legge til en kommentar til denne instruksjonsboken eller send en e-post til [email protected], så prøver vi vårt beste for å hjelpe deg med å få SERB til å fungere

Trinn 6: Programmering

Programmering
Programmering

Den fysiske roboten er ferdig med å begynne å gi den en hjerne. Før vi går inn på detaljene for programmering av en Arduino Controlled Servo Robot - (SERB) - noen lenker til noen gode Arduino -programmeringsressurser på internett. Arduino Starter Guide - En guide for å hjelpe deg med å begynne med Arduinos, fra nedlasting av programmeringsmiljøet til å skrive ditt første program. Arduino programmeringsreferanse - En fullstendig lett å referere guide til Arduino programmeringsspråk. Slik fungerer servoer - En rask primer til hvordan servomotorer fungerer. Arduino Servobibliotek - Hvordan fungerer Arduino Servo -biblioteket (hvordan vi kontrollerer servoene våre). Det er tre måter å komme i gang med å programmere din Arduino Controlled Servo Robot - (SERB). Alternativ 1: (Modifisering av SERB_Test.pde) Noen ganger når du programmerer det enkleste er å ta et fungerende program og begynne å legge til din egen kode til den. For å gjøre dette kan du laste ned SERB_Test-programmet med zippet (07- (SERB)-SERB-Test Arduino Program.zip). Fortsett å pakke ut dette i Arduino -skissemappen (standard "Mine dokumenter / Arduino \"). Til slutt åpner du Arduino programmeringsmiljø og laster det ned til Arduino. Koden er godt kommentert. (Eller kopier og lim inn koden fra vedlegget på dette trinnet til en ny Arduino Sketch) Alternativ 2: (Legge til SERB-rutiner i programmet) Legg til noen enkle rutiner i det eksisterende programmet (som goForward (), setSpeed (int) etc.). For å gjøre dette, last ned rutinene i tekstfilen (07- (SERB)- Simple Routines Text.txt). 1. Kopier og lim inn innledningsdelen til begynnelsen av programmet. Kopier og lim inn den rutinemessige delen til hoveddelen av programmet. Legg til en samtale til serbSetup (); til din setup () rutine. Alternativ 3: (Lag ditt eget program fra bunnen av) Dette er ikke så vanskelig. Alt som kreves er å gjøre deg kjent med Arduino Servo Library. Deretter kobles høyre servo til pinne 9, og venstre servo til pinne 10. merk: Flere programmer vil bli lagt til her etter hvert som de utvikles; eller hvis du utvikler noe og vil at det skal vises, send meg en privat melding, og den kan legges til. vedlegg: (SERB_Test.pde -kode)

/ * * Arduino Controlled Servo Robot (SERB) - Testprogram * For flere detaljer besøk: https://www.oomlout.com/serb * * Atferd: Et enkelt testprogram som får SERB * til å dreie tilfeldig enten til venstre eller høyre for en * tilfeldig tidsperiode mellom 0,1 og 1 sekund. * SERB vil deretter kjøre fremover i en tilfeldig * periode mellom 1 og 2 sekunder. Endelig * pause i 2 sekunder før du starter igjen. * * Kabling: Høyre servosignal - pin 9 * Venstre servosignal - pin 10 * * Lisens: Dette verket er lisensiert under Creative Commons * Attribution -Share Alike 3.0 Unported License. For å * se en kopi av denne lisensen, besøk * https://creativecommons.org/licenses/by-sa/3.0/ * eller send et brev til Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * USA. * */// ---------------------------------------------------- ----------------------------- // START AV ARDUINO KONTROLLERT SERVO ROBOT (SERB) PREAMBEL #inkluderer #define LEFTSERVOPIN 10 #definer RIGHTSERVOPIN 9Servo venstreServo; Servo rightServo; int hastighet = 100; // angir robotens hastighet (begge servoer) // en prosentandel mellom 0 og 100 // SLUTT PÅ ARDUINO KONTROLLERT SERVO ROBOT (SERB) PREAMBEL // ---------------- -------------------------------------------------- --------/ * * setter pins til passende tilstander og fester servoer. Pauser deretter * i 1 sekund før programmet starter */ void setup () {serbSetup (); // angir tilstanden til alle nødvendige // pins og legger servoer til skissen randomSeed (analogRead (0)); // setter det tilfeldige tallfrøet med // noe mildt tilfeldig forsinkelse (1000);}/ * * svinger roboten enten til venstre eller høyre (tilfeldig) i en periode mellom * 0,1 og 1 sekund. Før du går fremover for en tilfeldig tidsperiode * mellom 1 og 4 sekunder. Før du stopper i to sekunder og deretter starter * igjen. */Void loop () {turnRandom (100, 1000); // Svinger tilfeldig til venstre eller høyre for en // tilfeldig periode mellom.1 sekund // og ett sekund goForwardRandom (1000, 2000); // Går fremover i en tilfeldig tidsperiode // mellom // 1 og 2 sekunder goStop (); // Stopper robotforsinkelsen (2000); // stopper i 2 sekunder (mens den er stoppet)}/ * * svinger roboten tilfeldig til venstre eller høyre i en tilfeldig tidsperiode mellom * minTime (millisekunder) og maxTime (millisekunder) */void turnRandom (int minTime, int maxTime) {int valg = tilfeldig (2); // Tilfeldig tall for å bestemme // mellom venstre (1) og høyre (0) int turnTime = random (minTime, maxTime); // Tilfeldig tall for pausen // tid hvis (valg == 1) {goLeft ();} // Hvis tilfeldig tall = 1, sving // venstre annet {goRight ();} // Hvis tilfeldig tall = 0 da sving // høyre forsinkelse (turnTime); // forsinkelse for tilfeldig tid}/ * * går fremover for en tilfeldig tidsperiode mellom minTime (millisekunder) * og maxTime (millisekunder) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // bestemme en tilfeldig tid for å // gå fremover goForward (); // angir SERB -forsinkelsen (forwardTime); // forsinkelser for tilfeldig tidsperiode} // ---------------------------------------- -------------------------------- // START AV ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES/ * * setter opp din arduino for å adressere SERBEN din ved hjelp av de inkluderte rutinene*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // setter venstre servosignalpinne // til utgang pinMode (RIGHTSERVOPIN, OUTPUT); // angir høyre servosignalpinne // for å sende ut leftServo.attach (LEFTSERVOPIN); // fester venstre servo rightServo.attach (RIGHTSERVOPIN); // fester høyre servo goStop ();}/ * * angir robotens hastighet mellom 0- (stoppet) og 100- (full hastighet) * MERK: hastigheten vil ikke endre gjeldende hastighet, du må endre hastigheten * ring deretter en av go -metodene før endringer skjer.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // hvis hastigheten er større enn 100 // gjør den til 100 if (newSpeed <= 0) {newSpeed = 0;} // hvis hastigheten er mindre enn 0 gjør // den 0 speed = newSpeed * 0,9; // skalerer hastigheten til å være // mellom 0 og 90}/ * * sender roboten fremover */void goForward () {leftServo.write (90 + hastighet); rightServo.write (90 - hastighet);}/ * * sender roboten bakover */void goBackward () {leftServo.write (90 - speed); rightServo.write (90 + hastighet);} / * * sender roboten til høyre * /void goRight () {leftServo.write (90 + hastighet); rightServo.write (90 + hastighet);}/ * * sender roboten til venstre */void goLeft () {leftServo.write (90 - speed); rightServo.write (90 - hastighet);}/ * * stopper roboten */void goStop () {leftServo.write (90); rightServo.write (90);} // END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES // ---------------------------- -----------------------------------------------

Trinn 7: Ferdig, andre som har fullført og fremtiden

Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden
Ferdig, andre som er ferdig og fremtiden

Gratulerer med at du har kommet så langt, og jeg håper du koser deg med din Arduino Controlled Servo Robot - (SERB). Michael Becks SERB -Michael fant planene for SERBEN på Thingiverse.com og klippet hans ut av gul og rød akryl. Jeg synes det ser bra ut. Mike's SERB - Mike (fra robotklubben ROBOMO i St. Louis Area) lot en venn laser kutte et SERB -chassis, og brukte sin egen robotkunnskap for å få det i gang. Jeg synes det ser fantastisk ut gjort i blått. (sjekk nettstedet hans for detaljer om dette så vel som hans andre roboter (her) Denne delen vil ha detaljer om fremtidig utvikling og vedlegg (de vil bli omtalt her før de blir ordentlig dokumentert). Men jeg vil også vise frem bilder av andre folks SERB. Så hvis du er ferdig, send meg en privat melding med et bilde og noen få ord (det være seg en beskrivelse eller en lenke til nettstedet ditt), så legger jeg det til her. (Shameless Plug) Hvis du likte denne instruerbare sjekk ut oomlout.com for andre morsomme open source -prosjekter.

Førstepremie i SANYO eneloop batteridrevet konkurranse

Anbefalt: