Tutorial para hacer un Arduino UNO

Cuando inicio un nuevo proyecto casi siempre uso arduino UNO porque es simple: tiene pines hembras que permiten conectar los cables en la protoboard, tiene un conector usb para programarlo,  tiene entrada de voltaje externo y además, posee pines de 5 y 3,3 voltios. Sin embargo, me gustaría adaptarlo aún más a mis necesidades, como por ejemplo cambiar el color de algunos leds, colocar más pines hembra, e incluso incluir un puerto extra.

En este tutorial te mostraré cómo hacer tu propio arduino UNO personalizado, ya que, al ser una placa de desarrollo de hardware abierto, todos los componentes se pueden comprar y usar de forma libre para crear una placa que se ajuste aún más a lo que necesitas.

Materiales

  • Microconttrolador Atmega 328p-PU.
  • Socket para el microcontrolador Atmega 328p-PU.
  • Cristal de 16 MHz.
  • Un chip FT232RLSSOP o CH340.
  • Dos condensadores de 22 pF.
  • Conector mini USB.
  • Diodo M7.
  • Fusible de 500mA.
  • Switch SMD.
  • 3 LEDS 0805.
  • 5 Resistencias de 1kΩ.
  • 1 Resistencia de 10kΩ.
  • Regulador de voltaje MC33269DR25V o el AMS117-5V de 5v.
  • ConectorUSB.
  • Botón de reinicio.
  • Pines hembra.
  • 3 Condensadores de 100nF.
  • 2 Capacitores SMD de 47uF.
  • Un capacitor 0805 de 1uF.
  • Un interruptor.
  • Cables.
  • Soldadura de estaño.
  • Pistola de calor.
  • Cautín.
  • Protoboard.

 

¿Cómo usar el chip Atmega 328p?

En primer lugar me gustaría mostrar cómo montar el chip, para ello necesitamos una alimentación de 5 voltios conectada a los pines VCC.  Por otro lado, el pin de reinicio está habilitado en negativo, por lo tanto necesitamos colocar una resistencia de pull up de 10kΩ entre el pin de reinicio y dicha alimentación. En el siguiente esquema podemos ver las conexiones del chip.

 

El chip Atmega 328p necesita una entrada de reloj. Por lo general este controlador funciona a 16 megahercios, entonces colocamos ese cristal entre los pines 9 y 10, pero para hacer resonancia necesitaremos dos condensadores adicionales de 22 picofaradios.

 

La entrada principal de 5 voltios debe estar sin picos de voltaje, por lo que colocaremos un capacitor grande en la entrada y algunos de desacoplamiento más pequeños alrededor de los pines VCC.

 

Conectamos tierra y listo, el microcontrolador debería funcionar.

Si ya tiene un bootloader grabado, conecta un módulo de chip FTDI y como este y sube un código de ejemplo que hace que el pin 3 parpadee cada medio segundo para comprobar que todo está en orden.

Si no tiene el bootloader grabado, al final del tutorial explico cómo hacerlo.

 

 

Muy bien, ahora que conocemos la configuración mínima del chip Atmega 328p, debes tener en cuenta lo siguiente:

En el ejemplo anterior usamos un chip FTDI externo para programar el arduino, pero para nuestro arduino UNO podemos usar el chip integrado FT232RL para manejar la conexión entre el USB y el RX y TX del Arduino y así poder cargar nuestros códigos al microcontrolador. El esquema para hacer la placa lo puedes descargar aquí.

Sin embargo, también puedes usar el chip CH340, descarga su respectivo esquema aquí.

 

Luego, he usado este interruptor para escoger una fuente de alimentación externa o desde USB. En el Arduino original esto es hecho automáticamente mediante un mosfet y algunos opamps.

 

Dicho esto, podemos hablar de la placa PCB. Yo la he diseñado en EasyEDA, puedes hacer tu propio diseño o usar la que yo he preparado para este tutorial. Basta con descargar los gerbers del diseño y pedirlas en la página de JLCPCB.

 

Una vez obtenida la placa, comenzamos a soldar los componentes. Como puedes notar, la PCB tiene el nombre de cada componente grabado, lo cual facilita enormemente el montaje.

 

A la hora de añadir el chip Atmega 328p asegúrate de que esté orientado correctamente, tal como indica el  pin 1 marcado con un punto en la esquina del componente grabado en la PCB.

 

Ahora bien, si el chip no tiene un gestor de arranque (bootloader), debemos grabarlo por nuestra cuenta.

¿Cómo grabar un gestor de arranque (Bootloader) en un chip Atmega 328p?

Para eso necesitaremos un Arduino UNO, algunos cables y un cable USB.

Conecta el Arduino UNO a tu PC, abre el IDE del Arduino, selecciona la placa de arduino y vamos a Examples>Arduino ISP>Arduino ISP. Copia el código del ejemplo y cargalo en el Arduino UNO original.

 

Ahora vamos a Tools y cambiamos el programador de arduino a “Arduino as ISP”.

 

Una vez hecho esto, debes hacer una conexión SPI entre el Arduino UNO comercial y tu Arduino UNO personalizado tal como se indica en la siguiente imágen:

 

Por último, volvemos a seleccionar el menú de Tools y seleccionamos “Run Bootloader”. Notarás que los leds empezarán a parpadear muy rápido y una vez finalizado el grabado correctamente tendrás el mensaje “bootloader cargado” en la consola.

 

 

Finalmente, conectamos nuestra placa personalizada al USB, cambiamos el modo de programación como estaba antes y cargamos un código de prueba para comprobar el funcionamiento de la placa.

 

La placa funciona exactamente igual que el Arduino UNO, pero está personalizada. Espero que ahora puedas poner en práctica estos conocimientos para hacer lo que se te antoje, saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

14 − 1 =