Satura rādītājs:

ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP: 9 soļi (ar attēliem)
ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP: 9 soļi (ar attēliem)

Video: ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP: 9 soļi (ar attēliem)

Video: ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP: 9 soļi (ar attēliem)
Video: 3 Simple Way to Program ATtiny Microcontroller IC Full Guide in Hindi 2024, Jūlijs
Anonim
ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP
ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP
ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP
ATTiny85, ATTiny84 un ATMega328P programmēšana: Arduino kā ISP

Priekšvārds

Nesen esmu izstrādājis dažus uz ESP8266 balstītus IoT projektus un atklāju, ka centrālajam procesoram bija grūtības veikt visus uzdevumus, kas man bija nepieciešami tā pārvaldīšanai, tāpēc nolēmu dažas mazāk svarīgas darbības izplatīt citam (-iem) mikrokontrolleram (-iem) šādā veidā atbrīvojot ESP8266, lai turpinātu darbu kā IoT ierīce.

Ņemot vērā, ka vēlējos publicēt savu projektu pēc iespējas plašākam mērķauditorijas lokam, es izvēlējos izmantot Arduino IDE kā izvēlēto attīstības platformu, jo tai ir tik plaši atbalstīta kopiena.

Dizaina ierobežojumi

Lai nodrošinātu saprātīgu mērķa ierīču izplatību, kas ļautu attiecīgajam lietojumam izvēlēties atbilstošu mikrokontrolleru, es izvēlējos šādas Atmel daļas; ATMega328P, ATTiny84 un ATTiny85. Lai ierobežotu nepieciešamā programmētāja sarežģītību, es ierobežoju pulksteņa izvēli uz iekšējo visām ierīcēm un 16 MHz ārējo tikai ierīcēm ATMega328P un ATTiny84.

Tālāk ir sniegta piezīmju kolekcija par programmēšanu ar Arduino un apraksts par to, kā es šīm ierīcēm saliku vienkāršu uz Arduino Uno balstītu programmētāju (attēli iepriekš).

Kādas detaļas man ir vajadzīgas?

Lai izveidotu programmētāju, jums būs nepieciešamas šādas daļas

  1. 1 atlaide Arduino Uno
  2. 2 izslēgtas 28 kontaktu nulles ievietošanas spēka (ZIF) DIP ligzdas (lai turētu ATMega328P, ATTiny85, ATTiny84)
  3. 1 off Arduino prototipa vairogs (es dabūju savu šeit;
  4. 2 izslēgtas 5 mm gaismas diodes
  5. 2 izslēgti 1K rezistori
  6. 1 izslēgts 10K rezistors
  7. 4 izslēgti 22pF keramikas kondensatori
  8. 2 izslēgti 16MHz kristāli
  9. 3 izslēgti 0,1uF keramikas kondensatori
  10. 1 izslēgts 47uF elektrolītiskais kondensators
  11. 1 izslēgts 10uF elektrolītiskais kondensators
  12. Dažāda garuma stieples aptīšanas stieple.

Kāda programmatūra man ir nepieciešama?

Arduino IDE 1.6.9

Kādas prasmes man vajadzīgas?

  1. Zināšanas par Arduino IDE
  2. Dažas zināšanas par elektroniku un lodēšanu
  3. Liela roku veiklība
  4. Pacietības slodze un laba redze

Tēmas, uz kurām attiecas

  1. Vispārīgs ievads Atmel mikrokontrolleru programmēšanā
  2. ISP vai sāknēšanas ielādētājs: tas viss ir nedaudz mulsinoši
  3. Ķēdes pārskats
  4. Programmētāja iestatīšana
  5. Izmantojot savu Arduino ISP programmētāju
  6. Koda izstrāde jūsu mērķa sistēmā
  7. Gotchas
  8. Secinājums
  9. Izmantotās atsauces

Atruna

Kā vienmēr, jūs izmantojat šos norādījumus uz savu risku, un tie netiek atbalstīti

1. solis: Vispārējs ievads par Atmel mikrokontrolleru programmēšanu

Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu
Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu
Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu
Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu
Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu
Vispārīgs ievads par Atmel mikrokontrolleru programmēšanu

Atmel mikrokontrolleru programmēšanai ir pieejamas divas metodes;

  1. Sistēmas programmēšanā (ISP),
  2. Pašprogrammēšanās (izmantojot sāknēšanas ielādētāju).

Pirmā metode (1) tieši ieprogrammē mikrokontrolleri, izmantojot SPI saskarni, pēc tam, kad ierīce vispirms tika atiestatīta. Ja nav norādīts citādi, apkopota izpildāmā avota programma tiek ierakstīta ierīcē pakāpeniski koda atmiņā, no kurienes tā tiek izpildīta palaišanas laikā. Ir daudzas ISP ierīces, kas spēj programmēt Atmel ierīces, no kurām dažas ir (1. attēls); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. 2. attēlā parādīts, kā ISP ierīce savienojas ar ATMega328P (nepāra apzīmējums ICSP) uz Arduino Uno R3 plates (3. attēlā parādīta ISP tapa). Ir iespējams arī programmēt Atmel mikrokontrolleru, izmantojot tā SPI saskarni, izmantojot Arduino Uno kā ISP (4. attēls), šeit Uno tiek izmantots ATMega328P programmēšanai.

Pēdējā metode (2) izmanto nelielu koda atzarojumu, kas pazīstams kā “ielādes ielādētājs” un kas pastāvīgi atrodas izpildāmā koda atmiņā (parasti bloķēts, lai novērstu nejaušu 5. attēla pārrakstīšanu). Šis kods vispirms tiek izpildīts pēc ieslēgšanas vai ierīces atiestatīšanas, un tas ļauj mikrokontrolleram pārprogrammēt sevi ar jaunu kodu, kas saņemts, izmantojot vienu no tā saskarnēm no avota, kas nav ārējs. Arduino IDE izmanto sāknēšanas ielādētāja metodi, lai pārprogrammētu datorā Arduinos, kas kartēts kā USB kopējais ports (vai MAC, Linux kastīte utt., 6. attēls), un Arduino Uno gadījumā ar to sazinās ar Atmel ierīci sērijas interfeiss ATMega328P IC 2. un 3. tapā. Arī Arduino Uno (ar noņemtu ATMega328P mikrokontrolleru) var izmantot, lai ieprogrammētu ATMega328P, izmantojot sāknēšanas ielādes metodi, kas efektīvi darbojas kā USB sērijas adaptera ierīce (7. attēls).

Kas ir USB seriālais adapteris?

USB uz seriālo adapteri ir aparatūra, kas tiek pievienota jūsu datora USB portam un izskatās kā seriālais kom ports (mantojums no agrākiem laikiem, kad datori izmantoja sērijas sakaru standartu, kas pazīstams kā EIA-232, V24 vai RS232), kas ļauj jums nosūtīt un saņemt seriālos datus tajos pašos mikrokontrollera elektriskajos līmeņos. Izvēloties rīkus -> Portu -> COMx no Arduino IDE, jūs savienojat/sasniedzat datoru ar savu Arduino.

Šādu ierīci dažreiz sauc par FTDI (8. attēls, kas faktiski ir zīmola nosaukums) vai CH340G uc zemāk.

Skaidrības labad 9. attēlā ir identificētas divas Atmel ierīces un to attiecīgie ISP savienotāji Arduino Uno R3.

1. piezīme. Ja izvēlaties iet pa FTDI ierīču maršrutu, pārliecinieties, ka iegādājaties no cienījama pārdevēja, jo tirgū ir bijis daudz lētu viltotu ierīču, kas nav izdevušās, piemērojot Windows atjauninājumu.

Ieteicams: