Sadržaj:
Video: Programiranje ATTiny85, ATTiny84 i ATMega328P: Arduino kao ISP: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Predgovor
Nedavno sam razvijao nekoliko IoT projekata zasnovanih na ESP8266 i otkrio da se jezgreni procesor bori sa izvršavanjem svih zadataka koji su mi potrebni za upravljanje, pa sam odlučio raspodijeliti neke manje važne aktivnosti na različite mikrokontrolere u na ovaj način oslobađajući ESP8266 da nastavi sa svojim poslom kao IoT uređaj.
S obzirom na to da sam htio objaviti svoj projekt što je moguće široj publici, odlučio sam koristiti Arduino IDE kao razvojnu platformu po izboru jer ima tako široko podržanu zajednicu.
Ograničenja dizajna
Da bih osigurao razumno širenje ciljnih uređaja koji omogućava odabir odgovarajućeg mikrokontrolera za datu aplikaciju, odlučio sam se o sljedećim dijelovima Atmela; ATMega328P, ATTiny84 i ATTiny85. Da bih ograničio složenost potrebnog programera, ograničio sam izbor takta na interni za sve uređaje i vanjski na 16 MHz samo za ATMega328P i ATTiny84.
Slijedi zbirka bilješki o programiranju s Arduinom i opis kako sam sastavio jednostavan programer zasnovan na Arduino Uno za ove uređaje (slike gore).
Koji dijelovi mi trebaju?
Za izradu programatora potrebni su vam sljedeći dijelovi
- 1 off Arduino Uno
- 2 isključena DIP utičnice sa 28 pinova Zero Insertion Force (ZIF) (za držanje ATMega328P, ATTiny85, ATTiny84)
- 1 off Arduino prototip štita (ja imam svoj ovdje;
- 2 isključene LED diode od 5 mm
- 2 isključena 1K otpornika
- 1 off 10K otpornik
- 4 off 22pF Keramički kondenzatori
- 2 kristala od 16 MHz
- 3 off 0,1uF keramički kondenzatori
- 1 od 47uF elektrolitički kondenzator
- 1 off 10uF elektrolitički kondenzator
- Žičana žica različitih dužina.
Koji softver mi treba?
Arduino IDE 1.6.9
Koje vještine su mi potrebne?
- Poznavanje Arduino IDE -a
- Malo znanja o elektronici i načinu lemljenja
- Dosta ručne spretnosti
- Puno strpljenja i dobrog vida
Obrađene teme
- Opći uvod u programiranje Atmel mikrokontrolera
- ISP ili Bootloader: Sve je to pomalo zbunjujuće
- Pregled kola
- Postavljanje programatora
- Korištenje vašeg Arduino ISP programera
- Razvoj koda na vašem ciljnom sistemu
- Gotchas
- Zaključak
- Korištene reference
Odricanje odgovornosti
Kao i uvijek, koristite ove upute na vlastitu odgovornost i ona dolaze bez podrške
Korak 1: Opći uvod u programiranje Atmel mikrokontrolera
Postoje dvije metode za programiranje Atmel mikrokontrolera;
- U sistemskom programiranju (ISP),
- Samoprogramiranje (preko pokretačkog programa).
Prva metoda (1) direktno programira mikrokontroler preko SPI sučelja nakon što je uređaj prvi put resetiran. Osim ako nije drugačije naznačeno, kompajlirani izvršni izvorni program se postepeno zapisuje na uređaj u memoriju koda odakle se izvršava pri pokretanju. Postoji mnogo ISP uređaja koji mogu programirati Atmel uređaje, od kojih su neki (slika 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Slika 2 prikazuje kako se ISP uređaj povezuje sa ATMega328P (čudno označen ICSP) na Arduino Uno R3 ploči (slika 3 prikazuje pin ISP -a). Takođe je moguće programirati Atmel mikrokontroler preko njegovog SPI interfejsa koristeći Arduino Uno kao ISP (slika 4), ovdje se Uno koristi za programiranje ATMega328P.
Potonja metoda (2) koristi malu šifru koda poznatu kao 'bootloader' koja je stalno nastanjena u izvršnoj memoriji koda (obično zaključana kako bi se spriječilo slučajno prepisivanje slika 5). Ovaj kôd se prvo izvršava nakon uključivanja ili resetovanja uređaja i omogućava mikrokontroleru da se ponovo programira sa novim kodom primljenim preko jednog od njegovih interfejsa od izvora koji je van njega samog. Arduino IDE koristi metodu bootloader za ponovno programiranje Arduinosa preslikanog kao USB comm port na računaru (ili MAC, Linux box itd., Slika 6), a u slučaju Arduino Uno komunicira s Atmel uređajem putem serijsko sučelje na IC pinovima 2 i 3 ATMega328P. Također, Arduino Uno (sa uklonjenim mikrokontrolerom ATMega328P) može se koristiti za programiranje ATMega328P metodom bootloader -a koji učinkovito djeluje kao USB adapter za serijski adapter (slika 7).
Šta je USB na serijski adapter?
USB na serijski adapter je komad hardvera koji se priključuje na USB port računara i izgleda kao serijski com port (naslijeđe iz ranijih vremena kada su računari koristili serijski komunikacijski standard poznat kao EIA-232, V24 ili RS232) koji vam omogućava da slati i primati serijske podatke na istim električnim nivoima mikrokontrolera. Kada odaberete Alati -> Port -> COMx iz Arduino IDE -a, povezujete/povezujete računalo sa svojim Arduinom.
Ovakav uređaj ponekad se naziva i FTDI (slika 8, što je zapravo robna marka) ili CH340G itd. USB za serijsku vezu na Arduino uno-u postiže se preko ATMega16U2-MU (R) IC ZU4 kao na Arduino shemi ispod.
Radi jasnoće, slika 9 identificira dva Atmel uređaja i njihove odgovarajuće ISP konektore na Arduino Uno R3.
Napomena 1: Ako se odlučite krenuti putem FTDI uređaja, pobrinite se da kupite od uglednog prodavača jer je na tržištu bilo mnogo jeftinih krivotvorenih uređaja koji su zakazali nakon primjene ažuriranja za Windows.
Preporučuje se:
Arduino kao ISP -- Nareži šesterokutnu datoteku u AVR -- Osigurač u AVR -u -- Arduino kao programer: 10 koraka
Arduino kao ISP || Nareži šesterokutnu datoteku u AVR || Osigurač u AVR -u || Arduino kao programer: ……………………… Pretplatite se na moj YouTube kanal za više video zapisa …….. Ovaj članak radi se o arduinu kao isp. Ako želite učitati heksadecimalnu datoteku ili želite postaviti osigurač u AVR, onda ne morate kupiti programer, možete učiniti
ATtiny85 Praćenje nosivih vibracionih aktivnosti i programiranje ATtiny85 sa Arduino Uno: 4 koraka (sa slikama)
ATtiny85 Sat za praćenje i programiranje nosivih vibracionih aktivnosti i praćenje ATtiny85 sa Arduino Uno: Kako napraviti sat za praćenje nosivih aktivnosti? Ovo je nosivi gadget dizajniran da vibrira kada otkrije stagnaciju. Provodite li većinu vremena na računaru poput mene? Sjedite li satima, a da toga niste svjesni? Tada je ovaj uređaj f
Kako narezati ATTiny85 koristeći Arduino-Mega kao ISP: 5 koraka
Kako snimiti ATTiny85 koristeći Arduino -Mega kao ISP: Doprinosi - Sayan Wadadar, Chiranjib KunduProgramiranje ATTiny85 koristeći Arduino MEGA2560 kao ISP. Prije nekoliko mjeseci pokušavao sam smanjiti svoj Arduino projekt koristeći Attiny 85 ic. To je bio prvi put da pokušavam programirati 20u ATTiny 85 koristeći
Programiranje čipova s vašim Arduinom - AVR ISP koji pokriva ATTiny85, ATTiny2313 i ATMega328: 3 koraka
Programiranje čipova s vašim Arduinom - AVR ISP koji pokriva ATTiny85, ATTiny2313 i ATMega328: Našao sam ovo kao nacrt od prije mnogo godina. Bar je još uvijek korisno za mene pa ću ga objaviti! Ovaj Instructable je zbirka znanja prikupljenog sa čitave 'mreže' i 'nstructablesa'. Obuhvaća programiranje AVR Microco
Arduino Uno za programiranje ATTINY84 (Arduino V. 1.8.5): 6 koraka
Arduino Uno za programiranje ATTINY84 (Arduino V. 1.8.5): Korištenje Arduino Uno za programiranje ATTINY84-20PU (stavka Digikey # ATTINY84-20-PU-ND). Ovaj Instructable pokazuje kako koristiti Arduino platformu za rad s fizički manjim procesorima, poput ATtiny84 (84/44/24). Ovaj primjer je posebno za