Daftar Isi:

Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri: 5 Langkah (dengan Gambar)
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri: 5 Langkah (dengan Gambar)

Video: Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri: 5 Langkah (dengan Gambar)

Video: Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri: 5 Langkah (dengan Gambar)
Video: Review PZEM-004T with Arduino ESP32 ESP8266 Python & Raspberry Pi : PDAControl 2024, Juli
Anonim
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri
Rancang PCB Modul Komputasi Raspberry Pi Anda Sendiri

Jika Anda belum pernah mendengar tentang Modul Hitung Raspberry Pi sebelumnya, ini pada dasarnya adalah komputer Linux yang lengkap dengan faktor bentuk tongkat RAM laptop!

Dengan itu menjadi mungkin untuk merancang papan kustom Anda sendiri di mana Raspberry Pi hanyalah komponen lain. Itu memberi Anda fleksibilitas yang sangat besar karena memungkinkan Anda memiliki akses ke jumlah pin IO yang jauh lebih besar, sementara pada saat yang sama Anda dapat memilih dengan tepat perangkat keras apa yang Anda inginkan di papan Anda. EMMC on-board juga menghilangkan kebutuhan akan kartu micro SD eksternal, yang membuat Compute Module sempurna untuk merancang produk berbasis Raspberry Pi.

Sayangnya, sementara Compute Module memungkinkan Anda untuk melakukan semua ini, tampaknya masih kurang dalam hal popularitas dibandingkan dengan Raspberry Pi Model A dan B tradisional. Akibatnya, tidak banyak proyek perangkat keras open source di luar sana yang didasarkan pada dia. Dan bagi siapa saja yang mungkin ingin memulai mendesain papan mereka sendiri, jumlah sumber daya yang mereka miliki agak terbatas.

Ketika saya pertama kali memulai dengan Modul Hitung Raspberry Pi beberapa bulan yang lalu, itulah masalah yang saya hadapi. Jadi, saya memutuskan untuk melakukan sesuatu tentang hal itu. Saya memutuskan untuk merancang PCB open source berdasarkan Compute Module, yang akan memiliki semua fitur dasar yang membuat Raspberry Pi hebat. Itu termasuk konektor kamera, host USB, output audio, HDMI dan tentu saja header GPIO yang kompatibel dengan papan Raspberry Pi biasa.

Tujuan dari proyek ini adalah untuk menyediakan desain open source untuk papan berbasis Modul Komputasi, yang dapat digunakan siapa saja sebagai titik awal untuk merancang papan kustom mereka sendiri. Papan ini dirancang pada KiCAD, sebuah paket perangkat lunak EDA open source dan lintas platform, untuk memungkinkan sebanyak mungkin orang memanfaatkannya.

Cukup ambil file desain, sesuaikan dengan kebutuhan Anda dan putar papan kustom Anda sendiri untuk proyek Anda.

Langkah 1: Suku Cadang dan Alat

Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat

Untuk memulai dengan Modul Hitung Raspberry Pi, Anda memerlukan bagian-bagian berikut:

1 x Raspberry Pi Compute Module 3 - Saya sangat menyarankan untuk mendapatkan versi reguler yang menyertakan eMMC on-board dan bukan versi Lite. Jika Anda ingin menggunakan versi Lite dalam proyek Anda, Anda harus membuat beberapa perubahan pada desain, dan itu termasuk menambahkan konektor kartu micro SD. Akhirnya, saya hanya menguji papan dengan CM3 dan saya tidak dapat menjamin bahwa itu akan bekerja dengan versi CM pertama yang dirilis pada tahun 2014.

Pembaruan 29/1/2019: Tampaknya Foundation baru saja merilis Compute Module 3+ dan tidak hanya itu, tetapi sekarang juga hadir dengan opsi untuk eMMC 8GB, 16GB, atau 32GB! Menurut datasheet, tampaknya CM3+ identik dengan listrik dengan CM3 yang berarti pada dasarnya merupakan pengganti CM3.

1 x Compute Module IO Board - Desain saya dimaksudkan sebagai titik awal untuk mendesain board kustom Anda sendiri berdasarkan itu, bukan untuk menggantikan board Compute Module IO. Jadi, untuk membuat hidup Anda lebih mudah, saya sangat menyarankan untuk menggunakan papan IO dan menggunakannya untuk pengembangan sebelum pindah ke papan kustom. Selain memberi Anda akses ke setiap pin CM plus berbagai konektor, board IO juga diperlukan untuk mem-flash eMMC on-board. Yang merupakan sesuatu yang tidak dapat Anda lakukan dengan papan saya, kecuali jika Anda melakukan beberapa perubahan pada desain terlebih dahulu.

1 x Kabel Kamera Raspberry Pi Zero atau Adaptor Kamera Compute Module - Pada desain saya, saya menggunakan konektor kamera yang sangat mirip dengan yang digunakan oleh Compute Module IO Board dan Raspberry Pi Zero. Jadi, untuk memasang kamera, Anda memerlukan kabel adaptor yang dirancang untuk Pi Zero atau papan adaptor kamera yang disertakan dengan Compute Module Development Kit. Sejauh yang saya tahu, membeli papan adaptor secara terpisah cukup mahal. Jadi, jika Anda seperti saya memutuskan untuk membeli CM dan IO Board secara terpisah untuk menghemat uang, saya menyarankan Anda untuk mendapatkan kabel adaptor kamera yang dirancang untuk Pi Zero.

1 x Modul Kamera Raspberry Pi - Saya hanya menguji papan dengan modul kamera 5MP asli dan bukan versi 8MP yang lebih baru. Tetapi karena yang pertama tampaknya berfungsi dengan baik, saya tidak melihat alasan yang kemudian tidak karena seharusnya kompatibel ke belakang. Either way, versi 5MP dapat ditemukan dengan harga kurang dari 5€ di eBay saat ini, itulah sebabnya saya merekomendasikan untuk mendapatkannya.

4 x Kabel Jumper Wanita ke Wanita - Anda akan membutuhkan setidaknya 4 untuk mengonfigurasi konektor kamera pada papan IO, Anda mungkin ingin mendapatkan lebih banyak. Mereka tidak diperlukan untuk papan kustom tetapi dapat berguna jika Anda berencana memasang perangkat keras eksternal apa pun melalui header GPIO.

1 x Kabel HDMI - Saya memutuskan untuk menggunakan konektor HDMI ukuran penuh di papan saya untuk menghilangkan kebutuhan akan adaptor. Tentu saja, jika Anda lebih suka menggunakan konektor mini atau bahkan mikro HDMI, Anda bebas menyesuaikan desain dengan kebutuhan Anda.

1 x 5V Micro USB Power Supply - Pengisi daya ponsel Anda mungkin akan berfungsi dengan baik untuk sebagian besar kasus selama dapat menyediakan setidaknya 1A. Ingatlah bahwa ini hanya nilai umum, kebutuhan daya Anda yang sebenarnya akan bergantung pada perangkat keras yang Anda putuskan untuk disertakan pada papan kustom Anda.

1 x USB Ethernet Adapter - Jika Anda berencana menginstal atau memperbarui hampir semua paket di sistem Anda, Anda akan memerlukan setidaknya akses Internet sementara. Adaptor Ethernet 2-in-1 plus hub USB mungkin merupakan kombinasi yang baik karena Anda hanya memiliki satu port USB yang tersedia. Secara pribadi saya menggunakan Edimax EU-4208 yang bekerja di luar kotak dengan Pi dan tidak memerlukan daya eksternal, tetapi tidak memiliki hub USB bawaan. Jika Anda ingin membeli adaptor USB Ethernet di sini, Anda bisa temukan daftar dengan yang telah diuji dengan Raspberry Pi.

Jika Anda ingin menambahkan lebih banyak port USB dan bahkan Etherent langsung di papan kustom Anda, saya sarankan untuk melihat LAN9512 dari Microchip. Ini adalah chip yang sama yang digunakan oleh Raspberry Pi Model B asli dan akan memberi Anda 2 port USB dan 1 port Ethernet. Atau, jika Anda memerlukan 4 port USB, pertimbangkan untuk melihat sepupunya LAN9514.

1 x DDR2 SODIMM RAM Connector - Ini mungkin merupakan komponen terpenting dari seluruh board dan kemungkinan satu-satunya yang tidak dapat dengan mudah diganti. Untuk menyelamatkan Anda dari masalah bagian yang harus Anda dapatkan adalah TE CONNECTIVITY 1473005-4. Ini tersedia dari sebagian besar pemasok utama termasuk TME, Mouser dan Digikey, jadi Anda tidak akan kesulitan menemukannya. Namun berhati-hatilah, periksa kembali dan pastikan bahwa bagian yang Anda pesan sebenarnya adalah 1473005-4. Jangan membuat kesalahan yang sama yang saya lakukan dan dapatkan versi cermin, konektor ini tidak murah.

Untuk sisa bagian yang saya pilih untuk disertakan di papan, Anda dapat melihat BOM untuk mendapatkan informasi lebih lanjut, saya mencoba menyertakan tautan ke lembar data untuk sebagian besar dari mereka.

Peralatan Solder - Komponen terkecil di papan adalah kapasitor decoupling 0402, tetapi HDMI serta kamera dan konektor SODIMM juga bisa sedikit menantang tanpa pembesaran apa pun. Jika Anda memiliki pengalaman yang baik dengan penyolderan SMD, itu seharusnya tidak menjadi masalah besar. Either way, jika Anda memiliki akses ke mikroskop, saya sangat merekomendasikannya.

Langkah 2: Mem-flash EMMC

Hal pertama yang perlu Anda lakukan sebelum mulai menggunakan Modul Komputasi adalah mem-flash gambar Raspbian Lite terbaru di eMMC. Dokumentasi resmi Raspberry Pi ditulis dengan sangat baik dan menjelaskan seluruh proses dengan sangat rinci untuk Linux dan Windows. Untuk alasan itu saya hanya akan menjelaskan langkah-langkah yang perlu Anda ambil secara singkat di Linux, sehingga dapat berfungsi sebagai referensi cepat.

Pertama-tama, Anda perlu memastikan bahwa papan IO Anda diatur ke mode pemrograman dan Modul Hitung dimasukkan ke konektor SODIMM. Untuk mengatur papan ke mode pemrograman, pindahkan jumper J4 ke posisi EN.

Selanjutnya, Anda perlu membangun alat rpiboot di sistem Anda sehingga Anda dapat menggunakannya untuk mendapatkan akses ke eMMC. Untuk melakukannya, Anda memerlukan salinan repositori usbboot yang dapat diperoleh dengan mudah menggunakan git sebagai berikut, git clone --depth=1 https://github.com/raspberrypi/usbboot && cd usbboot

Sekarang, untuk membangun rpiboot, Anda perlu memastikan bahwa paket libusb-1.0-0-dev dan make diinstal pada sistem Anda. Jadi, dengan asumsi Anda menggunakan distro berbasis Debian seperti Ubuntu run, sudo apt update && sudo apt install libusb-1.0-0-dev make

Jika Anda tidak menggunakan distro berbasis Debian, nama paket libusb-1.0.0-dev mungkin berbeda, jadi pastikan untuk menemukan cara memanggilnya dalam kasus Anda. Setelah dependensi build diinstal, Anda dapat membangun biner rpiboot hanya dengan menjalankan, membuat

Setelah selesai dibangun, jalankan rpiboot sebagai root dan itu akan mulai menunggu koneksi, sudo./rpiboot

Sekarang colokkan papan IO ke komputer Anda dengan menghubungkan kabel micro USB ke port USB SLAVE dan kemudian berikan daya ke port POWER IN. Setelah beberapa detik, rpiboot seharusnya dapat mendeteksi Modul Hitung dan memungkinkan Anda mengakses eMMC. Itu akan menghasilkan perangkat blok baru yang muncul di bawah /dev. Anda dapat menggunakan program fdisk untuk membantu Anda menemukan nama perangkat, sudo fdisk -l

Disk /dev/sdi: 3,7 GiB, 3909091328 byte, 7634944 sektor

Satuan: sektor 1 * 512 = 512 byte Ukuran sektor (logis/fisik): 512 byte / 512 byte Ukuran I/O (minimum/optimal): 512 byte / 512 byte Jenis disklabel: dos Pengenal disk: 0x8e3a9721

Jenis Id Ukuran Sektor Mulai Boot Perangkat Akhir

/dev/sdi1 8192 137215 129024 63M c W95 FAT32 (LBA) /dev/sdi2 137216 7634943 7497728 3.6G 83 Linux

Dalam kasus saya itu /dev/sdi karena saya memiliki beberapa drive yang sudah terpasang di sistem saya, tetapi drive Anda pasti akan bervariasi.

Setelah Anda benar-benar yakin telah menemukan nama perangkat yang benar, Anda dapat menggunakan dd untuk membakar gambar Raspbian Lite ke eMMC. Sebelum melakukan itu, pastikan tidak ada partisi eMMC yang sudah terpasang di sistem Anda.

df -h

Jika Anda menemukan unmount mereka sebagai berikut, sudo umount /dev/sdXY

Sekarang berhati-hatilah, menggunakan nama perangkat yang salah dengan dd berpotensi merusak sistem Anda dan menyebabkan hilangnya data. Jangan lanjutkan dengan langkah berikutnya kecuali Anda benar-benar yakin bahwa Anda tahu apa yang Anda lakukan. Jika Anda memerlukan informasi lebih lanjut, silakan lihat dokumentasi mengenai hal ini.

sudo dd if=-raspbian-stretch-lite.img of=/dev/sdX bs=4M && sinkronisasi

Setelah perintah dd dan sinkronisasi selesai, Anda harus dapat mencabut papan IO dari komputer Anda. Terakhir, jangan lupa untuk memindahkan jumper J4 kembali ke posisi DIS dan Compute Module Anda akan siap untuk boot pertama.

Langkah 3: Boot Pertama

Sebelum mem-boot untuk pertama kalinya, pastikan untuk mencolokkan keyboard USB dan monitor HDMI ke papan IO Anda. Jika semuanya berjalan seperti yang diharapkan dan Pi Anda selesai booting, memasangnya akan memungkinkan Anda untuk berinteraksi dengannya.

Saat Anda diminta untuk masuk, gunakan "pi" untuk nama pengguna dan "raspberry" untuk kata sandi karena ini adalah kredensial masuk default. Anda sekarang dapat menjalankan beberapa perintah untuk memastikan bahwa semuanya berfungsi seperti yang biasa Anda lakukan pada Raspberry Pi apa pun, tetapi jangan mencoba menginstal apa pun karena Anda masih belum memiliki koneksi Internet.

Hal penting yang perlu Anda lakukan sebelum mematikan Pi Anda adalah mengaktifkan SSH, sehingga Anda dapat menghubungkannya dari komputer Anda setelah boot berikutnya. Anda dapat melakukannya dengan sangat mudah menggunakan perintah raspi-config, sudo raspi-config

Untuk mengaktifkan SSH pergi ke Interfacing Options, pilih SSH, pilih YES, OK dan Finish. Jika Anda ditanya apakah Anda ingin mem-boot ulang, tolak. Setelah Anda selesai mematikan Pi Anda dan setelah selesai lepaskan daya.

sudo shutdown -h sekarang

Selanjutnya, Anda perlu membuat koneksi Internet menggunakan adaptor USB Ethernet yang seharusnya sudah Anda miliki. Jika adaptor Anda juga dilengkapi hub USB, Anda dapat menggunakannya untuk menyambungkan keyboard Anda jika Anda mau, jika tidak, Anda dapat menyambungkan ke Pi melalui SSH. Either way, biarkan monitor HDMI terpasang setidaknya untuk saat ini, untuk memastikan bahwa proses boot selesai seperti yang diharapkan.

Juga, menjelang akhir itu juga harus menunjukkan kepada Anda alamat IP yang didapat Pi Anda dari server DHCP. Coba gunakan ini untuk terhubung ke Pi Anda melalui SSH.

ssh pi@

Setelah berhasil terhubung ke Pi Anda melalui SSH, Anda tidak perlu lagi memasang monitor dan keyboard, jadi jangan ragu untuk mencabutnya jika Anda mau. Pada titik ini Anda juga harus memiliki akses ke Internet dari Pi Anda, Anda dapat mencoba melakukan ping ke sesuatu seperti google.com untuk memverifikasinya. Setelah memastikan bahwa Anda memiliki akses ke Internet, sebaiknya perbarui sistem dengan menjalankan, sudo apt update && sudo apt upgrade

Langkah 4: Mengkonfigurasi Kamera

Mengonfigurasi Kamera
Mengonfigurasi Kamera

Perbedaan terbesar antara papan Raspberry Pi biasa dan Modul Hitung adalah bahwa dalam kasus nanti selain hanya mengaktifkan kamera dengan menggunakan raspi-config, Anda juga memerlukan file pohon perangkat khusus.

Anda dapat menemukan informasi lebih lanjut mengenai konfigurasi Modul Komputasi untuk digunakan dengan kamera di dokumentasi. Namun secara umum, konektor kamera antara lain juga dilengkapi 4 pin kontrol, yang perlu dihubungkan ke 4 pin GPIO di Compute Module, dan terserah Anda untuk memutuskan yang mana saat mendesain papan kustom Anda.

Dalam kasus saya, saat mendesain papan saya memilih CD1_SDA untuk pergi ke GPIO28, CD1_SCL ke GPIO29, CAM1_IO1 ke GPIO30 dan CAM1_IO0 ke GPIO31. Saya memilih pin GPIO khusus ini karena saya ingin memiliki header GPIO 40 pin di papan saya, yang juga menjaga kompatibilitas dengan konektor GPIO dari papan Raspberry Pi biasa. Dan untuk alasan itu saya harus memastikan bahwa pin GPIO yang saya gunakan untuk kamera tidak juga muncul di header GPIO.

Jadi, kecuali Anda memutuskan untuk membuat perubahan pada kabel konektor kamera, Anda memerlukan /boot/dt-blob.bin yang memberi tahu Pi Anda untuk mengonfigurasi GPIO28-31 seperti dijelaskan di atas. Dan untuk menghasilkan dt-blob.bin, yang merupakan file biner, Anda memerlukan dt-blob.dts untuk dikompilasi. Untuk mempermudah, saya akan menyediakan dt-blob.dts saya sendiri untuk Anda gunakan yang kemudian dapat Anda sesuaikan dengan kebutuhan Anda jika perlu.

Untuk mengkompilasi file pohon perangkat gunakan kompiler pohon perangkat sebagai berikut, dtc -I dts -O dtb -o dt-blob.bin dt-blob.dts

Saya tidak yakin mengapa tetapi hal di atas akan menghasilkan beberapa peringatan, tetapi selama dt-blob.bin telah berhasil dibuat, semuanya akan baik-baik saja. Sekarang, pindahkan dt-blob.bin yang baru saja Anda buat ke /boot dengan mengeksekusi, sudo mv dt-blob.bin /boot/dt-blob.bin

Di atas mungkin akan memberi Anda peringatan berikut, mv: gagal mempertahankan kepemilikan untuk '/boot/dt-blob.bin': Operasi tidak diizinkan

Ini hanya keluhan mv bahwa itu tidak dapat mempertahankan kepemilikan file karena /boot adalah partisi FAT yang diharapkan. Anda mungkin telah memperhatikan bahwa /boot/dt-blob.bin tidak ada secara default, ini karena Pi menggunakan pohon perangkat bawaan sebagai gantinya. Menambahkan di dalam /boot Anda sendiri meskipun mengesampingkan yang ada di dalamnya dan memungkinkan Anda untuk mengonfigurasi fungsi pinnya sesuai keinginan Anda. Anda dapat menemukan lebih banyak tentang pohon perangkat di dokumentasi.

Setelah itu selesai, Anda perlu mengaktifkan kamera, sudo raspi-config

Masuk ke Interfacing Options, pilih Camera, pilih YES, OK dan Finish. Jika Anda ditanya apakah Anda ingin mem-boot ulang, tolak. Sekarang, matikan Pi Anda dan lepaskan daya.

Setelah daya dicabut dari papan IO, menggunakan 4 kabel jumper female ke female sambungkan pin untuk GPIO28 ke CD1_SDA, GPIO29 ke CD1_SCL, GPIO30 ke CAM1_IO1 dan GPIO31 ke CAM1_IO0. Terakhir, pasang modul kamera Anda ke konektor CAM1 menggunakan papan adaptor kamera atau kabel kamera yang dirancang untuk Raspberry Pi Zero dan gunakan daya.

Jika semuanya bekerja seperti yang diharapkan setelah Pi boot, Anda seharusnya dapat menggunakan kamera. Untuk mencoba mengambil gambar setelah terhubung ke Pi Anda melalui SSH run, raspistill -o test.jpg

Jika perintah selesai tanpa kesalahan dan test-j.webp

sftp pi@

sftp> dapatkan tes.jpg sftp> keluar

Langkah 5: Pindah Dari Papan IO ke PCB Kustom

Pindah Dari Papan IO ke PCB Kustom
Pindah Dari Papan IO ke PCB Kustom
Pindah Dari Papan IO ke PCB Kustom
Pindah Dari Papan IO ke PCB Kustom
Pindah Dari Papan IO ke PCB Kustom
Pindah Dari Papan IO ke PCB Kustom

Sekarang setelah Anda selesai dengan semua konfigurasi dasar, Anda dapat beralih ke mendesain papan kustom Anda sendiri berdasarkan Modul Hitung. Karena ini akan menjadi proyek pertama Anda, saya sangat menganjurkan Anda untuk mengambil desain saya dan memperluasnya untuk menyertakan perangkat keras tambahan yang Anda suka.

Bagian belakang papan memiliki banyak ruang untuk menambahkan komponen Anda sendiri dan untuk proyek yang relatif kecil Anda mungkin bahkan tidak perlu menambah dimensi papan. Juga, jika ini adalah proyek mandiri dan Anda tidak memerlukan header GPIO fisik di papan Anda, Anda dapat dengan mudah menyingkirkannya dan menghemat ruang di sisi atas PCB. Header GPIO juga merupakan satu-satunya komponen yang dirutekan melalui lapisan dalam kedua dan menghapusnya akan membebaskannya sepenuhnya.

Saya harus menunjukkan bahwa saya telah berhasil merakit dan menguji salah satu papan sendiri, dan saya telah memverifikasi bahwa semuanya termasuk kamera dan output HDMI tampaknya berfungsi seperti yang diharapkan. Jadi, selama Anda tidak membuat perubahan besar pada cara saya merutekan semuanya, Anda seharusnya tidak memiliki masalah.

Jika Anda harus melakukan beberapa perubahan tata letak yang besar, perlu diingat bahwa sebagian besar jejak yang masuk ke konektor HDMI dan kamera dirutekan sebagai pasangan diferensial 100 Ohm. Ini berarti Anda harus mempertimbangkan hal ini jika Anda harus memindahkannya di sekitar papan. Juga, itu berarti bahwa bahkan jika Anda menjatuhkan header GPIO dari desain Anda, yang berarti bahwa sekarang lapisan internal tidak akan berisi jejak apa pun, Anda masih memerlukan PCB 4 lapisan untuk mencapai impedansi diferensial mendekati 100 Ohm. Jika Anda tidak akan menggunakan output HDMI dan kamera, Anda harus dapat menggunakan papan 2 lapis dengan menyingkirkannya dan mengurangi biaya papan sedikit.

Hanya untuk referensi, papan dipesan dari ALLPCB dengan ketebalan total 1.6mm dan saya tidak meminta kontrol impedansi, karena kemungkinan akan menaikkan biaya sedikit dan saya juga ingin melihat apakah itu penting. Saya juga memilih lapisan emas imersi untuk membuat penyolderan konektor dengan tangan lebih mudah karena menjamin bahwa semua bantalan akan bagus dan rata.

Direkomendasikan: