Isi kandungan:

Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP: 9 Langkah (dengan Gambar)
Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP: 9 Langkah (dengan Gambar)

Video: Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP: 9 Langkah (dengan Gambar)

Video: Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP: 9 Langkah (dengan Gambar)
Video: Cara Program ATTINY 85 dengan Arduino 2024, November
Anonim
Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP
Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP
Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP
Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP

Kata pengantar

Saya baru-baru ini sedang membangunkan beberapa projek IoT berasaskan ESP8266 dan mendapati pemproses terasnya sukar untuk melaksanakan semua tugas yang saya perlukan untuk menguruskannya, jadi saya memutuskan untuk menyebarkan beberapa aktiviti yang kurang penting kepada mikrokontroler yang berbeza di dengan cara ini membebaskan ESP8266 untuk meneruskan tugasnya sebagai peranti IoT.

Memandangkan saya ingin menerbitkan projek saya kepada khalayak seluas mungkin, saya memilih untuk menggunakan Arduino IDE sebagai platform pengembangan pilihan kerana mempunyai komuniti yang disokong secara meluas.

Kekangan Reka Bentuk

Untuk menyediakan penyebaran peranti sasaran yang munasabah yang memungkinkan pemilihan mikrokontroler yang sesuai untuk aplikasi di tangan, saya memutuskan bahagian Atmel berikut; ATMega328P, ATTiny84 dan ATTiny85. Untuk mengehadkan kerumitan pengaturcara yang diperlukan, saya mengehadkan pilihan jam ke dalaman untuk semua peranti dan 16MHz luaran hanya untuk ATMega328P dan ATTiny84.

Yang berikut adalah koleksi nota pengaturcaraan dengan Arduino dan penerangan tentang bagaimana saya mengumpulkan pengaturcara berasaskan Arduino Uno sederhana untuk peranti ini (Gambar di atas).

Bahagian apa yang saya perlukan?

Untuk membina pengaturcara, anda memerlukan bahagian-bahagian berikut

  1. 1 diskaun Arduino Uno
  2. 2 dari soket DIP Zero Insertion Force (ZIF) 28 pin (untuk menahan ATMega328P, ATTiny85, ATTiny84)
  3. 1 pelindung prototaip Arduino (saya ada di sini;
  4. 2 off 5MM LED
  5. 2 perintang 1K perintang
  6. 1 dari perintang 10K
  7. 4 dari kapasitor Seramik 22pF
  8. 2 dari kristal 16MHz
  9. 3 kapasitor seramik 0.1uF
  10. 1 off 47uF Elektrolitik Kapasitor
  11. 1 off Kapasitor Elektrolitik 10uF
  12. Kawat bungkus pelbagai panjang.

Perisian apa yang saya perlukan?

Arduino IDE 1.6.9

Apakah kemahiran yang saya perlukan?

  1. Pengetahuan mengenai Arduino IDE
  2. Sebilangan pengetahuan mengenai elektronik dan cara pematerian
  3. Banyak ketangkasan manual
  4. Banyak kesabaran dan penglihatan yang baik

Topik yang dibincangkan

  1. Pengenalan Umum pengaturcaraan Mikrokontroler Atmel
  2. ISP atau Bootloader: Semuanya agak membingungkan
  3. Gambaran keseluruhan litar
  4. Menyiapkan pengaturcara anda
  5. Menggunakan Pengaturcara ISP Arduino anda
  6. Membangunkan kod pada sistem sasaran anda
  7. Gotchas
  8. Kesimpulannya
  9. Rujukan yang digunakan

Penafian

Seperti biasa, anda menggunakan arahan ini dengan risiko anda sendiri dan mereka tidak disokong

Langkah 1: Pengenalan Umum Pengaturcaraan Mikrokontroler Atmel

Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel
Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel
Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel
Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel
Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel
Pengenalan Am mengenai Pengaturcaraan Mikrokontroler Atmel

Terdapat dua kaedah yang tersedia untuk pengaturcaraan mikrokontroler Atmel;

  1. Dalam Pengaturcaraan Sistem (ISP),
  2. Pengaturcaraan Sendiri (melalui pemuat but).

Kaedah sebelumnya (1) secara langsung memprogram mikrokontroler melalui antara muka SPI setelah pertama kali meletakkan peranti ke dalam set semula. Kecuali diperintahkan sebaliknya, program sumber boleh laku yang dikompilasi ditulis ke peranti secara bertahap ke dalam memori kod dari mana ia dijalankan semasa permulaan. Terdapat banyak peranti ISP yang mampu memprogramkan peranti Atmel, beberapa di antaranya (gambar 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Gambar 2 menunjukkan bagaimana peranti ISP menyambung ke ATMega328P (ICSP bertanda aneh) pada papan Arduino Uno R3 (gambar 3 memberikan pin ISP keluar). Juga memungkinkan untuk memprogram mikrokontroler Atmel melalui antara muka SPI menggunakan Arduino Uno sebagai ISP (gambar 4), di sini Uno digunakan untuk memprogram ATMega328P.

Kaedah terakhir (2) menggunakan rintisan kod kecil yang dikenali sebagai 'bootloader' yang tinggal secara tetap dalam memori kod yang dapat dilaksanakan (biasanya dikunci untuk mengelakkan penindihan gambar 5 secara tidak sengaja). Kod ini dilaksanakan terlebih dahulu setelah power up atau reset peranti dan membolehkan mikrokontroler memprogramkan semula dirinya dengan kod baru yang diterima melalui salah satu antara muka dari sumber luarnya sendiri. Kaedah bootloader digunakan oleh Arduino IDE untuk memprogram ulang Arduinos yang dipetakan sebagai port comm USB di PC (Atau MAC, kotak Linux dll., Gambar 6) dan dalam kes Arduino Uno berkomunikasi dengan peranti Atmel melalui itu antara muka bersiri pada IC Pin 2 dan 3 ATMega328P. Juga Arduino Uno (dengan mikrokontroler ATMega328P dikeluarkan) dapat digunakan untuk memprogram ATMega328P melalui kaedah bootloader yang bertindak efektif sebagai peranti penyesuai USB ke siri (gambar 7).

Apa itu penyesuai USB ke siri?

Penyesuai USB ke siri adalah sekeping perkakasan yang dipasang ke port USB PC anda dan kelihatan seperti port com bersiri (warisan dari masa-masa sebelumnya ketika komputer menggunakan standard komunikasi bersiri yang dikenali sebagai EIA-232, V24 atau RS232) yang membolehkan anda menghantar dan menerima data bersiri pada tahap elektrik mikrokontroler yang sama. Apabila anda Memilih Alat -> Port -> COMx dari Arduino IDE anda menyambungkan / menghubungkan PC anda ke Arduino anda.

Peranti seperti ini kadang-kadang disebut sebagai FTDI (gambar 8, yang sebenarnya adalah nama jenama) atau CH340G dll. USB ke siri pada Arduino uno dicapai melalui ATMega16U2-MU (R) IC ZU4 seperti dalam Skema Arduino di bawah.

Untuk kejelasan gambar 9 mengenal pasti dua peranti Atmel dan penyambung ISP masing-masing pada Arduino Uno R3.

Catatan 1: Jika anda memilih untuk menyusuri laluan peranti FTDI, pastikan anda membeli dari penjual yang bereputasi baik kerana terdapat banyak alat palsu yang murah di pasaran yang gagal setelah aplikasi kemas kini windows.

Disyorkan: