Arduino, Internet das Coisas e Computação vestível

Você está em » Home :: Motores

[Voltar]

[Avançar]

Motores


Motores de passos

Um motor de passo é um dispositivo eletromecânico que converte pulsos de energia elétrica em movimentos discretos. O eixo do motor gira em “passos” quando pulsos elétricos são aplicados na sequência correta. A rotação do motor tem relação direta com esses pulsos, a velocidade do motor de passo é definida pela frequência com que esses pulsos são enviados e o número de voltas do eixo é definido pela quantidade de pulsos. Um motor de passo é indicado nas situações em que há necessidade de um movimento controlado. Podem ser utilizados onde é preciso controlar o ângulo de rotação, velocidade, posição e sincronismo. 

   

COMPACTO

- Torque: 1,8 kgf.cm
- Corrente por fase: 90 mA
- Passos: 64
- Ângulo do passo: 0,088º
- Número de fases: 4
- Tensão por Fase: 5 V
- Caixa de redução 1:64

Veja um projeto: clique aqui

 

FORÇA E PRECISÃO

- Torque: 102 kgf.cm
- Corrente por Fase: 4,5A
- Passos: 200
- Ângulo do passo: 1.8º
- Número de fases: 2
- Tensão por Fase: 12 V
- Caixa de redução 3:1

 

VELOCIDADE E POSIÇÃO

- Torque: 30 kgf.cm
- Corrente por Fase: 3A
- Passos: 200
- Ângulo do passo: 1.8º
- Número de fases: 2
- Tensão por Fase: 3,9V
- Sem Caixa de redução

Veja um projeto: clique aqui

Servo Motores

É uma máquina  eletromecânica que tem movimento proporcional ao comando dado por meio de um sinal de controle. Por meio do controle de seu movimento direciona-se à posição pretendida e com velocidade monitorada. O eixo deste motor move-se em 180° (cento e oitenta graus) e, em alguns modelos, 360° (trezentos e sessenta graus). Esta alteração é possibilitada comumente em aeromodelismos. Assim, sua característica mais marcante é a capacidade que possui de movimentar o seu braço até determinada posição e mantê-lo. A especificação deste motor atende às seguintes características: tamanho, torque, velocidade, material das engrenagens, liberdade do giro do eixo, consumo.

 

Possui três componentes básicos:

1) Sistema atuador: é constituído por um motor elétrico, embora também possa encontrar servos com motores de corrente alternada, a maioria utiliza motores de corrente contínua. Também está presente um conjunto de engrenagens que forma uma caixa de redução com uma relação bem longa o que ajuda a amplificar o torque;

2) Sensor: normalmente é um potenciômetro solidário ao eixo do servo. O valor de sua resistência elétrica indica a posição angular em que se encontra o eixo. A qualidade desse vai interferir na precisão, estabilidade e vida útil do servo motor;

3) Circuito de controle: é formado por componentes eletrônicos discretos ou circuitos integrados e geralmente é composto por um oscilador e um controlador PID (controle proporcional integrativo e derivativo) que recebe um sinal do sensor (posição do eixo) e o sinal de controle e aciona o motor no sentido necessário para posicionar o eixo na posição desejada.



Projeto(s) relacionado(s)


Hand robot InMoov

Projeto de uma mão robótica biônica que utiliza Arduino Uno R3, Servo motores e Sensor de força resistivo para dirigir e controlar cada dedo separadamente. Ele foi desenvolvido em 2012 pelo escultor e designer francês Gael Langevin. Saiba mais em: O modelo para impressão 3D é disponibilizado em: https://www.thingiverse.com/thing:17773/files. A "Hand robot InMoov" é um subprojeto do "Robot InMoov", primeiro robô em tamanho real impresso em 3D de código aberto. Ele pode ser replicável em qualquer impressora 3D com uma área de 12 x 12 x 12 cm. Foi criado como uma plataforma de desenvolvimento para Universidades, Laboratórios e Hobistas. Saiba mais sobre "Hand robot InMoov" em: http://inmoov.fr/

// Projeto: Hand robot InMoov - movimenta um dedo da mão

 #include "Servo.h" 
 
 const int Pino_Servo1 = 5; 
 const int Pino_Resistivo1 = A0; 
 
 int Leitura_Resistivo1;  
 int Posicao_Servo1; 
 Servo Meu_Servo1; 
 
 void setup () { 
       Serial.begin (57600); 
       Meu_Servo1.write (30);  			// Mão fechada. 
       Posicao_Servo1 = 30; 
       Meu_Servo1.attach (Pino_Servo1); 
 } 
 
 void loop () { 
       Leitura_Resistivo1 = analogRead (Pino_Resistivo1); 
       Serial.print ("Analog reading = "); 
       Serial.print (Leitura_Resistivo1); 					// Leitura bruta
       
  // --------- limites estabelecidos da leitura -------- // 
       
       if (Leitura_Resistivo1 < 25) { 
       	    Serial.println (" - Sem pressao"); 
       } else if (Leitura_Resistivo1 < 30) { 
       		    Serial.println (" - Toque leve"); 
       } else if (Leitura_Resistivo1 < 50) { 
      		    Serial.println (" - Aperto leve"); 
       } else if (Leitura_Resistivo1 < 110) { 
       		    Serial.println (" - Aperto médio"); 
       } else if (Leitura_Resistivo1 < 200) { 
       		    Serial.println (" - Aperto forte"); 
       } 
       delay (1000); 
       
       AbreMao (Posicao_Servo1, 1); 
       delay (3000); 
     
       FechaMao (Posicao_Servo1, 1); 
       delay (3000); 
     
 } 
 
 void AbreMao (int posicao, int servo) { 
 
     for (; posicao < 130;  posicao ++) { 
          Meu_Servo1.write (posicao);    
          if (analogRead (Pino_Resistivo1) > 30) {  
              break; 
          }      
     } 
 } 
 
 void FechaMao () { 
 
     Meu_Servo1.write (30);  			 
     posicao = 30; 
}

 
     
 

 

[Voltar]

[Avançar]