Robotikk virker komplisert, men en enkel robotarm kan bygges med få komponenter og uten avansert teknisk bakgrunn. Her er komponentene, monteringen og programmeringen, steg for steg.

Innhold i artikkelen (6)
  1. Robotikk er ikke bare for IT-eksperter lenger
  2. Shoppinglisten — hva du trenger å kjøpe
  3. Slik monterer du armene — praktisk gjennomgang
  4. Programmering: få armene til å lydige dine kommandoer
  5. Tall som viser trenden
  6. Råd fra erfarne hobbybyggere

Robotikk er ikke bare for IT-eksperter lenger

En robotarm er et godt startprosjekt. Den har få deler, lærer deg mekanikk og elektronikk samtidig, og du ser resultat på kort tid. Komponentene er lette å få tak i, og det finnes mye gratis dokumentasjon.

Denne artikkelen er en konkret steg-for-steg-guide. Den gjennomgår hvilke komponenter du trenger, hvordan du monterer alt, og hvordan du programmerer armen. Når du er ferdig, har du en robotarm som kan bevege seg til bestemte vinkler og reagere på kommandoer.

Ferdig montert robotarm klar for programmering og testing
Ferdig montert robotarm klar for programmering og testing

Shoppinglisten — hva du trenger å kjøpe

Alt starter med hjernen: et Arduino Uno-kort eller en Raspberry Pi Zero. Arduino Uno er et mikrokontrollerkort basert på ATmega328P, og er enklest å starte med fordi det kjører programmet ditt direkte uten operativsystem. Raspberry Pi Zero er derimot en liten Linux-datamaskin med 1 GHz enkeltkjerne-prosessor og 512 MB RAM, og passer bedre når du vil kjøre mer avansert programvare.

Deretter servomotorer, én per ledd. En vanlig hobbyservo kan stilles til bestemte vinkler, vanligvis mellom 0 og 180 grader, ifølge Arduinos dokumentasjon av Servo-biblioteket. Antall ledd avgjør hvor mange servoer du trenger; en enkel arm med fem ledd trenger fem. Servoer og andre deler finnes hos norske elektronikkforhandlere og internasjonale nettbutikker. Sjekk alltid databladet for spenningsområde og strømforbruk før du kjøper.

Base-strukturen: enten 3D-printer du en fil fra Thingiverse, eller du bygger fra kryssfiner og aluminiumsprofiler. Har du ikke 3D-printer selv, kan du bruke et skaperverksted eller en nettjeneste som printer for deg.

Du trenger også en egen strømforsyning til servoene, USB-kabel til Arduino, breadboard, ledninger og eventuelt loddeutstyr. Strømforsyningen er viktigere enn mange tror: en liten servo kan trekke opp mot 800 mA under last, og Arduino anbefaler en ekstern strømforsyning i stedet for å hente strøm fra kortet. Mange nettbutikker selger også komplette robotikk-startsett der alt er pakket sammen.

Annonse

Slik monterer du armene — praktisk gjennomgang

Når delene ankommer, begynner du med basen. Hvis du har 3D-printet, setter du delene sammen med skruer, for eksempel M3. Hvis du bygger fra kryssfiner, sager du til to like plater og skrur dem sammen. Basen skal være tung og stabil, slik at den holder armen på plass når den beveger seg.

Neste steg er å montere servomotorene i en kjede. Første servo roterer hele armen horisontalt, den andre løfter, og de neste bøyer de mindre leddene. Bruk små metallbraketter eller 3D-printede fester. Hver servo må kunne rotere fra 0 til 180 grader uten hindringer.

Hver servo har tre ledninger: strøm, jord og signal. Ifølge Arduino er strømledningen vanligvis rød, jordledningen svart eller brun, og signalledningen gul, oransje eller hvit. Signalledningen kobles til en digital pinne på Arduino. Siden servoer trekker mye strøm, bør du drive dem fra en separat strømforsyning når du har mer enn en eller to, og du må koble jord på Arduino og den eksterne strømforsyningen sammen. Arduino anbefaler også kondensatorer for å jevne ut spenningen til servoene.

Test hver servo for seg. Koble Arduino til datamaskinen med USB, åpne Arduino IDE, og last opp en enkel testkode som flytter servoen til 90 grader, venter og flytter den tilbake. Beveger servoen seg som forventet, fungerer den delen. Hvis ikke, sjekk ledninger og koblinger.

Programmering: få armene til å lydige dine kommandoer

Når maskinvaren fungerer, skriver du programvaren. Arduino-programmer skrives i C/C++ i den gratis Arduino IDE, og det finnes mange eksempler å starte fra.

Start med å ta i bruk Servo-biblioteket med `#include <Servo.h>`, som Arduino dokumenterer her. Med en Servo-variabel, for eksempel servo1, kobler du den til en pinne med attach() og flytter den med servo1.write(90) for å stille den til 90 grader. Biblioteket støtter opptil 12 servoer på de fleste Arduino-kort. Merk at bruk av biblioteket slår av analogWrite() på pinne 9 og 10 på de fleste kort. Ved å kombinere slike kommandoer i løkker kan armen gjøre sammensatte bevegelser, for eksempel løft, sving og senk.

For å gjøre roboten interaktiv kan du koble til en joystick eller en enkel sensor, for eksempel en ultralydsensor som måler avstand til gjenstander. Arduinos Knob-eksempel viser hvordan en servo styres med et potensiometer.

Vil du at roboten skal gjenkjenne objekter med kamera, trenger du vanligvis en kraftigere maskin som Raspberry Pi og et bibliotek for maskinlæring på enheten. Googles TensorFlow Lite heter nå LiteRT.

Programmering er prøving og feiling: skriv kode, last opp, test. Arduino IDE gir feilmeldinger som viser hvor problemet er. Løs én feil om gangen.

Annonse

Tall som viser trenden

Servoer er hjertet i armen, og strømbehovet er det som oftest overrasker nybegynnere. En vanlig liten servo trenger 4,8–6 V og trekker få milliampere i hvile, men strømforbruket kan nå 800 mA når den beveger seg under last, ifølge Arduinos veiledning om servomotorer. USB-vegglader er dessuten begrenset til 500 mA (USB 2.0) eller 900 mA (USB 3.0).

Råd fra erfarne hobbybyggere

Arduinos egen dokumentasjon gir noen konkrete råd som sparer deg for ødelagte kort. Les databladet til servoen og sjekk spenningsområde, hvilestrøm, strøm under bevegelse og stallstrøm. Strøm servoene fra en ekstern forsyning, og bruk kondensatorer for å stabilisere spenningen, ifølge Arduino.

Annonse

Kontakt & nettverk

Emner

Olav Sie Rotvær
Skrevet avOlav Sie RotværSkribent og utvikler

Olav Sie Rotvær skriver og drifter Norsk Næring. Han er utvikler, ikke journalist, og har ingen fagutdanning innenfor vitenskap & oppdagelser. Artiklene bygger derfor på primærkilder som oppgis der påstanden gjøres.

Om forfatteren og hvordan artiklene kildebelegges →