Obsah:

Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP: 9 krokov (s obrázkami)
Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP: 9 krokov (s obrázkami)

Video: Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP: 9 krokov (s obrázkami)

Video: Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP: 9 krokov (s obrázkami)
Video: SMD ATtiny85 development board 2024, Júl
Anonim
Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP
Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP
Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP
Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP

Predslov

Nedávno som vyvíjal niekoľko projektov IoT založených na ESP8266 a zistil som, že jadrový procesor bojuje s vykonávaním všetkých úloh, ktoré som potreboval na správu, a preto som sa rozhodol distribuovať niektoré menej dôležité činnosti do iného mikrokontroléra (ov) v týmto spôsobom sa uvoľní ESP8266, aby mohol pokračovať v úlohe zariadenia IoT.

Keďže som chcel zverejniť svoj projekt čo najširšiemu publiku, rozhodol som sa použiť Arduino IDE ako vývojovú platformu, pretože má tak široko podporovanú komunitu.

Dizajnové obmedzenia

Aby som poskytol primeraný rozsah cieľových zariadení, ktoré umožňujú výber vhodného mikrokontroléra pre danú aplikáciu, rozhodol som sa pre nasledujúce časti Atmel; ATMega328P, ATTiny84 a ATTiny85. Aby som obmedzil zložitosť potrebného programátora, obmedzil som výber hodín na interné pre všetky zariadenia a na 16 MHz externé iba pre ATMega328P a ATTiny84.

Nasleduje zbierka poznámok k programovaniu pomocou Arduina a popis toho, ako som pre tieto zariadenia zostavil jednoduchý programátor založený na Arduino Uno (obrázky vyššie).

Aké diely potrebujem?

Na zostavenie programátora budete potrebovať nasledujúce diely

  1. 1 zľava na Arduino Uno
  2. 2 vypnuté 28 -kolíkové zásuvky DIP s nulovou vložkou (ZIF) (na uchytenie ATMega328P, ATTiny85, ATTiny84)
  3. 1 z štítu prototypu Arduino (svoj som dostal tu;
  4. 2 vypnuté 5MM diódy LED
  5. 2 off 1K odpory
  6. 1 off 10K odpor
  7. 4 vypnuté 22pF keramické kondenzátory
  8. 2 vypnuté kryštály 16 MHz
  9. 3 vypnuté 0,1uF keramické kondenzátory
  10. 1 off 47uF elektrolytický kondenzátor
  11. 1 vypnutý 10uF elektrolytický kondenzátor
  12. Drôt na ovíjanie rôznych dĺžok.

Aký softvér potrebujem?

Arduino IDE 1.6.9

Aké zručnosti potrebujem?

  1. Znalosť Arduino IDE
  2. Niektoré znalosti elektroniky a spôsobu spájkovania
  3. Veľká dávka manuálnej zručnosti
  4. Veľa trpezlivosti a dobrého zraku

Témy pokryté

  1. Všeobecný úvod do programovania mikrokontrolérov Atmel
  2. ISP alebo bootloader: Je to všetko trochu mätúce
  3. Prehľad obvodov
  4. Nastavenie vášho programátora
  5. Použitie vášho programátora ISP Arduino
  6. Vývoj kódu vo vašom cieľovom systéme
  7. Gotchas
  8. Záver
  9. Použité referencie

Vylúčenie zodpovednosti

Ako vždy, tieto pokyny používate na vlastné riziko a nie sú podporované

Krok 1: Všeobecný úvod do programovania mikrokontrolérov Atmel

Všeobecný úvod k programovaniu mikrokontrolérov Atmel
Všeobecný úvod k programovaniu mikrokontrolérov Atmel
Všeobecný úvod k programovaniu mikrokontrolérov Atmel
Všeobecný úvod k programovaniu mikrokontrolérov Atmel
Všeobecný úvod k programovaniu mikrokontrolérov Atmel
Všeobecný úvod k programovaniu mikrokontrolérov Atmel

Na programovanie mikrokontrolérov Atmel sú k dispozícii dve metódy;

  1. V programovaní systému (ISP),
  2. Vlastné programovanie (prostredníctvom bootloadera).

Prvá metóda (1) priamo programuje mikrokontrolér prostredníctvom rozhrania SPI po prvom uvedení zariadenia do stavu reset. Pokiaľ nie je uvedené inak, je zostavený spustiteľný zdrojový program zapísaný do zariadenia postupne do pamäte kódu, odkiaľ je spustený pri štarte. Existuje mnoho zariadení ISP schopných programovať zariadenia Atmel, z ktorých niektoré sú (obr. 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Obrázok 2 ukazuje, ako sa zariadenie ISP pripája k ATMega328P (zvláštne označené ICSP) na doske Arduino Uno R3 (obrázok 3 zobrazuje pin ISP). Je tiež možné naprogramovať mikrokontrolér Atmel prostredníctvom rozhrania SPI pomocou Arduino Uno ako ISP (obrázok 4), tu sa Uno používa na programovanie ATMega328P.

Druhá metóda (2) používa malý záporný kód známy ako „bootloader“, ktorý je trvalo uložený v pamäti spustiteľných kódov (zvyčajne uzamknutý, aby sa zabránilo náhodnému prepísaniu, obrázok 5). Tento kód sa vykoná ako prvý po zapnutí alebo resetovaní zariadenia a umožní mikrokontroléru preprogramovať sa novým kódom prijatým prostredníctvom jedného zo svojich rozhraní zo zdroja, ktorý je sám na sebe. Metódu bootloader používa Arduino IDE na preprogramovanie Arduinos mapovaných ako USB komunikačný port na PC (alebo MAC, Linux atď., Obrázok 6) a v prípade Arduino Uno komunikuje so zariadením Atmel prostredníctvom sériové rozhranie na piny IC 2 a 3 ATMega328P. Tiež Arduino Uno (s odstráneným mikrokontrolérom ATMega328P) je možné použiť na programovanie ATMega328P pomocou metódy bootloadera, ktorá efektívne funguje ako zariadenie s adaptérom USB na sériový adaptér (obrázok 7).

Čo je to adaptér USB na sériový port?

Adaptér USB na sériový port je hardvér, ktorý sa pripája k portu USB vášho počítača a vyzerá ako sériový port (odkaz z minulosti, keď počítače používali sériový komunikačný štandard známy ako EIA-232, V24 alebo RS232), ktorý vám umožňuje odosielať a prijímať sériové údaje na rovnakých elektrických úrovniach mikrokontroléra. Keď v IDE Arduino vyberiete Nástroje -> Port -> COMx, pripojíte/prepojíte počítač s Arduino.

Takéto zariadenie sa niekedy označuje ako FTDI (obrázok 8, čo je v skutočnosti obchodná značka) alebo CH340G atď. USB na sériové pripojenie na zariadení Arduino uno sa dosahuje pomocou ATMega16U2-MU (R) IC ZU4 ako v schéme Arduino nižšie.

Pre lepšiu prehľadnosť obrázok 9 identifikuje dve zariadenia Atmel a ich príslušné ISP konektory na Arduino Uno R3.

Poznámka 1: Ak sa rozhodnete ísť cestou zariadenia FTDI, uistite sa, že nakupujete u renomovaného predajcu, pretože na trhu je veľa lacných falšovaných zariadení, ktoré pri použití aktualizácie systému Windows zlyhali.

Odporúča: