sábado, 29 de outubro de 2016

Servo motores

Servo motores



fonte: http://sistemaembutido.com.br

Os servo motores são motores que no uso industrial funcionam geralmente com corrente contínua e destacam-se por sua rotação suave e uniforme, torque constante, baixo nível de ruído e de vibração e boa capacidade de sobrecarga.
Os servo motores necessitam de um sinal pulsado digital como referência, o PWM (pulse with modulation), controlado por sua largura e utiliza um sensor de posicionamento para verificar sua posição denominado encoder.
O encolder utiliza sensores ópticos instalados internamente que fornecem pulsos que são interpretados como direção, movimento ou direção.



Os micro servo motores seguem os mesmos princípios dos motores industriais, mas em escala reduzidas e de fácil aquisição no mercado atual. Assim como os servos industriais, os servos utilizados em protótipos robóticos são motores CC com um circuito de controle de posição acoplado e possuem uma faixa de posição fixa sem dar uma volta completa sobre seu eixo.


fonte: próprio autor

Compõem sua estrutura uma caixa onde encontram-se acondicionados todas as suas partes:

  • engrenagens de redução que são responsáveis pela redução da rotação do motor e transferem torque para o eixo principal, além de movimentar o potenciômetro acoplado ao mesmo;
  • motor;
  • potenciômetro, monitora a posição do eixo de controle;
  • circuito de controle, faz monitoramento do potenciômetro e o acionamento do motor obtendo uma posição pré-determinada


Para testar seu micro servo, copie e cole o código fonte exemplo. No primeiro exemplo o servo movimenta sua rotação com variações angulares de 0°, 90°, 180° e 45° constantemente e com intervalos de 2 segundos entre os movimentos e no segundo exemplo é possível conseguir movimentar o eixo do motor por meio de um potênciomentro.
Para esses exemplos devem ser usadas a biblioteca <Servo.h> que está inserida na IDE do próprio Arduino.

Exemplo 1

/** Código Exemplo **/
// Elaborado por Tony Emerson Marim em 29/10/2016.
/** mecatronizei@gmail.com **/
/** Sequencia angular do servo**/

//Carrega a biblioteca Servo
#include <Servo.h>

Servo motor;                           

  void setup()
 {

   motor.attach(3);//Pino de controle do sinal do servo

}
  void loop () 

{ 

  motor.write(0);//movimento angula 1
  delay(2000); 
  motor.write(90);//movimento angular 2
  delay(2000); 
  motor.write(180);//movimento angular 3 
  delay(2000); 
  motor.write(45);//movimento angular 4
  delay(2000); 

}

Exemplo 2


/** Código Exemplo **/
// Elaborado por Tony Emerson Marim em 29/10/2016.
/** mecatronizei@gmail.com **/
/** Movimento angular do servo por potenciometro**/
 
//Carrega a biblioteca Servo
#include "Servo.h"
 
Servo motor; 
 
void setup()
{
  
  motor.attach(3);//Pino de controle do sinal do servo 
}
 
void loop()
{
  // Lê o valor do Potenciometro
  int angle = analogRead(0); 
  // Mapeia o valor de 0 a 180 graus
  angle=map(angle, 0, 1023, 0, 180);
  // Repassa o angulo ao ServoWrite
  motor.write(angle); 
  // Delay de 15ms para o Servo alcançar a posição
  delay(15);
}

Ligação do circuito

A ligação do circuito para o funcionamento é simples, existem conectados ao Servo 3 fios, vermelho normalmente relacionado ao pino de alimentação +5V, preto ou marrom no GND e laranja ou branco conectado ao pino de controle do Arduino que pode ser definido pelo usuário.


fonte: http://automationbrasil.com/servo-motor-arduino/


No blog existem diversos outros artigos de projetos que podem ser revistos ou usados como exemplo em outras aplicações, como o Braço robótico. Vamos voltar a aplicar os conceitos do servo motor durante as próximas etapas de fabricação dos nossos carros robóticos.



Curtiu? Compartilhe!
Assine o nosso canal!

Bons estudos!

Referências: 
https://www.arduino.cc/
https://www.sparkfun.com/

Um comentário:

  1. Boa noite.

    Saberia me dizer como usá-lo para trabalhar 0 e 90 graus e voltar a zero. Apenas duas posições mesmo.
    Sem o ARduino

    ResponderExcluir