Servomotorn

Från Wikiskola
Hoppa till navigering Hoppa till sök


[redigera]

Funktion

Diverse industriella servomotorer med olika fästen.

En servomotor är en del av ett servostyrningssystem. Servomotorn kan utföra både roterande och linjär rörelse, och kan i grund och botten vara ett flertal olika sorters motor, till exempel en DC-motor, asynkronmotor, eller synkronmotor. Det alla servomotorer har gemensamt är att de använder ett slutet återkopplingssystem för att med mer exakthet styra motorns position. Motorn är kopplad till en annan del i servosystemet, som både kontrollerar motorn och får feedback från motor (position, hastighet, m.m.) för att med bättre precision styra motorn.

Användningsområde

Tack vare servomotorns höga precision är den det optimala valet där det krävs små rörelser. Exempelvis sitter det servomotorer i solpaneler för att panelen alltid ska vara riktad mot solen och därmed maximera energiutvinningen. Liksom solpanelerna behöver antenner, såsom de som brukas av NRAO, också servomotorer för att alltid vara riktade åt rätt håll. Även teleskop nyttjar servomotorns precisa rörelser. Servomotorn används också för robotar och speciellt nyttiga är de i industrirobotar där det behövs ofantlig precision för montering. En annan fabrikstillämpning för servomotorn är transportband där det ingår flera steg. Detta motiveras också av servomotorns precision samt dess möjlighet att accelerera snabbt. Andra produktionstillämpningar är alla möjliga typer av metallarbete samt träbearbetning och CNC-maskiner. Detaljarbetet i dessa tillämpningar är avgörande och därför behövs servomotorn och dess precision. Motorn har också användningsområden inom militären i robotar och i detonationer.

Prestanda

Eftersom servomotorn är en version av en annan motor beror dess prestanda mycket på vilken sorts motor man valde att skapa en servomotor av. Det som skiljer servomotorerna från andra motorer är främst att de använder ett stängt återkopplingssystem, som tillåter större precision än andra motorer. På grund av feedback-systemet är motorn dock väldigt stabil, och kan hålla sig på samma nivå av prestanda under många förhållanden.

Pris och inköpsställen

På grund av att servomotorn är så mångsidig, och har ett så brett användningsområde varierar priserna kraftigt. En servomotor för hobbybruk kan kosta så lite som 39 kr (Microservo SG90), och motorer för industriellt bruk kan kosta mellan 5 000 och 10 000 kr (Siemens 800W Servomotor, Omron R88M-G20030H-S2). I vissa fall kan motorn kosta upp till 30 000 kr (Nidec Unimotor Flexi) beroende på vilken kvalitet man är ute efter.

Hur den är uppbyggd

Källor

http://www.tigertek.com/servo-motor-resources/common-servo-motor-applications.html

https://www.electronics-tutorials.ws/systems/closed-loop-system.html

https://www.youtube.com/watch?v=hg3TIFIxWCo

[redigera]

Servomotorer

Det är ingen inlämning på den här laborationen men du ska ändå anteckna resultat och reflektera så att du skapar ett arbetsdokument. Du kommer att ha nytta v dina anteckningar i den framtida rapporten på slutprojektet. Dels genom att du kan använda delar av resultaten och dels genom att du tränat tekniskt skrivande.

Servon

Du ska styra olika servon med en Arduino.

Ta reda på fakta från datablad

Vad heter våra servon?
Hur mycket ström kräver det?
Vilket vridmoment ger det?

Läs på om servostyrning

How Servo Motors Work & How To Control Servos using Arduino

eller

Arduino: Servo library

eller

Instructables: Arduino Servo Motors

Laboration

Frågor:

  1. Hur mycket ström kräver våra servon och går det att driva dem från Arduinon?
  2. Vilket vridmoment har de?


Uppgift
Koppla in ett servo

Använd dig av en stegmotor, ett vridmotstånd och skapa ett servo som övarför dina vridrörelser till servot som utför en ny vridrörelse.

Koppla dem till Arduinon och lägg in fungerande kod.

Koppla gärna ihop det med någon mekanik.


Här har vi kopplat in en LED, en potentiometer och ett servo.
Här har vi kopplat in en LED, en potentiometer och ett servo.

Kodexempel

Lista: (klicka expandera till höger)

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin

void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
    // initialize digital pin 13 as an output.
  
  pinMode(13, OUTPUT);
}
// the setup function runs once when you press reset or power the board


// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
  
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
  val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180) 
  myservo.write(val);                  // sets the servo position according to the scaled value 
  delay(15); 
}



Datablad

SpringRC SM-S2309S - Micro Analog Servo

Alternativ kod och koppling

Arduino Knob

[redigera]

Kopppla servot till en dynamometer och mät dess kraft med olika längd på hävarmen.

Vilket samband finns det mellan armlängd och kraft? Rita en graf.

Jämför med vad som anges för vridmomentet i databladet och förklara hur det hänger ihop med mätningen ovan.