Tabla de contenido:

Programador ATTiny HV: 4 pasos
Programador ATTiny HV: 4 pasos

Video: Programador ATTiny HV: 4 pasos

Video: Programador ATTiny HV: 4 pasos
Video: Programador para ATtiny85 con Arduino 2024, Mes de julio
Anonim
Programador ATTiny HV
Programador ATTiny HV
Programador ATTiny HV
Programador ATTiny HV

Este instructivo es para una utilidad de programación ATTiny que usa un ESP8266 y una interfaz de usuario basada en navegador. Sigue a un editor de fusibles instructable anterior para leer y configurar los fusibles, pero ahora admite borrar, leer y escribir las memorias flash y EEPROM.

El soporte de fusibles permite realizar cambios en los ajustes controlados por los 2 bytes de fusibles, una actividad muy sencilla.

Los soportes de memoria permiten realizar copias de seguridad y restaurar el contenido de la memoria flash y EEPROM. También se puede escribir contenido nuevo de archivos hexadecimales. Esto hace que restaurar o escribir nuevos cargadores de arranque de micronúcleos sea muy simple.

El dispositivo tiene las siguientes características.

  • Servidor web que admite lectura y escritura de datos de fusibles y una página de editor que brinda fácil acceso a las opciones de fusibles.
  • Chip de borrado (necesario antes de escribir material nuevo)
  • Leer y escribir datos de programas Flash desde archivos hexadecimales
  • Lectura y escritura de datos EEPROM de archivos hexadecimales
  • Soporte para variantes ATTiny 25, 45 y 85
  • Alimentado por USB con generador interno de 12V para programación de alto voltaje
  • Configuración de la red wifi mediante el punto de acceso wifiManager Acceso del navegador al sistema de archivo ESP8266 SPIFFS para cargar y descargar archivos
  • Actualización OTA del firmware ESP8266

Paso 1: componentes y herramientas

Componentes

  • Módulo ESP-12F
  • Módulo de refuerzo de 5 V a 12 V
  • toma micro USB con conector soldable
  • Condensador de tantalio 220uF
  • Regulador LDO xc6203 3.3V
  • Transistores MOSFET 3x n channel AO3400 1 x p-channel AO3401
  • Resistencias 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • bloque de encabezado de pin
  • Pequeña pieza de tablero para circuitos de soporte
  • conectar wireEnclosure (utilicé una caja impresa en 3D en

Instrumentos

  • Soldador de punta fina
  • Pinzas
  • Cortadores de alambre

Paso 2: Electrónica

Electrónica
Electrónica

El esquema muestra que toda la energía se deriva de una conexión USB de 5V. Un regulador proporciona 3.3V al módulo ESP-12F. Un pequeño módulo de refuerzo produce los 12 V necesarios para la programación de alto voltaje.

El ESP GPIO proporciona las 4 señales lógicas utilizadas en la programación de alto voltaje (reloj, entrada de datos, salida de datos y entrada de comando).

Un GPIO se usa para encender y apagar un transistor MOSFET alimentado por el riel de 12V a través de una resistencia de 1K. Cuando el GPIO está alto, el tMOSFET está encendido y su drenaje está a 0V. Cuando el GPIO se configura bajo, el drenaje aumenta a los 12 V necesarios para configurar el modo de programación de alto voltaje. Se puede usar un segundo GPIO para bajar los 12 V de alto a 4 V para que pueda usarse como una señal de reinicio convencional. Esta función no se utiliza actualmente, pero podría utilizarse para admitir la programación SPI en lugar de la programación de alto voltaje.

Un GPIO se usa para encender y apagar un controlador MOSFET de 2 etapas para el suministro de 5 V al ATTiny. Esta disposición se utiliza para cumplir con la especificación de que cuando se enciende el 5V tiene un tiempo de subida rápido. Esto no se cumple impulsando el suministro directamente desde un GPIO, particularmente con el condensador de desacoplamiento 4u7 presente en la mayoría de los módulos ATTiny. Se utiliza una resistencia de bajo valor para amortiguar el pico de corriente causado por el encendido rápido de los transistores MOSFET. Puede que no sea necesario, pero se usa aquí para evitar cualquier problema técnico que pudiera ser causado por este pico de activación.

Tenga en cuenta que el esquema difiere un poco de la versión anterior del editor de fusibles. Los pines GPIO se reasignan para hacer posible la programación SPI, aunque el software no lo usa en este momento. Los pines que leen las señales del ATTiny tienen protección adicional para las señales de 5V utilizadas.

Paso 3: Montaje

Montaje
Montaje
Montaje
Montaje

La imagen muestra los componentes ensamblados en una pequeña caja. Una pequeña placa se encuentra en la parte superior del módulo ESP-12F y contiene el regulador de 3.3V y los 2 circuitos de control de voltaje.

El módulo de refuerzo de 12 V está a la izquierda y obtiene su alimentación de entrada del USB. El gabinete tiene una ranura para el bloque de encabezado de 7 pines para permitir conexiones al ATTiny. Después de conectar y probar, el USB y el bloque de encabezado se aseguran al gabinete con pegamento de resina.

Se puede imprimir una etiqueta a partir de la imagen para pegarla a la caja y ayudar a conectar las señales.

Paso 4: software e instalación

El software para el programador está en un boceto de Arduino ATTinyHVProgrammer.ino disponible en

Utiliza una biblioteca que contiene funciones web básicas, soporte de configuración wifi, actualizaciones OTA y acceso al sistema de archivo basado en navegador. Está disponible en

La configuración del software se encuentra en un archivo de encabezado BaseConfig.h. Los 2 elementos que se deben cambiar aquí son las contraseñas para el punto de acceso de configuración wifi y una contraseña para las actualizaciones OTA.

Compile y cargue al ESP8266 desde un IDE de Arduino. La configuración de IDE debe permitir una partición SPIFFS, por ejemplo, el uso de 2M / 2M permitirá OTA y un gran sistema de archivo. A continuación, se pueden realizar más actualizaciones utilizando OTA

Cuando se ejecute por primera vez, el módulo no sabrá cómo conectarse al wifi local, por lo que configurará una red AP de configuración. Use un teléfono o tableta para conectarse a esta red y luego busque 192.168.4.1. Aparecerá una pantalla de configuración de wifi y debe seleccionar la red adecuada e ingresar su contraseña. El módulo se reiniciará y se conectará usando esta contraseña a partir de ahora. Si se muda a una red diferente o cambia la contraseña de la red, el AP se activará nuevamente, así que siga el mismo procedimiento. Al ingresar al software principal después de conectarse a wifi, cargue los archivos en la carpeta de datos navegando a los módulos ip / upload. Esto permite que se cargue un archivo. Una vez que se cargan todos los archivos, se puede acceder más al sistema de archivo usando ip / edit. Si se accede a la ip /, se utiliza index.htm y aparece la pantalla principal del programador. Esto permite ver, editar y escribir datos de fusibles, borrar el chip y leer y escribir la memoria flashh y EEPROM.

Hay una serie de llamadas web que se utilizan para lograr esto.

  • ip / readFuses obtiene datos de fusibles actuales
  • ip / writeFuses escribe nuevos datos de fusibles
  • ip / erasechip borra el chip
  • ip / dataOp admite funciones de memoria de lectura y escritura, proporciona los siguientes parámetros

    • dataOp (0 = lectura, 1 = escritura)
    • dataFile (nombre del archivo hexadecimal)
    • eeprom (0 = Flash, 1 = eeprom)
    • versión (0 = 25, 1 = 45, 2 = 85)

además, se puede definir un parámetro AP_AUTHID en el croquis antes de compilar. Si está definido, debe ingresarse en la página web para permitir las operaciones.

ip / edit da acceso a los archivos; ip / firmware da acceso a actualizaciones OTA.

El formato de archivo hexadecimal son registros de estilo Intel compatibles con los producidos por Arduino IDE. Si hay un registro de dirección de inicio, se activará la inserción de una instrucción RJMP en la ubicación 0. Esto permite que los archivos del cargador de arranque de micronúcleos se programen en un chip borrado y funcionen. Para mayor comodidad, también se pueden leer y utilizar archivos hexadecimales sin formato que constan de una dirección hexadecimal de 4 caracteres seguida de 16 bytes de datos hexadecimales.

Recomendado: