En servomotor är en typ av motor som roteras till olika positioner.
Två typer
Det finns två typer av servomotorer: vanliga eller kontinuerliga. Vanliga servomotorer kan ställas till olika vinklar, men kan inte rotera hela vägen runt (oftast 180 grader). Kontinuerliga servomotorer kan snurra runt och runt i båda riktningar, men på dom kan man bara bestämma riktning och hastighet, inte i vilken vinkel dom ska stanna.
Tre sladdar
Servomotorer har tre sladdar som sitter ihop. En är för ström, en för jord (ground), och en för signalen som styr vad motorn gör. Vilken färger dom har skiljer sig, men är ofta en av följande.
Funktion | Färg variant 1 | Färg variant 2 | Färg variant 3 |
---|---|---|---|
- (jord) | brun | svart | svart |
+ (ström) | röd | röd | röd |
signal | orange | gul | vit |
Vilken spänning servomotorer behöver skiljer sig. Micro:bit kan bara leverera 3 volt, vilket är tillräckligt för en micro servomotor. Då kopplas strömsladden till 3v pinnen. Men när det blir flera micro servomotorer, eller större typer, kan micro:bit inte leverera tillräckligt, och behöver du en extern strömkälla.
Jordsladden kopplas till GND (ground) pinnen på micro:bit.
Signalsladden kopplas till antingen 0, 1, 2, 3, 4 eller 10.
Skicka signal
Signalen vi ska skicka till servomotorn består av ström som ska gå på och av hela tiden (skicka pulser). Tiden mellan två pulser kommer vara samma, men fördelningen av hur långt strömmen är på mot hur länge den är avstängd är vad som berättar informationen till servomotorn. Denna teknik kallas for pulsbreddsmodulering, eller pulse-width modulation på engelska (förkortas till PWM).
Hela vägen
Blocket vi behöver för att styra en servo finns i kategorin Pins, som finns gömd under avancerad. I ”Servo skriv pin p0 till 180”-blocket väljer du vilken pin signalsladden är kopplad till, och till vilken vinkel servomotorn ska flytta sig. Följande exempel får en servo på pin 0 att flytta sig fram och tillbaka 180 grader. Testa själv hur långt din servomotor kan flytta sig genom att ändra numret 180. Ändra också fördröjningen, och testa hur snabbt en servo kan vara.
let fördröjning = 0 let vinkel = 0 fördröjning = 50 basic.forever(() => { for (let vinkel = 0; vinkel <= 180; vinkel++) { pins.servoWritePin(AnalogPin.P0, vinkel) led.plotBarGraph( vinkel, 180 ) basic.pause(fördröjning) } for (let vinkel = 0; vinkel <= 180; vinkel++) { pins.servoWritePin(AnalogPin.P0, 180 - vinkel) led.plotBarGraph( 180 - vinkel, 180 ) basic.pause(fördröjning) } })
Extern strömkälla
Om du vill ha flera micro servomotorer eller större typer som behöver högre spänning ska du använda en extern strömkälla (t.ex. en batteri). Koppla strömsladden på servomotorn till positiva (röd) sidan av din strömkälla. Jord av servomotorn, strömkällan och din micro:bit ska kopplas ihop. Signalsladden från servomotorn går som vanligt till en pin på micro:bit.
Tillbehör
Det finns olika tillbehör som gör det smidigare att använda servomotorer med micro:bit. Ofta blir det lättare att koppla ihop, och klarar dom av att driva flera servomotorer samtidigt utan problem. Det finns även bygg kit för att enklare bygga robotar och liknande som använder servomotorer.
Servo:lite board – länk
16 Servo driver board – Länk
:MOVE mini buggy kit – Länk