Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Equipment >> Equipo industrial

Breadboard y programación del ATmega328P y ATtiny45 en Atmel Studio 7

En este proyecto, construiremos circuitos para programar dos microcontroladores Atmel diferentes y discutiremos la configuración de software necesaria.

En este proyecto, construiremos circuitos para programar dos microcontroladores Atmel diferentes y discutiremos la configuración de software necesaria.

Este proyecto describirá la construcción de dos circuitos muy similares:uno para programar un ATmega328P y otro para programar un ATtiny45. El artículo proporcionará un diagrama esquemático completo de los circuitos de programación, así como fotografías detalladas de los ensamblajes de la placa de pruebas sin soldadura. Además, también se presentará Atmel Studio 7 IDE (entorno de desarrollo integrado).

Primero, el hardware

El ATmega328P es un microcontrolador de 28 pines de Atmel y es parte de la línea AVR. Probablemente sea más conocido como el μC más utilizado en las plataformas de desarrollo de la marca Arduino, pero el AT328P es capaz de mucho más de lo que se puede extraer allí. Si desea ver alguna evidencia de esa declaración, eche un vistazo a la hoja de datos de 660 páginas.

El ATtiny45 es un μC de 8 pines y podría considerarse el "hermano pequeño" del ATmega328P. Tiene muchas de las mismas características, pero, por supuesto, no tiene tantos pines de E / S.

La interfaz de periféricos en serie (SPI) se utiliza para programar el ATmega328P y el ATtiny45; es un bus de tres cables (más tierra), que consta de una señal Master Out, Slave In (MOSI), una señal Master In, Slave Out (MISO) y una señal Serial Clock (SCK). El reloj es generado por el dispositivo maestro y se utiliza para asegurar la comunicación sincronizada entre el maestro y el esclavo (o esclavos); por lo tanto, SPI es un bus de comunicación "síncrono".

Circuitos de programación

Los diagramas esquemáticos de los circuitos de programación se muestran a continuación. Tenga en cuenta que el resistor R2 y el LED1 no son estrictamente necesarios para la programación, pero están incluidos en el circuito con fines de prueba, como se define más adelante en este proyecto.

Opciones del programador

Hay varios programadores disponibles que manejarán el ATmega328P y el ATtiny45; Atmel-ICE está en la parte superior de la lista y es un excelente programador que se discutirá en un artículo futuro. Por ahora, hay opciones menos costosas disponibles para los skinflints entre ustedes, y el programador de bolsillo Sparkfun AVR es el que usa el autor de este artículo en skinflint. Si prefiere otra cosa, no dude en elegir la que se adapte a sus preferencias y su bolsillo. Solo asegúrese de que utilice la interfaz de periféricos en serie como se describió anteriormente y esté preparado para realizar los cambios adecuados en la información de este artículo.

¡PRECAUCIÓN! Asegúrese de descargar e instalar el controlador apropiado para AVR Pocket Programmer en su computadora antes de conectar el programador por primera vez. Si Windows puede instalar el controlador incorrecto, puede ser muy problemático corregirlo. Las instrucciones para obtener el controlador AVR Pocket Programmer se proporcionan más adelante en este artículo.

El programador de bolsillo AVR viene con un cable plano que se conecta al Atmel μC. Está equipado con tres conectores:una hembra de 2 × 5 que se conecta al conector macho de acoplamiento del programador de bolsillo AVR, otra hembra de 2 × 5 que está a unas 9 pulgadas (23 cm) por debajo del cable plano (que no se utiliza en este artículo), más una hembra de 2 × 3 al final del cable plano. Los pines se muestran en las fotografías a continuación.

Circuito de programación de ensamblajes de placa de pruebas sin soldadura

Los conjuntos de placa de prueba sin soldadura del circuito de programación ATmega328P y ATtiny45 se muestran en las siguientes fotografías. Se utilizan seis cables de puente cortos para conectar los cables necesarios del conector hembra de 2 × 3 a los pines correspondientes del microcontrolador en la placa de pruebas sin soldadura. Tenga en cuenta que los colores de los cables en las fotografías de ensamblaje a continuación corresponden a los de los diagramas esquemáticos anteriores.

Lista de piezas

Además de algunos puentes de cables, las piezas necesarias para los conjuntos de circuitos de programación se enumeran en la siguiente tabla.

Ref. de parte Descripción Fuente Número de artículo
U1 IC, ATmega328P-PU, 32kB Flash, DIP-28, 1.8-5.5V Digi-Key ATMEGA328P-PU-ND
U1 IC, ATtiny45-PU, 4kB Flash, DIP-8, 2.7-5.5V Digi-Key ATTINY45-20PU-ND
R1 Resistencia, ¼ W, 10 kΩ Digi-Key 10KQBK-ND
R2 Resistencia, ¼ W, 470Ω Digi-Key 470QBK-ND
LED1 Diodo, emisor de luz, T1 3/4, amarillo Digi-Key 754-1889-ND
C1 Condensador, cerámico, 0,1 µF, 50 V Digi-Key 399-9797-ND
N / A Programador, AVR Pocket, PGM-09825 Digi-Key 1568-1080-ND
N / A Placa de pruebas, sin soldadura, 400 contactos Digi-Key 377-2094-ND

Luego, el software

Controlador del programador de bolsillo AVR

El controlador de Windows para AVR Pocket Programmer es el mismo que utiliza Adafruit USBTiny Programmer. Vaya a esta página web de Adafruit y haga clic en el enlace del controlador firmado USBtinyISP de Windows creado con libusb v1.12. Eso le permitirá descargar un archivo zip que contiene dos archivos installer.exe:uno para computadoras de 32 bits y otro para computadoras de 64 bits. Haga doble clic en el que sea apropiado para su PC con Windows y se instalará el controlador.

Solo después de instalar el controlador de Windows correcto debe conectar el AVR Pocket Programmer a su computadora por primera vez. Necesitará un cable USB tipo A a miniatura B macho a macho para conectar su PC al AVR Pocket Programmer. Cuando realice las conexiones, el LED azul PWR y el LED rojo Stat1 deben encenderse; los dos LED de datos azules también pueden encenderse y / o parpadear. Windows intentará localizar el controlador y usted debe dirigir a Windows a la ubicación correcta del controlador según sea necesario. Una vez instalado correctamente, el AVR Pocket Programmer aparecerá en el Administrador de dispositivos en los dispositivos libusb-winXX como "USBtiny"; no se enumerará como un puerto COM. Vea la captura de pantalla a continuación:

Atmel Studio 7

Como muchas empresas de diseño de microcontroladores, Atmel tiene un entorno de desarrollo integrado (IDE) que funciona con sus ofertas de hardware:Atmel Studio 7. Aunque no es la única forma de programar Atmel μC, es el método con más funciones para Windows 7, 8, y 10 (tanto de 32 bits como de 64 bits); lamentablemente, no se puede utilizar con los sistemas operativos Linux o Mac.

La cantidad de opciones y elecciones en Atmel Studio 7 puede ser abrumadora para un nuevo usuario. Por lo tanto, en este proyecto se proporcionará un enfoque paso a paso que simplificará enormemente el proceso. Comience por descargar e instalar el IDE en su PC. La Guía del usuario de Studio 7 y una gran cantidad de información adicional también están disponibles para descargar.

Studio 7 incluye soporte para varios programadores de hardware, pero las opciones exactas dependen del microcontrolador Atmel que vaya a utilizar. En la captura de pantalla siguiente, los programadores compatibles con ATMega328P se enumeran a la derecha.

Como puede ver, el AVR Pocket Programmer no está en la lista. Sin embargo, todavía se puede usar con Studio 7 con la ayuda de un software llamado AVRDude.

AVRDude

AVRDude es una utilidad de línea de comandos que se utiliza para descargar y cargar microcontroladores Atmel. Hay versiones disponibles para sistemas Linux y Windows. En el momento de redactar este documento (7 de junio de 2017), la última versión disponible es la 6.3; Se puede descargar aquí. Los usuarios de Windows deben descargar avrdude-6.3-mingw32-zip (¡al hacer clic en este enlace se descargará el archivo zip!), Descomprimir los archivos e instalar AVRDude. Tenga en cuenta que instalar el programa en la raíz de su disco duro principal no es esencial, pero simplificará su uso con Atmel Studio 7. Si una versión posterior a la 6.3 está disponible, puede decidir instalarla a su discreción. La guía del usuario de AVRDude está disponible aquí.

Para comprobar si AVRDude está instalado y funcionando correctamente, siga los siguientes pasos:

  1. Haga clic en el botón Inicio de Windows.
  2. En el cuadro de búsqueda, escriba cmd y presione Entrar. Debería abrirse una ventana del indicador de DOS.
  3. En el indicador de DOS, cambie al directorio donde instaló AVRDude.
  4. Escriba avrdude -c USBtiny y presione Entrar. Si todo está bien, AVRDude devolverá una lista de dispositivos Atmel que son compatibles.

Consulte la captura de pantalla siguiente para ver un ejemplo del procedimiento. Tenga en cuenta que la captura de pantalla se ha truncado y muestra solo una parte de la lista de dispositivos Atmel compatibles.

Poniéndolo todo junto

Suponiendo que el programador está conectado al AVR en su placa de pruebas sin soldadura como se describió anteriormente, está casi listo para programar su AVR. Descargue el archivo New Blink.zip usando el botón de abajo, descomprímalo y guárdelo en su PC en una ubicación conveniente.

New_Blink.zip

Ahora, siga este procedimiento.

  1. Inicie Atmel Studio 7.
  2. A la izquierda de la pantalla de inicio, haga clic en Nuevo proyecto. Se abrirá la pantalla Nuevo proyecto.


  3. En la pantalla Nuevo proyecto, haga clic en Proyecto ejecutable GCC C; nombre el proyecto New Blink como se muestra arriba, y haga clic en OK. Se abrirá la pantalla de selección de dispositivo.


  4. En la pantalla de Selección de dispositivo, elija el dispositivo AVR que está utilizando:ATmega328P o ATtiny45 como se muestra a continuación. Haga clic en Aceptar. Se creará el nuevo proyecto y se abrirá la pantalla del nuevo proyecto Blink.


  5. Haga clic en el menú desplegable Herramientas, seleccione Herramientas externas… y haga clic en el botón Agregar.
  6. En el cuadro Título, escriba un nombre para la herramienta que está creando; es bueno si el nombre es descriptivo de la herramienta. Por ejemplo, puede ingresar una combinación del nombre del programador y el nombre del dispositivo.
  7. En el cuadro Comando, escriba la dirección de DOS para la ubicación donde instaló AVRDude más el comando para iniciar AVRDude.
  8. En el cuadro Argumentos, escriba una de las dos líneas siguientes, según el AVR que esté utilizando. Para el ATmega328P, escriba:
  -c usbtiny -p m328p -v -U flash:w:$ (TargetDir) $ (TargetName) .hex:i  

Para el ATtiny45, escriba:

  -c usbtiny -p t45 -v -U flash:w:$ (TargetDir) $ (TargetName) .hex:i  
  1. En el cuadro Directorio inicial, escriba la dirección de DOS para la ubicación donde instaló AVRDude.
  2. Asegúrese de que la casilla Usar la ventana de salida esté marcada y que las otras dos casillas de verificación no estén marcadas. La ventana debe ser similar a la pantalla de abajo, pero reflejando el AVR que está usando.


  3. Haga clic en Aplicar y luego en Aceptar. La ventana Herramientas externas debería cerrarse.
  4. Vaya a la ubicación donde descomprimió y almacenó New Blink.c al comienzo de esta sección, abra el archivo, seleccione todo el contenido y cópielo en el portapapeles.
  5. Vaya a la ventana New Blink.c en Atmel Studio 7, seleccione todo el contenido y pegue el contenido del portapapeles en la ventana New Blink.c. Debería aparecer como se muestra a continuación.


  6. Si Atmel Studio 7 Solution Explorer no está abierto en la parte superior derecha de la ventana del proyecto, haga clic en el menú desplegable Ver y haga clic en Solution Explorer. El Explorador de soluciones debería abrirse en la parte superior derecha de la ventana del proyecto.
  7. Haga clic con el botón derecho en el archivo main.cy elija cambiar el nombre. Cambie el nombre del archivo main.c a New Blink.c.
  8. Haga clic en el menú desplegable Archivo y luego en Guardar todo.
  9. Haga clic en el menú desplegable Crear y luego en Crear solución.
  10. Haga clic en el menú desplegable Herramientas y haga clic en el nombre de la herramienta creada en los pasos 5 a 11 anteriores. El código New Blink compilado debe descargarse al AVR en su tablero, y el LED 1 debe comenzar a parpadear:encendido durante ½ segundo y apagado durante ½ segundo, 60 veces por minuto.

El comienzo

Es cierto que fue un proceso largo para simplemente hacer parpadear un LED, pero la verdad es que ha superado con éxito cuatro obstáculos principales:crear una plataforma de hardware para programar un microcontrolador AVR, instalar un entorno de desarrollo integrado (Atmel Studio 7), integrar un externo programa (AVRDude) y definir una herramienta de programación para el AVR de su elección. Tenga la seguridad de que será más fácil para futuros proyectos de Atmel que sean mucho más divertidos. Esté atento a ellos en AllAboutCircuits.com.

¡Prueba este proyecto por ti mismo! Obtenga la lista de materiales.


Equipo industrial

  1. Los pros y los contras de la fundición a presión
  2. Las 3 etapas de la impresión 3D y cómo funcionan
  3. ¿Cuál es la diferencia entre la producción en masa y la producción personalizada?
  4. Sistema de vacío industrial:discutiendo los tipos y beneficios
  5. Por qué y cómo la automatización industrial es el futuro
  6. La diferencia entre motores de CC y CA
  7. El impacto de la seguridad en la fábrica y por qué es importante
  8. Comprender la precisión y el proceso de la tecnología de corte por láser
  9. El futuro de la maquinaria industrial en 2020 y más allá
  10. Los tipos de frenos mecánicos y sus diferencias
  11. Pros y contras de recubrir su bomba