Servos

Os servos são motores com alguma elecrónica suplementar incorporada.

De acordo com o seu comportamento e controlo existem pelo menos os seguintes tipos  de servos:

  • Os servos normais de 180 e 270 graus
  • Os servos de guincho de 360 graus (servo sail winch)
  • Os servos continuos 360 de graus

Controlo dos servos

Para controlar todos os tipos de servos acima referidos no Arduino pode ser usada a biblioteca servo.

https://www.arduino.cc/en/Reference/Servo

Servos normais de 180 e 270 graus

Usa-se o comando write() para indicar o angulo (em graus) desejado para a nova posição do eixo do servo. O angulo indicado deve estar dentro dos limites de rotação do servo.

Tambem se pode usar o comando writeMicroseconds().

Exemplos de servo normal: Tower Pro SG90, DFrobot DSS-M15S 270.

Servos de guincho  de 360 graus

Usa-se o comando write() para indicar o angulo desejado para a nova posição do eixo do servo.  O angulo indicado deve estar dentro dos limites de rotação do servo. 

Tambem se pode usar o comando writeMicroseconds().

Exemplos de servo de guincho de 360 graus:  SW4805, SW22HV, JX W4505-6T.

Os servos continuos  360 de graus

Usa-se o comando write() para indicar a existencia ou não do movimento e qual a direcção e velocidade da rotação.

O controlo é efectuado do seguinte modo:

  • Definido um limite de valores  minimo e maximo perto de 90 que param o movimento
  • Valores inferiores ao minimo valor de paragem rodam o eixo do servo para a direita, mais rapido quanto menor for o número.
  • Valores superiores ao maximo valor de paragem rodam o eixo do servo para a esquerda, mais rapido quanto maior for o número.

Tambem se pode usar o comando writeMicroseconds().

Exemplo de servo continuo 360 graus: Tower Pro MG995 360 graus.

Notas importantes no controlo dos servos

A biblioteca Servo.h é incompativel com a biblioteca SoftwareSerial.h

Links

https://servodatabase.com/