Placa de control para seis servos basada en Atmega328 (Arduino)

Placa para control de servos

A la hora de diseñar un robot que utilice varios motores servo, nos encontramos con un problema: hay que alimentarlos y son bastante glotones. Un robot articulado normalmente necesitará al menos cuatro servos, lo cual es un problema ya que, dependiendo del tipo de servos, un Arduino podría no ser capaz de proporcionar la intensidad de corriente necesaria para manejarlos. Hay que alimentarlos aparte, lo que también es engorroso, ya que hay que andar distribuyendo cables de alimentación para cada motor. Hay varias soluciones comerciales, pero como es más divertido hacérselo uno mismo, os presento una placa basada en Atmega328 con seis conectores alimentados para servos.

Sin más preámbulo, os muestro el esquema y comentamos sobre él.

Esquemático placa de control

El circuito se ha diseñado para trabajar con 9V, y un 7805, junto con el condensador electrolítico C4, se encarga de regular la tensión a 5V. La salida de 5V se distribuye a las patillas 7 y 20 del Atmega328, pero también a los seis conectores de tres pines para los servos (J1 a J6). El bloque del cristal de cuarzo y los dos condensadores cerámicos de 22pF generan la señal de reloj externa de 16 MHz para el microcontrolador (se puede usar el reloj interno y ahorrarnos el cristal de cuarzo y los condensadores, pero el reloj interno es más lento). El resto de pines se ha conectado a una cabecera para poder usarlos según nuestras necesidades. El diseño de la placa de circuito impreso de una sola cara es el siguiente.

Circuito impreso para servos

Se han dispuestos los conectores de Reset, TX y RX juntos y en una zona separada y accesible para facilitar la programación de microcontrolador sin necesidad de sacarlo del zócalo y poder grabar el firmware directamente en la placa. Este es el aspecto de la placa hecha con métodos caseros.

PCB placa control servos terminada

La programación del Atmega328, como ya se ha dicho, se realiza a través de los tres pines Reset, TX y RX, tal y como ya vimos en un artículo anterior. En la siguiente fotografía se muestra el conexionado para programar el microcontrolador usando una placa Arduino como programador (nótese que el zócalo del Arduino ha de estar vacía). Lo más conveniente es alimentar al Arduino desde la placa de control. Es decir, alimentamos la placa de control de servos y conectamos un cable desde el pin de +5V de nuestra placa a la del Arduino, y lo mismo para la tierra (GND).

Programando Atmega329

El siguiente vídeo muestra un servo conectado al uno de los conectores de tres pines de la placa (pin 9) y controlado mediante un potenciómetro conectado a una de las entradas analógicas del Atmega328.

Sé el primero en comentar en «Placa de control para seis servos basada en Atmega328 (Arduino)»

Dejar un comentario

Tu dirección de correo electrónico no será publicada.


*