Simulación de arduino en proteus


El arduino esta basado en Microcontroladores Atmega ya sean 168, 1280, 328 ó 2560,como los mas utilizados, es decir, que básicamente es un microcontrolador, comúnmente llamado micro, con un sistema de comunicación serial y una fuente de alimentación.
Ademas un software de programación que consiste en un entorno de desarrollo (arduino IDE) que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.
El boot loader es un pequeño software que se encuentra en el micro diseñado para realizar la comunicación y la "auto-programación".
Pero todo esto es solo necesario para lograr introducir el código dentro del micro, una vez logrado la aplicación o software se ejecuta dentro del microcontrolador.
veamos el diagrama esquemático de un arduino uno.
Bueno si lo vemos de esta manera parece un poco complejo, sin embargo, lo que realmente nos interesa es la sección del microcontrolador.
en este recuadro estan las conexiones del mirocontrolador y los pines de salida en el arduino uno, pero en fin, veamos un esquema de interconexión de los pines del micro controlador y los de salida en la placa arduino.
Esto es lo que nos interesa para poder simular el micro. en esta imagen muestra como están distribuidos los pines en las salidas del arduino.
En el simulador, dependiendo del que se este utilizando, sera necesario agregar algunos componentes como los cristales capacitores necesarios, alimentación virtual, voltajes de referencia etc.
para esta simulación usaremos proteus, pero en esencia debería funcionar en cualquier programa que posea el atmega328 para simulación.
acomodando los pines uno a uno según el diagrama de mapping y colocando otro componente como el cristal sus capacitors y un botón de reset este seria el diagrama necesario para simulación.
y listo esto es todo lo que necesitamos en el simulador.
Para poder simular el programa necesitamos introducirlo en el micro, para esto es necesario el archivo hexadeimal ó lenguaje maquina, normalmente tiene este formato ARCHIVO.HEX y contiene el lenguaje de maquina para que el micro ejecute las instrucciones, este archivo lo genera el arduino IDE y lo guarda en una ubicación temporal, para este ejemplo utilizaremos el programa incluido en los ejemplos de arduino específicamente el llamado BLINK.
Pequeño programa hace parpadear un led y esta incluido en los ejemplos del IDE de arduino. No voy a incluir el código pero esta disponible en www.arduino.cc o en el IDE.
No es necesario que un arduino este conectado físicamente para compilar un programa bastara con hacer click en el botón de verificación y este compilara el programa.
Los datos de compilación se pueden observar en la ventana de log del IDE, abajo del codigo fuente, en la misma ventana donde se encuentra el programa, allí mostrara la ubicación temporal donde se guardaron los archivos de compilación. En la siguiente imagen la ubicación para mi computadora.
En azul sombrado se encuentra la dirección temporal de estos archivos. Esta ubicacion se borra cada vez que se actualiza el programa y se recompila, y es eliminada una vez se cierra el IDE de arduino o la ventana del código fuente de donde fue compilado.
Dentro de esta carpeta hay varios archivos que se generan al momento de la compilación, sin embargo, solo nos interesa el de extensión .hex. en la siguiente imagen vemos los archivos generados y el necesario para la simulación.
Este archivo los copiamos y lo ponemos en otra ubicación para asegurar que no se borre si por error cerramos el IDE.
Ahora debemos incluirlo dentro del programa de simulación, para el caso de proteus, para agregar el .hex hacemos doble click en el micro y en la pestaña de Program file: ponemos la ubicación del archivo .hex.
y listo ya tenemos el programa cargado, ahora el programa de BLINK enciende y apaga un led específicamente el del pin 13 del arduino en el diagrama agregaremos el LED necesario para la simulación y luego simularemos el circuito.
Este es un pequeño vídeo poniendo en practica el procedimiento para simular...
espero les guste...

hasta la próxima...

7 comentarios:

  1. podrias pasarme la simulacion en proteus compañero ?

    ResponderEliminar
    Respuestas
    1. Hola Nain, primero gracias por leernos, disculpa la tardanza adjunto el link con la simulación, esta en proteus 7.7.
      https://drive.google.com/file/d/0B4TdiUL6UHbXUWpleTlSOUc4MzQ/edit?usp=sharing

      Eliminar
  2. amigo excelente tu post. solamete el tipo de archivo DSN que subiste, como lo abro con proteus

    ResponderEliminar
    Respuestas
    1. Hola Nelson, Gracias por leernos, Pos depende de tu versión de proteus este esta hecho en la 7.7 entras al isis y le das abrir archivo y seleccionas el .dsn para la versión 8 le das agregar archivo de simulación...
      atento a cualquier duda...

      Eliminar
  3. no me aparece el archivo.hex incluso corri el blink y nada que hago???

    ResponderEliminar
    Respuestas
    1. Hola Hassler, primero gracias por leernos, el archivo se genera en un temporal de windows así que si cierras el programa (Arduino IDE) se borra, debes dejarlo abierto o moverlo preferiblemente, recuerda verificar que estén visibles las extensiones, también debes revisar las preferencias, abrir el archivo de texto preferences.txt y la consola debe estar en true, allí también puedes cambiar la ruta donde se guardan los archivos de compliacion,
      cambias

      export.application.stop=true
      build.path= C:\"tu carpeta de destino"

      espero te sea de ayuda
      Saludos
      AngelX

      Eliminar