Ir a contenido
📢 ¡Nos mudamos! 🏢✨ Av. Lapislázuli 2074-Interior 7, colonia Victoria, Guadalajara, Jal. Lunes - viernes 10am - 6:30pm
📢 ¡Nos mudamos! 🏢✨ Av. Lapislázuli 2074-Interior 7, colonia Victoria, Guadalajara, Jal. Lunes - viernes 10am - 6:30pm
Tutorial - Controlador de servos i2c PCA9685

Tutorial - Controlador de servos i2c PCA9685

 

Tienes un proyecto en mente en el cual necesitas controlar muchos servos? 

Proyecto con muchos servos

Con el Modulo controlador pwm i2c PCA9685 y tu tarjeta arduino puedes lograrlo muy fácilmente usando tan solo 2 pines para controlar hasta 16 servos. 

A continuación veremos las especificaciones mas importantes de este modulo

Especificaciones:

  • Voltaje de operación: 3.3 - 5 VCD
  • Frecuencia: 40 - 1000 Hz
  • Voltaje servo max: 6V
  • Resolución pwm: 12bits 
  • Comunicación: I2C
  • Dimensiones: 63 x 25 x 11 mm
  • Peso: 12 g

Ejemplo

Para este ejemplo haremos el clásico sweep que consiste en mover la flecha del motor de 0 a 180° y de 180 a 0°

Material

Tutoriales recomendados

Diagrama de conexión

Para facilitar el desarrollo usaremos una librería desarrollada por Adafruit  la cual nos permitirá generar los pulsos pwm con mayor facilidad, sin embargo es necesario conocer el ancho de pulso o duty cycle con el que funciona nuestro servo para este caso usaremos el estandar 0°= 0.7ms y 180°= 2.3ms.

Para convertir el ancho de pulso al rango de salida de nuestro modulo (0-4096) recordando que la resolución es de 12 bits.

pulsos = ms(frecuencia/1000)*4096

0°= 0.7ms = 172 pulsos

180°= 2.3ms = 565 pulsos

nota:

Estamos trabajando con una frecuencia de 60hz

f = 60Hz

Dirección I2C del modulo

Para conocer la dirección hexadecimal es necesario cargar el siguiente código 

 Una vez cargado abrimos el monitor serial y copiamos y pegamos la dirección pues la necesitaremos mas adelante.

Por defecto la dirección hexadecimal será 0x40

Con los datos calculados ya podemos comenzar con el código.

Editar dirección del modulo 

Se puede cambiar la dirección I2C que viene por defecto soldando los puentes A0-A5.

Cambiando la dirección del modulo seremos capaza de conectar otro modulo a este para incrementar la cantidad de servos que podemos controlar.

 

Artículo anterior Pantalla oled SPI 128x64 SSD1306
Artículo siguiente Medir RPM motorreductor de engranaje con encoder

Dejar un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campos requeridos