Controle de Servomotores de Posição tipo RC

(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.

 

Introdução

 

 

         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.

 

 

Constituição e Funcionamento

         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.

 

 

 

 

 

 

 

 

Tensão de Alimentação e Potência do Servomotor

         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.

 

Sinal de Controle

         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 t­on­ em nível lógico 1, e um determinado tempo t­­off 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 t­on = 1ms, o servo posiciona-se em 0 graus.

        

       

ton = 1ms; ciclo de trabalho = 5%; posição = 0 graus               

 

·        Para t­on = 1,5ms, o servo posiciona-se em 90 graus.

       

ton = 1.5ms; ciclo de trabalho = 7,5%; posição = 90 graus                 

 

 

 

·        Para t­on = 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.

 

 

Calibração

         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 t­off 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:

Counter
Hosted by www.Geocities.ws

1