icono telefono  320 447 37 16                       icono skype   electronicaplugandplay

Kit Pan and Tilt Ensamble y Uso

Banner tutorial kit pan and tilt

En este tutorial veremos como se ensambla el Kit pan and Tilt que comercializamos. También expondremos dos ejemplos de uso con Arduino y daremos algunas ideas para su empleo práctico.

El Kit Pan and Tilt brinda la posibilidad de agregar movimientos en el plano horizontal o Pan, esto es en el plano xy en las coodenas 3D; y un movimiento vertical o Tilt, esto es en el plano yz en las coordenadas 3D. Este tipo de Kit es muy empleado en robótica, video vigilancia, radares basados en sensores por ultrasonido o luz, video monitoreo, dispositivos de escaneo, máquinas de posicionamiento de objetos, etc. A continuación algunas imágenes de ejemplos de uso.

industrial robot arm 3d model max obj 3ds fbxcamarapanandtiltcameralidarcamarapantilt

 

Una ventaja adicional que posee este Kit Pan and Tilt es que es metálico por lo que le brindará mayor robustez a su aplicaciones que los similares de material plástico. Otra ventaja de este kit es que incluye dos servos MG995 que por su torque podemos manejar cargas de hasta 0.9212 N·m que es el torque de estos servomotores  a 4.8Vdc  o 1.078 N·m  a 6vdc como vimos en el video de preguntas y respuestas con plugcito: Servomotores interpretación de datos técnicos.

El usuario debe tener en cuenta que existen diversas maneras de ensamblar el Kit pan and Tilt pues todo depende de los movimientos que se desean lograr, por lo que en los ejemplos que siguen a continuación solo muestran una sola forma de ensamble.

Para el ensamble y uso de nuestro Kit Pan and Tilt emplearemos los siguientes productos, materiales y accesorios:

- 1x Kit Pan and Tilt.

- 1x Arduino Uno R3.

- 1x Kit Soporte Multiboard.

- 1x Fuente Cuádruple para protoboard.

- 1x Protoboard BB-801 400 Puntos.

- 1x Juego Cable Jumper Macho a Macho Longitud Variada.

- 2x Resistencia de carbón 10K ohm.

- 2x Mosfet de potencia IRF540N.

- 1x Adaptador 9vdc 1.5A.

- Se requerirá tambien un destornillador tipo estrella o pala pequeño y una pinza para sostener.

 

Ensamble

Siguiendo los pasos expuestos en nuestro videotutorial aquí tenemos algunas imágenes ilustrativas de algunos de los pasos y otras que muestan con más detenimiento como debe quedar ensamblado el Kit Pan and Tilt.

En las imágenes 1 a 3 vemos como queda ensamblado el Kit para usarlo solo en sentido Pan.

PAN1

 Imagen No. 1. Vista superior posterior Ensamble Pan.

pan2

Imagen No. 2. Perspectiva ensamble Pan.

 

pan3

 

Imagen No. 3. Vista superior frontal ensamble Pan.

Si deseamos incluir un sensor tipo radar en un robot podemos solo ensamblar el kit hasta este punto de modo que solo sensoamos en el sentido Pan entre 0º y 180º.

En las imágenes 4 a 6 podemos ver como se ensambla la sección Tilt en este kit.

pan tilt1

Imagen 4. colocación del servomotor Tilt en Bracket Multipropósito.

pan tilt2

Imagen No.5. Servomotor Tilt asegurado en un lado.

pan tilt3

Imagen No.6. Servomotor Tilt bien asegurado en ambos lados.

En las imágenes 7 a 9 vemos el Kit Pan and Tilt completamente ensamblado.

kit3

Imagen No.7. Kit Pan and Tilt vista lateral.

kit4

Imagen No. 8. Kit Pan and Tilt vista frontal.

kit7

Imagen No. 9. Kit Pan and Tilt en perspectiva.

 

Ejemplos de uso con Arduino

Para estos ejemplos, en la sección de hardware utilizamos la Fuente Cuádruple para protoboard desde la cual podemos alimentar con 6Vdc los servomotores y con 12 Vdc en el pin Vin la tarjeta Arduino Uno. La Fuente Cuádruple para protoboard es muy versátil por que no nos ocupa grandes espacios en nuestro protoboard y nos suministra además de 3.3Vdc y 5Vdc fijos el voltaje de entrada suministrado por un adaptador de 12Vdc a nuestra tarjeta Arduino Uno y con la salida variable la establecemos en 6Vdc con el trimmer que trae para alimentar los servomotores.

Diagrama de conexiones para el ejemplo No. 1: Usando el Kit en modo Pan.

PAN 

Código Arduino para el ejemplo No. 1: Usando el Kit en modo Pan.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/***************************** Radar 180 grados *****************************
Compañía: Electrónica Plug and Play.
http://www.electronicaplugandplay.com/
Fecha: 25 de junio de 2018.
 
Descripción:
Este código demuestra el funcionamiento de servo en su recorrido grado 
a grado con posicionamiento en sentido horizontal o PAN. El usuario puede
utilizarlo por ejemplo para sujetar sobre el soporte PAN un sensor infrarrojo
de obstáculos o uno de ultrasonido en un robot. El servo motor tiene un 
enable o pin de habilitación en pin8 desde donde se activa un o dispara un 
mosfet IRF540, el cual es utilizado para aislar la alimentación de 6vdc del 
servo de la alimentación de arduino y a la vez proteger el drenaje de 
corriente en los pines de arduino conectados al servo.
 
 
Advertencia:
Este código se pone a disposición del público con la única intención de dar 
un ejemplo demostrativo para el kit metálico pan&tilt comercializado por 
Electrónica Plug and Play. Este código se brinda tal y como es y sin la 
intención de solucionar un problema particular.
El usuario es libre de modificarlo o adaptarlo para su aplicación particular.
*****************************************************************************/
 
#include <Servo.h> //Librería para manejo de servo motor.
 
#define enable 8   //pin de habilitación de servo.
int pos = 0;       //variable que almacena la posición del servo.
 
Servo myservo;     //Crea el Objeto servo.
 
 
 
void setup() {
  myservo.attach(9);          // Conecta el servo que está en pin pwm 9  con el objeto servo.
  pinMode(enable, OUTPUT);    // Configura pin digital habilitador de servo como salida.
  digitalWrite(enable, LOW);  // La rutina inicia con servo motor inhabilitado.
}
 
void loop() {
  digitalWrite(enable, HIGH);            // Habilita el servo motor.
  for (pos = 0; pos <= 180; pos += 1)    // Va de 0 grados a 180 grados en pasos de 1 grado. 
  {     
    myservo.write(pos);                  // Le dice al servo motor que vaya a posición indicada por la variable 'pos'.
    delay(20);                           // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.
  }
 
  delay(2000);                           // Espera dos segundos cuando alcanza el  máximo desplazamiento horizontal
  
  for (pos = 180; pos >= 0; pos -= 1)    // Va de 180 grados a 0 grados en pasos de 1 grado.
  { 
    myservo.write(pos);                  // Le dice al servo motor que vaya a posición indicada por la variable 'pos'.
    delay(20);                           // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.
  }
 
  delay(2000);                           // Espera dos segundos cuando alcanza el mínimo desplazamiento horizontal
}

Diagrama de conexiones para el ejemplo No. 2: Usando el Kit en modo Pan and Tilt.

Código Arduino para el ejemplo No. 2: Usando el Kit en modo Pan and Tilt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/****************************** Radar Pan&Tilt *******************************
Compañía: Electrónica Plug and Play.
http://www.electronicaplugandplay.com/
Fecha: 25 de junio de 2018.
 
Descripción:
 
Este código demuestra el funcionamiento de dos servos en su recorrido 
con posicionamiento en sentido horizontal o PAN para un servo y en sentido
vertical o TILT, ambos montados en un KIT PAN&TILT Metálico comercializado en
www.electronicaplugandplay.com. El usuario puede utilizarlo por ejemplo para 
sujetar sobre el soporte de TILT una cámara en un robot o en un drone para así 
tener un recorrido de 180 grados en el plano xy y en el plano yz. 
El recorrido PAN se hace cada 20 grados mientras el recorrido TILT se hace
grado a grado.
 
Los servo motores tienen un enable o pin de habilitación en los pines 8 y 12 
desde donde se activan o disparan mosfets IRF540, los cuales son utilizado para
aislar la alimentación de los servos de la alimentación de arduino y a la vez 
proteger el drenaje de corriente en los pines de arduino conectados a los 
servos pines PWM 9 y 10.
 
Advertencia:
Este código se pone a disposición del público con la única intención de dar 
un ejemplo demostrativo para el kit metálico pan&tilt comercializado por 
Electrónica Plug and Play. Este código se brinda tal y como es y sin la 
intención de solucionar un problema particular.
El usuario es libre de modificarlo o adaptarlo para su aplicación particular.
*****************************************************************************/
 
#include <Servo.h>  //Librería para manejo de servo motor.
 
#define enable1 8   //pin de habilitación de servo PAN.
#define enable2 12  //pin de habilitación de servo TILT.
 
int posPAN = 0;     //variable que almacena la posición del servo PAN.
int posTILT = 0;    //variable que almacena la posición del servo TILT.
 
Servo servoPAN;     //Crea el Objeto servo PAN.
Servo servoTILT;    //Crea el Objeto servo TILT.
 
 
 
void setup() 
{  
  servoPAN.attach(9);          // Conecta el servo que está en pin pwm 9  con el objeto servo.
  servoTILT.attach(10);        // Conecta el servo que está en pin pwm 10  con el objeto servo.
  pinMode(enable1, OUTPUT);    // Configura pin digital habilitador de servo PAN como salida.
  digitalWrite(enable1, LOW);  // La rutina inicia con servo motor PAN inhabilitado.
  pinMode(enable2, OUTPUT);    // Configura pin digital habilitador de servo TILT como salida.
  digitalWrite(enable2, LOW);  // La rutina inicia con servo motor TILT inhabilitado.  
}
 
void loop() {
  digitalWrite(enable1, HIGH);                    // Habilita el servo motor PAN.
  for (posPAN = 0; posPAN <= 180; posPAN += 20)   // Va de 0 grados a 180 grados en pasos de 20 grados. 
  {     
    servoPAN.write(posPAN);                       // Le dice al servo motor que vaya a posición indicada por la variable 'posPAN'.
    delay(15);                                    // Espera hasta que el servo alcance la posición indicada con el mínimo tiempo según características del servo.    
    digitalWrite(enable2, HIGH);                  // Habilita el servo motor TILT.
    for (posTILT = 0; posTILT <= 180; posTILT += 1)  // Va de 0 grados a 180 grados en pasos de 1 grado. 
    {     
      servoTILT.write(posTILT);                      // Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.
      delay(20);                                     // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.      
    }
    for (posTILT = 180; posTILT >= 0; posTILT -= 1)  // Va de 180 grados a 0 grados en pasos de 1 grado.
    { 
      servoTILT.write(posTILT);                      // Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.
      delay(20);                                     // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.
    }       
  }
 
  delay(2000);                                    // Espera dos segundos cuando alcanza el máximo desplazamiento horizontal PAN.
  
  for (posPAN = 180; posPAN >= 0; posPAN -= 20)   // Va de 180 grados a 0 grados en pasos de 20 grados. 
  {     
    servoPAN.write(posPAN);                       // Le dice al servo motor que vaya a posición indicada por la variable 'posPAN'.
    delay(15);                                    // Espera hasta que el servo alcance la posición indicada con el mínimo tiempo según características del servo.    
    digitalWrite(enable2, HIGH);                  // Habilita el servo motor TILT.
    for (posTILT = 0; posTILT <= 180; posTILT += 1)  // Va de 0 grados a 180 grados en pasos de 1 grado. 
    {     
      servoTILT.write(posTILT);                      // Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.
      delay(20);                                     // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.      
    }
    for (posTILT = 180; posTILT >= 0; posTILT -= 1)  // Va de 180 grados a 0 grados en pasos de 1 grado.
    { 
      servoTILT.write(posTILT);                      // Le dice al servo motor que vaya a posición indicada por la variable 'posTILT'.
      delay(20);                                     // Espera hasta que el servo alcance la posición indicada y se pueda observar el desplazamiento.
    }        
  }
  delay(2000);                                    // Espera dos segundos cuando alcanza el máximo desplazamiento horizontal PAN.  
}

Video tutorial:

 

No olvides dejarnos tus comentarios en nuestras redes sociales y regalarlos un "me gusta" o un +1.

        youtube logo

www.electronicaplugandplay.com

Julio/2018.