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.

 

 
 

 

 

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

    • Guillermo

    Fe de erratas.
    En lugar de RTS quice decir RST, mil disculpas

    • Guillermo

    Sr. admin.
    Independientemente de la excelencia de este sitio que me ha dado muchas soluciones por la explicaciones muy claras lo cual indica el celo profesional que pone en el sitio, en este caso debo hacerle un comentario respecto a algunos detalles que ha omitido en este caso muy importantes para poder bajar programas al procesador ATMEGA328 (supongo que será el corresp. al arduino uno) estando montado en cualquier placa experimental o diseñada fuera de la placa Arduino propiamente dicha.
    Se trata de los distintos tipos de adaptadores USB.TTL o FTDI, en el caso del procesador del Arduino UNO dicha interfase debe tener NECESARIAMENTE el pin DTR el cual se conecta al pin RTS del procesador con un condensador de 0.1 uF, y del mismo pin (RTS) del procesador una resistencia de 10K al Positivo de la alim. de 5V.
    Si esto no se cumple el programa no se cargará y dará un error (muy típico que en este momento no recuerdo).
    Para cargar programas con los modelos sin el pin DTR se debe presionar el botón reset en un momento preciso durante la carga del prograna lo cual siempre trae problemas ademas de no ser una manera práctica de hacerlo (precisamente la acción del RESET la cumple el pin DTR del FTDI atraves del condensador mencionado. Guillermo

    • Vladimir

    Primero felicitarlo y agradecerle por publicar cosas tan útiles como éstas. Actualmente estoy ocupando mi arduino uno en la CNC que hice de forma casera y ya que también quiero utilizarlo para otros proyectos quisiera saber si con sólo esos componentes ya puedo hacer funcionar correctamente mi cnc. Y por último cual es la diferencia en si uso el adaptador de freír a usb o el cable usb a tti?. De antemano muchísimas gracias

      • Admin

      Hola Vladimir, No se muy bien que me preguntas porque no entiendo muy bien tu problema

  • Una consulta: el FTDI puede ser este?

    muchas gracias

      • Admin

      Hola Susana, si. parece igual que el que tenemos en la tienda y da muy buen resultado.

      Espero que pronto podamos abrir la tienda en Mexico

    • Vidal

    Hola!.

    Muy buen tutorial y muy claro!!!!!
    Quiero hacer este montaje pero con un ATmega1280, para meter todo mi proyecto en una placa perforada. ¿El montaje es el mismo y lo único que cambia es el MEGA por el UNO o hay que poner más cosas?
    Gracias!!!

      • Admin

      Hola Vidal, habría que echar una ojeada a los pines de ese chip y comprobar que es compatible con el ATMEGA328, pero en principio no deberia ser muy diferente, porque si te fijas, lo unico que hacemos es ponerle un cristal, alimentacion y puerta serie lo que es comun a todos los chips de micro

    • DAVID SANDOVAL

    Buenas noches, quiero hacer un cnc casero, y vi uno que se controla con un arduino uno pero tengo un arduino mega, ¿los cambios en la programacion son muy extensos? seria mejor comprarme un arduino uno (evidentemente no tengo conocimientos sobre el tema) agradezco mucho su respuesta. y de antemano muchas gracias

      • Admin

      Hola David, estas de suerte porque puedes correr cualquier programa del uno en un MEGA sin cambiios e incluso conectando todo a los mismos pines. El MEGA es 100% compatible en soft y hard con el UNO

    • Norberto

    Hola Gente !!!
    Queria consultarte por un problema que se me presenta con 328p , programo el micro con un loop tipo blink el cual enciende el led 15 seg y apaga 30 minutos ,hasta ahi todo perfecto en la salida 13 tengo colocado un relay que acciona un zumbador. cuando armo todo en el protoboard los primeros dos ciclos los realiza bien y despues empieza a andar en forma erratica prende y apaga en tiempo y secuencias distintas y no encuentro que pede ser…….. en el protoboard armo con su correspondiente regulador y el relay lo acciono con un transistor bc548
    Desde ya muchas gracias por la atencion y toda la info que aportas !!!!

      • Admin

      Hola Norberto, Pues parece un programa muy snecillo para hacer cosas tan raras. Haz una prueba de correr el programa sin conectar el relay, y veamos como va. SI va correcto como sospecho, podria ser un problema de falta de potencia

    • Sebastian

    Hola, muchas gracias por el post! me ayudaria mucho la imagen del pcb para hacerlo en una placa directamente, lo tienen o me explicarian como diagramarlo? trate de hacerlo pero se me cruzan las pistas y no se que hacer jaja Un saludo!

      • Admin

      Hola Sebastian,

      No hemos hecho el montaje en PCB, pero no e sdificil de encontrar en Google si buscas “atmega328 pcb layout”
      Hay un monton especialmente en las imagenes (Que te llevan a la pagina de la que salen”

      http://letsmakerobots.com/node/34253

    • Alvaro

    Bueos dias, he de decir que es un post muy interesante. Pero yo estoy interesado en el regulador de tension. Digame ¿Podria usarlo para conectar otros circuitos electronicos a una fuente DC cuyo voltaje no se estable (como un vehiculo a motor(en mi caso un tractor))?

    Gracias de antemano

      • Admin

      Hola Alvaro, los divisores de tension son una herramienta estandard en electronica para bajar el nivel de una señal de tension y te funcionara independientemente de la tension que pongas a la entrada

    • Prión

    ¡Hola!
    Muchísimas gracias por responder y hacerlo tan rápido porque es algo que quiero rematar ya.
    Si me dedico a la electrónica profesionalmente te deberé tanto que te enviaré un buen jamón, por lo menos.
    Había leído algo sobre que el atmega 328 podía recibir demasiada corriente si se alimenta así pero veo que no es cierto. Estoy haciendo mi primer circuito con microcontrolador y es bastante complejo para ser el primero.
    ¡Muchas gracias otra vez y feliz Navidad!

      • Admin

      Nada de jamones, aqui preferimos la cerveza se llama el bierware y estamos encantados de que avanes y si podemos ayudarte sera un placer

    • 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!

      • 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/

    • 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

      • 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

    • 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

      • 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…

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

      • 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í.

    • 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

      • 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

    • Heiner Perez

    uso un calbe usb a ttl?

      • Admin

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

    • Heiner Perez

    el problema es que cuando intento programarlo me sale error

      • Admin

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

    • Heiner Perez

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

      • Admin

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

    • Miguel Rodríguez

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

      • Admin

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

  • 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!

      • 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

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