Servo: come utilizzare il servomotore con Arduino

servo, servomotore

Se vuoi usare un file servomotore o servo, Con Arduino, in questo articolo imparerai di cosa hai bisogno per iniziare. Abbiamo già visto in altri articoli cosa è necessario utilizzare motori elettrici, motori passo-passo, e anche altri concetti necessari per comprendere il funzionamento di questo tipo di dispositivo, come l'articolo su %PWM.

Ora puoi aggiungere un altro nuovo componente elettronico a l'elenco dei dispositivi analizzato e che puoi andare integrando i tuoi progetti fai da te per aggiungere nuove funzionalità.

Cos'è un servo?

servo

Un servomotore, o semplicemente servo, è un motore elettronico con somiglianze con i motori CC convenzionali, ma con alcuni elementi che li rendono speciali. In questo caso, ha la capacità di mantenere una posizione indicata, cosa che i motori elettrici non consentono.

D'altra parte, anche il servo può controllo preciso la velocità di rotazione, grazie ad una serie di ingranaggi interni e ad un sistema che permette un controllo molto migliore di quanto si potrebbe fare in altri tipi di motori.

Queste caratteristiche lo rendono particolarmente interessante per applicazioni robotica, o per altri dispositivi dove è necessario controllare il movimento e la posizione, come una stampante o un'auto telecomandata. In questo tipo di auto radiocomandate è presente un motore convenzionale per guidare l'auto, e un servo per lo sterzo, con il quale controllare con precisione la svolta.

Differenza tra motore passo-passo e servomotore

Nema 17

Se lo chiedi la differenza tra un servomotore e un motore passo-passo, la verità è che possono essere confusi, poiché nel motore passo-passo, o passo-passo, anche la rotazione può essere controllata in modo abbastanza preciso e le applicazioni sono molto simili al servo. Invece, ci sono alcune differenze.

Ed è che i servomotori usano tipicamente magneti delle terre rare, mentre i motori passo-passo utilizzano magneti più economici e più convenzionali. Pertanto, un servo può raggiungere uno sviluppo di coppia maggiore, nonostante rimanga compatto. Pertanto, la forza di rotazione sarà molto alta.

caratteristiche tecniche

Ogni volta che acquisti un servo, dovresti consultare la sua scheda tecnica o scheda tecnica. In questo modo, assicurerai il file caratteristiche tecniche ha, ma anche i limiti a cui puoi sottoporlo, come tensione, intensità, carico massimo, coppia, ecc. Ricorda che ogni modello può essere molto diverso.

Ad esempio, se guardi uno dei più popolari, il Micro Servo 9G SG90 di la nota azienda Tower Pro, quindi avrai delle caratteristiche molto peculiari, anche se la programmazione e il collegamento dei modelli sono più o meno le stesse e tutto quanto detto qui è utile per chiunque.

Nel caso di questo modello, si tratta di un motore di alta qualità, con un angolo di rotazione che consente a spazzare tra -90 e 90º, cioè un giro totale di 180º. La risoluzione che puoi ottenere è molto alta, quindi sarai in grado di avanzare molto poco a poco. Ad esempio, con le limitazioni del segnale PWM di Arduino UNO, potresti persino ottenere un anticipo di grado in grado.

Allo stesso modo, il segnale PWM imporrà anche un altro limite, ed è il numero di volte che ogni posizione può cambiare per unità di tempo. Ad esempio, poiché gli impulsi funzionano con tra 1 e 2 ms e con Periodi di 20 ms (50Hz), quindi il servo può muoversi una volta ogni 20 ms.

Inoltre avrà un peso di 9 grammi e, nonostante quel peso e le dimensioni compatte, potrà sviluppare a coppia o coppia di 1.8 kg / cm con 4.8v. Questo grazie al suo set di ingranaggi POM.

Infine, sai già che, a seconda di cosa vuoi ottenere, dovrai scegliere uno o un altro modello, in modo che abbia il caratteristiche necessarie per il tuo progetto. Cioè, non è la stessa cosa che vuoi che un motore muova un carico X, piuttosto che uno per XX ...

Dove acquistare un servo

servomotore

Se vuoi iniziare a utilizzare questo tipo di servomotore, puoi trovarlo a buon mercato in molti negozi specializzati e puoi anche acquistarlo online su Amazon. Ad esempio, ecco alcuni esempi di prodotti consigliati che potrebbe interessarti:

Tutti hanno un angolo di torsione abbastanza buono, ma differisce fondamentalmente nella coppia che ognuno può tollerare. ho incluso tre diversi modelli. Il primo, e più economico, può essere sufficiente per la maggior parte delle applicazioni. Ma se ne hai bisogno uno con maggiore forza per altre applicazioni, hai il 25 e il 35, che sono già abbastanza notevoli ...

Integrazione con Arduino

servo arduino

Come puoi vedere nell'immagine sopra, il servo si collega molto facilmente ad Arduino. Ha solo tre cavi, che puoi collegare in questo modo:

  • Rosso con 5V
  • Nero con GND
  • Giallo con un pin PWM Arduino, in questo caso con -9.

Per programmare uno schizzo per iniziare a utilizzare questi tipi di motori, sono disponibili diverse opzioni. Ma, prima di tutto, per iniziare, devi aggiungi la libreria IDE di Arduino per pilotare questo tipo di servomotori:

  1. Apri l'IDE di Arduino.
  2. Vai al programma.
  3. Quindi Includi libreria.
  4. Servo

Da codice di schizzo, potrebbe essere così semplice in cui il servo attraverserà le sue posizioni fermandosi a 0º, 90º e 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);
}

Adesso se vuoi spostalo di grado in grado, allora sarebbe così:

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


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.