Halo semuanya! Pengembangan hexapod sedang berlangsung secara aktif dan sekarang saatnya untuk menunjukkan perubahan mendasar dalam desain dan rencana untuk firmware. Ada jeda besar dalam rilis artikel baru sebagai hasil dari desain panjang elektronik dan perumahan baru. Pada prinsipnya, ini akan menjadi artikel, seperti biasa banyak gambar.
Tahapan pengembangan:Bagian 1 - DesainBagian 2 - perakitanBagian 3 - KinematikaBagian 4 - lintasan dan urutan matematikaBagian 5 - ElektronikBagian 6 - transisi ke pencetakan 3DBeberapa poin umum
Saya memberi proyek nama baru, karena saat ini tidak ada yang praktis berbicara tentang itu. Sebenarnya, SKYNET adalah jaringan selestial, yah, atau sesuatu seperti itu (langit - langit, jaringan - bersih). Dalam hal ini, tidak ada jaringan, dan terlebih lagi langit.
Nama baru adalah
AIWM (mesin berjalan kecerdasan buatan) - mesin berjalan dengan kecerdasan buatan. Dengan mengorbankan kecerdasan, ini terlalu dini di sini, tetapi tiba-tiba saya dapat hidup sampai titik ini :)
Saya membuat demo singkat dengan deskripsi fitur saat ini (pratinjau desain baru dimulai dari menit ke-2).
Perubahan fungsional
Selama mendesain ulang, banyak ide dan kompleksitas muncul. Beberapa bagian yang tidak perlu dihapus dan fungsionalitas baru ditambahkan. Berikut adalah daftar perubahan yang direncanakan untuk diterapkan:
- Arsitektur multiprosesor. Saat ini direncanakan 3 MCU: pengontrol penglihatan mesin (Broadcom BCM2835), pengontrol daya (STM32F030), pengontrol kepala (STM32F373);
- Pengontrol visi mesin adalah modul Raspberry Pi Zero yang sudah jadi dan akan terlibat dalam pengumpulan, pemrosesan, dan pengenalan objek dari kamera. Semua perangkat keras yang diperlukan untuk ini terhubung ke sana. Komunikasi dilakukan menggunakan protokol ModBus dalam mode slave;
- Pengontrol daya adalah DC-DC yang kuat (hingga 250W) dengan kemampuan untuk menyesuaikan tegangan output dengan cepat melalui komunikasi. Kekuatan semua elektronik hexapod dan jantungnya. Mungkin di masa depan akan mungkin untuk beralih ke catu daya langsung drive dari 7.4V, tetapi drive tersebut cukup mahal bahkan pada Ali. Komunikasi dilakukan menggunakan protokol ModBus dalam mode slave;
- Kontroler kepala adalah tautan dalam arsitektur ini. Dia terlibat dalam pemrosesan gerak dan menyediakan antarmuka untuk komunikasi dengan dunia luar. Komunikasi dilakukan sesuai dengan protokol ModBus dalam mode slave (dunia eksternal) dan master (komunikasi antarproses);
- Dukungan streaming video, atau transfer gambar WIFI untuk kontrol di luar garis pandang jika ada cukup sumber daya gratis dari Raspberry Pi Zero;
- Diputuskan untuk mentransfer kontrol ke Bluetooth (jembatan BLE-UART HM-10 yang siap pakai akan digunakan), karena WIFI secara teori sudah digunakan untuk menyiarkan video ke panel kontrol. Selain itu, saya ingin dapat memperbarui firmware atau konfigurasi dengan cepat dari server jarak jauh, dan jika Anda menggunakan WIFI untuk komunikasi, Anda tidak akan online lagi;
- Manajemen LED RGB di depan untuk menerangi dalam gelap dan secara bersamaan menunjukkan status FW;
- Sensor sentuh terintegrasi ke dalam struktur kaki, yang akan memungkinkan algoritma pergerakan yang lebih cerdas;
Kontroler kepala atau papan kontrol
Saya bosan dengan papan sandwich saat ini, dan diputuskan untuk merancang papan kontrol baru, dengan mempertimbangkan inovasi dalam desain. Dalam proses desain, layar dibuang (tidak benar-benar, untuk apa, ia diperlukan di sana) dan pengukur jarak ultrasonik (kemudian guano). Sepanjang jalan, saya memutuskan untuk pindah ke STM32F373 untuk akhirnya menyingkirkan Arduino, dan kehadiran FPU di prosesor ini dengan baik, itu benar-benar mengisyaratkan untuk menginstalnya.
Setelah satu minggu menyusun sirkuit dan penelusuran, sebuah prototipe papan elektronik muncul. Secara total, butuh 20 jam untuk mendesain. Untuk mengurangi jumlah sumber kesalahan yang mungkin, direncanakan transisi bertahap ke elektronik baru. Dalam hal ini, rencana kontrol pertama akan diluncurkan bersamaan dengan papan daya lama.
Untuk kompatibilitas perangkat lunak Android saat ini, jejak disediakan di bawah jembatan WIFI-UART, yang sekarang digunakan dalam prototipe. Tangkapan layar papan ditunjukkan di bawah ini (WIFI-UART telah dihapus dalam tampilan 3D, karena Altium karena beberapa alasan menampilkan modelnya dalam satu warna). Faktanya, tidak ada bedanya apa yang harus digunakan untuk komunikasi - yang utama adalah bahwa output antarmuka memiliki UART.
Konektor berikut disediakan di papan tulis:
- Catu daya utama adalah kontak 12V + dari konektor penyeimbang untuk kemungkinan memantau tegangan setiap sel; atas dasar ini, Anda juga dapat menentukan jenis baterai yang terhubung (jumlah sel);
- Konektor untuk mentransmisikan sinyal ke papan daya untuk servos;
- Konektor untuk pengontrol visi alat berat dan pengontrol daya;
- Konektor untuk mengendalikan LED RGB depan;
- Konektor untuk sensor sentuh pada anggota badan;
- Konektor untuk menghubungkan emitor piezo. Diasumsikan bahwa tweeter sudah memiliki sirkuit kontrol, dan kami hanya mengganti daya.
Semuanya cukup sederhana dan pindah ke STM harus tidak menyakitkan. Saya telah berhasil merancang kode dan cukup untuk mengganti driver yang bekerja dengan register periferal.
Pengontrol daya
Ketika pengalaman saya di bidang elektronik meningkat, melalui banyak percobaan dan kesalahan, saya akhirnya dapat memahami DC-DC. Bahkan, tidak ada yang rumit di sana, yang utama adalah untuk mengetahui cara kerja koil dan mengapa sebenarnya diperlukan di sana.
Untuk mengontrol beban yang kuat, yang dalam hal ini adalah 18 drive dengan konsumsi rata-rata 12-15A, diperlukan sesuatu yang lebih efisien daripada DC-DC sederhana. Sebagai aturan, hambatan di dalamnya adalah dioda, yang pada arus tinggi mulai memanaskan ruangan. Tegangan suplai drive adalah 6V dengan tegangan input hingga 12V, dalam hal ini dioda akan bekerja ~ 50% dari siklus (perkiraan kasar tanpa memperhitungkan penurunan tegangan dan kesenangan lainnya). Dengan demikian, bahkan ketika menggunakan dioda Schottky, daya yang dialokasikan untuk itu akan cukup besar untuk mulai berpikir tentang pembuangan panas.
Synchronous DC-DCs datang untuk menyelamatkan, di mana transistor efek medan digunakan bukan dioda. Dengan transistor yang baik, hambatan saluran cukup rendah untuk menggerakkan arus besar tanpa menghasilkan panas yang signifikan. Perbedaan utama antara asinkron DC-DC dan sinkron ditunjukkan di bawah ini:
Secara umum, setelah membaca banyak informasi, saya akhirnya memutuskan persyaratan:
- Kemampuan untuk mengarahkan arus hingga 20A dalam mode pengenal;
- Transisi ke mode darurat yang melanggar mode operasi normal: overheating atau saturation of coil, overheating sakelar daya, tegangan input rendah, korsleting, tegangan output tidak mencukupi dan kesenangan lainnya;
- Kemampuan untuk berkomunikasi dengan DC-DC untuk mendapatkan nilai yang diukur: tegangan input dan output, konsumsi saat ini, suhu koil dan sakelar daya;
- Efisiensi yang memadai;
Saya memutuskan untuk merancang DC-DC menggunakan mikrokontroler STM32F030, harganya satu sen dan memiliki semua periferal yang saya butuhkan untuk menyelesaikan masalah saya. Satu-satunya kelemahan menggunakan MK ini adalah penyesuaian tegangan yang agak kasar dengan langkah 25mV pada frekuensi 100kHz. Untuk mendapatkan akurasi yang lebih tinggi, Anda perlu menggunakan MK dengan timer resolusi tinggi di papan, atau mengurangi frekuensi switching dari transistor. Untuk persyaratan saya, langkah pengaturan tegangan ini sudah cukup.
Saat ini, prototipe pertama dirancang dan dirakit, yang menunjukkan efisiensi rangkaian. Efisiensi untuk pengukuran kasar adalah 87% pada arus 11A dalam konfigurasi debug papan menggunakan resistor pelindung dari arus (diperlukan untuk mengatur waktu mati antara switching transistor).
Rincian lebih lanjut tentang DC-DC akan sedikit lebih lambat, ketika saya mengingatnya. Ada banyak poin menarik, bau driver rana goreng dan MK :) Omong-omong, transistor ternyata sangat kuat sehingga sebagai akibat dari kegagalan, arus yang lewat membakar papan sirkuit dan pada saat yang sama transistor tetap utuh.
Sedikit tentang gedung baru
Elektronik sangat menarik, tetapi Anda tidak perlu melupakan mekanik juga. Akhirnya, hexapod telah memperoleh casing tertutup yang memadai, dari mana kabel dan potongan papan sirkuit cetak tidak akan menonjol. Ini dia
Selama desain, saya mencoba untuk menghindari mengubah ukuran elemen tungkai dan tubuh itu sendiri, karena versi sebelumnya menunjukkan dirinya dengan baik dalam hal kecepatan dan beban pada drive. Secara umum, hanya gagasan lokasi kaki dan ukuran yang tersisa dari bangunan sebelumnya, sisanya didesain ulang.
Bagian tersulit dari desain adalah pengembangan desain lambung. Pada awalnya, saya ingin meninggalkan bisnis ini beberapa kali karena perbedaan antara fantasi dan kenyataan, tetapi hari demi hari unsur-unsur dekoratif mulai muncul dan perasaan ini hilang. Toh, pematung juga tidak segera menggiling ciptaannya, dan momen ini hanya perlu dialami.
Kasing adalah sekumpulan komponen untuk perakitan selanjutnya dengan baut "baut" M3 (di beberapa tempat Anda dapat menggunakan pengencang plastik, misalnya, untuk penutup atas dan bawah) untuk mengurangi berat. Dalam hal ini, baut disekrupkan langsung ke plastik ke dalam lubang untuk ini dengan ulir pre-cut.
Pangkalan dirakit dari tiga bagian yang berbeda menggunakan alur, diikuti dengan lari. Tidak ada ide desain untuk membaginya menjadi beberapa bagian, itu hanya kemampuan fisik printer (220x220) dan saya tidak benar-benar ingin mengembangkannya, jadi saya harus mencari cara untuk keluar dari situasi ini. Ini memiliki nilai tambah tersendiri - jika terjadi kerusakan, cukup untuk mencetak ulang hanya bagian yang rusak, yang akan menghemat plastik dan waktu perbaikan (apa pun bisa terjadi selama pengujian).
Setelah menghubungkan semua bagian bersama-sama, memasang drive dan elektronik, semua ini ditutup dengan penutup 6mm, yang diikat dengan baut dengan cara yang sama. Papan kontrol dipasang pada penutup tengah, yang kemudian ditutup dengan panel dekoratif.
Kekuatan tubuh diletakkan pada jatuh dari ketinggian 0,5 m ke permukaan yang solid tanpa melanggar integritas. Ngomong-ngomong, lambung versi plywood tidak selamat dari kondisi keras pemuatan di pesawat, sementara lambung dikemas dalam benjolan besar dan akibatnya kaki patah.
Drive pengendali ekstremitas dipindahkan ke FEMUR, yang seharusnya sedikit mengurangi beban dengan mengurangi bobot TIBIA sebagai akibat dari transfer pengikat dan pergeseran motor servo lebih dekat ke awal tuas. Dan akan lebih baik dalam desain jika TIBIA dan COXA dipasang pada bagian FEMUR, dan bukan sebaliknya seperti sebelumnya.
COXA, FEMUR dan TIBIA? - Apa itu? Menurut perhitungan awal, pencetakan casing akan membutuhkan 670g plastik dan 51 jam pencetakan terus menerus dengan lapisan 0,2mm dan ketebalan nozzle 0,4mm. Secara umum, untuk uang ternyata sedikit lebih murah daripada kayu lapis, tetapi desainnya bahkan tidak ada gunanya untuk membandingkan dan itu sangat berharga.
PS
Saya akan dengan senang hati memberikan saran untuk kasus ini. Pada saat penulisan ini, kasing sudah dicetak, tetapi masih ada waktu untuk melakukan perubahan pada detail yang tersisa. Saya adalah satu-satunya pengembang dari seluruh proyek ini dan kadang-kadang ada periode ketika pikiran baru tidak muncul di pikiran saya dengan bodoh - sekarang periode ini dimulai :)
Beberapa gambar dari proses pencetakan