Isi kandungan:
- Langkah 1: Apa yang Kami Rancangkan
- Langkah 2: Senarai Bahan Prototaip
- Langkah 3: [Prototaip] Membuat Kayu Dalam Senjata dan Interior Kereta Kami
- Langkah 4: [Prototaip] Membuat Kereta Kita
- Langkah 5: [Prototaip] Menggabungkan Semuanya
- Langkah 6: [Prototaip] Selesai dan Bergerak
- Langkah 7: Menerjemahkan Model Kami ke dalam Reka Bentuk Selesai Kami
- Langkah 8: Pengekodan
- Langkah 9: Elektrik
- Langkah 10: Mekanikal
- Langkah 11: Refleksi
Video: [WIP] Membuat Drawbot Dikendalikan oleh Myo Armband: 11 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Helo semua!
Beberapa bulan yang lalu, kami memutuskan untuk mencuba dan menyelesaikan idea membina drawbot bingkai terbuka yang hanya menggunakan band Myo untuk mengendalikannya. Semasa pertama kali memulakan projek, kami tahu bahawa ia perlu dipecah menjadi beberapa fasa yang berbeza. Fasa utama pertama kami adalah mencuba dan membungkus kepala dengan reka bentuk bingkai terbuka untuk bot undian kami. Ini adalah persediaan yang tidak standard, dan kami ingin melihat apa kelebihan reka bentuk ini.
Kedua, kita tahu bahawa membina prototaip ini hanya akan berguna untuk diri kita sendiri. Reka bentuk dan rancangan kami adalah untuk memindahkan bingkai terakhir kami ke dalam logam, dan menggunakan arduino, menerima kedudukan kami dari pecutan dan giroskop yang dibangun ke dalam band Myo. Maklumat itu kemudian akan dihantar ke motor, dan akan meniru gerakan pengguna. Kami tahu bahawa ini akan menjadikan fasa kedua kami terbahagi kepada tiga aspek utama:
- pengaturcaraan dari Myo ke motor, melalui Arduino
- reka bentuk elektrik untuk menterjemahkan data kami menjadi bergerak
- reka bentuk mekanikal untuk membuat bingkai bersaiz cukup yang akan memudahkan pergerakan kita
Setiap anggota pasukan kami merasa paling selesa dengan bahagian unik dari proses reka bentuk kami, jadi kami memutuskan untuk memutuskan kerja di antara setiap orang. Kami juga menyimpan blog sepanjang proses reka bentuk kami untuk mengesan pemikiran kami dari hari ke hari, berbanding dengan penampilan yang lebih global.
Langkah 1: Apa yang Kami Rancangkan
Matlamat kami adalah untuk menggabungkan kedua-dua produk ini dengan cara yang belum pernah kami lihat sebelumnya. Kami merancang untuk membuat relay langsung antara gelang tangan Myo dan versi reka bentuk kami sendiri yang diilhamkan oleh Evil Mad Scientist's AxiDraw.
Langkah 2: Senarai Bahan Prototaip
2 2 x 4 papan kayu 1 Tali pinggang atau rantai berukuran> = 65 "4 Kuku kayu 3 Gigi dengan gigi yang sesuai dengan tali pinggang atau rantai 4 Plat berlubang 3 x 8 vex 30" Rubber spacers 8 1 "diameter pencuci 1 1" diameter kayu dowel 1 '8 screw Vex 1 "8 ½" Vex screw 8 2 "Vex screw 8 ¼" Spacer getah 48 Vex mur 1 Tali zip kecil
Langkah 3: [Prototaip] Membuat Kayu Dalam Senjata dan Interior Kereta Kami
Kami meraih dua 2x4 dan memotongnya dengan panjang yang sama (33 ¼ )
Dengan menggunakan gergaji meja, kami membuat lekukan di sepanjang bahagian papan yang sempit deep "dalam dan ⅛" lebar di tengah
Potong dowel menjadi potongan 2 2 "dan gerudi lubang di tengah dowel dengan diameter ¼" dengan menggunakan gerudi
Langkah 4: [Prototaip] Membuat Kereta Kita
Sebaiknya kami menggunakan dua keluli berlubang vex 7x7 tetapi yang kami ada hanyalah jalur 2x7 jadi kami mengikatnya bersama dalam konfigurasi "X"
Tumpukan 5 spacer getah ⅜”dan selamatkan sudut-sudut plat vex antara satu sama lain
Pasangkan dowel kayu dengan longgar seperti yang ditunjukkan pada gambar 1 sehingga berputar dengan bebas dengan jarak sekitar 2 di antara mereka menggunakan gambar untuk melihat di mana roda gigi harus diletakkan pada saat ini kita menggunakan mesin basuh tetapi kemudian mendapati bahawa roda gigi vex plastik kecil berfungsi lebih baik.
Dengan menggunakan "skru vex," spacer getah ¼ "dan mesin basuh diameter 1" mengamankan mesin basuh dalam kedudukan tinggi seperti yang ditunjukkan pada gambar 1 (kami menggunakan roda gigi plastik hijau kerana kami tidak dapat mencari mesin basuh yang betul) pastikan mesin basuh dapat berpusing dengan mudah dan masuk ke lekukan papan.
Langkah 5: [Prototaip] Menggabungkan Semuanya
Letakkan papan di permukaan dan geser kereta ke tengah sehingga mesin basuh memegang kereta di atas papan dan di kedua sisi papan paku gear ke bawah sehingga mereka berputar dengan bebas. Pakailah roda gigi ke satu hujung papan kedua, pastikan ia berada di tengah dan luncurkannya ke kereta yang tegak lurus ke papan pertama.
Sekarang tali pinggang mesti dililitkan melalui sistem seperti yang ditunjukkan, perhatikan bagaimana dowel berada di bahagian luar tali pinggang dan bagaimana tidak ada apa-apa di tengah-tengah casis yang dapat menghalang tali pinggang semasa bergerak.
Kini tali pinggang perlu diikat di sisi papan yang tidak mempunyai gear. Kami menggunakan kuku dan tali leher tambahan untuk mengikat tali. Tetapi kaedah yang digunakan tidak menjadi masalah selagi tali pinggang berlabuh di tempat itu
Langkah 6: [Prototaip] Selesai dan Bergerak
Sepatutnya, tarik tali pinggang dalam kombinasi yang berbeza dan lihat kesan yang berbeza pada lengan!
Langkah 7: Menerjemahkan Model Kami ke dalam Reka Bentuk Selesai Kami
Sebaik sahaja kami menyelesaikan prototaip, kami sangat gembira. Tidak ada antara kita yang yakin bagaimana sistem ini berfungsi sebelum pemasangan. Tetapi, setelah bahagian kami bergabung, kami dengan cepat menemui apa yang kami sukai dan bagaimana kami akan memperbaikinya ketika membuat reka bentuk akhir. Aduan utama kami dengan sistem yang harus diselesaikan adalah:
- Skala
- Prototaip kami sangat besar dan tidak berat sebelah, yang menjadikannya cenderung tergelincir di tepi lengan kami
- Kereta itu jauh lebih besar daripada yang diperlukan, dan mempunyai banyak ruang terbuang
- Tali pinggang kami (tapak tangki vex) jauh lebih besar daripada yang diperlukan, yang memperkenalkan lebihan ruang antara lengan
-
Geseran
- Tapak kekacauan kami tidak melewati penggelek dowel kayu dengan mudah di semua sudut
- Plastik di atas kayu menjadikan kereta tidak mahu bergerak dalam banyak keadaan
-
Bermotor
Kita perlu menjadikan sistem ini berkuasa
Dengan mempertimbangkan perkara-perkara ini, kami membuat rancangan untuk reka bentuk akhir. Kami mahu drawbot dikendalikan dengan Myo melalui arduino, dan kami ingin membuat bingkai aluminium dan lebih kecil.
Untuk melakukan ini, kami mengambil peratusan prototaip asal kami, dan berangkat dari ukuran itu. Dengan menggunakan logam lembaran yang akan dimesin untuk memiliki saluran yang cukup lebar untuk melewati bantalan terlindung, kita akan mempunyai reka bentuk yang ringan namun kuat yang akan mempunyai toleransi penggunaan yang lebih tinggi.
Prototaip kami juga membolehkan kami, hanya dalam beberapa minit, untuk menentukan bagaimana putaran motor mempengaruhi kepala drawbot kami. Ini mendorong kita untuk memahami bahawa reka bentuk kawalan kita akan lebih mudah daripada yang kita jangkakan. Setelah diperiksa dengan lebih teliti, kami dapat mengetahui bahawa pergerakan motor adalah tambahan! Ini bermaksud bahawa setiap motor mempunyai kesan yang diingini secara bebas terhadap pergerakan kita, tetapi apabila kita menggabungkannya bersama-sama, mereka mula membatalkannya.
Sebagai contoh, jika dianggap seperti satah koordinat, motor yang terletak di hujung x negatif akan selalu cenderung menarik laci kita ke kuadran kedua dan keempat. Sebaliknya, motor yang terletak di hujung x positif akan selalu menjadikan laci masuk ke kuadran pertama dan ketiga. Sekiranya kita menggabungkan gerakan motor kita, ia akan membatalkan bahagian mengarahkan konflik itu, dan akan memperkuat bahagian yang setuju.
Langkah 8: Pengekodan
Walaupun saya bekerja dengan cukup luas di C beberapa tahun yang lalu, saya tidak mempunyai pengalaman dengan lua atau C ++, dan ini bermakna saya perlu menghabiskan banyak masa untuk melihat dokumentasi. Saya tahu bahawa tugas umum yang akan saya coba laksanakan adalah mendapatkan kedudukan pengguna dalam selang waktu dan kemudian menyerahkannya ke motor. Saya memutuskan untuk menyelesaikan tugas saya untuk mencerna bahagian yang saya perlukan dengan lebih baik.
1. Dapatkan Data dari Myo (lua)
Saya tahu bahawa saya perlu mencari cara untuk mengumpulkan maklumat dari Myo. Ini adalah bahagian pertama dari cabaran yang ingin saya hadapi. Untuk melakukan ini, saya ingin pengguna mengkalibrasi ukuran kanvas mereka sebelum mula melukis. Ini akan membolehkan saya mempunyai batasan untuk bekerja. Saya kemudian dapat menormalkan program antara pengguna yang berlainan dengan hanya mengambil peratusan kanvas maksimum sebagai data saya lulus. Saya memutuskan untuk mengadakan acara skrip yang akan melakukan pemeriksaan getOrientation setiap setengah saat, kerana ia membolehkan pemeriksaan tidak pernah melakukan lompatan liar yang perlu anda teka (misalnya, jika pengguna berayun kembali dan sebagainya).
Ini membuat sekatan pertama yang saya capai. Saya menemui batasan lua yang sangat besar, dan itu tidak membenarkan saya menunggu sebelum meneruskan skrip. Satu-satunya cara untuk melakukan tindakan ini adalah dengan menjeda CPU (yang akan menghentikannya secara global, bahkan menahan jam sistem), atau menggunakan perintah khusus OS. Dalam kod contoh saya, saya meninggalkan pemeriksaan OS asal yang saya lakukan (memberi komen). Ini setelah melakukan sejumlah besar penelitian dalam dokumentasi lua, dan dilakukan dengan memeriksa pemformatan jalur sistem. Ini ketika saya memutuskan saya perlu melihat dokumentasi untuk projek yang telah diterbitkan sebelumnya. Saya segera menyedari berapa banyak masa yang saya sia-siakan, dan segera menuju ke pemboleh ubah platform. Dengan itu, saya dapat melaksanakan perintah menunggu khusus OS dengan segera, berbanding hari-hari yang saya perlukan untuk menyusun penyelesaian sebelumnya.
Pada sekitar masa ini reka bentuk bermula dari aspek elektrikal, dan saya menangguhkan kerja pada aspek kod ini. Tujuannya adalah untuk mengetahui bagaimana motor kita berinteraksi dengan arduino.
2. Bekerja Di Sekitar Arduino (C ++)
Ketika kerja dengan papan roti kami menjadi semakin kompleks, saya belajar bahawa arduino tidak mampu melakukan multithreading. Ini adalah kunci yang besar dalam reka bentuk kod asal saya, dan setelah membaca lebih lanjut mengenai batasan yang dikemukakan dengan pengawal kami, saya mendapati bahawa saya perlu memprogram bagaimana arduino akan beralih di antara keduanya. Ini menjadi tumpuan usaha saya ketika tarikh akhir kami semakin hampir. Saya terpaksa membuang sebahagian besar skrip asal saya kerana ia dirancang untuk menulis data ke fail secara serentak dengan pengawal motor membaca fail tersebut. Ini untuk membolehkan fungsi antrian memastikan bahawa walaupun pengguna berada di depan laci kami, ia tidak akan merosakkan projek.
Saya memutuskan bahawa fungsi beratur harus disimpan, jika tidak dilaksanakan dengan cara yang sama seperti sebelumnya. Untuk melakukan ini, saya membuat vektor tatasusunan. Ini membolehkan saya tidak hanya menjaga semangat reka bentuk saya sebelumnya yang masih utuh, ia juga bermaksud saya tidak perlu menjejaki tempat saya dalam fail untuk membaca atau menulis. Sebagai gantinya, sekarang yang perlu saya buat hanyalah menambahkan nilai baru ke dalam vektor saya sekiranya pengguna bergerak (ujian awal kurang dari 1% perbezaan ukuran kanvas pada kedua x dan y dari kedudukan terakhir yang dirakam menyebabkan tidak ada rakaman data). Saya kemudian dapat mengambil nilai tertua dalam vektor saya dan dalam satu pertukaran, hantar ke kawalan motor, tuliskan ke fail kami, dan kemudian keluarkan dari vektor saya. Ini membersihkan banyak kebimbangan saya mengenai aliran IO yang berterusan.
Langkah 9: Elektrik
Walaupun saya pernah mengikuti kelas elektronik pada masa lalu, dan bekerja dengan baik dengan arduino. Saya belum pernah membuat arduino menerima maklumat dari sumber luar (myo), saya hanya mempunyai pengalaman mengeluarkan maklumat melalui arduino. Walau bagaimanapun, saya perlu memasang kabel motor di drawbot kami, dan mengusahakan kod agar mereka dapat bekerja dengan kod myo.
Bahan yang saya gunakan:
2 x motor Stepper
1 x Papan Roti
1 x Arduino (Uno)
2 x IC Pemandu L293DE
40 x wayar pelompat
2 x Peminat
1. Sambungkan Motor Stepper dan Kipas ke Papan Roti
Mengikuti rajah litar, kita dapat menyambungkan motor satu stepper kepada pemandu di papan roti. Kemudian, dengan gambarajah yang sama berlaku pada pemandu dan motor kedua, wayar jumper harus dipasang ke set pin yang berbeza di arduino (kerana motor pertama menempati ruang 4 yang lain).
Amaran / Petua:
Pemacu sangat kecil dan pin sangat berdekatan. Adalah lebih bijak untuk melepaskan kedua-dua pemandu supaya wayar tidak membingungkan.
Seterusnya adalah dengan memasang kipas. Ini cukup mudah, kipas yang saya ada adalah peminat pemproses komputer asas, yang positif dan kuat. Pasang kedua-duanya ke pin +/- masing-masing di papan roti, dan sudut masing-masing ke arah setiap pemandu. (Kami mendapati bahawa kerana motor stepper menerima banyak maklumat dan arahan dalam jangka masa yang panjang, pemandu cenderung terlalu panas dan berbau. Menambah kipas untuk menyejukkannya memperbaiki masalah ini).
2. Kod Arduino
Ini adalah bahagian yang mudah!
Buka Arduino IDE pergi ke tab "File" kemudian turun ke tab "contoh" yang akan turun lebih jauh dan menunjukkan tab "stepper" Kemudian anda ingin membuka "Stepper_OneStepAtATime"
Ini akan memuatkan kod contoh yang hampir dipasang dan dimainkan ke pendawaian arduino / motor. Kita mesti membuat penyesuaian kecil kerana kita akan menggunakan dua motor, yang akan saya paparkan di bawah. Anda mungkin juga harus membuat penyesuaian kecil bergantung pada pin mana yang telah Anda putuskan untuk digunakan, kerana Arduino IDE lalai ke pin 8-11.
Kod yang telah saya gunakan untuk membuat dua motor bergerak dalam "sync" adalah di bawah:
// # sertakan
const int stepsPerRevolution = 200;
Stepper myStepper1 (stepPerRevolution, 9, 10, 11, 12);
Stepper myStepper2 (stepPerRevolution, 4, 5, 6, 7);
int stepCount = 0;
batal persediaan () {// memulakan port bersiri: Serial.begin (9600); }
gelung kosong () {
myStepper1.step (1);
Serial.print ("langkah:");
Serial.println (stepCount);
stepCount ++;
kelewatan (0.5);
myStepper2.step (1); kelewatan (0.5); }
3. Kemungkinan Masalah
Masalah yang saya hadapi semasa proses ini tidak menggunakan contoh kod yang betul, menggunakan wayar jumper yang buruk, menggunakan IC pemacu yang salah.
Pastikan pemandu yang anda gunakan mampu mengawal motor
Periksa nombor siri dan periksa spesifikasinya
Saya mengalami masalah dengan wayar jumper mati, yang menyebabkan motor saya berpusing dengan pelik
Saya terpaksa menggunakan multimeter untuk memeriksa setiap wayar
Dan selalu periksa semula kod anda untuk kesilapan kecil seperti kehilangan ";" arahan
Langkah 10: Mekanikal
1. Bahan
Untuk model pengeluaran lengan sepenuhnya, disarankan agar mereka diperbuat daripada bahan yang kuat namun ringan, kami merasakan bahawa aluminium sangat sesuai.
Kami menggunakan kepingan aluminium berukuran 032 yang dipotong hingga 9.125 "x 17.5" dan mengesan corak dari gambar yang ditunjukkan pada langkah sebelumnya.
2. Fabrikasi
Dengan menggunakan hemmer (mesin biru) kami menambahkan permata yang menghadap ke arah yang berlawanan sehingga apabila potongan itu dilanggar dan dilipat, kedua-dua hems tersebut akan saling menyatu membentuk satu bahagian yang lengkap.
Untuk selekoh besar kami menggunakan tennismith, kerana ketepatannya tinggi.
Sekarang untuk selekoh yang lebih kecil, anda akan mahu menggunakan mesin dengan kaki yang lebih kecil, di sinilah mesin seperti roto-die masuk. Kerana kaki yang lebih kecil, ia memungkinkan untuk membuat rehat yang lebih kecil, sayangnya, roto-die yang kami gunakan masih terlalu besar untuk rel kami dan ia cacat.
** Sebagai alternatif, jika anda tidak memiliki akses ke peralatan atau alat yang sesuai, maka pengganti dapat dibuat. **
Dalam kes kami, kami memotong lengan kami dari rel panel surya aluminium menggunakan pemotong plasma dan mengisar hujungnya dengan lancar kemudian mengikatnya ke belakang untuk membuat sistem rel dua sisi. Sebaik-baiknya, kami ingin mengimpal rel bersama, namun, tanpa akses ke stesen kimpalan, kami sebaliknya mengepit rel dan menggerudi kemudian mengikatnya bersama. Tetapi jika laluan ini diambil, maka perlu dilakukan perhatian khusus untuk menggunakan kunci pengunci dan mesin cuci untuk memastikan bahawa sekepingnya sedikit mungkin melenturkan.
3. Tali Pinggang
Untuk tali pinggang kami menggunakan beberapa tali pinggang pencetak 3D lama yang dapat kami selamatkan.
Tali pinggang tidak cukup lama pada mulanya jadi dengan menggunakan tiub penyusutan haba, kami menggabungkan dua keping untuk membuat satu yang panjangnya cukup panjang.
Gear hijau dan dowel kayu digantikan oleh bantalan cakera dengan mesin basuh ekstra lebar yang digunakan untuk mengelakkan tali pinggang tergelincir dari tempatnya.
4. Kereta
Dan akhirnya kereta itu terbuat dari lembaran aluminium 032 berukuran 5 "x 5", dengan gerudi lubang ditekan di mana skru dan pencuci yang sesuai dimaksudkan untuk pergi. Jaraknya akan berbeza-beza bergantung pada seberapa lebar rel anda dan berapa banyak ruang yang ada pada mesin basuh anda.
Langkah 11: Refleksi
Malangnya, setiap bahagian projek kami mengalami sekatan masa yang besar, dan kami tidak dapat menyelesaikan reka bentuk kami mengikut tarikh sasaran kami. Setiap ahli pasukan kami akhirnya berkolaborasi dalam setiap aspek lain dari reka bentuk kami hingga ke tahap tertentu, menyebabkan beberapa keluk pembelajaran merosot. Ini, ditambah dengan keinginan untuk merancang produk dengan sumber daya sekecil mungkin (kerana kita semua ingin membuat bahagian masing-masing dari awal), menghasilkan banyak roda yang diciptakan semula.
Setiap orang yang mengusahakan projek ini mengetahui lebih banyak mengenai aspek projek yang lain. Membuat perisian melakukan tindakan tertentu adalah satu perkara, maka membuat perisian berfungsi bersama dengan perkakasan adalah perkara lain. Saya ingin mengatakan bahawa adalah mustahak bagi sesiapa yang mengusahakan aspek pengekodan projek ini, sama seperti pengekod projek kami.
Secara keseluruhan, kami tidak dapat mencapai apa yang kami mahukan. Namun, saya merasakan bahawa kita berada di landasan yang betul dan kita semua menemui dan mempelajari konsep baru yang akan dapat kita terapkan pada projek-projek yang akan datang.
Disyorkan:
Motor Stepper yang dikendalikan oleh MIDI Dengan Cip Sintesis Digital Langsung (DDS): 3 Langkah
Motor Stepper yang dikendalikan oleh MIDI Dengan Cip Sintesis Digital Langsung (DDS): Pernahkah anda mempunyai idea buruk bahawa anda HANYA terpaksa berubah menjadi projek mini? Baiklah, saya bermain-main dengan sketsa yang saya buat untuk Arduino Due yang bertujuan untuk membuat muzik dengan modul AD9833 Direct Digital Synthesis (DDS) … dan pada suatu ketika saya fikir
Superstock (Stok Dikendalikan oleh Barcode Scanner): 5 Langkah
Superstock (Stok Dikendalikan oleh Barcode Scanner): Dalam panduan ini saya akan memberitahu anda bagaimana membina Superstock, projek sekolah saya untuk 1MCT di Howest. Konsepnya adalah membuat pangkalan data yang mesra pengguna yang boleh anda akses melalui laman web untuk mengira stok yang anda ada (dalam kes saya pakaian untuk
DIY - Shades LED RGB Dikendalikan oleh Arduino: 5 Langkah (dengan Gambar)
DIY | Shades LED RGB Dikendalikan oleh Arduino: Hari ini saya akan mengajar anda bagaimana anda boleh membina Gelas LED RGB anda sendiri dengan sangat mudah dan murahIni selalu menjadi impian terbesar saya dan akhirnya menjadi kenyataan! Jeritan besar kepada NextPCB kerana menaja projek ini. Mereka adalah pengeluar PCB
Cara Membuat Pot Pintar Dengan NodeMCU Dikendalikan oleh Aplikasi: 8 Langkah
Cara Membuat Pot Pintar Dengan NodeMCU Dikendalikan oleh Aplikasi: Dalam panduan ini kami akan membina Pot Pintar yang dikendalikan oleh ESP32 dan Aplikasi untuk telefon pintar (iOS dan Android). Kami akan menggunakan NodeMCU (ESP32) untuk penyambungan dan Perpustakaan Blynk untuk cloud IoT dan Aplikasi pada telefon pintar. Akhirnya kami
Papan Alphabet yang dikendalikan oleh aplikasi Diilhamkan oleh Stranger Things: 7 Langkah (dengan Gambar)
Papan Alphabet yang dikendalikan aplikasi yang Diilhamkan oleh Stranger Things: Ini bermula beberapa minggu yang lalu ketika cuba mencari tahu apa yang akan mendapat keponakan saya yang berusia sembilan tahun untuk Krismas. Abang saya akhirnya memberitahu saya bahawa dia adalah peminat besar Stranger Things. Saya langsung tahu apa yang saya mahu mendapatkannya, sesuatu yang