O servo Tower Pro SG90 é um servo normal com uma amplitude teórica de 180 graus e modulação analógica.
Na prática até ao momento nunca consegui os 180 graus, nem consegui avaliar com exatidão nem a sua amplitude real nem a sua precisão.
O controlo do servo Tower Pro SG90 é efectuado pela indicação do angulo de paragem desejado para o eixo do servo.
Pelo que sei este também uma versão de 360 graus continuos do servo Tower Pro SG90, assim como instruções para a transformação desta versão numa versão de 360 graus disponiveis no seguinte link:
https://www.instructables.com/id/How-to-Make-a-TowerPro-Micro-Servo-Spin-360/
No caso de versões de 360 graus continuas o controlo é efectuado sobre a velocidade do servo e a direcção da rotação. Não existe controlo directo da posição de paragem.
Especificações
- Modulação: analógica
- Voltagem: 5V
- Torque:
- 5V – 1.8Kg/cm
- Velocidade:
- 5V – 60 graus em 0.12s
- Temperatura:
- Largura de banda morta:
- Ciclo do pulso:
- Tamanho do pulso: 500-2400 μs
- Dimensões: 23.0 X 12.2 X 29.0 (mm)
- Peso: 9g
- Conector: JR
Control System: PPM
Frequência: 1520μs / 50hz
(RX) Dpp pulso : 3.3 ~ 5 Volt (Peak to Peak Square Wave)
Dpp de operação: 4.8 ~ 6 V DC Volts
Velocidade (4.8v): 0.15 Sec/60 Degrees
Velocidade (6v) 0.12 Sec/60 Degrees
Stall Torque (4.8v): 1.3kg/cm
Stall Torque (6v): 1.5kg/cm
Tipo de motor: Brushed DC Motor
Engrenagens: plástico
Caixa: plastico
Programavel: não
Cabo: 24.0cm
Dimensions: 23 x 11.5 x 24mm
Software para os servos SG90 de 180 graus e 360 graus
No arduino usar a biblioteca servo.
https://www.arduino.cc/en/Reference/Servo
Controlo do servo SG90 de 180 graus
Usa-se o comando write() para indicar a angulo de paragem desejado para o eixo do servo, entre 0 e 180 graus.
Pela minha experiência a amplitude de 180 graus não é conseguida, e cada servo é um caso, e deve-se procurar para cada um o angulo mínimo e máximo possível de alcançar com precisão. Dificilmente passa dos 170 graus.
Também se pode usar o comando writeMicroseconds().
Controlo do servo SG90 de 360 graus
Usa-se o comando write() para indicar a existência ou não do movimento e qual a direcção e velocidade da rotação.
O valor indicado é especifico para cada servo, no entanto aplicam-se as seguintes regras:
- O servo pára valores perto de 90;
- Valores inferiores rodam servo para a direita, quanto menor for o número maior a velocidade;
- Valores superiores rodam servo para a esquerda, quanto maior for o número maior a velocidade;
Cada servo é um caso, e deve-se procurar para cada um o valor correcto de paragem e os limites inferiores e superiores da velocidade.
Tambem se pode usar o comando writeMicroseconds(), neste caso o valor de paragem ronda os 1500. A direcção e a velocidade funciona da mesma forma que para o comando write().
Notas importantes no controlo dos servos
A biblioteca Servo.h é incompativel com a biblioteca SoftwareSerial.h
Página relacionada
Links
Tutorial: How To Control the Tower Pro SG90 Servo with Arduino UNO