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Ω
componente 2x Diodos LED
boton contactor 1x Pulsador
Atmega 328 THT 1x Atmega328 procesador
conexiones Algunos 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.

 

 
 

 

 

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login

(71) Comments

  • Avatar for Charly
    • Admin

    Hola Prion,

    Desde luego que si que puedes. Siempre que te asegures de que coges los 5V de los cables correctos de la fuente ATX. De hecho tienes una sesion con un ejemplo de eso aqui: https://www.prometec.net/tira-de-leds/

  • Avatar for Charly
    • Prión

    ¡Hola!
    Muchas gracias por todo el trabajo de esta página, me está siendo muy útil.
    Quería saber si se puede alimentar el atmega 328 desde los cables rojo y negro de una fuente ATX sin necesidad de regulador de tensión.
    ¡Saludos!

  • Avatar for Charly
    • Admin

    Hola Ignacio, no estoy seguro de entenderte completamente pero procurare mandarte un par de ideas.
    La primera es que si tienes un Arduino UNO normal con el CHip en zocalo que puedes sacar, lo mas comodo es que lo programas directamente desde la placa UNO y cuando lo tengas puedes extraer el chip y montarlo en tu PCB externa.
    Si hace exto se comportara exactamente como un ARduino UNO completo y ya tendras puesto el programa.Si antes te funcionaba con la app de la appstore ahora tambien.
    Otro problema distinto es si tienes un chip ATmega328 externo sin bootloader (Aunque la mayor parte de los proveedores te los pueden suministrar con el boot ya instalado. Si no tienes el boot deberas seguir el procidimineto que puedes encontrar con facilidad en internet para ello, pero que no disponemos en prometec, porque solo se puede aplicar al arduino UNO y no quisimos en su dia complicar mas el tema

  • Avatar for Charly
    • Ignacio

    Hola quisiera saber tengo una placa arduino con un atmega 328p, estoy haciendo un circuito para mover un motor y un servomotor ,por medio de una aplicacion que baje de play store , mi dudas son si programo mi arduino en la placa y despues la instalo deberia funcionar? Al momento de programar mi atnega debo seleccionarlo como palaca arduino uno genuina o atmega 328, ¿realmente me funciona la aplicacion de play store o debo realizar ina aplicacion de acuerdo aL programa que cargue en el microcobtrolador? Que funcion cumple quemar bootloder, mi circuito no funcionaa para nada, ayuda por favor

  • Avatar for Charly
    • Admin

    Hola JR, no estoy seguro de entenderte bien, porque la conversion de 9 a 12V lo puedes hacer con un power booster o DC step UP que no valen dinero, pero no entiendo cual es la diferencia entre el uno y el mega, si puedes aclararmelo…

  • Avatar for Charly
    • JR

    hola, quiero montar un convertidor de tensión de 9V a 12v de continua. Los 9 V salen de una fuente lineal y ahora quiero obtener los 12 V mediante una conmutada con un arduino mega y no se muy bien por donde cogerlo, para el arduino uno mas menos lo entiendo, pero para el mega ni me quedo claro

  • Avatar for Charly
    • Admin

    Hola Juan, no estoy seguro de entender a que programa o circuito te refieres. EN principio cualquier programa que funciones en un ARduino UNO debería funcionar aquí.

  • Avatar for Charly

    hola cual seria la programacion de este circuito para hacerlo funcionar desde Arduino IDE.

  • Avatar for Charly
    • Admin

    Hola Vicente el mensaje es claro, por algun motivo no estas consiguiendo establecer la comunicacion que por otro lado no tiene mayor misterio. Insite porque estoy seguro de que sera cualquier tonteria

    Un saludo

  • Avatar for Charly
    • Vicente

    Hola….
    Felicitaros en primer lugar por toda la información que poneis al alcanze de los novatos. Sirve de mucho para los que nos gusta la electrónica, pero no sabemos por dónde empezar.

    Te comento un pequeño problema a la hora de realizar ésta práctica; todo funciona bien, pero a la hroa de pasar un programa del ordenador al pseudo Arduino, me da errores de éste tipo:

    avrdude: stk500_recv(): programmer is not responding

    He probado con varios modulos FTDI, he cambiado el ATMega, he desmontado todo y vuelto a montar, he borrado el dispositivo del ordenador, lo he vuelto a instalar…. Imagino que deberá ser algún problema de comunicación entre el modulo FTDI y el ordenador, pero, la verdad, es que ya no sé por dónde buscar…. Alguna pista o consejo…? Gracias por tu tiempo.

    Vicente

  • Avatar for Charly
    • Admin

    Te vale. Pero si vas a comprar coge un adaptador FTDI a USB son mas practicos y te servira para varias cosas mas

  • Avatar for Charly
    • Heiner Perez

    uso un calbe usb a ttl?

  • Avatar for Charly
    • Admin

    Pues casi con seguridad es un problema con el FTDI o su conexion, compruebalo y me dices

  • Avatar for Charly
    • Heiner Perez

    el problema es que cuando intento programarlo me sale error

  • Avatar for Charly
    • Admin

    Normalmente con la alimentacion del USB a FTDI deberia ser suficiente ya te proporciona los 5V necesarios para sostener el circuito

  • Avatar for Charly
    • Heiner Perez

    es necesario mantener la batería de 9v para programarlo -USB a ftdi

  • Avatar for Charly
    • Admin

    laro que si Miguel, SIempre y cuando montes el interface USB a FTDI en la protoboard como os cuento en el tutorial

  • Avatar for Charly
    • Miguel Rodríguez

    También puedo programarlo si conecto la entrara del Arduino-USB con la que programo mi arduino UNO?

  • Avatar for Charly
    • Admin

    En efecto, no pierdes ninguna funcionalidad con eso. El FTDI simplemente es para programar el chip, si ya traes el trabajo hecho de casa, ya puedes empezar a trabajar exactamente igual que si tuvueras tu placa Arduino debajo.
    Un saludo y hasta pronto

  • Avatar for Charly

    Buenas!

    Ante todo, felicitar por la web, me la guardo, tiene cosas uy interesantes y muy bien explicadas para novatos como yo.

    Supongo, que se podra programar el ATMrga328 con el arduino uno, y luego montarlo en la protoboard sin neceisdad de adaptador FTI? Esto es, hago todo mi prototipo con el arduino UNO, y luego solo seria sacar el chip y montarlo en la protobard como indicas y ya estaria funcional? ¿No se pierde ni una sola funcionalidad? salvo la conectividad USB claro.

    Saludos!

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login