Cuprins:

Programator ATTiny HV: 4 pași
Programator ATTiny HV: 4 pași

Video: Programator ATTiny HV: 4 pași

Video: Programator ATTiny HV: 4 pași
Video: Микроконтроллер ATtiny13 и язык Arduino. Подключение и прошивка. 2024, Iulie
Anonim
Programator ATTiny HV
Programator ATTiny HV
Programator ATTiny HV
Programator ATTiny HV

Acest instructable este pentru un utilitar de programare ATTiny care utilizează un ESP8266 și o interfață de utilizator bazată pe browser. Urmează un editor de siguranțe anterior instructabil pentru citirea și setarea siguranțelor, dar acum acceptă ștergerea, citirea și scrierea blițului și a memoriilor EEPROM.

Suportul de siguranțe permite modificarea setărilor controlate de cei 2 octeți de siguranțe o activitate foarte simplă.

Suportul de memorie permite backupul și restabilirea conținutului blițului și EEPROM. Poate fi scris și conținut nou din fișiere hex. Acest lucru face ca restaurarea sau scrierea noilor încărcătoare de încărcare pentru micronucleu să fie foarte simple.

Dispozitivul are următoarele caracteristici.

  • Server web care acceptă citirea și scrierea datelor de siguranță și o pagină de editor care oferă acces ușor la opțiunile de siguranță
  • Ștergerea cipului (necesară înainte de a scrie material nou)
  • Citirea și scrierea datelor programului Flash din fișiere hex
  • Citirea și scrierea datelor EEPROM din fișiere hex
  • Suport pentru ATTiny 25, 45 și 85 de variante
  • Alimentat prin USB cu generator intern de 12V pentru programare de înaltă tensiune
  • Configurarea rețelei Wifi folosind punctul de acces wifiManager Accesul browserului la sistemul de fișiere ESP8266 SPIFFS pentru încărcarea și descărcarea fișierelor
  • Actualizare OTA a firmware-ului ESP8266

Pasul 1: Componente și instrumente

Componente

  • Modul ESP-12F
  • Modul boost de 5V la 12V
  • mufa micro USB cu conector sudabil
  • Condensator de tantal 220uF
  • xc6203 Regulator LDO 3.3V
  • Tranzistori MOSFET 3x n canal AO3400 1 x p-canal AO3401
  • Rezistoare 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • bloc antet pin
  • Bucată mică de panou pentru circuitele de sprijin
  • conectați wireEnclosure (am folosit o cutie tipărită 3D la

Instrumente

  • Fier de lipit cu punct fin
  • Pensetă
  • Freze de sârmă

Pasul 2: Electronică

Electronică
Electronică

Schema arată că toată puterea este derivată dintr-o conexiune USB de 5V. Un regulator furnizează 3,3V modulului ESP-12F. Un mic modul de creștere produce 12V necesari pentru programarea de înaltă tensiune.

ESP GPIO oferă cele 4 semnale logice utilizate în programarea de înaltă tensiune (ceas, intrare date, ieșire date și intrare comandă).

Un GPIO este utilizat pentru a porni și opri un tranzistor MOSFET alimentat de șina de 12V printr-un rezistor de 1K. Când GPIO este ridicat, tMOSFET-ul este pornit și golirea acestuia este la 0V. Când GPIO este scăzut, scurgerea crește la 12V necesară pentru a seta modul de programare de înaltă tensiune. Un al doilea GPIO poate fi folosit pentru a coborî 12V maxim până la 4V, astfel încât să poată fi folosit ca semnal convențional de resetare. Această facilitate este în prezent neutilizată, dar ar putea fi utilizată pentru a sprijini programarea SPI mai degrabă decât programarea de înaltă tensiune.

Un GPIO este folosit pentru a porni și opri un driver MOSFET în 2 etape pentru alimentarea cu 5V a ATTiny. Acest aranjament este utilizat pentru a îndeplini specificațiile conform cărora 5V este pornit are un timp de creștere rapid. Acest lucru nu este îndeplinit determinând alimentarea directă de la un GPIO, în special cu condensatorul de decuplare 4u7 prezent pe majoritatea modulelor ATTiny. Un rezistor de valoare mică este utilizat pentru a amortiza vârful de curent cauzat de pornirea rapidă a tranzistoarelor MOSFET. Este posibil să nu fie necesar, dar este utilizat aici pentru a evita orice erori care ar putea fi cauzate de această pornire a vârfului.

Rețineți că schema diferă puțin de versiunea anterioară a editorului de siguranțe. Pinii GPIO sunt reatribuiți pentru a face posibilă programarea SPI, deși software-ul nu o folosește în acest moment. Pinii care citesc semnalele de la ATTiny au o protecție suplimentară pentru semnalele de 5V utilizate.

Pasul 3: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare

Imaginea prezintă componentele asamblate într-o incintă mică. O placă mică se află deasupra modulului ESP-12F și conține regulatorul de 3,3 V și circuitele de acționare cu 2 tensiuni.

Modulul de creștere de 12V este în stânga, obținând puterea de intrare de pe USB. Carcasa are un slot pentru blocul de antet cu 7 pini pentru a permite conexiunile la ATTiny. După conectare și testare, blocul USB și antetul sunt fixate pe carcasă cu adeziv de rășină.

O etichetă poate fi tipărită din imagine pentru a se lipi de cutie pentru a ajuta la conectarea semnalelor.

Pasul 4: Software și instalare

Software-ul pentru programator este într-o schiță Arduino ATTinyHVProgrammer.ino disponibil la

Folosește o bibliotecă care conține funcții web de bază, suport pentru configurarea Wi-Fi, actualizări OTA și acces la sistemul de fișiere bazat pe browser. Acest lucru este disponibil la

Configurarea software-ului se află într-un fișier header BaseConfig.h. Cele 2 elemente de modificat aici sunt parole pentru punctul de acces configurat de wifi și o parolă pentru actualizări OTA.

Compilați și încărcați pe ESP8266 dintr-un IDE Arduino. Configurarea IDE ar trebui să permită o partiție SPIFFS, de exemplu, folosind 2M / 2M va permite OTA și un sistem de fișiere mare. Actualizări ulterioare pot fi apoi făcute folosind OTA

La prima rularea modulul nu va ști cum să se conecteze la wifi-ul local, așa că va configura o rețea AP de configurare. Utilizați un telefon sau o tabletă pentru a vă conecta la această rețea și apoi navigați la 192.168.4.1. Va apărea un ecran de configurare wifi și ar trebui să selectați rețeaua corespunzătoare și să introduceți parola acesteia. Modulul se va reporni și se va conecta folosind această parolă de acum înainte. Dacă vă mutați într-o altă rețea sau modificați parola de rețea, AP va fi activat din nou, deci urmați aceeași procedură. Când introduceți software-ul principal după conectarea la wifi, apoi încărcați fișierele din folderul de date navigând la modulele ip / upload. Acest lucru permite încărcarea unui fișier. După ce toate fișierele sunt încărcate, accesul ulterior al sistemului de fișiere se poate face folosind ip / edit. Dacă se accesează ip / atunci se folosește index.htm și afișează ecranul principal al programatorului. Aceasta permite vizualizarea, editarea și scrierea datelor de siguranță, ștergerea cipului și citirea și scrierea memoriei flashh și a EEPROM.

Există o serie de apeluri web utilizate pentru a realiza acest lucru

  • ip / readFuses obține date de siguranță curente
  • ip / writeFuses scrie date noi de siguranță
  • ip / erasechip. șterge cipul
  • ip / dataOp acceptă funcțiile de citire și scriere a memoriei, furnizează următorii parametri

    • dataOp (0 = citit, 1 = scriere)
    • dataFile (numele fișierului hex)
    • eeprom (0 = Flash, 1 = eeprom)
    • versiune (0 = 25, 1 = 45, 2 = 85)

în plus, un parametru AP_AUTHID poate fi definit în schiță înainte de compilare. Dacă este definit, atunci trebuie introdus în pagina web pentru a permite operațiuni.

ip / edit oferă acces la fișiere; ip / firmware oferă acces la actualizările OTA.

Formatul de fișier hexagonal este înregistrări în stil intel compatibile cu cele produse de Arduino IDE. Dacă este prezentă o înregistrare de adresă de pornire, atunci va declanșa inserarea unei instrucțiuni RJMP la locația 0. Aceasta permite programarea fișierelor încărcătorului de încărcare micronucleus într-un cip șters și să funcționeze. Pentru comoditate, pot fi citite și utilizate și fișiere Hex simple, constând dintr-o adresă hexagonală de 4 caractere, urmată de 16 octeți de date hex.

Recomandat: