Sisällysluettelo:

ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: 9 vaihetta (kuvilla)
ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: 9 vaihetta (kuvilla)

Video: ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: 9 vaihetta (kuvilla)

Video: ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: 9 vaihetta (kuvilla)
Video: How To Make an ATtiny85 Arduino Shield | Homemade | DIY - PART 2 2024, Marraskuu
Anonim
ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: nä
ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: nä
ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: nä
ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: nä

Esipuhe

Olen äskettäin kehittänyt muutamia ESP8266 -pohjaisia IoT -projekteja ja huomannut, että ydinprosessori ei pysty suorittamaan kaikkia tehtäviä, joita tarvitsin sen hallintaan, joten päätin jakaa osan vähemmän tärkeistä toiminnoista eri mikro -ohjaimille Näin ESP8266 vapautuu jatkamaan IoT -laitteen tehtäväänsä.

Koska halusin julkaista projektini mahdollisimman laajalle yleisölle, päätin käyttää Arduino IDE: tä kehitysalustana, koska sillä on niin laajalti tuettu yhteisö.

Suunnittelun rajoitukset

Jotta kohdelaitteilla olisi kohtuullinen leviäminen, joka mahdollistaisi sopivan mikro -ohjaimen valitsemisen käsiteltävään sovellukseen, päädyin seuraaviin Atmel -osiin; ATMega328P, ATTiny84 ja ATTiny85. Rajoittaakseni tarvittavan ohjelmoijan monimutkaisuuden rajoitin kellon valinnan sisäiseksi kaikille laitteille ja 16 MHz: n ulkoiselle vain ATMega328P: lle ja ATTiny84: lle.

Seuraavassa on kokoelma muistiinpanoja ohjelmoinnista Arduinon kanssa ja kuvaus siitä, miten koon yksinkertaisen Arduino Uno -pohjaisen ohjelmoijan näille laitteille (kuvat yllä).

Mitä osia tarvitsen?

Ohjelmoijan rakentamiseen tarvitset seuraavat osat

  1. 1 pois päältä Arduino Uno
  2. 2 pois 28 -nastainen ZIF -lisäysvoima (ZIF) DIP -liitin (ATMega328P, ATTiny85, ATTiny84)
  3. 1 off Arduino prototyyppisuojus (sain omani täältä;
  4. 2 pois 5MM LEDiä
  5. 2 off 1K vastukset
  6. 1 off 10K vastus
  7. 4 pois 22pF keraamiset kondensaattorit
  8. 2 pois 16MHz kiteitä
  9. 3 pois 0,1uF keraamiset kondensaattorit
  10. 1 pois 47uF elektrolyyttikondensaattori
  11. 1 off 10uF elektrolyyttikondensaattori
  12. Eri pituiset lankakäärelangat.

Mitä ohjelmistoja tarvitsen?

Arduino IDE 1.6.9

Mitä taitoja tarvitsen?

  1. Arduino IDE: n tuntemus
  2. Jonkin verran tietoa elektroniikasta ja juottamisesta
  3. Paljon kädentaitoja
  4. Kuormitus kärsivällisyyttä ja hyvä näkö

Käsitellyt aiheet

  1. Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
  2. ISP tai Bootloader: Kaikki on hieman hämmentävää
  3. Piirien yleiskatsaus
  4. Ohjelmoijan asentaminen
  5. Arduinon Internet -palveluntarjoajan käyttö
  6. Koodin kehittäminen kohdejärjestelmässäsi
  7. Gotchas
  8. Johtopäätös
  9. Käytetyt viitteet

Vastuuvapauslauseke

Kuten aina, käytät näitä ohjeita omalla vastuullasi, eikä niitä tueta

Vaihe 1: Yleinen johdanto Atmel -mikrokontrollerien ohjelmoinnista

Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin

Atmel -mikro -ohjaimien ohjelmointiin on kaksi tapaa;

  1. Järjestelmäohjelmoinnissa (ISP),
  2. Itse ohjelmoitu (käynnistyslataimen kautta).

Edellinen menetelmä (1) ohjelmoi mikro -ohjaimen suoraan SPI -liitännän kautta sen jälkeen, kun laite on ensin nollattu. Ellei toisin määrätä, käännetty suoritettava lähdeohjelma kirjoitetaan laitteelle asteittain koodimuistiin, josta se suoritetaan käynnistyksen yhteydessä. On monia Internet -palveluntarjoajia, jotka pystyvät ohjelmoimaan Atmel -laitteita, joista muutamia on (kuva 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Kuvassa 2 näkyy, miten Internet -palveluntarjoaja muodostaa yhteyden ATMega328P -laitteeseen (pariton merkintä ICSP) Arduino Uno R3 -kortilla (kuva 3 antaa Internet -palveluntarjoajan nastan). On myös mahdollista ohjelmoida Atmel -mikrokontrolleri sen SPI -liitännän kautta käyttämällä Arduino Unoa Internet -palveluntarjoajana (kuva 4), tässä Unoa käytetään ATMega328P: n ohjelmointiin.

Jälkimmäinen menetelmä (2) käyttää pientä koodilukkoa, joka tunnetaan nimellä "käynnistyslatain" ja joka on pysyvästi suoritettavassa koodimuistissa (yleensä lukittu vahingossa tapahtuvan päällekirjoituksen estämiseksi kuva 5). Tämä koodi suoritetaan ensimmäisen kerran, kun virta kytketään tai laite nollataan, ja sen avulla mikro-ohjain voi ohjelmoida itsensä uudella koodilla, joka on vastaanotettu jonkin sen rajapinnan kautta itsensä ulkopuolisesta lähteestä. Arduino IDE käyttää käynnistyslatausmenetelmää ohjelmoidakseen uudelleen tietokoneen USB-portiksi (tai MAC, Linux-laatikko jne.) Kartoitetut Arduinot (tai kuva 6), ja Arduino Uno kommunikoi Atmel-laitteen kanssa sen kautta sarjaliitäntä ATMega328P: n IC -nastoissa 2 ja 3. Myös Arduino Unoa (jossa ATMega328P -mikro -ohjain on poistettu) voidaan käyttää ATMega328P: n ohjelmointiin käynnistyslataimen avulla, joka toimii tehokkaasti USB -sarjasovitinlaitteena (kuva 7).

Mikä on USB -sarjasovitin?

USB-sarjasovitin on laitteisto, joka kytketään tietokoneesi USB-porttiin ja näyttää sarjaliikenneportilta (perintö aikaisemmilta ajoilta, jolloin tietokoneet käyttivät sarjaliikennestandardia, joka tunnetaan nimellä EIA-232, V24 tai RS232), jonka avulla voit lähettää ja vastaanottaa sarjatietoja mikrokontrollerin samoilla sähkötasoilla. Kun valitset Arduino IDE: stä Työkalut -> Portti -> COMx, yhdistät/liität tietokoneesi Arduinoon.

Tällaista laitetta kutsutaan joskus FTDI: ksi (kuva 8, joka on itse asiassa tuotenimi) tai CH340G: ksi jne. alla.

Selvyyden vuoksi kuva 9 tunnistaa Arduino Uno R3: n kaksi Atmel -laitetta ja niiden vastaavat ISP -liittimet.

Huomautus 1: Jos valitset FTDI -laitteen reitin, varmista, että ostat hyvämaineiselta myyjältä, koska markkinoilla on ollut paljon halpoja väärennettyjä laitteita, jotka ovat epäonnistuneet Windows -päivityksen yhteydessä.

Suositeltava: