Daftar Isi:
- Perlengkapan
- Langkah 1: Perangkat Keras
- Langkah 2: Elektronik
- Langkah 3: Kode Arduino
- Langkah 4: Appinventor
Video: Mecanum Omni Wheels Robot Dengan GRBL Stepper Motors Arduino Shield: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Robot Mecanum - Sebuah proyek yang ingin saya buat sejak saya melihatnya di blog mekatronik berat Dejan: howtomechatronics.com
Dejan benar-benar melakukan pekerjaan yang baik yang mencakup semua aspek dari perangkat keras, pencetakan 3D, elektronik, kode, dan aplikasi Android (Penemu Aplikasi MIT)
Ini adalah proyek perbaikan besar yang menyegarkan semua keterampilan pembuat.
Saya memiliki beberapa perubahan yang harus dilakukan pada proyek
Saya tidak ingin menggunakan PCB yang dibuat khusus yang dia gunakan, tetapi pelindung GRBL lama yang saya miliki di rumah.
Saya ingin menggunakan BlueTooth
Jadi:
Perlengkapan
Arduino Uno + Perisai GRBL
Motor stepper
Modul HC-06 BlueTooth
Baterai Lipo 12V
Langkah 1: Perangkat Keras
Mencetak roda dan merakitnya seperti di sini:
Menghubungkan 4 motor Stepper ke sasis (dalam kasus saya laci yang tidak digunakan menghadap ke bawah)
Mengarahkan kabel ke bagian atas robot.
Langkah 2: Elektronik
Saya menggunakan modul HC-06 BT saya, Bagian tersulit adalah mengatur pelindung GRBL agar bekerja dengan 4 motor Stepper karena tidak ada panduan yang baik untuk itu, Perlu memasang jumper seperti terlihat pada gambar terlampir, untuk membuat keluaran “Alat” pelindung sekaligus mengendalikan motor stepper. juga perlu menempatkan "Aktifkan" Jumper
kabel 4 steppers dan hanya itu.
Saya juga memasok daya dari baterai 12V - dua steker - satu untuk Arduino dan satu untuk GRBl Shield
Langkah 3: Kode Arduino
/* === Robot Roda Arduino Mecanum === Kontrol smartphone melalui Bluetooth oleh Dejan, www. HowToMechatronics.com Perpustakaan: RF24, www. HowToMechatronics.com AccelStepper oleh Mike McCauley: www. HowToMechatronics.com
*/ /* 2019-11-12 Gilad Meller (https://www.keerbot.com - memodifikasi kode untuk bekerja dengan pelindung motor arduino GRBL Motor stepper di pelindung dipetakan sebagai (langkah/arah): 2/5 3 /6 4/7 12/13 menggunakan driver A4988 12V
Kode Dejan menggunakan SoftwareSerial dan kode saya akan menggunakan pin RX, TX standar (0, 1) dari Arduino Uno Catatan: Pastikan untuk menghapus pin RX TX saat mengunggah sketsa ke arduino atau unggahan akan gagal.
*/ #termasuk
// Tentukan motor stepper dan pin yang akan digunakan AccelStepper LeftBackWheel(1, 2, 5); // (Tipe:driver, LANGKAH, DIR) - Stepper1 AccelStepper LeftFrontWheel(1, 3, 6); // Stepper2 AccelStepper RightBackWheel(1, 4, 7); // Stepper3 AccelStepper RightFrontWheel(1, 12, 13); // Langkah4
int IncomingByte = 0, c; // untuk data serial yang masuk int wheelSpeed = 100;
void setup() { Serial.begin(9600); // membuka port serial, menyetel kecepatan data ke 9600 bps // Menyetel nilai benih awal untuk stepper LeftFrontWheel.setMaxSpeed(600); LeftBackWheel.setMaxSpeed(600); RightFrontWheel.setMaxSpeed(600); RightBackWheel.setMaxSpeed(600);
}
void loop() { if (Serial.available() > 0) { // membaca byte yang masuk: IncomingByte = Serial.read();
c = byte masuk; switch (c) { kasus 71: Serial.println("Saya menerima Putar ke kanan W"); Putar ke kanan(); merusak; case 65: Serial.println("Saya menerima Rotate left Q"); putarKiri(); merusak; case 1: Serial.println("Saya menerima BK/LFT "); pindahkanKananMundur(); merusak; case 2: Serial.println("Saya menerima BK "); bergerakMundur(); merusak; case 3: Serial.println("Saya menerima BK/RT"); pindahkanKananMundur(); merusak; case 4: Serial.println("Saya menerima KIRI "); moveSidewaysLeft();
merusak; case 5: Serial.println("Saya menerima STOP "); berhentiBergerak(); merusak; case 6: Serial.println("Saya menerima RT "); moveSidewaysRight(); merusak; case 7: Serial.println("Saya menerima FWD/LFT "); moveLeftForward(); merusak; kasus 8: Serial.println("Saya menerima FWD "); maju kedepan(); merusak; kasus 9: Serial.println("Saya menerima FWD/RT"); moveRightForward(); merusak; default: Serial.print("Bukan perintah"); Serial.println(Byte masuk, DEC); merusak; } } //moveMundur(); bergerakRobot();
}
void moveRobot() { LeftBackWheel.runSpeed(); LeftFrontWheel.runSpeed(); RightFrontWheel.runSpeed(); RightBackWheel.runSpeed(); }
void moveForward() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(kecepatan roda); RightFrontWheel.setSpeed(kecepatan roda); RightBackWheel.setSpeed(kecepatan roda); } void moveBackward() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(-wheelSpeed); } void moveSidewaysRight() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(kecepatan roda); } void moveSidewaysLeft() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(kecepatan roda); RightFrontWheel.setSpeed(kecepatan roda); RightBackWheel.setSpeed(-wheelSpeed); } void rotateLeft() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(kecepatan roda); RightBackWheel.setSpeed(kecepatan roda); } void rotateRight() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(kecepatan roda); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(-wheelSpeed); } void moveRightForward() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(0); RightFrontWheel.setSpeed(0); RightBackWheel.setSpeed(kecepatan roda); } void moveRightBackward() { LeftFrontWheel.setSpeed(0); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(0); } void moveLeftForward() { LeftFrontWheel.setSpeed(0); LeftBackWheel.setSpeed(kecepatan roda); RightFrontWheel.setSpeed(kecepatan roda); RightBackWheel.setSpeed(0); } void moveLeftBackward() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(0); RightFrontWheel.setSpeed(0); RightBackWheel.setSpeed(-wheelSpeed); } void stopMoving() { LeftFrontWheel.setSpeed(0); LeftBackWheel.setSpeed(0); RightFrontWheel.setSpeed(0); RightBackWheel.setSpeed(0); }
Langkah 4: Appinventor
Aplikasi appinventor baru dengan fungsionalitas berbeda dan lebih sederhana (Tanpa Rekaman)
Silakan kirim pesan dan saya kirimkan kepada Anda - unggahan gagal.
Hati-hati.
Direkomendasikan:
CNC Servo Stepper (Mampu GRBL): 4 Langkah
CNC Servo Stepper (Mampu GRBL): Proyek ini adalah pengontrol motor yang cukup sederhana yang memungkinkan penggunaan motor DC murah yang kuat dengan GRBL untuk mengoperasikan sekrup utama mesin CNC. Lihat video di atas untuk demonstrasi pengontrol ini di kon
Stepper Motor Controlled Stepper Motor Tanpa Mikrokontroler(V2): 9 Langkah (dengan Gambar)
Motor Stepper Terkendali Motor Stepper Tanpa Mikrokontroler(V2): Dalam salah satu Instruksi saya sebelumnya, saya menunjukkan kepada Anda cara mengontrol motor stepper menggunakan motor stepper tanpa mikrokontroler. Itu adalah proyek yang cepat dan menyenangkan tetapi datang dengan dua masalah yang akan diselesaikan dalam Instructable ini. Jadi, akal
Motor Stepper Terkendali Motor Stepper - Stepper Motor Sebagai Rotary Encoder: 11 Langkah (dengan Gambar)
Motor Stepper Terkendali Motor Stepper | Stepper Motor Sebagai Rotary Encoder: Punya beberapa motor stepper tergeletak di sekitar dan ingin melakukan sesuatu? Dalam Instruksi ini, mari kita gunakan motor stepper sebagai rotary encoder untuk mengontrol posisi motor stepper lain menggunakan mikrokontroler Arduino. Jadi tanpa basa-basi lagi, mari kita
Cara Memodifikasi Hot Wheels Standar ke R/C Hot Wheels :D: 6 Langkah (dengan Gambar)
Cara Memodifikasi Hot Wheels Standar ke R/C Hot Wheels :D: Sejak kecil, saya suka Mobil Hot Wheels. Itu memberi saya inspirasi untuk merancang kendaraan fantasi. Kali ini mereka mengalahkan diri mereka sendiri dengan Star War Hot Wheels, C-3PO. Namun, saya ingin lebih dari sekadar mendorong atau melakukan perjalanan di trek, saya memutuskan, “L
Robot Roda Mecanum - Dikendalikan Bluetooth: 5 Langkah (dengan Gambar)
Robot Roda Mecanum - Dikendalikan Bluetooth: Sejak saya ingat, saya selalu ingin membuat robot roda mecanum. Platform robot roda mecanum yang tersedia di pasaran agak terlalu mahal bagi saya, jadi saya memutuskan untuk membangun robot saya dari awal. Tidak seperti robot roda mecanum lainnya