Servo: hoe om die servomotor met Arduino te gebruik

servo, servomotor

As u 'n servomotor, of servomotor, Met ArduinoIn hierdie artikel sal u leer wat u nodig het om aan die gang te kom. Ons het reeds in ander artikels gesien wat nodig is om te gebruik elektriese motors, trapmotors, en ook ander begrippe wat nodig is om die werking van hierdie soort toestelle te verstaan, soos die artikel oor PWM.

Nou kan u nog 'n nuwe elektroniese komponent byvoeg die toestellys ontleed en dat u kan gaan integrasie van u selfdoenprojekte om nuwe funksies by te voeg.

Wat is 'n servo?

servo

Un bedieningsmotor, of bloot servo, is 'n elektroniese motor wat ooreenstem met gewone GS-motors, maar met 'n paar elemente wat hulle spesiaal maak. In hierdie geval kan dit 'n posisie inneem wat aangedui word, iets wat elektriese motors nie toelaat nie.

Aan die ander kant kan die servo ook presies beheer die rotasiesnelheid, danksy 'n reeks interne ratte en 'n stelsel wat 'n baie beter beheer moontlik maak as wat in ander soorte motors gedoen kan word.

Hierdie funksies maak dit veral interessant vir aansoeke robotika, of vir ander toestelle waar dit nodig is om beweging en posisie te beheer, soos 'n drukker, of 'n afstandbeheerde motor. In hierdie tipe radiobeheerde motor is daar 'n konvensionele motor om die motor te bestuur, en 'n servo vir die stuur waarmee die draai presies beheer kan word.

Verskil tussen trapmotor en servomotor

Naam 17

As u wonder die verskil tussen 'n servomotor en 'n trapmotor, die waarheid is dat hulle verwar kan word, want in die trappie-motor, of trappie, kan die rotasie ook baie presies beheer word, en die toepassings is baie soortgelyk aan die servo. In plaas daarvan is daar 'n paar verskille.

En dit is wat die servomotors gewoonlik gebruik seldsame aardmagnete, terwyl trapmotors goedkoper en meer konvensionele magnete gebruik. Daarom kan 'n servo 'n hoër wringkragontwikkeling behaal, ondanks die feit dat dit kompak bly. Daarom sal die draaikrag baie hoog wees.

Tegniese eienskappe

Wanneer u 'n servo koop, moet u die tegniese blad of die gegewensblad raadpleeg. Op hierdie manier sal u verseker dat die tegniese eienskappe dit het, maar ook die perke waaraan u dit kan onderwerp, soos spanning, intensiteit, maksimum lading, wringkrag, ens. Onthou dat elke model heel anders kan wees.

As u byvoorbeeld kyk na een van die gewildste, die Micro Servo 9G SG90 van die bekende Tower Pro-firma, dan sal u baie eienaardige eienskappe hê, hoewel die programmering en aansluiting van die modelle min of meer dieselfde is en alles wat hier gesê word, nuttig is vir enigiemand.

In die geval van hierdie model is dit 'n hoë kwaliteit motor met 'n draaihoek wat a vee tussen -90 en 90º, dit wil sê 'n totale draai van 180º. Die resolusie wat u kan bereik, is baie hoog, dus u sal bietjies-bietjies kan vorder. Byvoorbeeld, met die PWM seinbeperkings van Arduino UNO, kan u selfs 'n voorskot van graad tot graad kry.

Die PWM-sein sal ook 'n ander limiet instel, en dit is die aantal kere wat elke posisie per tydseenheid kan verander. Aangesien die pulse byvoorbeeld tussen 1 en 2 ms werk en met 20 ms periodes (50Hz), dan kan die servo een keer elke 20 ms beweeg.

Daarbenewens het dit 'n gewig van 9 gram en, ondanks die gewig en kompakte grootte, kan dit 'n gewig ontwikkel wringkrag of wringkrag van 1.8 kg / cm met 4.8v. Dit is te danke aan sy POM-toerustingstel.

Uiteindelik weet u al dat u, afhangende van wat u wil bereik, die een of ander model sal moet kies sodat dit die funksies wat nodig is vir u projek. Dit wil sê, dit is nie dieselfde dat u 'n motor 'n vrag X moet laat beweeg nie, as een vir XX ...

Waar om 'n servo te koop

bedieningsmotor

As u hierdie soort servomotor wil begin gebruik, kan u dit in baie gespesialiseerde winkels goedkoop vind, en u kan dit ook aanlyn by Amazon kry. Hier is byvoorbeeld 'n paar voorbeelde van aanbevole produkte wat u kan interesseer:

Almal het 'n redelike goeie draaihoek, maar dit verskil basies in die wringkrag wat elkeen kan verdra. Ek het ingesluit drie verskillende modelle. Eersgenoemde, en goedkoper, kan voldoende wees vir die meeste toepassings. Maar as u een met groter krag benodig vir ander toepassings, het u die 25 en 35, wat al baie opmerklik is ...

Integrasie met Arduino

arduino servo
Soos u in die prentjie hierbo kan sien, die servo verbind baie maklik na Arduino. Dit het net drie kabels wat u op hierdie manier kan verbind:

  • Rooi met 5V
  • Swart met GND
  • Geel met 'n Arduino PWM-pen, in hierdie geval met -9.

U het verskillende opsies om 'n skets te kan programmeer om hierdie tipe enjins te gebruik. Maar om te begin, moet u eers voeg Arduino IDE-biblioteek by om hierdie tipe servomotore aan te dryf:

  1. Maak Arduino IDE oop.
  2. Gaan na Program.
  3. Sluit dan biblioteek in.
  4. Serwo

Soos vir die skets kodeDit kan so eenvoudig wees waarin die servo deur sy posisies gaan en stop by 0º, 90º en 180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

Nou as jy wil skuif dit van graad na graad, dan sou dit so wees:

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

Wees die eerste om te kommentaar lewer

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

Engelse toetsToets KatalaansSpaanse vasvra