Servo: servomoottorin käyttäminen Arduinon kanssa

servo, servomoottori

Jos haluat käyttää a servomoottori tai servo, With Työläs, tässä artikkelissa opit mitä tarvitset aloittaaksesi. Olemme jo nähneet muissa artikkeleissa, mitä on tarpeen käyttää sähkömoottorit, askelmoottorit, ja myös muut käsitteet, jotka ovat tarpeen tämän tyyppisen laitteen toiminnan ymmärtämiseksi, kuten artikkeli PWM.

Nyt voit lisätä toisen uuden elektronisen komponentin laiteluettelosta analysoitu ja että voit mennä integroi DIY-projektisi lisätä uusia toimintoja.

Mikä on servo?

servo

Un Servo moottori, tai yksinkertaisesti servo, on elektroninen moottori, joka muistuttaa perinteisiä tasavirtamoottoreita, mutta sisältää joitain elementtejä, jotka tekevät niistä erikoisen. Tässä tapauksessa sillä on kyky pitää osoitettu asema, jota sähkömoottorit eivät salli.

Toisaalta servo voi myös tarkasti hallita pyörimisnopeus sisäisten vaihteiden sarjan ja järjestelmän ansiosta, joka mahdollistaa paljon paremman hallinnan kuin mitä voitaisiin tehdä muuntyyppisissä moottoreissa.

Nämä ominaisuudet tekevät siitä erityisen mielenkiintoisen sovellukset robotiikka, tai muille laitteille, joissa on tarpeen hallita liikettä ja sijaintia, kuten tulostin tai kauko-ohjattava auto. Tämän tyyppisessä radio-ohjattavassa autossa on tavanomainen moottori auton ohjaamiseksi ja servo ohjausta varten, jolla käännöstä voidaan hallita tarkasti.

Ero askelmoottorin ja servomoottorin välillä

Nema 17

Jos ihmettelet servomoottorin ja askelmoottorin välinen ero, totuus on, että ne voidaan sekoittaa, koska askelmoottorissa tai askelmoottorissa pyörimistä voidaan myös hallita melko tarkasti, ja sovellukset ovat hyvin samankaltaisia ​​kuin servo. Sen sijaan on joitain eroja.

Ja servomoottorit käyttävät tyypillisesti harvinaisten maametallien magneetit, kun taas askelmoottorit käyttävät halvempia ja tavanomaisempia magneetteja. Siksi servo voi saavuttaa suuremman vääntömomentin, vaikka se onkin kompakti. Siksi kääntövoima on erittäin suuri.

Tekniset ominaisuudet

Aina kun ostat servon, sinun tulee tutustua sen tekniseen tai taulukkoon. Näin varmistat tekniset ominaisuudet sillä on, mutta myös rajat, joille voit altistaa sen, kuten jännite, intensiteetti, suurin kuormitus, vääntömomentti jne. Muista, että kukin malli voi olla melko erilainen.

Esimerkiksi, jos katsot yhtä suosituimmista, Micro Servo 9G SG90 from tunnettu Tower Pro -yritys, niin sinulla on joitain hyvin erikoisia ominaisuuksia, vaikka mallien ohjelmointi ja kytkentä ovat suunnilleen samat ja kaikki tässä mainitut ovat hyödyllisiä kenellekään.

Tämän mallin tapauksessa se on korkealaatuinen moottori, jonka kääntökulma sallii a pyyhkäise välillä -90 - 90º, ts. kokonaiskääntö 180º. Voit saavuttaa tarkkuuden erittäin korkealla, joten pystyt etenemään hyvin vähitellen. Esimerkiksi PWM-signaalin rajoituksilla Arduino UNO, voit jopa saada etukäteen luokasta toiseen.

Samoin PWM-signaali asettaa myös toisen rajan, ja se on kuinka monta kertaa kukin sijainti voi muuttua aikayksikköä kohti. Esimerkiksi, koska pulssit toimivat välillä 1-2 ms ja 20 ms jaksot (50 Hz), sitten servo voi liikkua kerran 20 ms: n välein.

Lisäksi sen paino on 9 grammaa, ja painosta ja pienestä koosta huolimatta se voi kehittyä a vääntömomentti tai 1.8 kg / cm 4.8 v: lla. Tämä johtuu POM-vaihdelaatikosta.

Lopuksi, tiedät jo, että sinun on valittava yksi tai toinen malli sen mukaan, mitä haluat saavuttaa, jotta sillä olisi projektisi edellyttämät ominaisuudet. Eli se ei ole sama asia kuin haluat moottorin liikuttavan kuormaa X, kuin yhden XX: lle ...

Mistä ostaa servo

Servo moottori

Jos haluat aloittaa tämäntyyppisen servomoottorin käytön, löydät sen halvalla monista erikoistuneista myymälöistä ja voit myös hankkia sen verkossa Amazonista. Esimerkiksi tässä on joitain esimerkkejä suositellut tuotteet mikä saattaa kiinnostaa sinua:

Kaikilla niillä on melko hyvä kiertokulma, mutta se eroaa periaatteessa vääntömomentista, jonka kukin voi sietää. Olen sisällyttänyt kolme erilaista mallia. Ensimmäinen ja halvempi voi olla riittävä useimpiin sovelluksiin. Mutta jos tarvitset suurempaa voimaa muihin sovelluksiin, sinulla on 25 ja 35, jotka ovat jo melko merkittäviä ...

Integrointi Arduinon kanssa

arduino-servo

Kuten yllä olevasta kuvasta näet, servo kytkeytyy hyvin helposti Arduinolle. Siinä on vain kolme kaapelia, jotka voit liittää tällä tavalla:

  • Punainen 5 V: lla
  • Musta GND: llä
  • Keltainen Arduino PWM -nastalla, tässä tapauksessa -9.

Voit ohjelmoida luonnoksen aloittamaan tämäntyyppisten moottorien käyttämisen, sinulla on useita vaihtoehtoja. Mutta ensinnäkin, sinun on aloitettava lisää Arduino IDE -kirjasto ajaa tämän tyyppisiä servomoottoreita:

  1. Avaa Arduino IDE.
  2. Siirry ohjelmaan.
  3. Sitten Sisällytä kirjasto.
  4. Servo

Mitä luonnos koodiSe voi olla niin yksinkertaista, että servo käy läpi asemansa pysähtymällä 0º, 90º ja 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);
}

Nyt jos haluat siirrä sitä asteesta toiseen, niin se olisi seuraava:

// 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);
  }
}


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.