bclose

Arduino en Protoboard

Montando tu propio circuito con procesador ATMEGA328

Objetivos

 

 
    • Montar un regulador en la protoboard.
    • Montar un circuito completo en la protoboard que pueda correr los programas Arduino
 

 

Material requerido.

Regulador integrado de tension 1 x LM7805 regulador de 5V.
Condensador electrolico 2x Condensadores de 10µF
Concensador ceramico 2x Condensadores de 22pF
Cristal de cuarzo 1x Cristal de 16 Mhz
componente 2xResitencias de 330Ω
componente2x Diodos LED
boton contactor1x Pulsador
Atmega 328 THT1x Atmega328 procesador
conexionesAlgunos cables de Protoboard.
Breadboard Una Protoboard .

 

 

Los voltajes estabilizados

 

En la última sesión vimos los conceptos básicas para entender las ideas que hay detrás de las fuentes de alimentación sencillas, incluyendo los reguladores de tensión de la familia 78XX y como el movimiento se demuestra andando, ha llegado el momento de montar algo con ellos.

Y qué mejor que montar un circuito que replique nuestro estimado Arduino UNO en una protoboard.  ¡Que no se asuste nadie!

Pensadlo, es más simple de lo que parece a primera vista. Montamos un regulador de tensión para alimentar nuestro Arduino onboard, y después usando un chip ATmega 328, que podemos hasta sacarlo de un Arduino UNO, montamos el resto de los circuitos necesarios. Que en realidad solo requiere un cristal con sus condensadores y poco más.

El circuito de reset con el botón es opcional (Ya que el apagado siempre ha sido el reset que a mí me gusta). Y en cuanto al USB para programarlo, también es opcional ya que podemos programar el chip ATMEGA 328 en un soporte de Arduino normal, para luego sacarlos y ponerlo en la protoboard ya programado.

O bien para los más aventureros, podemos usar un interface FTDI a USB (Luego hablamos) para poder programar el chip “on situ”.  En la sesión intentaremos montar todo para que tengáis un ejemplo completo.

Tened en cuenta que a medida que vuestros circuitos y proyectos vayan creciendo, llegara un momento en que os gustará poder diseñar una placa de circuito impresa que conlleve todo vuestro montaje y seguro que entonces os vendrá bien poder diseñar el circuito de control integrado con uno de estos chips.

Así pues, vamos a empezar viendo como montar un completo circuito de control tipo Arduino que montaremos en la protoboard y que podríamos incluir en un diseño propio de circuito impreso para comercializar un producto cualquiera.

Nada de miedos, que ya veréis, que como todo, es más fácil de lo que parece.

 

El regulador de tensión

 

En esta ocasión no alimentaremos nuestra protoboard desde el Arduino, ni desde el USB (Porque no tenemos donde enchufarlo) si no que usaremos un alimentador externo de digamos 9V, del tipo de los que se usan para alimentar discos duros viejos o algo así.

Seguro que tenéis varios rodando por casa, de modo que podamos meter 9v a nuestra protoboard y luego ya lo rebajaremos con el regulador de tensión a 5V. Si no tenéis uno de estos alimentadores, otro modo rápido por ahora sería usar una pila de 9V.

En cuanto al regulador, no hay grandes sorpresas en esto. Es similar al que vimos en la última sesión:

Regulador de 5v

Pondremos a la entrada los 9V de ese alimentador externo y utilizando un par de condensadores de 0,1µF para filtra un poco la tensión, es más que suficiente para que el 7805 trabaje cómodamente.

Para hacer el cableado del montaje podéis usar los típicos conectores DuPont macho/macho que tendréis por ahí, o mejor aún, podéis comprar en las tiendas de electrónica cable de protoboard que te lo venden por metros y poco dinero, y son ideales para irlo cortando al tamaño adecuado para la protoboard.

Veamos un ejemplo de cómo montar el circuito del regulador en la protoboard:

Arduino en protoboard 1

La idea es que usemos los raíles superiores para la tensión de entrada de 9V y mediante el regulador sacamos los 5V en el rail inferior. Además hemos incluido u piloto LED para indicar que hay tensión.

 

 
  • Cuando montéis algo con alimentación externa, es buena idea incluir un testigo luminoso, para estar seguro de que hay tensión. Hay mil cosas que pueden fallar y siempre viene bien asegurarse de que el circuito recibe tensión.
  • Por cierto si cuando deis tensión al circuito, el LED no se ilumina, desconectad la tensión inmediatamente y revisar el circuito. No tiene sentido seguir mientras el regulador no este OK.
 

 

Insertando el controlador y el cristal

 

Antes de nada, volcad a vuestro Arduino el programa de ejemplo blink, para que lo podamos probar después. Recordad que está en Archivo\Ejemplos\Basic\Blink.

El controlador ATmega 328 es el corazón de vuestros Arduinos y es un chip que debe ser manejado con una cierta precaución. Si disponéis de un chip independiente, saltaros esta parte.

Para quienes no tengáis el chip suelto, podemos usar el de vuestro Arduino si es de los de zócalo, sin más que sacarle con cuidado.

Muestra el regulador estandard

Para sacar el ATMEGA328 del zócalo:

 
  • Usad un destornillador plano fino, introduciéndolo poco a poco por un lateral y girad suavemente el ventilador sin levantarlo, y repetid la operación por el otro extremo con suavidad.
  • No intentéis sacarlo por completo levantando solamente un lateral. Si lo hacéis doblareis las patas del otro lado y podéis inutilizar el chip. No es caro, pero es molesto tener que comprar otro por manazas.
  • Repetid la operación con suavidad hasta que el chip salga sin forzarlo, recordad que luego habrá que volverlo a insertar, así que poned empeño en no doblarle las patitas.
 

Aquí os dejo un pequeño video de la operación de sacar el chip, por si a alguno os da un ataque de pánico, veréis que no es nada complicado, ni peligroso para vuestro Arduino si tenéis una mínima precaución.

Y para dejar el trabajo hecho, aquí os dejo un mini video mostrando como se vuelva a insertar cuando acabemos con el:

Inserta ahora el chip en la protoboard. Fíjate en la marca del chip,  e insértalo con la marca hacia la izquierda:

Arduino en protoboard 2

De nuevo, recordad que hay que insertar con cuidado los pines del chip en la protoboard. Cualquier intento de forzarlos acabará mal. Aseguraros de que los pines están correctamente embocados antes de presionar y luego hacedlo con suavidad.

Ahora vamos a colocar GND y Vcc del chip y después colocaremos el oscilador de cuarzo que fija la base de tiempos del chip.

 
  • Confío en que no haga falta decir que la alimentación de la protoboard, debe estar desconectada. No se os ocurra andar colocando componentes con la tensión conectada.
  • No es probable que os llevéis un calambrazo (Porque 5V ni siquiera se notan) pero podrías perfectamente quemar cualquier componente.
  • No se os ocurra suponer que los pines del chip, siguen la misma pauta o posición que los pines exteriores del Arduino, porque os llevareis un pequeño disgusto.
 

Para ello, vais a necesitar un diagrama del chip y sus equivalencias con los pines de Arduino:

Patillaje ATMEGA328

Fijaros en la relación de los pines en negro, con sus equivalentes en Arduino que nos son familiares. Vamos a colocar primero la alimentación del chip (Pines 7 y 20  a Vcc y Pines 8 y 22 a GND):

Arduino en protoboard 3

Vamos ahora con el cristal. Su símbolo es:

Oscilador de cuarzo
Cristal de cuarzo

Vamos ahora con el circuito del cristal y del reset, es muy sencillo (En realidad no existe nada complicado):

Circuito

Ni los condensadores de 21 pF, ni el cristal, tiene polaridad, por lo que no debéis preocuparos por el tema. El resultado puede ser parecido a esto:

Arduino en protoboard 4

El circuito de reset es tan sencillo que da asco. Basta con usar un pulsador para conectar el pin 1 del chip a GND. Cuando el chip 328 siente GND en este pin, sencillamente se resetea.

Con esto, ya tenemos completo el modelo de Arduino en protoboard, con la excepción de que no tenemos interface para programarlo, ya que no tenemos USB.

En realidad no sería necesario, ya que al principio de la sesión cargamos el Blinking LED en el Arduino, y por supuesto se ha venido con el chip. Vamos a añadirle un LED en el pin 13 para poder emular el bilnking LED.

Arduino en protoboard

Y aquí está la protoboard correspondiente.

Arduino en protoboard 5

Como al principio de la sesión cargamos el programa de blinking LED en vuestro Arduino, si ahora dais tensión a la protoboard, el LED de la derecha debería empezar a parpadear, exactamente como si tuvierais la placa normal de Arduino.

Tenéis que entender que esto es una duplicación completa del circuito que hay en la placa de Arduino con la excepción del USB, pero correrá cualquier programa que hayáis cargado en un UNO.

Para los corazones esforzados que quieran poder programar sus Arduinos onboard, tengo buenas noticias. No hay problema. Podéis comprar un adaptador con el extravagante nombre de FTDI a USB que nos permite hacer exactamente esto por poco dinero.

Los tenéis disponibles tanto en USB normal como mini:

USB para protoboard
USB mini FTDI para protoboard

Lo que te hacen, es simplemente convertir la señal de USB a puerto serie, listo para conectarlo a los pines D0 y D1 de Arduino que corresponden a los pines 2 y 3 del chip. Podéis ignorar los pines CTS (Clear To Send) y DSR (Data Set Ready), Arduino no los usa.

Arduino en protoboard Diagrama de conexion

 

Un último comentario

 

Con esta última adición, hemos duplicado en protoboard un Arduino UNO funcional, que puede ejecutar cualquier programa que pueda ejecutar una placa normal.

La ventaja es que si sois aficionados a la electrónica podéis crear vuestras propias placas de circuito impreso que contengan lo que habéis montado en la protoboard y además el resto de componentes que pueda necesitar vuestro circuito.

Todo esto al final resulta en que disponéis de la capacidad de crear vuestros propios prototipos electrónicos  en circuito impreso.

 
  • Para los que prefiráis usar el corazón de un MEGA que no puede extraerse, podéis buscar en internet las breakout borads para ATmega1280 que es el procesador del mega. Encontrareis que existen varias opciones disponibles,
 

 

Resumen de la sesión

 

 
    • Hemos montado nuestro primer circuito regulador de tensión en protoboard, y estoy seguro de que no será el último.
    • Hemos aprovechado, ya que estábamos para montar un Arduino UNO onboard usando un chip ATmega328, que es plenamente funcional
    • Este asunto es más importante de lo que inicialmente podéis pensar, porque os abre las puertas a montar circuitos propios impresos sin necesidad de incluir un Arduino en placa completo.

 

 
 

 

 

(48) Comments

    • David Isaac

    Estaría bueno un tuto para hacer esto pero con un arduino mega. 🙂

    • Hola David, a falta de tiempo para hacerlo puedes probar utilizando las breakout borads para ATmega1280 que es el procesador del Mega.

  • Hola de nuevo,

    Gracias por la respuesta; pero podrías ampliarla un poco mas? ¿Para que sirven esos filtros?
    Mi montaje no será este, sinó uno donde se usará el PMW, I2C; modulo bluetooth, sensor de temperatura, relog… ¿afectará esto al funcionamiento del mismo al pasarlo de la placa de Arduino al montaje aqui descrito?

    Saludos y gracias por tus respuestas!

  • Las placas Arduino llevan bastantes resistencias, condensadores, diodos, ect. ¿Son estos solo del convertidor de corriente y del USB?
    ¿Nada de lo que eliminamos compromete el funcionamiento o durabilidad del Arduino?

    En mi caso lo alimentaré directamente de una fuente de 5V, por lo que según tu esquema con el ATMEGA, el cristal y 2 condensadores ya esta listo, correcto?

    Saludos, y gracias por compartir tu gran trabajo.

    • Hola Jose, no es necesario nada mas y no deberias tener problemas montando este circuito que naturalmente es el mas sencillo posible. Las placas comerciales incluyen mas componente, basicamente para filtrara señales, pero este es un montaje sencillo que te funcionara sin problemas

  • Buenas noches , gracias por responder , y si tambien he investigado de ello, pero no habrá otro pic con características similares? es que solo necesito el pic y como tal por aca en mi pais es dificil conseguir microcontroladores ATmel…

  • Buenas noches Excelente post, estoy buscando la forma de diseñar una tarjeta que tenga un pic con doble salida UART, no se si ha escuchado sobre la famosa combinación de el shield SIM900 y el modulo NEO6M junto la tarjeta arduino que acaba de describir, ya que normalmente usan los dos puertos físicos UART, y dos puertos virtuales es decir, 2 para cada modulo, pero yo estoy buscando un pic que me permita establecer la comunicación sin necesidad de usar puertos virtuales, sino de una vez tener los 4 puertos UART físicos, por supuesto con estos dos módulos, alguna idea que cual pic podría usar?? estoy partiendo de este diseño de arduino, pero se me enredo un poco la cosa al buscar un pic con esas características-

    • Hola Sarah,
      Yo miraria como pic el ATmega2560, que es el corazon de un arduino mega r3 y dispone de las 4 puertas com por hardware. EStarias en un entorno familiar de programacion y bastaria que diseñases la PCB para conetenerlo o bien existen breakouts en el mercado que incluyen este pic que es de tipo de soldadura smd en superficie con una breakout y pines para manejarlo sin mas problemas

      Otra solucion es que uses un mega direcatmente y una tarjeta o shield externo que ya incluya ambos chips y se maneja por SPI o I2C con lo que facilita mucho el trato y las consigues facil en china

  • Hola muy biuen post! Quería consultarle si hay algún tipo de problema de alimentar la protoboard con un cargador de un teléfono móvil, sin conectar el estabilizador de tensión, yo ya tengo el circuito montado en una placa y lo alimentaba con la tension del CP2102 pero quiero independizarme de la computadora y que siga funcionando, conectar el cargador directamente me traera problemas?

    • No creo que haya mucho problema, porque en principio los alimentadores de movil incluyen transformador y rectificador y ademas algun filtro que controle el rizado de la tension de salida y todo eso deberia ser suficiente para garantizar tanto la estabilidad del circuito como su seguridad, pero asegurate de que la salida es de 5V

Give a Reply

WordPress Anti-Spam by WP-SpamShield