(por André Tomaz de
Carvalho)

Servomotores de posição
são motores freqüentemente utilizados no controle remoto de aeromodelos,
automodelos, e outros veículos radiocontrolados em escala reduzida. Por esse
motivo, são facilmente encontrados no comércio especializado, e podem ser de
grande valia em aplicações de automação e robótica.
O objetivo deste artigo é
descrever esse tipo de dispositivo e apresentar algumas formas de controlar
servomotores diretamente pelo computador, sem utilizar circuitos de
radiofreqüência dedicados.

Um servomotor tipo RC
consiste essencialmente em um motor de corrente contínua com um circuito de controle
de posição acoplado.
O tipo de servomotor
utilizado em modelos possui geralmente uma faixa de posicionamento de
aproximadamente 180 graus, podendo também ser encontrados modelos
com faixas de 90o. Note que o servomotor não chega a dar sequer uma
volta completa no seu eixo. Entretanto, as características deste motor permitem
controlar com precisão o ângulo de posicionamento dentro dessa faixa.
De sua carcaça saem três
cabos. O vermelho e o preto são respectivamente para a tensão de alimentação e para
a referência de terra. O outro fio, que costuma ser branco ou amarelo, é o cabo
de controle, pelo qual chegam os sinais que informam o ângulo (entre 0 e 180
graus) no qual o servo deve se posicionar.

Internamente, o circuito
de controle de posição recebe o sinal de controle que informa o ângulo em que o
motor deve se posicionar. O resistor variável mostrado na figura (que não passa
de um pequeno potenciômetro linear atuando como sensor de posição), informa ao
circuito de controle qual é a posição atual do eixo.
Então o circuito de
controle de posição aciona o motor cc (motor de corrente contínua) para que
este dê um número de voltas em determinado sentido, até que a posição do eixo
registrada pelo resistor variável coincida com a posição indicada pelo sinal de
controle.
Um jogo de engrenagens
faz o acoplamento entre o motor cc e o eixo do servo, proporcionando assim um
considerável aumento de torque no servomecanismo.

A tensão de alimentação
do servomotor é tipicamente de 5V, podendo variar entre 4,5V e 6V. Devido à
alta redução do jogo de engrenagens, o torque que se obtém de um servo é
bastante grande, tendo em conta o seu tamanho reduzido.
A potência dos servomotores
é especificada pelos fabricantes através do máximo torque e da máxima
velocidade angular em função de duas tensões de alimentação tomadas como
referência: 4.6V e 6V. Quanto maior for a tensão de alimentação, maiores serão
os valores obtidos para o torque e para a velocidade angular do servomotor.
Entretanto, a tensão de 6V não deve ser ultrapassada, sob o risco de danificar
o servomotor. Consulte as especificações técnicas do fabricante antes de tentar
outros níveis de tensão.
Por exemplo, um servomotor
Futaba standard modelo S3003 apresenta as seguintes especificações.
|
Futaba S3003 standard servo |
||
|
Tensão |
Torque |
Velocidade |
|
4.8V |
495,3 g.cm |
0.23 seg/60° |
|
6.0V |
635 g.cm |
0.19 seg/60° |
|
|
||
|
Dimensões |
Peso |
|
|
2 x 4 x 3,5 cm |
37 g |
|

Obs: As unidades da figura
estão em milímetros.
De acordo com a tabela
acima, observe que o servo alimentado com 6V possui torque sufuciente para
sustentar uma massa de 635g pendurada a 1cm do seu eixo, e leva 190ms para
girar 60o operando em vazio, isto é, sem nenhuma carga.
Existem vários modelos de
servos com maiores ou menores potências disponíveis no mercado. Para uma
referência mais detalhada, consulte o site da Futaba em http://www.futaba-rc.com/servos/servos.html.
Observação: Note finalmente que a fonte de alimentação de 5V
deverá ter potência elétrica suficiente para fornecer a corrente necessária
para movimentar o servo à plena carga. Por exemplo, o fato de a porta paralela
fornecer níveis lógicos de 5V nos seus pinos de saída não a torna capaz de
alimentar o servo, pois o servo drena mais corrente do que a capacidade da
porta (em torno de 6mA). Assim, se tentássemos alimentar o servo com um sinal
da porta paralela, provavelmente queimaríamos os circuitos de saída da porta.
O sinal de controle
consiste em um trem de pulsos, como mostram as figuras abaixo. A amplitude dos
pulsos deve constante no valor de 5V em relação à referência (ou seja, 5V
medidos entre o fio de controle e o fio preto). Note que a referência do sinal
de controle é a mesma da tensão de alimentação.
O período do trem de
pulsos deve ser de aproximadamente 20ms, o que equivale a uma freqüência de
50Hz. Para melhor desempenho, os pulsos devem ser enviados em períodos de até
20ms. Caso contrário o servo perderá potência e poderá apresentar trepidação.
O ciclo de trabalho (duty
cicle) do trem de pulsos é o que determina o posicionamento angular solicitado
ao servomotor. Por definição, o ciclo de trabalho de um trem de pulsos é igual
à fração do período da onda no qual esta assume nível lógico 1. Ou seja, a cada
período T=20ms, a onda passa um determinado tempo ton em nível
lógico 1, e um determinado tempo toff em nível lógico zero, sendo
que a soma de ton e toff é igual ao período: (ton
+ toff ) = T .
Logo, o ciclo de trabalho
é calculado por:
Duty Cicle = ton / T;
ou:
Duty Cicle = ton / (ton + toff
).
Considerando o
período T=20ms, o controle do servo ocorre da seguinte forma:
·
Para ton = 1ms, o servo posiciona-se em 0 graus.

ton = 1ms; ciclo
de trabalho = 5%; posição = 0 graus
·
Para ton = 1,5ms, o servo posiciona-se em 90 graus.

ton = 1.5ms;
ciclo de trabalho = 7,5%; posição = 90 graus
·
Para ton = 2ms, o servo posiciona-se em 180 graus.

ton = 2ms; ciclo
de trabalho = 10%; posição = 180 graus
Finalmente, chamamos a
atenção para o fato de que consideramos acima um servomotor com amplitude de
movimentos de 180o. Entretanto, dependendo do servo, essa
especificação pode variar para 90o, etc.
Uma última palavra deve
ser dita a respeito da calibração do sinal de controle.
Em primeiro lugar, há
registros de diversas experiências de controle de servomotores utilizando trens
de pulsos com diferentes períodos, de 11ms até 40ms. Naturalmente, se o período
variar, necessariamente ton e toff deverão ser alterados
para que o ciclo de trabalho seja mantido.
Depois, é de se esperar
que haja uma dispersão nas características dos servomotores, mesmo entre servos
de mesmo modelo e do mesmo fabricante. Assim, por exemplo, um pulso de 1,5ms
poderia posicionar um servo em 90o e outro em 85o ou 95o.
Para corrigir essas
variações, é necessário calibrar o ciclo de trabalho do sinal de controle para
cada servo. Uma sugestão é variar linearmente o ciclo de trabalho do trem de
pulsos, medindo a posição angular do servo com um transferidor. Feita essa
medita, o sistema deverá gerar o trem de pulsos de acordo com as
características de cada motor, de modo a obter maior precisão.
***
Número de Acessos: