Mundarija:

ATTiny85, ATTiny84 va ATMega328P dasturlash: Arduino ISP sifatida: 9 qadam (rasmlar bilan)
ATTiny85, ATTiny84 va ATMega328P dasturlash: Arduino ISP sifatida: 9 qadam (rasmlar bilan)

Video: ATTiny85, ATTiny84 va ATMega328P dasturlash: Arduino ISP sifatida: 9 qadam (rasmlar bilan)

Video: ATTiny85, ATTiny84 va ATMega328P dasturlash: Arduino ISP sifatida: 9 qadam (rasmlar bilan)
Video: AVR Darslik Kirish 1-qism 2024, Noyabr
Anonim
ATTiny85, ATTiny84 va ATMega328P dasturlash: ISP sifatida Arduino
ATTiny85, ATTiny84 va ATMega328P dasturlash: ISP sifatida Arduino
ATTiny85, ATTiny84 va ATMega328P dasturlash: ISP sifatida Arduino
ATTiny85, ATTiny84 va ATMega328P dasturlash: ISP sifatida Arduino

Muqaddima

Men yaqinda bir nechta ESP8266 asosidagi IoT loyihalarini ishlab chiqdim va asosiy protsessor men boshqarish uchun kerak bo'lgan barcha vazifalarni bajarishga qiynalayotganini payqadim, shuning uchun men unchalik muhim bo'lmagan tadbirlarni boshqa mikrokontrolderlarga tarqatishga qaror qildim. Shunday qilib, ESP8266 -ni bo'shatib, o'z ishini IoT qurilmasi sifatida davom ettiradi.

Men o'z loyihamni iloji boricha kengroq auditoriyaga e'lon qilmoqchi bo'lganim uchun Arduino IDE -ni tanlash platformasi sifatida tanladim, chunki u juda ko'p qo'llab -quvvatlanadigan jamoaga ega.

Dizayn cheklovlari

Qo'l ostidagi dastur uchun mos keladigan mikrokontrolderni tanlashga imkon beradigan maqsadli qurilmalarning oqilona tarqalishini ta'minlash uchun men Atmelning quyidagi qismlariga joylashdim; ATMega328P, ATTiny84 va ATTiny85. Kerakli dasturchining murakkabligini cheklash uchun men barcha qurilmalar uchun soatni ichki, faqat ATMega328P va ATTiny84 uchun 16 MGts chastotali chekladim.

Quyida Arduino bilan dasturlash bo'yicha eslatmalar to'plami va men ushbu qurilmalar uchun Arduino Uno -ga asoslangan oddiy dasturchini qanday yig'ishim tasvirlangan (yuqoridagi rasmlar).

Menga qanday qismlar kerak?

Dasturchi yaratish uchun sizga quyidagi qismlar kerak bo'ladi

  1. 1 ta Arduino Uno
  2. 2 ta 28 pinli Zero Insertion Force (ZIF) DIP soketlari (ATMega328P, ATTiny85, ATTiny84 uchun)
  3. 1 dona Arduino prototip qalqoni (meniki bu erda;
  4. 2 ta 5 MM LED o'chirilgan
  5. 2 ta 1K rezistor
  6. 1 ta 10K qarshilik
  7. 4 ta 22pF seramika kondansatkichlari
  8. 2 ta 16 MGts chastotali kristallar
  9. 3 ta 0,1uF sopol kondansatör
  10. 1 off 47uF elektrolitik kondansatkich
  11. 1 off 10uF elektrolitik kondansatkich
  12. Har xil uzunlikdagi simni o'rash.

Menga qanday dastur kerak?

Arduino IDE 1.6.9

Menga qanday ko'nikmalar kerak?

  1. Arduino IDE haqida ma'lumot
  2. Elektronika va lehim haqida ba'zi bilimlar
  3. Qo'lda katta mahorat
  4. Sabr va yaxshi ko'rish qobiliyati

Mavzular qamrab olingan

  1. Atmel mikrokontrollerlarini dasturlashga umumiy kirish
  2. ISP yoki Bootloader: Hammasi biroz chalkash
  3. O'chirishning umumiy ko'rinishi
  4. Dasturchi sozlanmoqda
  5. Arduino provayderidan foydalanish
  6. Maqsadli tizimingizda kod ishlab chiqish
  7. Gotchas
  8. Xulosa
  9. Ishlatilgan adabiyotlar

Voz kechish

Har doimgidek, siz ushbu ko'rsatmalarni o'zingizning xavfingiz ostida ishlatasiz va ular qo'llab -quvvatlanmaydi

1 -qadam: Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish

Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish
Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish
Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish
Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish
Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish
Atmel mikrokontrollerlarini dasturlash bo'yicha umumiy kirish

Atmel mikrokontrollerlarini dasturlash uchun ikkita usul mavjud;

  1. Tizim dasturlashida (ISP),
  2. O'z -o'zini dasturlash (yuklash vositasi orqali).

Avvalgi usul (1) to'g'ridan -to'g'ri qurilmani asl holatiga qaytargandan so'ng SPI interfeysi orqali mikrokontrollerni to'g'ridan -to'g'ri dasturlaydi. Agar boshqacha ko'rsatma bo'lmasa, kompilyatsiya qilingan bajariladigan manba dasturi qurilmaga asta -sekin kod xotirasiga yoziladi va u ishga tushganda bajariladi. Atmel qurilmalarini dasturlash imkoniyatiga ega bo'lgan ko'plab provayderlar mavjud, ulardan ba'zilari (1 -rasm); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. 2 -rasmda provayder qurilmasi Arduino Uno R3 kartasida ATMega328P (g'alati belgilangan ICSP) ga qanday ulanganligi ko'rsatilgan (3 -rasmda provayder pinini ko'rsatib berilgan). Bundan tashqari, Armelino Uno -dan ISP interfeysi orqali Atmel mikrokontrollerini ISP sifatida dasturlash mumkin (4 -rasm), bu erda Uno ATMega328P dasturlash uchun ishlatiladi.

Oxirgi usulda (2) bajariladigan kod xotirasida doimiy yashovchi "yuklovchi" deb nomlanuvchi kichik kod stubi ishlatiladi (odatda tasodifan 5 -rasmni qayta yozilishining oldini olish uchun qulflanadi). Bu kod birinchi navbatda qurilmani qayta ishga tushirgandan so'ng amalga oshiriladi va mikrokontrolder o'z interfeyslaridan biri orqali tashqi manbadan olingan yangi kod bilan o'zini qayta dasturlash imkonini beradi. Bootloader usuli Arduino IDE tomonidan Arduino-ni kompyuterda USB-aloqa porti sifatida qayta dasturlash uchun ishlatiladi (Yoki MAC, Linux qutisi va boshqalar, 6-rasm) va Arduino Uno Atmel qurilmasi orqali u orqali aloqa qiladi. ATMega328P 2 va 3 -chi IC pinlarida ketma -ket interfeys. Bundan tashqari, Arduino Uno (ATMega328P mikrokontrolerini olib tashlagan holda) ATMega328P -ni yuklash moslamasi orqali USB -ketma -ket adapter qurilmasi sifatida samarali dasturlash uchun ishlatilishi mumkin (7 -rasm).

USB -dan seriyali adapter nima?

USB-dan ketma-ket adapter-bu sizning shaxsiy kompyuteringizning USB-portiga ulanadigan va ketma-ket com portiga o'xshaydigan (kompyuterlar EIA-232, V24 yoki RS232 deb nomlangan ketma-ket aloqa standartini ishlatgan davrlardan qolgan meros) uskunalar to'plami. ketma -ket ma'lumotlarni mikrokontrollerning bir xil elektr darajalarida yuborish va qabul qilish. Arduino IDE -dan Tools -> Port -> COMx -ni tanlaganingizda, siz shaxsiy kompyuteringizni Arduino -ga ulaysiz/ulanasiz.

Bu kabi qurilmani ba'zan FTDI (8-rasm, aslida tovar nomi) yoki CH340G deb atashadi. Arduino uno-dagi USB-ni ATMega16U2-MU (R) IC ZU4 orqali Arduino sxemasida bo'lgani kabi olish mumkin. pastda

Aniqlik uchun rasm 9 Armelino Uno R3 dagi ikkita Atmel qurilmasini va ularga tegishli ISP ulagichlarini aniqlaydi.

Eslatma 1: Agar siz FTDI qurilmasi yo'nalishidan pastga tushishni tanlasangiz, obro'li sotuvchidan sotib olganingizga ishonch hosil qiling, chunki bozorda Windows -ning yangilanishi bilan ishlamay qolgan arzon qalbaki qurilmalar ko'p.

Tavsiya: