Isp Arduino

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 49

11.1.

- ARDUINO COMO ISP Y ARDUINO BOOTLOADERS

¿Qué hace que un Arduino sea lo que es? Muchas cosas, pero una de las más
importantes es la forma en que cada placa Arduino se programa fácilmente con
el software Arduino (IDE). Basta con conectarlo al puerto USB de la computadora
y presionar el ícono "Upload" para iniciar un proceso que transfiera su boceto a
la memoria Flash del microcontrolador.

EL CARGADOR DE ARRANQUE

El comportamiento descrito anteriormente ocurre gracias a una pieza de código


especial que se ejecuta en cada reinicio del microcontrolador y que busca un
boceto para ser cargado desde el puerto serial / USB usando un protocolo y
velocidad específicos. Si no se detecta ninguna conexión, la ejecución se pasa al
código de su boceto.

Este pequeño fragmento de código (generalmente de 512 bytes) se llama


"Bootloader" y se encuentra en un área de la memoria del microcontrolador, al
final del espacio de direcciones, que no se puede reprogramar como un boceto
normal y se había diseñado para tal fin.
El mapa de memoria de un ATmega328P

Para programar el gestor de arranque y proporcionar al microcontrolador la


compatibilidad con el software Arduino (IDE) es necesario utilizar un
programador en serie en circuito (ISP) que es el dispositivo que se conecta a un
conjunto específico de pines del microcontrolador para realizar la programación.
de toda la memoria flash del microcontrolador, incluido el gestor de arranque. El
procedimiento de programación del ISP también incluye la escritura de fusibles:
un conjunto especial de bits que definen cómo funciona el microcontrolador en
circunstancias específicas.

UTILICE ARDUINO COMO ISP

Todo el proceso de cargar el código del gestor de arranque y de quemar


correctamente los fusibles para convertir un microcontrolador ATmega en un
"Arduino" está gestionado por el software Arduino (IDE): proporciona un
elemento de menú específico y le permite utilizar una variedad de dispositivos de
programación. Entre los programadores, el "Arduino como ISP" es la solución
más barata y práctica para grabar un cargador de arranque en otra placa Arduino
con ATmega, 32U4 o ATtiny.

El proceso de programación utiliza VCC, GND y cuatro pines de datos. Tres


pines conectan MISO, MOSI y SCK entre el micro de programación y el micro
objetivo, el cuarto pin del micro de programación va al pin de reinicio del objetivo.
CÓMO CABLEAR TUS TABLEROS

La siguiente tabla muestra en qué pines están divididos MOSI, MISO y SCK en
las diferentes placas Arduino:

Tablero Arduino MOSI MISO SCK Nivel

Uno o Duemilanove 11 o ICSP-4 12 o ICSP-1 13 o ICSP-3 5V

Mega1280 o Mega2560 51 o ICSP-4 50 o ICSP-1 52 o ICSP-3 5V

Leonardo ICSP-4 ICSP-1 ICSP-3 5V

Vencer ICSP-4 ICSP-1 ICSP-3 3,3 V

Cero ICSP-4 ICSP-1 ICSP-3 3,3 V

101 11 o ICSP-4 12 o ICSP-1 13 o ICSP-3 3,3 V

La interfaz SPI, y por lo tanto estos pines, es la interfaz utilizada para programar
los microcontroladores AVR. Tenga en cuenta que MISO, MOSI y SCK están
disponibles en una ubicación física coherente en el encabezado ICSP; este
conector también lo utilizan los blindajes que dependen de la interfaz SPI, lo que
permite el diseño de blindajes que funcionan en cada placa.

En el Arduino UNO en la siguiente imagen, hemos resaltado en rojo las


conexiones en las tiras hembra; en amarillo el conector ICSP que se conecta al
ATmega328P. Tenga en cuenta que la placa Rev.3 tiene un chip ATMega 16U2
que administra la conexión USB y también ese chip se puede reprogramar a
través de un conector dedicado etiquetado ICSP2, justo encima del ATMega
16U2.
En algunas placas Arduino (consulte la tabla anterior), los pines MOSI, MISO y
SCK son los mismos pines que los pines digitales 11, 12 y 13,
respectivamente. Es por eso que muchos tutoriales le indican que conecte el
objetivo a estos pines. Si encuentra este cableado más práctico, defina
USE_OLD_STYLE_WIRING. Esto funcionará incluso cuando no se use un
Uno. (Con la placa Uno esto no es necesario).
En la imagen de arriba, estamos conectando dos placas UNO para quemar el
cargador de arranque con las conexiones de "estilo antiguo": la placa superior es
Target, la placa inferior es el Programador. Tenga en cuenta la conexión amarilla
de D10 del programador al RESET del objetivo. En la familia de placas MKR, no
puede usar D10 para reiniciar; sugerimos D6 y debe recordar cambiar la línea 73
del boceto de ArduinoISP - #define RESET 10 - poniendo "6" en lugar de 10.
Este Arduino NANO se programa a través de su conector ICSP con cables
provenientes de D10-D13 de la placa programadora UNO.
El Arduino MEGA anterior está programando un Arduino UNO que conecta D51-
D11, D50-D12, D52-D13, GND-GND, 5V-5V y D10 para RESET. Este tipo de
placa necesita un condensador electrolítico de 10 µ F conectado a RESET y
GND con el positivo (pata larga) conectado a RESET. El condensador debe
colocarse después de que la placa del programador se haya cargado con el
boceto del ISP.

El condensador electrolítico de 10 µ F conectado a RESET y GND de la placa de


programación es necesario solo para las placas que tienen una interfaz entre el
microcontrolador y el USB de la computadora, como Mega, Uno, Mini, Nano. Las
placas como Leonardo, Esplora y Micro, con el USB administrado directamente
por el microcontrolador, no necesitan el condensador.

ACERCA DE LOS VOLTAJES

La familia de placas Arduino incluye dispositivos de 5V y 3.3V. Cuando utilice un


Arduino que no es tolerante a 5V (Due, Zero,...) como programador, asegúrese
de no exponer ninguno de los pines del programador a 5V. Una forma sencilla de
lograr esto es alimentar el sistema completo (programador y objetivo) en 3V3.
En la imagen de arriba puede ver el cableado entre un MKR1000 y un
UNO. Como se describió anteriormente, todo funciona con 3.3V, tomado de VCC
y GND del MKR1000 y enviado a 5V y GND de UNO. Se podría hacer la misma
conexión con el ICSP de la UNO siguiendo el pinout explicado en la
página. Hemos utilizado los mismos colores para los cables que en las otras
imágenes para ayudarlo a cambiar del "cableado antiguo" al conector ICSP con
facilidad. Tenga en cuenta que la familia de placas MKR comparte el mismo
pinout, por lo que puede utilizar cualquier placa MKR como programador ISP. Si
usa una placa MKR como programador ISP, recuerde cambiar la línea 73 del
ArduinoISP que define el pin real utilizado en la placa MKR para restablecer el
objetivo (6 en la imagen de arriba).
Nota: No conecte a USB ni suministre energía a las placas mientras
configura las conexiones y los cables. También le sugerimos que primero
programe el Arduino utilizado como programador ISP antes de proceder
con el cableado a la placa de destino.

CARGAR EL BOCETO

El Arduino que usarás como programador necesita un boceto específico. Lo


encontrará en Ejemplos> 11. ArduinoISP> ArduinoISP.

Al recorrer las líneas del boceto, encontrará una serie de parámetros que deben
configurarse de acuerdo con el tablero de destino. Sin embargo, estos
parámetros se establecen mediante un archivo específico disponible para cada
cargador de arranque / placa compatible con el software Arduino (IDE). Otros
parámetros se explican claramente en los comentarios y solo deben cambiarse si
sabe lo que está haciendo. El boceto también admite tres LED que le brindan
una retroalimentación visual sobre el proceso de programación.
Para cargar el boceto en su placa Arduino, la que usará como programador,
debe seleccionar el tipo de placa y el puerto, luego puede proceder como de
costumbre.

PROGRAMA EL GESTOR DE ARRANQUE

Si todos los cables están configurados, debe cambiar al tipo de placa que desea
programar con el gestor de arranque. Este paso es obligatorio para seleccionar
el código de cargador de arranque adecuado y las configuraciones de fusibles. El
procedimiento de programación verifica la firma del microcontrolador antes de
realizar cualquier acción de escritura, pero muchas placas comparten el mismo
microcontrolador y cada placa tiene su propio cargador de arranque. El puerto
sigue siendo el del ArduinoISP.
Elija "Grabar cargador de arranque" en herramientas y espere el mensaje de
confirmación en la parte inferior de la interfaz del software Arduino (IDE). Si
conectó los LED, puede seguir el proceso visualmente.

EL MODO DE PROGRAMACIÓN EN SERIE

El proceso de programación gestiona las tres líneas SPI (MISO, MOSI y SCK)
según el protocolo de programación estándar SPI, el mismo que se utiliza para
leer y escribir tarjetas de memoria SD. La única diferencia con las tarjetas de
memoria es la falta de un pin CS (selección de chip). En nuestros
microcontroladores AVR usamos el pin RESET que detiene la ejecución de
cualquier sketch o gestor de arranque y pone al microcontrolador en un estado
específico donde escucha los comandos que llegan desde la interfaz SPI. El
primer comando que requiere el protocolo es el que ingresa al microcontrolador
en el modo de programación en serie .

Una vez que este modo específico está activo, podemos escribir y leer todas las
áreas programables del microcontrolador: Flash, EEPROM y Fusibles. Al final de
la memoria Flash, tenemos el área de código del cargador de arranque, como se
resalta en la imagen al comienzo de este artículo. El procedimiento "Grabar
cargador de arranque" también configura correctamente los fusibles del
microcontrolador de acuerdo con el diseño de la placa. Esta es una de las
razones por las que debe grabar el gestor de arranque seleccionando su modelo
de placa exacto en la lista.

ASPECTOS TÉCNICOS DE LA PROGRAMACIÓN

La herramienta de software de código abierto que se utiliza para programar el


microcontrolador es avrdude . El proceso pasa por cuatro pasos: desbloquear la
sección del cargador de arranque del chip, colocar los fusibles en el chip, cargar
el código del cargador de arranque en el chip, bloquear la sección del cargador
de arranque del chip.

Los fusibles se gestionan de acuerdo con las preferencias almacenadas en cada


archivo de parámetros asociado a la placa, evitando posibles errores.

La gestión de fusibles, normalmente un conjunto de tres bytes (bajo, alto y


extendido), es el aspecto más delicado de la programación del gestor de
arranque: una configuración incorrecta del fusible podría bloquear el
microcontrolador y la placa. Los fusibles definen muchos aspectos de las
funciones del microcontrolador, como: seleccionar diferentes fuentes de reloj y
cambiar la rapidez con la que se ejecuta el chip, establecer el voltaje mínimo
requerido antes de que funcione el chip (caída de voltaje), establecer si se usa o
no un cargador de arranque, establecer cuánta memoria se asigna al cargador
de arranque (de 256 a 2048 palabras - 512 a 4096 bytes), deshabilitando el
reinicio o la programación en serie y evitando que se borren los datos EEPROM
al cargar un nuevo boceto.

La descripción detallada de los fusibles se puede encontrar en la hoja de datos


de cada microcontrolador.

Cada configuración tiene su propio uso y es lógico permitir que el desarrollador


bloquee el chip y lo proteja de la programación del ISP, pero puede ocurrir que
establezca por error un fusible de manera incorrecta, bloqueándolo del proceso
de programación a través de la interfaz del ISP. . Para recuperar el
microcontrolador, debe confiar en un programador en serie de alto voltaje que
usa 12V para restablecer los fusibles.

RESUMEN: GRABE EL CARGADOR DE ARRANQUE EN 8 PASOS

 Abra el firmware ArduinoISP (en los ejemplos) en su placa Arduino.

 Nota para Arduino 1.0: debe realizar un pequeño cambio en el código


ArduinoISP. Busque la línea en la función heartbeat () que dice "delay (40);" y
cámbielo a "retraso (20);".

 Seleccione los elementos de los menús Tools> Board y Serial Port que
corresponden a la placa que está utilizando como programador (no la placa que
se está programando).

 Sube el boceto de ArduinoISP.

 Cablee sus placas Arduino.

 Seleccione el elemento en el menú Herramientas> Tablero que corresponde al


tablero en el que desea grabar el gestor de arranque (no el tablero que está
usando como programador). Consulte las descripciones de la placa en la página
del entorno para obtener más detalles.

 Seleccione Arduino como ISP en el menú Herramientas> Programador.

 Utilice el comando Burn Bootloader


11.2.- DE ARDUINO A UN MICROCONTROLADOR EN UNA PLACA DE
PRUEBAS

Este tutorial explica cómo migrar de una placa Arduino a un microcontrolador


independiente en una placa de pruebas. Es similar a este tutorial , pero usa una
placa Arduino para programar el ATmega en la placa.

A menos que elija usar la configuración mínima descrita al final de este tutorial,
necesitará cuatro componentes (además de Arduino, ATmega328P y
protoboard):

 un cristal de 16 MHz,

 una resistencia de 10k, y

 dos condensadores de 18 a 22 picofaradios (cerámicos).

QUEMANDO EL CARGADOR DE ARRANQUE

Si tiene un nuevo ATmega328P (o ATmega168), deberá grabar el gestor de


arranque en él. Puede hacer esto usando una placa Arduino como un programa
en el sistema (ISP). Si el microcontrolador ya tiene el cargador de arranque (por
ejemplo, porque lo sacó de una placa Arduino o pidió un ATmega ya cargado),
puede omitir esta sección.

Para grabar el gestor de arranque, siga estos pasos:

1. Cargue el boceto de ArduinoISP en su placa Arduino. (Deberá seleccionar


la placa y el puerto serie en el menú Herramientas que correspondan a su
placa).

2. Conecte la placa Arduino y el microcontrolador como se muestra en el


diagrama de la derecha.
3. Seleccione "Arduino Duemilanove o Nano w / ATmega328" en el menú
Herramientas> Placa. (O "ATmega328 en una placa de pruebas (reloj
interno de 8 MHz)" si usa la configuración mínima que se describe a
continuación).

4. Seleccione "Arduino como ISP" en Herramientas> Programador

5. Ejecutar herramientas> Grabar cargador de arranque

Solo debería necesitar grabar el gestor de arranque una vez. Una vez que lo
haya hecho, puede quitar los cables de puente conectados a los pines 10, 11, 12
y 13 de la placa Arduino.

Usando una placa Arduino para grabar el cargador de arranque en un ATmega


en una placa de pruebas.
CARGA USANDO UNA PLACA ARDUINO

Una vez que su ATmega328P tiene el cargador de arranque Arduino, puede


cargar programas en él usando el convertidor de USB a serie (chip FTDI) en una
placa Arduino. Para hacerlo, quita el microcontrolador de la placa Arduino para
que el chip FTDI pueda hablar con el microcontrolador en la placa de pruebas. El
diagrama de la derecha muestra cómo conectar las líneas RX y TX de la placa
Arduino al ATmega en la placa. Para programar el microcontrolador, seleccione
"Arduino Duemilanove o Nano w / ATmega328" en el menú Herramientas> Placa
(o "ATmega328 en una placa (reloj interno de 8 MHz)" si está utilizando la
configuración mínima descrita a continuación). Luego cargue como de
costumbre.

Carga de bocetos en un ATmega en una placa de pruebas. ¡Recuerde quitar el


microcontrolador de la placa Arduino!

CIRCUITO MÍNIMO (ELIMINANDO EL RELOJ EXTERNO)

Si no tiene el cristal adicional de 16 MHz y los condensadores de picofaradio 18-


22 utilizados en los ejemplos anteriores, puede configurar el ATmega328P para
que utilice su oscilador RC interno de 8 MHz como fuente de reloj. (Tampoco
necesita la resistencia pullup de 10K en el pin de reinicio, por lo que la
eliminamos para obtener una configuración realmente mínima).

Deberá instalar el soporte para una configuración de hardware adicional:


1. Descargue este archivo de configuración de hardware: breadboard-1-6-
x.zip , Breadboard1-5-x.zip o Breadboard1-0-x.zip, según el IDE que
utilice.

2. Cree una subcarpeta de "hardware" en la carpeta de su cuaderno de


bocetos de Arduino (cuya ubicación puede encontrar en el cuadro de
diálogo de preferencias de Arduino). Si ya instaló soporte para
configuración de hardware adicional, es posible que ya tenga una carpeta
de "hardware" en su cuaderno de bocetos.

3. Mueve la carpeta de la placa de pruebas del archivo zip a la carpeta


"hardware" de tu cuaderno de bocetos Arduino.

4. Reinicie el software Arduino.

5. Debería ver "ATmega328 en una placa (reloj interno de 8 MHz)" en el


menú Herramientas> Placa.

Una vez que haya hecho esto, puede grabar el gestor de arranque y cargar
programas en su ATmega328P como se describe anteriormente. Asegúrese de
seleccionar "ATmega328 en una placa (reloj interno de 8 MHz)" al grabar el
gestor de arranque. (Si selecciona el elemento incorrecto y configura el
microcontrolador para usar un reloj externo, no funcionará a menos que conecte
uno).

Atención

Este procedimiento funciona en el software Arduino 1.0.x.


Usando una placa Arduino para grabar el gestor de arranque en un ATmega en
una placa (sin reloj externo).
Carga de bocetos en un ATmega en una placa de pruebas.

DESHACERSE DE LA PLACA ARDUINO

Una vez que haya programado el ATmega en el tablero, puede eliminar el


Arduino. Para hacerlo, deberá proporcionar una fuente de alimentación
alternativa para el microcontrolador. Consulte el tutorial independiente de
Arduino en una placa de pruebas para obtener más detalles.
11.3.- CONSTRUYENDO UN ARDUINO EN UNA PLACA DE PRUEBAS

DESCRIPCIÓN GENERAL

Este tutorial le muestra cómo construir una placa compatible con Arduino con un
microcontrolador Atmel Atmega8 / 168/328 AVR y una placa
de conexión FTDI FT232 de SparkFun . También puede utilizar el Arduino USB
Mini .

Creado originalmente por David A. Mellis


Actualizado a partir de la versión ITP por Carlyn Maw
Actualizado el 23 de octubre de 2008 por Rory Nugent

PARTES

Para hacer esto, necesitará:

Las provisiones
PARTES BÁSICAS PARA EL CABLEADO DE ARDUINO

 Una placa de pruebas


 Alambre 22 AWG
 7805 Regulador de voltaje
 2 LED
 2 resistencias de 220 ohmios
 1 resistencia de 10k Ohm
 2 condensadores de 10 uF
 Cristal de reloj de 16 MHz
 2 condensadores de 22 pF
 pequeño botón momentáneo normalmente abierto ("apagado"), es decir, Omron
tipo B3F

TARJETA DE COMUNICACIÓN USB A SERIE


Necesitará una placa de conexión USB FT232 de SparkFun . Hay dos opciones
disponibles de ellos:

 FT232RL Placa de conexión de USB a serie, SKU BOB-0071


 Placa USB serie Arduino, SKU DEV-08165

Si planea usar la opción superior y aún no ha soldado los encabezados a la placa


de conexión, ahora sería un buen momento.

CARGA DE ARRANQUE DE SUS CHIPS ATMEGA


Hay varias opciones para cargar sus chips Atmega, algunas de las cuales se
tratan en este tutorial. Si desea cargar sus chips Atmega usando su tablero, una
pieza adicional le hará la vida mucho más fácil, pero no es necesaria. Adaptador
de programación AVR de Sparkfun, SKU. BOB-08508

AGREGAR CIRCUITOS PARA UNA FUENTE DE ALIMENTACIÓN

Si ya ha trabajado con microcontroladores, es probable que ya tenga una forma


preferida de conectar una fuente de alimentación a su placa, así que hágalo de
esa manera. En caso de que necesite algunos recordatorios, aquí hay algunas
imágenes de una forma de hacerlo. (Esta versión utiliza una fuente de
alimentación regulada de 5 V)
Principales líneas eléctricas

Agregue cables de alimentación y de tierra para el lugar donde estará su regulador


de voltaje.

Líneas eléctricas inferiores

Agregue cables de alimentación y de tierra en la parte inferior de su placa que


conectan cada riel.

Agregue el 7805 y los capacitores de desacoplamiento

Agregue el regulador de potencia 7805 y las líneas para alimentar la placa. El


regulador es un paquete TO-220 donde la entrada de la fuente de alimentación
externa va a la entrada a la izquierda, la tierra está en el medio y la salida de 5 V
está a la derecha (cuando mira hacia el frente del regulador). Agregue energía
OUT y cables de tierra que se conectan a los rieles derecho e izquierdo de la
placa de pruebas.

Además, agregue un capacitor de 10uF entre la ENTRADA del regulador y la


tierra, así como un capacitor de 10uF en el riel derecho entre la energía y la
tierra. La franja plateada del condensador significa la pata de tierra.

DIRIGIÓ

Agregue un LED y una resistencia de 220 ohmios en el lado izquierdo de su


tablero frente al regulador de voltaje. Un LED conectado a la alimentación como
este es un gran truco para solucionar problemas. Siempre sabrá cuándo se está
alimentando su placa y también sabrá rápidamente si su placa está en
cortocircuito.

Entrada de fuente de alimentación

Los cables rojo y negro a la izquierda del regulador de voltaje es donde se


conectará la fuente de alimentación. El cable rojo es para la ALIMENTACIÓN y el
cable negro es para TIERRA. Asegúrese de conectar solo una fuente de
alimentación de entre 7 y 16 V. Un poco más bajo y no obtendrá 5V de su
regulador. Más alto y su regulador pueden resultar dañados. Es adecuada una
batería de 9 V, una fuente de alimentación de 9 V CC o una fuente de
alimentación de 12 V CC.

Lienzo en blanco

Ahora que ha terminado con los conceptos básicos de energía, ¡está listo para
cargar el chip!

ATMEGA8 / 168/328 CONCEPTOS BÁSICOS


Mapa de Pin Arduino

Antes de continuar, mira esta imagen. Es un gran recurso para aprender qué hace
cada uno de los pines en su chip Atmega en relación con las funciones de
Arduino. Esto aclarará mucha confusión detrás de por qué conecta ciertos pines
de la forma en que lo hace. Para obtener información aún más detallada, eche un
vistazo a la hoja de datos del Atmega 168 (versión corta) (versión larga). Aquí está
la hoja del atmega328 (versión corta) (versión larga)
Agregar circuitos de apoyo

Comience conectando una resistencia pullup de 10k ohmios a + 5V desde el pin


RESET para evitar que el chip se reinicie durante el funcionamiento normal. El pin
RESET reinicia el chip cuando se baja al suelo. En pasos posteriores, le
mostraremos cómo agregar un interruptor de reinicio que aproveche esto.

 Pin 7 - Vcc - Voltaje de suministro digital


 Pin 8 - GND
 Pin 22 - GND
 Pin 21 - AREF - Pin de referencia analógica para ADC
 Pin 20 - AVcc - Suministro de voltaje para el convertidor ADC. Debe estar
conectado a la alimentación si no se utiliza ADC y a la alimentación a través de un
filtro de paso bajo si lo está (un filtro de paso bajo es un circuito que reduce el
ruido de la fuente de alimentación. Este ejemplo no está usando uno)
Agregar el reloj y las mayúsculas
Agregue un reloj externo de 16 MHz entre los pines 9 y 10, y agregue dos
capacitores de 22 pF a tierra desde cada uno de esos pines.

Agregar un interruptor de reinicio

Agregue el pequeño interruptor táctil para que pueda reiniciar el Arduino cuando lo
deseemos y preparar el chip para cargar un nuevo programa. Una presión
momentánea rápida de este interruptor restablecerá el chip cuando sea
necesario. Agregue el interruptor justo encima de la parte superior del chip Atmega
cruzando el espacio en la placa de pruebas. Luego, agregue un cable desde la
pata inferior izquierda del interruptor al pin RESET del chip Atmega y un cable
desde la pata superior izquierda del interruptor a tierra.
Cables LED en el pin 13 de Arduino

El chip utilizado en esta placa en realidad ya está programado con el programa


blink_led que viene con el software Arduino. Si ya tiene una placa de circuito
impreso Arduino en funcionamiento, es una buena idea seguir adelante y verificar
la versión de la placa de pruebas que está construyendo con un chip que sabe que
funciona. Extraiga el chip de su Arduino en funcionamiento y pruébelo en esta
placa. El programa blink_led parpadea en el pin 13. El pin 13 del Arduino NO es el
pin 13 del AVR ATMEGA8-16PU / ATMEGA168 -16PU. En realidad es el pin 19
del chip Atmega.
Consulte el mapeo de pines anterior para asegurarse de que lo está conectando
correctamente.

LED en Arduino Pin 13

Finalmente, agregue el LED. La pata larga o el ánodo se conecta al cable rojo y la


pata corta o el cátodo se conecta a la resistencia de 220 ohmios que va a tierra.
Listo para Arduino!
En este punto, si ya había programado su chip en otro lugar y no necesitaba este
circuito de placa para reprogramar el chip, puede detenerse aquí. Pero parte de la
diversión es la programación en circuito, ¡así que sigue creando un circuito USB-
Arduino completo en una placa de pruebas!

LISTO PARA ARDUINO

Agregue FT232 USB a la placa serial

Ahora agregaremos el USB a la placa de conexión en serie a nuestro circuito de


placa de pruebas Arduino. Si no ha agregado encabezados masculinos a su
tablero de ruptura, deberá hacerlo ahora.

Conecte el VCCIO de la placa de conexión a la alimentación y el GND a tierra.


La distribución de puntas del Sparkfun FT232 ruptura

Es curioso saber cuáles son todos los pines para la placa


de conexión SparkFun FT232 , ¡simplemente dale la vuelta! En esta situación,
usaremos VCC (para suministrar 5 V desde el puerto USB a su placa), GND, TXD
y RXD.
Conexión de TX y RX
Ahora es el momento de hacer que la placa de conexión USB a serie se
comunique con su nueva configuración de Arduino. Conecte el RX (pin 2) de su
chip Atmega al TX de la placa USB a serie, y conecte el TX (pin 3) de su chip
Atmega al RX de la placa USB a serie.

Y ahí lo tienes ... ¡listo para ser enchufado, encendido y programado!

Pero espera, hay otro paso, ¿verdad? Si sacó su chip Atmega de su Arduino, lo
más probable es que haya sido programado varias veces por usted mismo y, por
lo tanto, definitivamente se cargó, por lo que no necesitará avanzar más en este
tutorial.

Sin embargo, si compró algunos chips Atmega328 o Atmega168 adicionales en


una tienda en línea, NO se habrán cargado con el cargador de arranque Arduino
(con la excepción de Adafruit Industries ). ¿Qué significa esto? No podrá
programar sus chips usando el USB a la placa de conexión en serie y el software
Arduino. Por lo tanto, para que sus nuevos chips sean útiles para Arduino, DEBE
iniciarlos y DEBE consultar el paso 4.

OTRAS OPCIONES DE TABLERO

LA CONFIGURACIÓN DE UDUINO POR TYMN TWILLMAN

Esta configuración es similar a la anterior, pero el truco es que el chip Atmega se


carga con el cargador de arranque Arduino Lilypad. El Lilypad se ejecuta utilizando
el reloj interno en lugar de un reloj externo y, por lo tanto, elimina la necesidad de
gran parte de los circuitos de soporte.

BOARDUINO DE LADYADA

El Boarduino es un kit que usted compra y ensambla para crear una configuración
Arduino compatible con una placa de prueba pequeña y agradable. Todos los
componentes comunes están incluidos en una pequeña PCB para que el
Boarduino pueda agregarse fácilmente a una placa de pruebas e incluso quitarse,
en un instante.

CARGAR TUS CHIPS OPCIONAL

OPCIONES DE CARGA DE ARRANQUE


Hay dos opciones para cargar sus chips. El primero es bastante fácil y el otro un
poco más complicado. Cubriremos ambos.
 Cargar su chip Atmega usando una placa Arduino y un programador AVR
 Cargar su chip Atmega en su placa de pruebas recién preparada con un
programador AVR

También hay muchos tipos diferentes de programadores AVR, pero dos son los
más utilizados:

AVRISP mkII
USBtinyISP

ArduinoISP

El AVRISP mkII se puede comprar en Digikey (Parte # ATAVRISP2-ND ) mientras


que el USBtinyISP se debe ensamblar y se puede encontrar en Adafruit
Industries . La documentación y los enlaces a la tienda Arduino y a la lista de
distribuidores se pueden encontrar en la página del producto ArduinoISP .

USANDO UNA PLACA ARDUINO

Carga de arranque en una placa Arduino

Coloque su chip Atmega en la placa Arduino con la ranura del chip hacia
afuera. Coloque el puente en una fuente de alimentación externa y conecte un
bloque de alimentación de 12 V (su placa debe recibir alimentación externa
cuando se usa el AVR ISP mkII, pero no se necesita con el AVRtinyISP ). Luego,
conecte el enchufe hembra de 6 pines de su programador AVR a los 6 pines ICSP
del cabezal macho con la protuberancia de plástico del cabezal del cable plano
hacia adentro.

NOTA: El AVR ISP mkII enciende su LED verde cuando se han conectado
correctamente y están listos para la programación. El LED se vuelve rojo si está
mal conectado.

USANDO TU PROTOBOARD
Adaptador de programación AVR

Al cargar un chip Atmega en una placa de prueba, el adaptador de programación


AVR (SKU BOB-08508 ) de Sparkfun es increíblemente útil. Este adaptador divide
los 6 pines del programador en 6 pines en línea para una fácil conexión a la placa
de pruebas. Todos los pines también están etiquetados, lo que facilita la conexión
a su chip.

Cable programador AVR de 6 pines

No se preocupe, si no tiene un adaptador de programación AVR, aún puede


cargar sin él. Sin embargo, será más un dolor de cabeza configurarlo. Las dos
imágenes de la izquierda son excelentes referencias al conectar un programador a
un chip Atmega sin una placa adaptadora. Las imágenes le dirán cuáles son todos
los agujeros en el enchufe AVR de 6 pines y simplemente necesitará pegar cables
en el extremo y ejecutarlos en su chip Atmega.

Cabezal de cable programador AVR de 6 pines

Esta imagen es una vista desde la parte inferior y etiqueta cada uno de los
agujeros. Tome nota del cuadrado en cuanto a la orientación de su cable.

Agregue energía y tierra

¡Vamos a empezar!
Con la placa de pruebas que preparó anteriormente, agregue dos cables de
alimentación y tierra para su programador AVR.

Conecte el adaptador AVR

Ahora conecte el adaptador de programación AVR en la placa de pruebas con el


pin GND que coincide con el cable de tierra que acaba de ejecutar y el pin de 5 V
que coincide con el cable de alimentación que acaba de ejecutar.
Agregue los cables MISO, SCK, RESET y MOSI
En este paso, deberá agregar los últimos cuatro cables que necesita el
programador del AVR para una carga de arranque adecuada. Asegúrese de
consultar el mapeo de pines de Arduino para obtener ayuda con el cableado.

 El pin MISO de su adaptador irá al pin 18 o al pin 12 digital Arduino de su chip


Atmega.
 El pin SCK de su adaptador irá al pin 19 o al pin 13 digital Arduino de su chip
Atmega.
 El pin RESET de su adaptador irá al pin 1 de su chip Atmega.
 El pin MOSI de su adaptador irá al pin 17 o al pin digital Arduino 11 de su chip
Atmega.

Conecte el cable USB y el cable de programación AVR

¡Casi llegamos! Simplemente conecte un cable USB a su placa de conexión USB y


conecte el enchufe de 6 pines de su programador AVR a su adaptador de
programación AVR. La protuberancia negra de la cabeza de 6 pines debe mirar
hacia arriba, hacia el chip Atmega. En el siguiente paso, le mostraremos que debe
usar el software Arduino para grabar su gestor de arranque.

¡HORA DE ARDER!

Elige tu tipo de tabla

Encienda Arduino y luego vaya a 'Herramientas' y 'Tablero'. La elección del tipo de


placa que le gustaría usar afectará el gestor de arranque que se colocará en su
chip. Por lo general, utilizará Diecimilia o la versión más reciente de Arduino para
un PDIP de Atmega, sin embargo, si desea cargar un Arduino Lilypad, Arduino
Mini, Arduino Nano o cualquiera de las versiones anteriores de Arduino, elija la
placa adecuada .

Elija

su programador. ¡Quemar!

Luego, vaya a 'Herramientas' y 'Grabar cargador de arranque' y elija el


programador que utilizará.
Incendio

Una vez que elija su programador, el programador AVR comenzará a cargar su


chip Atmega y aparecerá un mensaje en la barra de estado que dice "Grabando el
cargador de arranque en la placa de E / S (esto puede demorar un minuto) ..." Las
luces parpadearán en su programador.
¡Quemar completo!

Cuando termine de cargar el arranque, la barra de estado se actualizará con el


mensaje "Terminado de grabar el cargador de arranque". ¡Su chip ahora está listo
para ser programador usando el software Arduino! ¡Felicitaciones! Apague y
encienda su Arduino y su nuevo chip Atmega ejecutará un programa de parpadeo
de LED simple con el pin 13 (si este no es el caso, intente programarlo con
uno). Si esto funciona, definitivamente fue un éxito.

NOTA: En ocasiones, el proceso de carga de arranque de un chip Atmega con el


AVR ISP mkII llevará un período de tiempo extraordinariamente largo. Por lo
general, solo debería tomar un par de minutos y, de hecho, el AVRtinyISP termina
mucho más rápido. Sin embargo, hay ocasiones en las que después de 5 a 10
minutos todavía parece que se está cargando. Encontré que esto era un
inconveniente extraño (tal vez sea una verificación triple del flujo de datos) y
después de darle tiempo suficiente, 10 minutos más o menos, generalmente
desconecto el programador solo para descubrir que el proceso de grabación es un
éxito y terminó hace mucho tiempo. . De ninguna manera apoyo este método y
usted asume toda la responsabilidad en lo que pueda suceder con su chip, pero
en mi experiencia ha sido bastante inofensivo, aunque debe proceder con
precaución. Es muy posible que dañe su chip en el proceso.

También podría gustarte