Servo: como usar o servo motor com Arduino

servo, servo motor

Se você quiser usar um servo motor, ou servo, com Arduino, neste artigo você aprenderá o que é necessário para começar. Já vimos em outros artigos o que é necessário usar motores elétricos, motores de passo, e também outros conceitos necessários para entender o funcionamento desse tipo de dispositivo, como o artigo sobre PWM.

Agora, você pode adicionar outro novo componente eletrônico ao a lista de dispositivos analisado e que você pode ir integrando seus projetos DIY para adicionar novas funcionalidades.

O que é um servo?

servo

Un servo motor, ou simplesmente servo, é um motor eletrônico com semelhanças com os motores DC convencionais, mas com alguns elementos que os tornam especiais. Nesse caso, ele tem a capacidade de manter uma posição indicada, algo que os motores elétricos não permitem.

Por outro lado, o servo também pode controlar precisamente a velocidade de rotação, graças a uma série de engrenagens internas e a um sistema que permite um controle muito melhor do que poderia ser feito em outros tipos de motores.

Esses recursos o tornam especialmente interessante para aplicações robótica ou para outros dispositivos onde o movimento e a posição precisam ser controlados, como uma impressora ou um carro com controle remoto. Neste tipo de carro controlado por rádio existe um motor convencional para acioná-lo e um servo para a direção, com o qual controla a curva com precisão.

Diferença entre motor de passo e servo motor

Nema 17

Se você quer saber a diferença entre um servo motor e um motor de passo, a verdade é que podem ser confundidos, já que no motor de passo, ou passo a passo, a rotação também pode ser controlada com bastante precisão, e as aplicações são muito semelhantes às do servo. Em vez disso, existem algumas diferenças.

E é que os servomotores costumam usar ímãs de terras raras, enquanto os motores de passo usam ímãs mais baratos e convencionais. Portanto, um servo pode atingir um maior desenvolvimento de torque, apesar de permanecer compacto. Portanto, a força de rotação será muito alta.

Características tecnicas

Sempre que você comprar um servo, você deve consultar sua ficha técnica ou ficha técnica. Dessa forma, você garantirá o características tecnicas tem, mas também os limites aos quais você pode sujeitá-lo, como tensão, intensidade, carga máxima, torque, etc. Lembre-se de que cada modelo pode ser bem diferente.

Por exemplo, se você olhar para um dos mais populares, o Micro Servo 9G SG90 da a conhecida empresa Tower Pro, então você terá algumas características bem peculiares, embora a programação e conexão dos modelos sejam mais ou menos as mesmas e tudo o que for dito aqui seja útil para qualquer pessoa.

No caso deste modelo, é um motor de alta qualidade, com um ângulo de giro que permite um varredura entre -90 e 90º, ou seja, uma volta total de 180º. A resolução que você pode alcançar é muito alta, então você poderá avançar muito aos poucos. Por exemplo, com as limitações de sinal PWM de Arduino UNO, você pode até conseguir um avanço de série para série.

Da mesma forma, o sinal PWM também imporá outro limite, e é o número de vezes que cada posição pode mudar por unidade de tempo. Por exemplo, uma vez que os pulsos funcionam entre 1 e 2 ms e com Períodos de 20 ms (50 Hz), então o servo pode se mover uma vez a cada 20 ms.

Além disso, terá peso de 9 gramas e, apesar desse peso e tamanho compacto, poderá desenvolver um torque ou torque de 1.8 kg / cm com 4.8v. Isso graças ao seu conjunto de engrenagens POM.

Por fim, você já sabe que, dependendo do que se deseja alcançar, deve-se escolher um ou outro modelo, para que tenha o recursos necessários para o seu projeto. Ou seja, não é a mesma coisa que você quer um motor para movimentar uma carga X, que um para XX ...

Onde comprar um servo

servo motor

Se você quiser começar a usar este tipo de servomotor, pode encontrá-lo barato em muitas lojas especializadas e também pode obtê-lo online na Amazon. Por exemplo, aqui estão alguns exemplos de produtos recomendados que pode interessar a você:

Todos eles têm um ângulo de viragem muito bom, mas basicamente difere no torque que cada um pode tolerar. Eu incluí três modelos diferentes. O primeiro, e mais barato, pode ser suficiente para a maioria das aplicações. Mas se precisar de um com maior resistência para outras aplicações, você tem o 25 e o 35, que já são notáveis ​​...

Integração com Arduino

servo arduino

Como você pode ver na imagem acima, o servo se conecta muito facilmente para o Arduino. Ele tem apenas três cabos, que você pode conectar desta forma:

  • Vermelho com 5V
  • Preto com GND
  • Amarelo com um pino PWM Arduino, neste caso com -9.

Para programar um esboço para começar a usar esses tipos de motores, você tem várias opções. Mas, antes de tudo, para começar, você tem que adicionar biblioteca Arduino IDE para acionar este tipo de servo motores:

  1. Abra o IDE do Arduino.
  2. Vá para o programa.
  3. Em seguida, inclua a biblioteca.
  4. Servo

Quanto a código de esboçoPode ser assim tão simples em que o servo passará por suas posições, parando em 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);
}

Agora se você quiser mova-o de grau em grau, então seria assim:

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


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.