Log Proyek FirePick Delta: Membangun MicroFactory Sumber Terbuka dengan OpenPnP
Topologi Perangkat Lunak dan Teori Operasi
OpenPnP berfungsi sebagai mesin kontrol tingkat tinggi, mengorokestrasi tugas seperti memindai dan menempatkan komponen. Arsitektur-nya mengintegrasikan banyak perpustakaan dan subsistem, menyaring data ke pengontrol motor melalui modul khusus. Dibuat oleh Jason von Nieda sebelum proyek FirePick Delta, OpenPnP masih dalam alpha tetapi telah terbukti andal pada beberapa mesin produksi. Kami telah memperluas dokumentasi-nya untuk membawa transparansi penuh kepada komunitas.
Modul Java yang dirujuk oleh ikon JAR dapat ditukar atau diperluas untuk menyesuaikan konfigurasi mesin. Setiap modul—kecuali model konfigurasi—dapat ditentukan dalam machine.xml. Bahkan tanpa pengalaman Java, pendekatan deklaratif memungkinkan Anda menunjuk ke file .java, menentukan instantiasi kelas dan perilaku, yang menjaga basis kode tetap modular dan dapat dirawat. OpenPnP dilengkapi dengan file referensi untuk setup pick-and-place standar menggunakan kontrol gerak TinyG, satu kepala, nozel, aktuator, feed tape tarik, dan kamera yang melihat ke bawah. Kami telah menyesuaikan dan memperluas file-file ini untuk mendukung fitur canggih yang diperlukan oleh FirePick Delta.
Driver gerak: Papan kontrol gerak kustom kami, yang terinspirasi dari RepRap RAMPS 1.4 dan Melzi, menjalankan forked Marlin firmware. Driver OpenPnP Marlin menterjemahkan perintah kartesius menjadi G-code untuk papan. Meskipun fungsional, melemahkan matematika delta dan koreksi probe Z ke Pi menawarkan presisi dan kecepatan yang superior. FireFUSE menjembatani kesenjangan, mengonversi koordinat kartesius ke ruang delta, menerapkan offset kalibrasi, dan mentransmisikan G-code yang telah dikoreksi ke Marlin. Syarat tunggal untuk OpenPnP berkomunikasi dengan FireFUSE adalah driver yang kompatibel, yang saat ini sedang dalam pengembangan.
Driver kamera dan Framework Visu: Dukungan kamera bawaan OpenPnP tertinggal dari kamera Raspberry Pi 5-megapiksel. Karl Lew menyelesaikan ini dengan FireSight, perpustakaan visi sumber terbuka yang dibangun di atas OpenCV. Ia mengekspos API pipeline tingkat tinggi, menyederhanakan pemrosesan gambar kompleks tanpa pengetahuan C++ yang dalam. FirePiCam, pembungkus raspistill yang disesuaikan, menangkap gambar langsung ke sistem berkas FUSE, memelihara umur kartu SD. Pustaka Java firerest-client kemudian memberikan gambar ini kembali ke OpenPnP untuk visi real-time.
GUI: GUI bawaan OpenPnP terbatas dan sulit diintegrasikan ke dalam alur kerja modern. Kami sedang mengembangkan antarmuka berbasis web menggunakan Node.js, Express, AngularJS, dan Bootstrap, yang dapat berjalan di browser manapun yang mendukung HTML5. Jembatan node-java memungkinkan pemanggilan mulus dari API inti Java OpenPnP dari JavaScript, melewati GUI lama sambil mempertahankan kontrol mesin penuh.
Topologi Hardware dan Teori Operasi
Kontroler inti kami adalah Raspberry Pi Model B+, dipilih karena hemat biaya dan header GPIO yang melimpah. Meskipun Broadcom 2835 cukup sederhana, ia secara andal menangani visi komputer dan layanan web dalam keterbatasan anggaran kami. Kami merancang sistem untuk dapat dipindahkan ke SBC lainnya—BeagleBone Black, Allwinner A4, Intel Galileo, atau Mini-ITX—meskipun Pi tetap menjadi dasar pilihan.
Papan HAT ERPIHAT01
Mengikuti spesifikasi RPi HAT, kami memperkenalkan FirePick Delta HAT (ERPIHAT01), papan mezzanine yang memperluas kemampuan Pi tanpa kekacauan.
- Menyediakan konektor LCD karakter 16×2 yang terhubung ke GPIO Raspberry Pi.
- Termasuk konektor untuk encoder rotary, switch push-tombol (dengan LED), dan supply step-down 12 V→5 V ke Pi.
- Konektor pass-through untuk modul kamera Raspberry Pi, memungkinkan perpanjangan ke end-effector delta.
- Menyediakan piezo buzzer yang diarahkan dari pin PWM tunggal Pi, lebih murah daripada menggunakan jack audio.
- Menurut spesifikasi HAT, menyediakan chip EEPROM yang diperlukan dan proteksi back-feed +5 V, memungkinkan input daya melalui GPIO daripada port micro-USB.
Untuk lebih banyak detail: A project log for FirePick Delta, the Open Source MicroFactory