Neste post vamos aprender o que é servo motor, como funciona, como fazer a interface com o microcontrolador e o que torna este motor especial em relação a outros motores.
Sendo um entusiasta da eletrônica, teríamos encontrado muitos tipos de motores, aqui vamos dar uma olhada em um tipo especial de motor chamado servo motor.
O que é um servo motor?
Servo motor ou simplesmente servo é um tipo especial de motor que é projetado para controle preciso sobre a posição, aceleração e velocidade. Ao contrário de todos os outros tipos de motor, o servo só pode girar bidirecionalmente em 180 graus. Possui engrenagens mecânicas e rolha que limitam a rotação angular do servo.
Servo motor típico:
Os servo motores são usados em robótica, câmeras de CFTV, carros RC, barcos, aeronaves de brinquedo, etc. Servos são usados onde não precisamos continuar o movimento rotatório, mas travar em uma posição específica ou mover alguma carga com velocidade controlada dentro do limite angular móvel.
Servo não é simplesmente um motor como outros tipos, mas é um módulo, que combina um motor DC / AC normal, um grupo de engrenagens, eletrônicos de controle e um sistema de feedback. Vejamos cada um dos estágios mencionados em detalhes.
O motor DC / AC que é empregado em um servomódulo pode ser motor sem escova ou com escova, na maioria dos servos de hobby, o motor DC é usado e os motores AC são usados em aplicações industriais. O motor fornece entrada rotacional para o servo. O motor gira a várias centenas de RPM dentro do servo e a rotação de saída é cerca de 50 ou mais vezes menos de seu RPM.
A próxima etapa é a montagem da engrenagem, que controla a rotação angular e a velocidade do servo. A engrenagem pode ser feita de plástico ou metal, dependendo de quão volumosa é a carga. Geralmente os motores DC funcionam em alta RPM e baixo torque, o conjunto de engrenagens converterá o excesso de RPM em torque. Assim, um pequeno motor pode suportar uma carga enorme.
O próximo estágio é a eletrônica de controle que consiste em MOSFETs e ICs para controlar a rotação do motor. Um sistema de feedback está sempre presente em servo motores para rastrear a posição atual do atuador.
Em servos geralmente um componente de feedback é um potenciômetro, que é conectado diretamente ao atuador rotativo. O potenciômetro atua como divisor de tensão que alimenta a eletrônica de controle. Esse feedback ajuda a controlar os componentes eletrônicos para determinar a quantidade de energia fornecida ao motor.
Um servo motor em uma posição fixa se moverá relutantemente de sua posição atual se qualquer força externa tentar perturbar. O sistema de feedback monitora a posição atual e alimenta o motor contra distúrbios externos.
O cenário acima é o mesmo quando o servo está movendo seu atuador. O sistema de controle compensará a força externa e se moverá em determinada velocidade.
Agora você sabe um pouco sobre o servo motor e seu mecanismo de funcionamento. Vamos ver como controlar os servo motores usando um microcontrolador.
Os servo motores possuem 3 terminais, ao contrário de outros motores que possuem 2 terminais, dois para alimentação (5 V nominal) e um para sinal de controle. Os fios são coloridos para facilitar a identificação dos terminais.
Os sinais de controle dos servos são PWM na frequência de 50Hz. A largura de pulso do sinal determina a posição do braço atuador. Um servo motor de hobby típico opera com largura de pulso de 1 a 2 milissegundos.
Aplicar o sinal de controle de largura de pulso de 1 ms manterá o atuador na posição de 0 grau. Aplicar o sinal de controle de largura de pulso de 2 ms manterá o atuador na posição de 180 graus. Aplicar sinais entre 1-2 ms manterá o atuador dentro de um ângulo de 0-180 graus. Isso pode ser melhor compreendido pela imagem abaixo.
Agora você já deve ter entendido como um servo é controlado pela modulação por largura de pulso (PWM).
Agora vamos aprender como fazer a interface de um servo motor com o Arduino.
Diagrama de circuito:
A fiação é fácil e autoexplicativa. Você precisa de fonte de alimentação externa se estiver usando um servo motor volumoso. Se você tentar ligar a fonte de alimentação do arduino, você acabará sobrecarregando a porta USB do computador.
Se você tiver um servo semelhante que é ilustrado no início do artigo, você pode ligá-lo com a fonte arduino 5V, também mostrada no protótipo do autor.
Protótipo do autor:
O Arduino precisa da biblioteca servo para manipulá-lo, isso facilita nossa tarefa e já está no IDE do Arduino.
Programa:
//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//
O programa acima irá varrer o atuador de 0 a 180 graus para a direita e 180 a 0 graus para a esquerda e o ciclo se repetirá. Este é um programa simples para testar o servo que você pode precisar para escrever seu próprio código para seus aplicativos personalizados.
Anterior: Circuito do controlador da válvula de bomba de água de dois tubos Próximo: Compreendendo a fiação do regulador de tensão da motocicleta