Como fazer a interface de servo motores com Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





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:

como fazer a interface de um servo motor com o Arduino.

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