Apa set minimal bagian untuk circut dengan mikrokontroler AVR ini?

10

My Arduino Uno memiliki mikrokontroler ATMEGA328P-PU, dan banyak hal lainnya di papan tulis. Saya ingin memprogram chip tanpa perangkat lunak Arduino, dan hanya komponen minimum. Saya ingin akhirnya membuat sesuatu tanpa biaya Arduino, dan saya ingin belajar tentang bagian-bagian lain di papan tulis dan menambahkannya kembali sesuai kebutuhan. Saya nyaman dengan C dan gcc, jadi saya mungkin bisa mengetahui bagian perangkat lunaknya. Tetapi apa, jika ada, selain dua produk di bawah ini, yang perlu saya miliki di papan tempat memotong roti dengan mikrokontroler?

Atmel Programmer,
Mikrokontroler

Rob N
sumber
Anda bisa menjawab pertanyaan ini sendiri dengan mencari dan membaca lembar data ATMEGA328P-PU.
Phil Frost
7
Mungkin ketika saya tahu lebih banyak. Lembar data adalah 550 halaman, saya seorang pemula, dan skim tidak mengungkapkan apa-apa kepada saya. Saya banyak belajar sendiri, tetapi saya menghargai situs-situs seperti ini di mana saya bisa mendapatkan beberapa jawaban dari manusia sekarang dan kemudian. :)
Rob N
6
@ PhilFrost Itulah saran terburuk yang bisa Anda berikan kepada seorang pemula.
Capcom
1
@ PhilFrost Walaupun saya setuju dengan Anda bahwa menemukan informasi mungkin merupakan keterampilan paling penting yang dapat dimiliki oleh seorang pemula, terutama dengan banyaknya informasi yang tersedia berkat internet, membuka lembar data untuk pertama kalinya dapat sedikit mengintimidasi. Begitu seseorang yang lebih berpengalaman menjawab pertanyaan mereka dan memberi tahu mereka di mana dalam lembar data mereka menemukan jawabannya, pemula dapat menganalisis ulang sendiri dan mulai mendapatkan kepercayaan diri. Juga, tautan yang Anda berikan bukan lembar data. Anda mengatakan kepadanya untuk membaca "lembar data ATMEGA328P-PU", tidak melakukan pencarian Google untuk jawaban.
capcom
1
Oke, saya akan menyusun ulang. Rob, Anda harus tahu bahwa setiap produsen perangkat non-sepele akan menerbitkan dokumentasi untuk menjawab pertanyaan ini dengan tepat. Pabrikan memiliki minat yang jelas untuk memudahkan Anda menggunakan produk mereka. Membaca sepintas lembar data adalah cara untuk memulai. Untuk hal-hal kompleks seperti mikrokontroler, mungkin ada catatan aplikasi terpisah. "aplikasi tipikal" adalah kata-kata ajaib yang perlu Anda gunakan dalam istilah pencarian Anda. Bukanlah hal yang buruk untuk meminta bantuan, tetapi ada baiknya mengetahui cara memancing.
Phil Frost

Jawaban:

13

Yang Anda butuhkan selain dari programmer dan chip adalah beberapa topi decoupling, dan beberapa cara menghubungkan sinyal pemrograman ke papan tempat memotong roti.

Begitu:

  • 1 tutup elektrolitik besar (mis.> 100uF) Anda mungkin dapat melakukannya tanpa ini jika sumber Anda bagus dan tenang (mis. Baterai)
  • 1 100nF keramik melintasi pin daya mikro
  • 1 10kΩ resistor untuk terhubung dari pin reset ke Vcc untuk menahan micro out of reset.
  • Beberapa kawat jumper untuk menghubungkan node pada papan tempat memotong roti Anda (Anda dapat membeli kabel jumper yang sudah jadi, tapi saya menggunakan gulungan 22AWG dan memotong sendiri - jauh lebih murah jika Anda sering melakukan ini)
  • Header untuk mencolokkan kabel programmer Anda. Menurut panduan pengguna , sepertinya Anda membutuhkan header pitch 2,54 pin 2,54mm.

Pilihan

  • Sebuah tombol untuk menghubungkan garis reset ke ground jika Anda ingin mengatur ulang chip secara fisik (saya tidak menggunakan AVR, tapi saya yakin 99,9% programmer dapat melakukan ini dari IDE)
  • Kristal untuk digunakan sebagai pengganti osilator internal
  • 2 * 22pF kapasitor untuk kristal (tempat dari kedua sisi ke tanah)
  • Komponen pasif, LED, sensor, dll untuk melakukan sesuatu yang berguna dengan kode yang Anda tulis ;-)

Terlepas dari tajuk (yang 10-pin dengan beberapa pin yang tidak digunakan - Anda dapat menggunakan label sebagai panduan untuk koneksi Anda, namanya sama) skema ini adalah yang paling sederhana yang dapat saya temukan dengan Google cepat:

Skema AVR sederhana

Lucunya saya hanya menulis blog tentang melakukan hal yang hampir sama dengan mikrokontroler PIC (mungkin patut dilihat, keduanya sangat mirip)

Oli Glaser
sumber
3
Jika kita berbicara sangat minim, Anda tidak perlu resistor pullup pada garis reset - AVR memiliki pullup internal. Dan jika kita berbicara disarankan, Anda harus menyertakan batas pada garis reset juga - lihat catatan aplikasi ini: atmel.com/images/doc2521.pdf . Juga, header ISP 2x3 pin yang Anda sebutkan jauh lebih umum daripada 2x5 yang diperlihatkan dalam skema.
Nick Johnson
Terima kasih! Jika tutup 100nF untuk pin daya, untuk apa tutup> 100µF?
Rob N
1
@RobN kapasitor gemuk adalah untuk penyaringan / pemulusan noise catu daya
vicatcu
@NickJohnson - terima kasih untuk poin yang lebih bagus - silakan mengedit jawaban saya jika Anda mau (seperti yang disebutkan saya belum pernah menggunakan AVR, mikro kecil pilihan saya adalah PIC - atau memang ARM seperti STM32F10xxx yang lebih sering saat ini)
Oli Glaser
1
Jika Anda menggunakan kerangka kerja Arduino, Anda juga memerlukan kapasitor 100nF antara sinyal DTR dari adaptor serial-ke-USB dan jalur reset, jika tidak, Anda akan dipaksa untuk menyolder platina adaptor pada papan dengan kapasitor 0402 karena itu adalah satu-satunya paket yang Anda miliki 100nF tersedia, dan tidak ada yang akan melakukan hal konyol seperti itu.
Simon Richter
4

Saya hanya memposting ini sebagai jawaban untuk menyembunyikan URL jelek. Anda tentu harus melihat Atmel Appnote AVR042: Pertimbangan Desain Perangkat Keras AVR .

vicatcu
sumber
+1 untuk referensi yang sangat baik, saya sedang mencari sesuatu seperti ini untuk melengkapi saran pengaturan mikro kecil "umum". @RobN - Anda harus membaca dokumen ini dengan seksama.
Oli Glaser
0

Saya juga menemukan tautan yang membantu ini dari orang-orang Arduino: https://www.arduino.cc/en/Main/Standalone Ini menjelaskan cara menggunakan chip yang baru saja Anda dapatkan dari DigiKey (atau di mana pun) untuk memuat bootloader dan komponen pendukung minimum.

Abnormal
sumber