Turinys:

ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip ISP: 9 žingsniai (su nuotraukomis)
ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip ISP: 9 žingsniai (su nuotraukomis)

Video: ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip ISP: 9 žingsniai (su nuotraukomis)

Video: ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip ISP: 9 žingsniai (su nuotraukomis)
Video: M#1: Setup Outseal PLC Mega with ATmega128 Development Board | Outseal Dev. PLC Mega 2024, Liepa
Anonim
ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip IPT
ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip IPT
ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip IPT
ATTiny85, ATTiny84 ir ATMega328P programavimas: „Arduino“kaip IPT

Pratarmė

Neseniai kūriau keletą ESP8266 pagrįstų IoT projektų ir pastebėjau, kad pagrindinis procesorius sunkiai atlieka visas užduotis, kurių man reikėjo valdyti, todėl nusprendžiau kai kurias mažiau svarbias veiklas paskirstyti kitam (-iems) mikrovaldikliui (-iams) tokiu būdu atlaisvinamas ESP8266, kad jis galėtų toliau dirbti kaip daiktų interneto įrenginys.

Kadangi norėjau paskelbti savo projektą kuo platesnei auditorijai, nusprendžiau naudoti „Arduino IDE“kaip pasirinktą kūrimo platformą, nes ji turi tokią plačiai remiamą bendruomenę.

Dizaino apribojimai

Siekdamas pagrįstai išplėsti tikslinius įtaisus, leidžiančius pasirinkti tinkamą mikrovaldiklį atitinkamai programai, aš nusprendžiau šias „Atmel“dalis; ATMega328P, ATTiny84 ir ATTiny85. Norėdami apriboti reikiamo programuotojo sudėtingumą, aš apribojau laikrodžio pasirinkimą vidiniam visiems įrenginiams ir 16 MHz išorinį tik ATMega328P ir ATTiny84.

Toliau pateikiamas užrašų apie programavimą su „Arduino“rinkinys ir aprašymas, kaip aš sukūriau paprastą „Arduino Uno“pagrindu sukurtą šių įrenginių programuotoją (nuotraukos aukščiau).

Kokių dalių man reikia?

Norėdami sukurti programuotoją, jums reikės šių dalių

  1. 1 nuolaida „Arduino Uno“
  2. 2 išjungti 28 kontaktų nulinės įterpimo jėgos (ZIF) DIP lizdai (ATMega328P, ATTiny85, ATTiny84)
  3. 1 nuo „Arduino“prototipo skydo (aš čia gavau;
  4. 2 išjungti 5 mm šviesos diodai
  5. 2 išjungti 1K rezistoriai
  6. 1 išjungtas 10K rezistorius
  7. 4 išjungti 22pF keraminiai kondensatoriai
  8. 2 išjungti 16MHz kristalai
  9. 3 išjungti 0,1uF keraminius kondensatorius
  10. 1 išjungtas 47uF elektrolitinis kondensatorius
  11. 1 išjungtas 10uF elektrolitinis kondensatorius
  12. Įvairaus ilgio vielos apvyniojimo viela.

Kokios programinės įrangos man reikia?

„Arduino IDE“1.6.9

Kokių įgūdžių man reikia?

  1. „Arduino IDE“žinios
  2. Kai kurios elektronikos ir litavimo žinios
  3. Didelis rankų miklumas
  4. Kantrybė ir geras regėjimas

Aptartos temos

  1. Bendras įvadas į „Atmel“mikrovaldiklių programavimą
  2. IPT arba „Bootloader“: viskas šiek tiek painu
  3. Grandinės apžvalga
  4. Programuotojo nustatymas
  5. Naudojant „Arduino“IPT programuotoją
  6. Kuriamas kodas jūsų tikslinėje sistemoje
  7. Gotchas
  8. Išvada
  9. Naudotos nuorodos

Atsisakymas

Kaip visada, šias instrukcijas naudojate savo rizika ir jos nepalaikomos

1 žingsnis: Bendras įvadas apie „Atmel“mikrovaldiklių programavimą

Bendras įvadas apie „Atmel“mikrovaldiklių programavimą
Bendras įvadas apie „Atmel“mikrovaldiklių programavimą
Bendras įvadas apie „Atmel“mikrovaldiklių programavimą
Bendras įvadas apie „Atmel“mikrovaldiklių programavimą
Bendras įvadas apie „Atmel“mikrovaldiklių programavimą
Bendras įvadas apie „Atmel“mikrovaldiklių programavimą

Yra du „Atmel“mikrovaldiklių programavimo būdai;

  1. Sistemos programavime (IPT),
  2. Savarankiškas programavimas (naudojant įkrovos tvarkyklę).

Pirmasis metodas (1) tiesiogiai užprogramuoja mikrovaldiklį per SPI sąsają po to, kai pirmą kartą įjungiamas įrenginys. Jei nenurodyta kitaip, sukompiliuota vykdomojo kodo programa į įrenginį palaipsniui įrašoma į kodo atmintį, iš kurios ji vykdoma paleidžiant. Yra daug IPT įrenginių, galinčių programuoti „Atmel“įrenginius, iš kurių keletas yra (1 pav.); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. 2 paveiksle parodyta, kaip IPT įrenginys jungiasi prie „ATMega328P“(keistai pažymėtas ICSP) „Arduino Uno R3“plokštėje (3 pav. Parodytas IPT kaištis). Taip pat galima programuoti „Atmel“mikrovaldiklį per jo SPI sąsają naudojant „Arduino Uno“kaip interneto tiekėją (4 pav.), Čia „Uno“naudojamas programuoti „ATMega328P“.

Pastarasis metodas (2) naudoja mažą kodo atotrūkį, vadinamą „įkrovos įkrovikliu“, nuolat esantį vykdomojo kodo atmintyje (paprastai užrakintas, kad būtų išvengta atsitiktinio 5 paveikslo perrašymo). Šis kodas pirmiausia vykdomas įjungus arba iš naujo nustatant įrenginį ir leidžia mikrovaldikliui iš naujo užprogramuoti naują kodą, gautą per vieną iš jo sąsajų iš išorinio šaltinio. „Arduino IDE“naudoja įkrovos įkėlimo metodą, kad iš naujo užprogramuotų „Arduinos“, susietas su kompiuterio USB prievadu (arba MAC, „Linux“dėžutė ir pan., 6 pav.), O „Arduino Uno“atveju su „Atmel“įrenginiu bendrauja per jį ATMega328P 2 ir 3 IC kaiščių nuosekli sąsaja. Taip pat „Arduino Uno“(su pašalintu „ATMega328P“mikrovaldikliu) galima naudoti programuojant „ATMega328P“naudojant įkrovos įkėlimo metodą, veiksmingai veikiantį kaip USB į nuoseklųjį adapterį (7 pav.).

Kas yra USB į nuoseklųjį adapterį?

USB į nuoseklųjį adapterį yra aparatūros dalis, kuri prijungiama prie jūsų kompiuterio USB prievado ir atrodo kaip nuoseklusis prievadas (palikimas iš ankstesnių laikų, kai kompiuteriai naudojo nuoseklaus ryšio standartą, žinomą kaip EIA-232, V24 arba RS232), leidžiantį siųsti ir gauti serijinius duomenis tais pačiais mikrovaldiklio elektriniais lygiais. Kai iš „Arduino IDE“pasirenkate Įrankiai -> Prievadas -> COMx, jūs jungiate/jungiate kompiuterį prie „Arduino“.

Toks įrenginys kartais vadinamas FTDI (8 pav., Kuris iš tikrųjų yra prekės ženklas) arba CH340G ir tt USB prie serijinio „Arduino uno“pasiekiamas naudojant ATMega16U2-MU (R) IC ZU4, kaip nurodyta „Arduino“schemoje žemiau.

Aiškumo dėlei 9 paveiksle identifikuojami du „Atmel“įrenginiai ir atitinkami „Arduino Uno R3“ISP jungtys.

1 pastaba: jei nuspręsite eiti FTDI įrenginių keliu, įsitikinkite, kad perkate iš patikimo pardavėjo, nes rinkoje buvo daug pigių padirbtų prietaisų, kurie nepavyko pritaikius „Windows“naujinimą.

Rekomenduojamas: