Olá, dando continuidade ao post sobre Servo Motor, no tutorial de hoje ensinaremos como testar os Servos motores de forma simples e rápida utilizando Arduino e também módulo de teste de Servo motor e ESC.
O tutorial será dividido nos tópicos a seguir e caso deseje ir para alguma parte específica do tutorial, basta clicar em qualquer um dos títulos e você será redirecionado para a parte desejada no texto.
Como testar um Servo Motor com Arduino
Como testar um Servo Motor com o Módulo Teste de Servo Motor e ESC
Lista de materiais
Servo Motor -TD-8120MG - Digital 180° 20kgf
Servo Motor - MG995 - Digital 360°
Servo Motor - S3003 - Analógico 180°
Módulo Teste de Servo Motor e ESC
Kit Jumper Macho Macho - 65 pçs
Potenciômetro Linear - 1K - L20
Fonte 12V - 5,0/3,3 V p/ Protoboard
Conversor AC/DC - 90~240VAC - 12,0VDC / 1A - JP4
Arduino Uno Compatível Com Cabo USB
Como funciona um Servo Motor
O Servo Motor é um dispositivo atuador eletromecânico controlável, capaz de definir com precisão a velocidade, aceleração e posição de uma carga atuada. Ele é muito utilizado em aplicações e projetos onde é necessário o posicionamento preciso do eixo do motor. Para saber mais sobre o Servo Motor, os tipos e seu funcionamento acesse o post Introdução ao Servo Motor.
Tipos de Servo motor
Nos Servos Motores, temos os seguintes tipos:
Servo motor CC: É o tipo de Servo motor mais utilizado em projetos que utilizam Arduino, ESP32 e os mais diversos tipos de controladores.
Servo motor CA: Tipo mais utilizado na Indústria, possui elevada potência e controle preciso em grandes velocidades.
Servo motor analógico: Funciona por pulsos de tensão subsequentes de ativação e desativação. Possuem menor capacidade de controle devido a sua zona morta.
Servo motor Digital: Funciona de maneira semelhante ao Servo motor Analógico, mas possui melhor controle, por ter um microprocessador capaz de receber pulsos de alta frequência e converter para um sinal digital diminuindo a zona morta do Servo.
Quando falamos do controle do Servo Motor, temos alguns tipos e diferença entre eles, esses tipos são:
Servo motor 180º: podendo ser digital ou analógico, o Servo Motor 180º é capaz de rotacionar seu eixo em 180 graus controladamente.
Servo motor 360º de giro constante: é um servo motor que gira constantemente. Muito utilizado em aplicações como carrinhos e drones, é possível controlar o sentido da rotação e também a velocidade.
Servo motor 360º: diferente da versão de 180º, esse Servo motor consegue rotacionar completamente o seu eixo controlando a posição do eixo do Servo por completo sem limitações.
Como testar um Servo Motor com Arduino
Para controlar um Servo motor utilizando o Arduino, podemos utilizar o mesmo esquema elétrico e código para testá-los.
Sendo assim, o esquema elétrico fica da seguinte maneira:
Com isso, o código para testar os motores fica da seguinte maneira:
#include <Servo.h>
Servo myservo; // Cria um objeto servo para controlar um servo
int val; // Variável para ler o valor do potenciômetro
void setup() {
myservo.attach(9); // Define o pino do Servo motor como pino 9
}
void loop() {
val = analogRead(0); // Lê o valor do potenciômetro (entre 0 e 1023)
val = map(val, 0, 1023, 0, 180); // Mapeia o valor para um intervalo de 0 a 180. Troque para 0 a 360 para testar um Servo que Gira 360 graus controlado
myservo.write(val); // Define a posição do servo conforme o valor mapeado
delay(15); // Espera para o servo alcançar a posição
}
Neste pequeno código, o valor do potenciômetro é lido e convertido em um Mapa que irá definir a posição atual do Servo Motor.
Para saber como adicionar bibliotecas e placas a IDE Arduino, veja nosso post Adicionando placas e bibliotecas na Arduino IDE
Após montar o circuito e enviar o código para o Arduino, temos o seguinte resultado:
Como testar um Servo motor com o Módulo Teste de Servo Motor e ESC
Para conseguir testar um servo com o módulo de teste de Servo motor e ESC, você precisará montar o seguinte circuito:
Com isso é possível utilizar os três modos presentes no módulo.
O primeiro deles é o modo de controle do servo motor, com ele você consegue movimentar o eixo do servo motor de maneira controlada, indo para a posição desejada, entre 0 e 115°. É perfeito para testar o controle do Servo, no entanto, ele não consegue atingir os 180° que o Servo Motor consegue fornecer por conta da frequência de sinal fornecida.
Já o Segundo modo é define uma posição neutra para o Servo Motor, indo para uma posição específica, algo entorno de 45°.
No terceiro modo o Módulo Teste de Servo motor e ESC gira o motor de um lado para o outro de forma automática, sem a necessidade de utilizar o potenciômetro.
No video abaixo, você pode ver o funcionamento de cada modo do Módulo Teste de Servo Motor e ESC
Conclusão
Com esta breve explicação e testes, aprendemos as diferenças entre os Servo Motores e como testa-los utilizando o Arduino e o módulo teste de Servo Motor e ESC , com isso encerramos o tutorial de hoje, até a próxima!