Neste tutorial, mostraremos como usar o micro servo contínuo e como controlá-lo usando um Arduino Uno. Trazemos como exemplos os modelos SG90, MG90 e MG995. Para comprar esses produtos em nossa loja,
SG90: clique aqui;
MG90S: clique aqui;
MG995: clique aqui.
Os servo motores contínuos, são uma versão modificada dos servo motores de 180 graus que podem girar continuamente. Ao contrário dos servos tradicionais que têm limite de rotação de 0° a 180°, os dispositivos de rotação contínua não tem um controle preciso da posição angular e tem total liberdade de movimento.
Os motores do tipo servo motor são sistemas que contém um encoder acoplado, do tipo potenciômetro, e uma unidade de controle que permitem o controle preciso da rotação (Figura 4). Os modelos de 180° são assim conhecidos por terem limitadores físicos que permitem o giro apenas em 180°. Seu controle se dá através do envio de pulsos com comprimentos de onda que vão de 1ms para 0° até 2ms para 180°.
Já para o controle do servo contínuo(360°) o controle também é feito através do comprimento de onda enviado. No entanto não é a possível controlar a posição dele, apenas o sentido de rotação e velocidade. Para ondas de 1,5ms a posição será mantida, para ondas menores que essa até 1ms seu giro será anti-horária acelerando à medida que se aproxima de 1ms. Já para comprimentos maiores que 1,5 até 2ms seu giro será horário e mais rápido à medida que se aproxima dos 2ms.
1ms ≤ Rotação Sentido anti-horário < 1,5ms
Motor parado = 1,5ms
1,5ms < Rotação Sentido horário ≤ 2ms
Para conectar o servo ao arduino, faça a ligação como na Figura 6.
É recomendado usar uma fonte 5V externa para alimentação do servo motor para que não danifique a sua placa Arduino caso tenha um pico de corrente acima do limite (1A) em caso de travamento no eixo. Para fins didáticos, podemos usar os pinos 5V e GND da placa.
O primeiro passo para começar a usar o servo motor com a placa Arduino é instalar a IDE (integrated development environment) no seu computador. Caso já tenha a IDE do Arduino Instalada, pule para o próximo tópico.
Caso seu Sistema Operacional não apareça, tente as opções do IDE Legacy.
Após a montagem e verificação do circuito elétrico do projeto, vamos a programação. Este projeto visa comandar o servo motor de maneira que o eixo do servo execute movimentos com diferentes velocidades.
#include //Inclui a biblioteca
Servo servo; //Declara a existência de um servo
int angulo = 0; //Cria uma variável para armazenar o angulo do servo
void setup(){
servo.attach(3); //Anexa o servo à porta 3
}
void loop(){
//Loop que aumenta gradualmente a velocidade no sentido horário
for(angulo = 90; angulo<180; angulo++){
//Define a velocidade e sentido do giro
servo.write(angulo);
//Um delay pra tornar o experimento mais observável
delay(50);
}
//Adiciona uma pausa entre os giros
servo.write(90);
delay(1000);
//Mesmo bloco de código para aumentar a velocidade de giro gradualmente,
//porém no sentido anti-horário
for(angulo = 90; angulo>0; angulo--){
servo.write(angulo);
delay(50);
}
//Adiciona uma pausa entre os giros
servo.write(90);
delay(1000);
}
#include //Inclui a biblioteca
Servo servo; //Declara a existência de um servo
int angulo = 0; //Cria uma variável para armazenar o angulo do servo
void setup(){
servo.attach(3); //Anexa o servo à porta 3
}
void loop(){
//Loop que aumenta gradualmente a velocidade no sentido horário
for(angulo = 90; angulo<180; angulo++){
//Define a velocidade e sentido do giro
servo.write(angulo);
//Um delay pra tornar o experimento mais observável
delay(50);
}
//Adiciona uma pausa entre os giros
servo.write(90);
delay(1000);
//Mesmo bloco de código para aumentar a velocidade de giro gradualmente,
//porém no sentido anti-horário
for(angulo = 90; angulo>0; angulo--){
servo.write(angulo);
delay(50);
}
}
Os servos contínuos são amplamente utilizados em esteiras e sistemas de movimentação que exigem rotação constante e controlada. Suas principais vantagens incluem o controle preciso de velocidade e direção, facilidade de programação e custo acessível. Por outro lado, apresentam desvantagens como a ausência de feedback de posição, torque limitado comparado a motores e consumo energético relativamente alto em operação contínua. Essa combinação de características os torna ideais para projetos educacionais e protótipos, mas menos adequados para aplicações industriais que demandam alta potência ou precisão posicional.