servo motor

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1116 palavras )
  • Download(s) : 0
  • Publicado : 3 de novembro de 2013
Ler documento completo
Amostra do texto
Controlo de um Servo-Motor

Servo-Motor
por

Nuno Monteiro & Gabriel Dinis
Eng. Electrotécnica, UTAD
Junho de 2001
nuno_monteiro@portugalmail.com
gabrieldinis@portugalmail.pt
Um servo-motor é um pequeno dispositivo cujo veio pode ser posicionado numa determinada posição angular de
acordo com um sinal codificado que lhe é enviado. Enquanto esse código persistir na entrada, o servoirá manter a sua
posição angular. Se o código de entrada variar a posição angular também varia. Na prática os servo-motores são usados
no controlo de aviões telecomandados, robots, etc.

Figura 1 - Servo-Motores

Os servo-motores são extremamente úteis em robótica. Os motores são pequenos, possuem internamente o
circuito de controlo, engrenagens redutoras, mecanismo de posicionamento porfeedback e são extremamente potentes
para o seu tamanho.
Um servo possui 3 entradas. Uma é a alimentação (+5 V), outra é a massa e a outra é a entrada de controlo. Um
servo é controlado enviando-lhe um sinal PWM (Pulse Width Modulation), ou seja, a posição angular irá depender da
largura do pulso enviado.

Figura 2 – Servo-Motor (mecanismo de feedback)

Nuno Monteiro & Gabriel Dinis
Eng.Electrotécnica, UTAD
Junho de 2001
-1-

Controlo de um Servo-Motor

O sinal de controlo é uma onda quadrada (0 a 5 V) de frequência igual a 50 Hz (também funciona a 60 Hz).
A uma frequência de 50 Hz corresponde um período de 20 ms (1/50 = 20 ms).
O sinal PWM a enviar terá de ter sempre o primeiro milisegundo a 5 V. A partir daí, durante o milisegundo
seguinte, o tempo que o sinal semantiver a 5 V irá determinar a posição do veio do servo-motor. Ou seja, se
imediatamente após o primeiro milisegundo o sinal passar a ser de 0 V, então servo ir-se-á colocar na posição 0º. Se em
vez disso, o sinal for durante o primeiro milisegundo igual a 5 V e se esse valor se mantiver durante o segundo
milisegundo (igual a a 5 V) então o servo-motor ir-se-á colocar na posição 180º (aposição angular máxima de um servomotor é normalmente de 180º).
Em qualquer dos casos, a partir do segundo milisegundo e durante os 18 ms restantes (2 ms +18 ms =20 ms) o
sinal de controlo deverá ser de 0 V.
Vemos assim que é o tempo, durante o segundo milisegundo, que o sinal se mantem a 5 V, que determina a
posição angular do servo. Ou seja, se o servo tem um raio de acção de 180º então,como 1/180 ≈ 5 µs, bastam
incrementos de 5 µs, para alterar a posição do servo
Exemplos de sinais PWM e respectiva posição angular:
1 ms a 5 V e 19 ms a 0 V corresponde a uma posição angular de 0º
1,005 ms a 5 V e 18,995 ms a 0 V corresponde a uma posição angular de 1º
1,010 ms a 5 V e 18,990 ms a 0 V corresponde a uma posição angular de 2º
... e assim sucessivamente...
1,995 ms a 5 V e18,005 ms a 0 V corresponde a uma posição angular de 2º
2 ms a 5 V e 18 ms a 0 V corresponde a uma posição angular de 180º
Para controlar o servo-motor o sinal deverá ser o seguinte:
5V
e repetir-se ...
0V

1 ms

18 ms

1 ms
20 ms

Este sinal deve repetir-se para que o servo se posicione na posição angular pretendida e se mantenha lá imóvel.
Uma forma de gerar este tipo de sinal éusando um microcontrolador. Neste caso foi usado o PIC16F84 da
Microchip.

Nuno Monteiro & Gabriel Dinis
Eng. Electrotécnica, UTAD
Junho de 2001
-2-

Controlo de um Servo-Motor

Usou-se a PORTB (todos os pinos) como variável de entrada para o processo unicamente para demonstrar o
funcionamento deste controlador de servo-motores. Em utilizações reais do servo, bastaria usar um pino deentrada e
enviar os dados ao microcontroldor via protocolo série (RS-232, SPI, I2C, etc). Este circuito deve ser uma referência para
outras utilizações de um servo.
O código em assembly que controla o servo é o seguinte:
;######################################## Eng. Electrotécnica, UTAD #####################################
;########################################
Junho de 2001...