miércoles, 13 de enero de 2016

Programar posiciones en un Micro Servo Tower Pro SG90 9G


Los servos son motores de corriente continua (CC), pero en lugar tener un giro continuo que podamos aprovechar (para mover un molino por ejemplo), están preparados para moverse a un ángulo fijo en respuesta a una señal de control, y mantenerse fijos en dicha posición. Estos servomotores son muy frecuentes en Aero modelismo y en robótica, puesto que su funcionamiento y control son muy precisos.
Un servo principalmente está formado por un conjunto reductor (engranajes), un motor de CC y por último por un circuito de control, aunque en la práctica se comporta como un bloque funcional que posiciona su eje en un ángulo preciso en función de la señal de control.
 
Composición de un Servomotor


Habitualmente los servos tiene un margen de operación, es decir, pueden moverse entre 0º y ángulo dado, que suele ser de 180º. Normalmente estos pequeños servos funcionan sobre 5V y el control se realiza mediante una señal de control PWM, en la que el ancho el pulso indica el ángulo que deseamos que adopte el eje. 

En este proyecto vamos a utilizar un  Micro Servo SG90 Tower Pro, puesto que es ideal para las primeras experiencias de aprendizaje y prácticas con servos, ya que sus requerimientos de energía son bastante bajos y se permite alimentarlo con la misma fuente de alimentación que el circuito de control, es decir, si se conecta a un Arduino, se puede alimentar durante las pruebas desde el puerto USB del PC sin mayor problema, aunque es recomendable alimentar el Arduino con una fuente de alimentación externa de más de 700 mA, para evitar problemas de corriente.


Micro Servo SG90 Tower Pro
 
A continuación os muestro las principales características de las que dispone:

Ø   Dimensiones (L x W x H) = 22.0 x 11.5 x 27 mm  (0.86 x 0.45 x 1.0 pulgadas)
Ø   Peso: 9 gramos
Ø   Longitud de cable de conector: 24.5cm
Ø   Velocidad: 0.10 seg/60° @ 4.8V
Ø   Torque: 1.8 Kg-cm @ 4.8V
Ø   Voltaje de funcionamiento: 3.0-7.2V
Ø   Temperatura de funcionamiento: -30 ~ 60
Ø   Ángulo de rotación: 180°
Ø   Ancho de pulso: 500-2400 µs
 
 
Lista de Materiales:

 
·         Arduino UNO Rev.3.
 
·         Cable USB tipo A-B.
 
·         Micro Servo TowerPro SG90 9G (180°).
 
·         Protoboard.
 
·         Cables de conexión.
 
 
Código del programa:
 


 
 
Video:
 

10 comentarios:

  1. Respuestas
    1. De nada!!! Me alegra que te haya servido para algo.

      Eliminar
  2. pinServo not was declared in the scope
    eso me dice. Es un mensage de error que no se porque me sale. He copiado el programa igulal.
    ¿Me podrias ayudar?

    ResponderEliminar
  3. Si no has modificado el código te tiene que funcionar sin problemas. Utiliza el código que tienes en la descarga, porque si lo copias puedes haber cometido un error de mayúsculas/minísculas que son los más típicos, o al transcribir los nombres que no los hayas puesto exactamente igual. Saludos

    ResponderEliminar
    Respuestas
    1. Hola tengo un servo controlando el timón de un bote a control remoto, este gira perfecto en un sentido pero en el opuesto solo gira apenas unos milímetros, el servo no tiene las ruedas dentadas en mal estado, compre otro y lo sustituí y sigue sucediendo lo mismo, sera el emisor?, debería agregarle resistencias al potenciometro como he visto en otros post?, podrías ayudarme?

      Eliminar
  4. Hola tengo un servo controlando el timón de un bote a control remoto, este gira perfecto en un sentido pero en el opuesto solo gira apenas unos milímetros, el servo no tiene las ruedas dentadas en mal estado, compre otro y lo sustituí y sigue sucediendo lo mismo, sera el emisor?, debería agregarle resistencias al potenciometro como he visto en otros post?, podrías ayudarme?

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Sabes a mi ne suena el servo en ciertas posiciones tengo dos y cada uno me suena como si se trabara en ciertos ángulos

    ResponderEliminar