Sisällysluettelo:
Video: ATTiny85-, ATTiny84- ja ATMega328P -ohjelmointi: Arduino ISP: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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 pois päältä Arduino Uno
- 2 pois 28 -nastainen ZIF -lisäysvoima (ZIF) DIP -liitin (ATMega328P, ATTiny85, ATTiny84)
- 1 off Arduino prototyyppisuojus (sain omani täältä;
- 2 pois 5MM LEDiä
- 2 off 1K vastukset
- 1 off 10K vastus
- 4 pois 22pF keraamiset kondensaattorit
- 2 pois 16MHz kiteitä
- 3 pois 0,1uF keraamiset kondensaattorit
- 1 pois 47uF elektrolyyttikondensaattori
- 1 off 10uF elektrolyyttikondensaattori
- Eri pituiset lankakäärelangat.
Mitä ohjelmistoja tarvitsen?
Arduino IDE 1.6.9
Mitä taitoja tarvitsen?
- Arduino IDE: n tuntemus
- Jonkin verran tietoa elektroniikasta ja juottamisesta
- Paljon kädentaitoja
- Kuormitus kärsivällisyyttä ja hyvä näkö
Käsitellyt aiheet
- Yleinen johdanto Atmel -mikrokontrollerien ohjelmointiin
- ISP tai Bootloader: Kaikki on hieman hämmentävää
- Piirien yleiskatsaus
- Ohjelmoijan asentaminen
- Arduinon Internet -palveluntarjoajan käyttö
- Koodin kehittäminen kohdejärjestelmässäsi
- Gotchas
- Johtopäätös
- Käytetyt viitteet
Vastuuvapauslauseke
Kuten aina, käytät näitä ohjeita omalla vastuullasi, eikä niitä tueta
Vaihe 1: Yleinen johdanto Atmel -mikrokontrollerien ohjelmoinnista
Atmel -mikro -ohjaimien ohjelmointiin on kaksi tapaa;
- Järjestelmäohjelmoinnissa (ISP),
- 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:
Seiso yksin Arduino ATmega328p: 7 vaihetta (kuvilla)
Seiso yksin Arduino ATmega328p: Kaikki alkoi, kun olen nähnyt opastettavan "Binaaripelin". Kirjoittaja Keebie81
Vielä yksi ATTINY85 ISP Programmer Shield Arduinolle: 8 vaihetta
Vielä yksi ATTINY85 ISP Programmer Shield Arduino -ohjelmalle: Päivitetty الله الرحمن الرحيم ATTINY85 ISP Programmer Shield on suunniteltu ohjelmoimaan ATTiny85 µControllers helposti. Sarjaohjelmoija & quot
ATTiny84-pohjainen 3A Step-Down LED -ohjain: 7 vaihetta (kuvilla)
ATTiny84-pohjainen 3A Step-Down LED -ohjain: Jos haluat käyttää 10 W: n LED-valoja, voit käyttää tätä 3A LED -ohjainta. Kolmen Cree XPL -LEDin avulla saavutat 3000 lumenia
USB -pienen ISP -ohjelmoijan rakentaminen: käyttämällä CNC -piirilevyjyrsintä: 13 vaihetta (kuvilla)
USB -pienen Internet -palveluntarjoajan rakentaminen: käyttämällä CNC -piirilevyjyrsintä: Oletko miettinyt, miten voit rakentaa oman sähköisen projektisi tyhjästä? Mutta suurin osa valmistajista ja laitteistoharrastajista, jotka astuvat vain eteenpäin valmistajakulttuurissa, rakensivat projektinsa
Arduino Uno ohjelmoimaan ATTINY84 (Arduino V. 1.8.5): 6 vaihetta
Arduino Uno ATTINY84: n ohjelmointiin (Arduino V. 1.8.5): Arduino Unon käyttäminen ATTINY84-20PU: n ohjelmointiin (Digikey-kohde # ATTINY84-20-PU-ND). Tämä opas näyttää kuinka Arduino -alustan käyttäminen fyysisesti pienempien prosessorien, kuten ATtiny84: n, kanssa (84/44/24). Tämä esimerkki on tarkoitettu erityisesti