Daftar Isi:

Merancang Papan Pengembangan Mikrokontroler: 14 Langkah (dengan Gambar)
Merancang Papan Pengembangan Mikrokontroler: 14 Langkah (dengan Gambar)

Video: Merancang Papan Pengembangan Mikrokontroler: 14 Langkah (dengan Gambar)

Video: Merancang Papan Pengembangan Mikrokontroler: 14 Langkah (dengan Gambar)
Video: Cara Merancang Mikrokontroller Atmega 8535 ke Sistem Elektropneumatik #mikrokontroller to pneumatik 2024, September
Anonim
Merancang Papan Pengembangan Mikrokontroler
Merancang Papan Pengembangan Mikrokontroler

Apakah Anda seorang pembuat, penghobi, atau peretas yang tertarik untuk melangkah dari proyek perfboard, IC DIP, dan PCB buatan sendiri ke PCB multilayer yang dibuat oleh rumah papan dan kemasan SMD yang siap untuk produksi massal? Maka instruksi ini adalah untuk Anda!

Panduan ini akan merinci cara mendesain PCB multilayer, menggunakan papan pengembang mikrokontroler sebagai contoh.

Saya menggunakan KiCAD 5.0, yang merupakan alat EDA sumber terbuka dan gratis, untuk membuat skema dan tata letak PCB untuk papan pengembang ini.

Jika Anda tidak terbiasa dengan KiCAD atau alur kerja untuk tata letak PCB, tutorial Chris Gamell di YouTube adalah tempat yang bagus untuk memulai.

EDIT: Beberapa foto terlalu diperbesar, cukup klik gambar untuk melihat gambar penuh:)

Langkah 1: Pikirkan Tentang Kemasan Komponen

Pikirkan Tentang Kemasan Komponen
Pikirkan Tentang Kemasan Komponen

Surface Mount Devices (SMD) dapat diposisikan pada PCB dengan mesin pick and place, yang mengotomatiskan proses perakitan. Anda kemudian dapat menjalankan PCB melalui oven reflow, atau mesin solder gelombang, jika Anda juga memiliki komponen lubang.

Komponen lead untuk SMD yang lebih kecil juga berkurang, menghasilkan impedansi, induktansi dan EMI yang jauh lebih rendah, hal yang sangat baik, terutama untuk desain RF dan frekuensi tinggi.

Pergi ke rute pemasangan permukaan juga meningkatkan kinerja dan kekasaran mekanis, yang penting untuk pengujian getaran dan tegangan mekanis.

Langkah 2: Pilih Mikrokontroler Anda

Pilih Mikrokontroler Anda
Pilih Mikrokontroler Anda

Inti dari setiap papan pengembangan mikrokontroler, seperti Arduino dan turunannya, adalah mikrokontroler. Dalam kasus Arduino Uno, ini adalah ATmega 328P. Untuk papan dev kami, kami akan menggunakan ESP8266.

Ini sangat murah, berjalan pada 80MHz (dan dapat di-overclock hingga 160MHz) DAN memiliki subsistem WiFi bawaan. Ketika digunakan sebagai mikrokontroler mandiri, ia dapat menjalankan operasi tertentu hingga 170x lebih cepat daripada Arduino.

Langkah 3: Pilih Konverter USB ke Serial Anda

Pilih Konverter USB ke Serial Anda
Pilih Konverter USB ke Serial Anda

Mikrokontroler akan membutuhkan beberapa cara untuk berinteraksi dengan komputer Anda, sehingga Anda dapat memuat program Anda ke dalamnya. Ini biasanya dilakukan oleh chip eksternal, yang menangani penerjemahan antara sinyal diferensial yang digunakan oleh port USB di komputer Anda, dan pensinyalan ujung tunggal yang tersedia di sebagian besar mikrokontroler melalui periferal komunikasi serialnya, seperti UART.

Dalam kasus kami, kami akan menggunakan FT230X, dari FTDI. Chip USB ke Serial dari FTDI cenderung didukung dengan baik di sebagian besar sistem operasi, jadi ini adalah taruhan yang aman untuk papan pengembang. Alternatif populer (opsi lebih murah) termasuk CP2102 dari SiLabs dan CH340G.

Langkah 4: Pilih Regulator Anda

Pilih Pengatur Anda
Pilih Pengatur Anda

Papan perlu mendapatkan daya melalui suatu tempat - dan dalam kebanyakan kasus Anda akan menemukan daya ini disediakan melalui IC regulator linier. Regulator linier murah, sederhana, dan meskipun tidak seefisien skema mode yang diaktifkan, akan menawarkan daya yang bersih (lebih sedikit noise) dan integrasi yang mudah.

AMS1117 regulator linier paling populer yang digunakan di sebagian besar papan dev, dan pilihan yang cukup baik untuk papan dev kami juga.

Langkah 5: Pilih Skema Power OR-ing Anda

Pilih Skema Kekuatan ATAU-ing Anda
Pilih Skema Kekuatan ATAU-ing Anda

Jika Anda akan membiarkan pengguna menyalakan papan dev melalui USB, dan juga menawarkan input tegangan melalui salah satu pin di papan, Anda akan memerlukan cara untuk memilih di antara dua tegangan yang bersaing. Ini paling sederhana dicapai melalui penggunaan dioda, yang berfungsi untuk memungkinkan hanya tegangan input yang lebih tinggi untuk melewati dan memberi daya pada rangkaian lainnya.

Dalam kasus kami, kami memiliki penghalang schottky ganda, yang mencakup dua dioda schottky pada satu paket untuk tujuan ini.

Langkah 6: Pilih Chip Periferal Anda (jika Ada)

Pilih Chip Periferal Anda (jika Ada)
Pilih Chip Periferal Anda (jika Ada)
Pilih Chip Periferal Anda (jika Ada)
Pilih Chip Periferal Anda (jika Ada)

Anda dapat menambahkan chip ke antarmuka dengan mikrokontroler pilihan Anda untuk meningkatkan kegunaan atau fungsionalitas yang ditawarkan oleh papan dev Anda kepada penggunanya.

Dalam kasus kami, ESP8266 hanya memiliki satu saluran input analog, dan sangat sedikit GPIO yang dapat digunakan.

Untuk mengatasi hal ini, kami akan menambahkan IC Konverter Analog ke Digital eksternal, dan IC Expander GPIO.

Memilih ADC biasanya merupakan trade off antara tingkat konversi atau kecepatan, dan resolusi. Resolusi yang lebih tinggi belum tentu lebih baik, karena chip yang menampilkan resolusi lebih tinggi karena menggunakan teknik pengambilan sampel yang berbeda sering kali memiliki laju sampel yang sangat lambat. ADC SAR tipikal memiliki laju sampel lebih dari ratusan ribu sampel per detik, sedangkan ADC Delta Sigma beresolusi lebih tinggi biasanya hanya mampu menampung beberapa sampel per detik-jauh dari ADC SAR yang cepat dan ADC berpipa cepat kilat.

MCP3208 adalah ADC 12-bit, dengan 8 saluran analog. Ini dapat beroperasi di mana saja antara 2.7V-5.5V dan memiliki tingkat pengambilan sampel maksimum 100ksps.

Penambahan MCP23S17, expander GPIO yang populer menghasilkan 16 pin GPIO yang tersedia untuk digunakan.

Langkah 7: Desain Sirkuit

Desain Sirkuit
Desain Sirkuit

Sirkuit pengiriman daya menggunakan dua dioda schottky untuk menyediakan fungsi OR sederhana untuk input daya. Ini mengatur pertempuran antara 5V yang berasal dari port USB, dan apa pun yang ingin Anda berikan ke pin VIN - pemenang pertempuran elektron keluar di atas dan memberikan daya ke regulator AMS1117. LED SMD yang sederhana berfungsi sebagai indikator bahwa daya sebenarnya dikirim ke seluruh papan.

Sirkuit antarmuka USB memiliki fitur manik ferit untuk mencegah EMI nyasar dan sinyal jam yang bising dari memancar ke bawah menuju komputer pengguna. Resistor seri pada jalur data (D+ dan D-) menyediakan kontrol kecepatan tepi dasar.

ESP8266 menggunakan GPIO 0, GPIO 2 dan GPIO 15 sebagai pin input khusus, membaca statusnya saat boot untuk menentukan apakah akan memulai dalam mode pemrograman, yang memungkinkan Anda berkomunikasi melalui serial untuk memprogram mode boot chip atau flash, yang meluncurkan program Anda. GPIO 2 dan GPIO 15 harus tetap pada logika tinggi, dan logika rendah, masing-masing selama proses boot. Jika GPIO 0 rendah saat boot, ESP8266 melepaskan kontrol dan memungkinkan Anda untuk menyimpan program Anda dalam memori flash yang dihubungkan di dalam modul. Jika GPIO 0 tinggi, ESP8266 meluncurkan program terakhir yang disimpan dalam flash, dan Anda siap untuk memulai.

Untuk itu, papan dev kami menyediakan sakelar boot dan reset, memungkinkan pengguna mengubah status GPIO 0, dan mengatur ulang perangkat, untuk menempatkan chip ke mode pemrograman yang diinginkan. Sebuah resistor pull-up memastikan bahwa perangkat diluncurkan ke mode boot normal secara default, memulai program yang paling baru disimpan.

Langkah 8: Desain dan Tata Letak PCB

Desain dan Tata Letak PCB
Desain dan Tata Letak PCB

Tata letak PCB menjadi lebih kritis setelah kecepatan tinggi atau sinyal analog dilibatkan. IC analog khususnya sensitif terhadap masalah kebisingan tanah. Ground planes memiliki kemampuan untuk memberikan referensi yang lebih stabil untuk sinyal yang diinginkan, mengurangi noise dan interferensi yang biasanya disebabkan oleh ground loop.

Jejak analog harus dijauhkan dari jejak digital berkecepatan tinggi, seperti jalur data diferensial yang merupakan bagian dari standar USB. Jejak sinyal data diferensial harus dibuat sesingkat mungkin, dan panjang jejak harus dicocokkan. Hindari belokan dan vias untuk mengurangi pantulan dan variasi impedansi.

Menggunakan konfigurasi bintang untuk menyediakan daya ke perangkat (dengan asumsi Anda belum menggunakan pesawat daya) juga membantu mengurangi kebisingan dengan menghilangkan jalur kembali saat ini.

Langkah 9: Penumpukan PCB

Penumpukan PCB
Penumpukan PCB

Papan dev kami dibangun di atas tumpukan PCB 4 lapis, dengan bidang daya dan bidang tanah khusus.

"Stack-up" Anda adalah urutan lapisan pada PCB Anda. Susunan lapisan mempengaruhi kepatuhan EMI desain Anda, serta integritas sinyal sirkuit Anda.

Faktor-faktor yang perlu dipertimbangkan dalam penumpukan PCB Anda akan mencakup:

  1. Jumlah lapisan
  2. Urutan lapisan
  3. Spasi di antara lapisan
  4. Tujuan dari setiap lapisan (sinyal, bidang, dll)
  5. Ketebalan lapisan
  6. Biaya

Setiap stack-up memiliki kelebihan dan kekurangannya sendiri. Papan 4 lapis akan menghasilkan radiasi sekitar 15dB lebih sedikit daripada desain 2 lapis. Papan multi lapisan lebih cenderung menampilkan bidang tanah yang lengkap, penurunan impedansi tanah, dan kebisingan referensi.

Langkah 10: Lebih Banyak Pertimbangan untuk Lapisan PCB dan Integritas Sinyal

Lebih Banyak Pertimbangan untuk Lapisan PCB dan Integritas Sinyal
Lebih Banyak Pertimbangan untuk Lapisan PCB dan Integritas Sinyal

Lapisan sinyal idealnya berada di sebelah bidang daya atau bidang tanah, dengan jarak minimal antara lapisan sinyal dan bidang terdekatnya masing-masing. Ini mengoptimalkan jalur pengembalian sinyal, yang melewati bidang referensi.

Power dan ground planes dapat digunakan untuk memberikan pelindung antar lapisan, atau sebagai pelindung untuk lapisan dalam.

Power dan ground plane, ketika ditempatkan bersebelahan, akan menghasilkan kapasitansi antarplane yang biasanya bekerja sesuai keinginan Anda. Kapasitansi ini berskala dengan luas PCB Anda, serta konstanta dielektriknya, dan berbanding terbalik dengan jarak antar bidang. Kapasitansi ini bekerja dengan baik untuk melayani IC yang menampilkan persyaratan arus suplai yang tidak stabil.

Sinyal cepat idealnya disimpan di lapisan dalam PCB multi-lapisan, untuk menampung EMI yang dihasilkan oleh jejak.

Semakin tinggi frekuensi yang ditangani di papan, semakin ketat persyaratan ideal ini harus diikuti. Desain kecepatan rendah cenderung lolos dengan lapisan yang lebih sedikit, atau bahkan satu lapisan, sementara desain kecepatan tinggi dan RF memerlukan desain PCB yang lebih rumit dengan susunan PCB yang lebih strategis.

Desain kecepatan tinggi, misalnya, lebih rentan terhadap efek kulit-yang merupakan pengamatan bahwa pada frekuensi tinggi, aliran arus tidak menembus seluruh badan konduktor, yang pada gilirannya berarti bahwa ada utilitas marjinal yang semakin berkurang untuk meningkatkan ketebalan tembaga pada frekuensi tertentu, karena volume tambahan konduktor tidak akan digunakan. Pada sekitar 100MHz, kedalaman kulit (ketebalan arus yang sebenarnya mengalir melalui konduktor) adalah sekitar 7um, yang berarti bahkan standar 1oz. lapisan sinyal tebal kurang dimanfaatkan.

Langkah 11: Catatan Tambahan tentang Vias

Catatan Tambahan tentang Vias
Catatan Tambahan tentang Vias

Vias membentuk koneksi antara berbagai lapisan PCB multilayer.

Jenis vias yang digunakan akan mempengaruhi biaya produksi PCB. Biaya pembuatan vias buta/terkubur lebih mahal daripada vias lubang. A melalui lubang melalui pukulan melalui seluruh PCB, berakhir di lapisan terendah. Vias terkubur tersembunyi di dalam dan hanya menghubungkan lapisan dalam, sedangkan vias Blind mulai di satu sisi PCB tetapi berakhir sebelum sisi lain. Melalui vias lubang adalah yang termurah dan termudah untuk diproduksi, jadi jika mengoptimalkan penggunaan biaya melalui vias lubang.

Langkah 12: Fabrikasi dan Perakitan PCB

Fabrikasi dan Perakitan PCB
Fabrikasi dan Perakitan PCB

Sekarang setelah papan telah dirancang, Anda ingin menampilkan desain sebagai file Gerber dari alat EDA pilihan Anda, dan mengirimkannya ke rumah papan untuk fabrikasi.

Papan saya dibuat oleh ALLPCB, tetapi Anda dapat menggunakan toko papan apa pun untuk fabrikasi. Saya akan sangat merekomendasikan menggunakan PCB Shopper untuk membandingkan harga saat memutuskan rumah papan mana yang akan dipilih untuk fabrikasi - sehingga Anda dapat membandingkan dalam hal harga dan kemampuan.

Beberapa rumah dewan juga menawarkan Perakitan PCB, yang mungkin Anda perlukan jika Anda ingin menerapkan desain ini, karena sebagian besar menggunakan bagian SMD dan bahkan QFN.

Langkah 13: Itu Semua Orang

Itu Semua Orang!
Itu Semua Orang!

Papan pengembangan ini disebut "Clouduino Stratus", papan pengembang berbasis ESP8266 yang saya rancang untuk mempercepat proses pembuatan prototipe untuk startup perangkat keras/IoT.

Ini masih merupakan iterasi awal dari desain, dengan revisi baru segera hadir.

Saya harap kalian belajar banyak dari panduan ini!:D

Langkah 14: Bonus: Komponen, Gerber, File Desain, dan Ucapan Terima Kasih

[Mikrokontroler]

1x ESP12F

[Periferal]

1 x MCP23S17 GPIO Expander (QFN)

1 x MCP3208 ADC (SOIC)

[Konektor dan Antarmuka]

1 x FT231XQ USB ke Serial (QFN)

1 x Konektor Mini USB-B

2 x 16-pin Header Wanita/Pria

[Daya]1 x AMS1117 - 3.3 Regulator (SOT-223-3)

[Yang lain]

1 x ECQ10A04-F Penghalang Schottky Ganda (TO-252)

2 x BC847W (SOT323)

7 x 10K 1% SMD 0603 Resistor

2x27 ohm 1% SMD 0603 Resistor

3x270 ohm 1% SMD 0603 Resistor

2x470 ohm 1% SMD 0603 Resistor

3 x 0.1uF 50V SMD 0603 Kapasitor

2 x 10uF 50V SMD 0603 Kapasitor

1 x 1uF 50V SMD 0603 Kapasitor

2 x 47pF 50V SMD 0603 Kapasitor

1 x SMD LED 0603 Hijau

1 x SMD LED 0603 Kuning

1 x SMD LED 0603 Biru

2 x Saklar Kebijaksanaan OMRON BF-3 1000 THT

1 x Ferrite Bead 600/100mhz SMD 0603

[Penghargaan] Grafik ADC milik TI App Notes

Tolok Ukur MCU:

Ilustrasi PCB: Garis halus

Direkomendasikan: