Servo Motor Arduino
Um servo motor é um motor elétrico rotativo ou linear que permite um controle preciso sobre a sua posição angular ou linear. É projetado para mover-se para uma posição específica e mantê-la.
Componentes Chave
- Motor: Pode possuir corrente contínua (DC) ou de corrente alternada (AC).
- Caixa de Engrenagens: Reduz a velocidade e da mesma forma aumenta o torque do motor, permitindo movimentos mais controlados e com maior força.
- Sensor de Posição (Potenciômetro ou Encoder): Fornece feedback contínuo sobre a posição atual do eixo do motor.
- Circuito de Controle (Servocontrolador): Recebe o sinal de comando (PWM – Pulse Width Modulation) e o compara com a posição real do motor. Havendo uma diferença, ele ajusta a potência para mover o motor para a posição desejada.
O Princípio de Funcionamento: Malha Fechada
O segredo do servo motor está no seu sistema de controle de malha fechada. A unidade de controle recebe um sinal que indica a posição desejada. O sensor de posição, por sua vez, informa a posição atual.
O controlador então calcula a diferença (erro) e aplica a tensão necessária para corrigir essa discrepância, movendo o motor até que a posição desejada seja alcançada e o erro seja zero. Esse ciclo de feedback constante acima de tudo garante a precisão e estabilidade do sistema.
Aplicações e Vantagens do Servo Motor
- Robótica: Utilizado em juntas articuladas e robôs industriais para movimentos precisos e repetitivos.
- Aeromodelismo e Drones: Usados para controlar superfícies de controle (ailerons, profundor, leme) em aviões e a posição de câmeras (gimbals) em drones.
- CNC (Controle Numérico Computadorizado): Máquinas de corte, fresadoras e tornos usam servo motores para posicionar com exatidão as ferramentas e as peças.
- Automação Industrial: Linhas de montagem, máquinas de embalagem e sistemas de transporte que exigem movimentos sincronizados e precisos.
- Modelismo: Carros de controle remoto, navios e outras réplicas que precisam de controle de direção e movimento.
Servo Motor vs. Motor de Passo: Qual a Diferença?
Embora ambos sejam usados para controle de movimento preciso, a principal diferença reside no método de operação.

- Servo Motor: Utiliza um sistema de feedback de malha fechada. Sendo assim, a posição real é lida continuamente e a precisão é mantida. Ele é ideal para aplicações que exigem alta velocidade, torque e a capacidade de segurar uma posição sob carga.
- Motor de Passo: Funciona em malha aberta (na maioria dos casos). Desta forma move-se em “passos” discretos e no entanto a sua precisão depende da ausência de carga que possa fazê-lo perder um passo. Eles são mais simples de controlar e mais econômicos, sendo adequados para aplicações de baixa velocidade e torque.
Projeto de manipulação do servo motor
No entanto o objetivo deste projeto é mostrar o uso da biblioteca “Servo.h” (já existente na IDE Arduino) para a manipulação de servo motores.
Circuito do projeto

Código de ativação do servo motor
Ativação com potenciômetro
#include "Servo.h"
Servo servo;
int Pinpotenciometro = 0;
int PinservoMotor = 6;
int valorPot;
int valorMotor = 0;
void setup(){
servo.attach(PinservoMotor);
Serial.begin(9600);
}
void loop(){
valorPot = analogRead(Pinpotenciometro);
valorMotor = map(valorPot, 0, 1023, 0, 180);
servo.write(valorMotor);
Serial.print(valorMotor);
delay(20);
}
Ativação com teclado
#include "Servo.h"
Servo servo;
int PinservoMotor = 6;
char tecla;
int valorMotor = 0;
void setup() {
servo.attach(PinservoMotor);
}
void loop() {
tecla = Serial.read();
if (tecla == 'D' || tecla == 'd') {
valorMotor = valorMotor - 15;
if (valorMotor >= 180) {
valorMotor = 180;
}
}
else if (tecla == 'A' || tecla == 'a') {
valorMotor = valorMotor + 15;
if (valorMotor <= 0) { valorMotor = 0; }
} servo.write(valorMotor); delay(20);
}
Outras fontes de estudo:
“As fontes estimulantes da ação
são os instintos criadores e o espírito de aventura.”




Publicar comentário