Sommario:
- Forniture
- Passaggio 1: hardware
- Passaggio 2: elettronica
- Passaggio 3: codice Arduino
- Passaggio 4: Appinventor
Video: Robot Mecanum Omni Wheels con motori passo-passo GRBL Arduino Shield: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Mecanum Robot - Un progetto che volevo realizzare sin da quando l'ho visto sul grande blog di meccatronica di Dejan: howtomechatronics.com
Dejan ha davvero fatto un buon lavoro coprendo tutti gli aspetti dall'hardware, la stampa 3D, l'elettronica, il codice e un'app Android (inventore dell'app del MIT)
Questo è un grande progetto di revisione che rinfresca tutte le abilità di un creatore.
Ho avuto poche modifiche da fare ai progetti
Non volevo usare il PCB personalizzato che usava, ma un vecchio scudo GRBL che avevo a casa.
Volevo usare BlueTooth
Così:
Forniture
Arduino Uno + Scudo GRBL
Motori passo-passo
Modulo HC-06 BlueTooth
Batteria Lipo 12V
Passaggio 1: hardware
Stampato le ruote e assemblato come qui:
Collegati 4 motori passo passo allo chassis (nel mio caso un cassetto inutilizzato capovolto)
Instradato i cavi nella parte superiore del robot.
Passaggio 2: elettronica
Ho usato il mio modulo HC-06 BT, La parte più difficile è stata impostare lo scudo GRBL per funzionare con 4 motori passo-passo poiché non esiste una buona guida per questo, C'è bisogno di mettere dei Jumper come si può vedere nell'immagine allegata, in modo da rendere l'uscita "Tool" dello shield per controllare anche un motore passo-passo. anche bisogno di mettere "Abilita" Jumper
cablare i 4 stepper e basta.
Ho anche fornito l'alimentazione da batterie da 12V - due ste - una per l'Arduino e una per il GRBl Shield
Passaggio 3: codice Arduino
/* === Arduino Mecanum Wheels Robot === Controllo smartphone tramite Bluetooth di Dejan, www. HowToMechatronics.com Librerie: RF24, www. HowToMechatronics.com AccelStepper di Mike McCauley: www. HowToMechatronics.com
*/ /* 2019-11-12 Gilad Meller (https://www.keerbot.com - modificare il codice per funzionare con GRBL arduino motor shield I motori passo passo nello shield sono mappati come (passo/direzione): 2/5 3 /6 4/7 12/13 con driver A4988 12V
Il codice di Dejan utilizza SoftwareSerial e il mio utilizzerà i pin standard RX, TX (0, 1) di Arduino Uno Nota: assicurati di ripristinare i pin RX TX quando carichi lo schizzo su arduino o il caricamento non riuscirà.
*/ #includere
// Definisce i motori passo passo ei pin che utilizzeranno AccelStepper LeftBackWheel(1, 2, 5); // (Tipo: driver, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel(1, 3, 6); // Stepper2 AccelStepper RightBackWheel(1, 4, 7); // Stepper3 AccelStepper RightFrontWheel(1, 12, 13); // Stepper4
int byte in entrata = 0, c; // per i dati seriali in entrata int wheelSpeed = 100;
void setup() { Serial.begin(9600); // apre la porta seriale, imposta la velocità dei dati a 9600 bps // imposta i valori iniziali del seme per gli stepper LeftFrontWheel.setMaxSpeed(600); LeftBackWheel.setMaxSpeed(600); RightFrontWheel.setMaxSpeed(600); RightBackWheel.setMaxSpeed(600);
}
void loop() { if (Serial.available() > 0) { // legge il byte in arrivo: incomingByte = Serial.read();
c = byte in entrata; switch (c) { case 71: Serial.println("Ho ricevuto Ruota a destra W"); ruota a destra(); rottura; caso 65: Serial.println("Ho ricevuto Ruota Q a sinistra"); gira a sinistra(); rottura; caso 1: Serial.println("Ho ricevuto BK/LFT "); moveRightBackward(); rottura; caso 2: Serial.println("Ho ricevuto BK"); tornare indietro(); rottura; caso 3: Serial.println("Ho ricevuto BK/RT "); moveRightBackward(); rottura; caso 4: Serial.println("Ho ricevuto LEFT"); moveSidewaysLeft();
rottura; caso 5: Serial.println("Ho ricevuto STOP"); fermati(); rottura; caso 6: Serial.println("Ho ricevuto RT"); moveSidewaysRight(); rottura; caso 7: Serial.println("Ho ricevuto FWD/LFT "); moveLeftForward(); rottura; caso 8: Serial.println("Ho ricevuto FWD"); moveForward(); rottura; caso 9: Serial.println("Ho ricevuto FWD/RT "); moveRightForward(); rottura; default: Serial.print("Non è un comando"); Serial.println(incomingByte, DEC); rottura; } } //tornare indietro(); moveRobot();
}
void moveRobot() { LeftBackWheel.runSpeed(); LeftFrontWheel.runSpeed(); RightFrontWheel.runSpeed(); RightBackWheel.runSpeed(); }
void moveForward() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(wheelSpeed); RightFrontWheel.setSpeed(wheelSpeed); RightBackWheel.setSpeed(wheelSpeed); } 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(wheelSpeed); } void moveSidewaysLeft() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(wheelSpeed); RightFrontWheel.setSpeed(wheelSpeed); RightBackWheel.setSpeed(-wheelSpeed); } void rotateLeft() { LeftFrontWheel.setSpeed(-wheelSpeed); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(wheelSpeed); RightBackWheel.setSpeed(wheelSpeed); } void rotateRight() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(wheelSpeed); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(-wheelSpeed); } void moveRightForward() { LeftFrontWheel.setSpeed(wheelSpeed); LeftBackWheel.setSpeed(0); RightFrontWheel.setSpeed(0); RightBackWheel.setSpeed(wheelSpeed); } void moveRightBackward() { LeftFrontWheel.setSpeed(0); LeftBackWheel.setSpeed(-wheelSpeed); RightFrontWheel.setSpeed(-wheelSpeed); RightBackWheel.setSpeed(0); } void moveLeftForward() { LeftFrontWheel.setSpeed(0); LeftBackWheel.setSpeed(wheelSpeed); RightFrontWheel.setSpeed(wheelSpeed); 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); }
Passaggio 4: Appinventor
Una nuova app appinventor con funzionalità diverse e più semplici (Nessuna registrazione)
Si prega di inviare un messaggio e te lo invio - i caricamenti falliscono.
Stai attento.
Consigliato:
Fai da te un giradischi con due motori: 10 passaggi (con immagini)
Fai da te un giradischi con due motori: all'inizio, voglio sempre avere un giradischi da tiro, e recentemente ho scoperto che c'erano due motoriduttori inattivi. Quindi, mi chiedevo se potevo fare un giradischi con loro. Senza ulteriori indugi, ci proverò! Principio: la riduzione r
Controllo di motori CC con Arduino e L293: 5 passaggi (con immagini)
Controllo di motori CC con Arduino e L293: un modo semplice per controllare i motori CC. Tutto ciò di cui hai bisogno è conoscenza di elettronica e programmazione Se hai domande o problemi puoi contattarmi sulla mia mail: [email protected] Visita il mio canale youtube: https ://www.youtube.com/channel/UCuS39O01OyP
Nozioni di base sui motori - Concetto Super facile da capire con un esperimento: 7 passaggi (con immagini)
Nozioni di base sui motori | Concetto Super facile da capire con un esperimento: in questo tutorial ti insegnerò il principio fondamentale alla base dei motori. Tutti i motori intorno a noi lavorano su questo principio. Anche i generatori lavorano sulla dichiarazione reciproca di questa regola. Sto parlando del Fleming's Left-Hand Ru
Come Modificare Hot Wheels Standard in Hot Wheels R/C:D: 6 Passaggi (con Immagini)
Come modificare Hot Wheels standard in Hot Wheels R/C: D: Da quando ero un ragazzino, adoro le Hot Wheels Cars. Mi ha dato ispirazione per il design di veicoli fantasy. Questa volta si sono superati con la Star War Hot Wheels, C-3PO. Tuttavia, voglio qualcosa di più che spingere o viaggiare su una pista, ho deciso: "L
Cosa fare con le collezioni di motori casuali: Progetto 2: Luci rotanti (modello UFO): 12 passaggi (con immagini)
Cosa fare con le collezioni di motori casuali: Progetto 2: Luci rotanti (modello UFO): Quindi, ho ancora una collezione di motori casuali… Cosa farò? Bene, pensiamo. Che ne dici di uno spinner con luce a LED? (Non a mano, scusate gli amanti del fidget spinner.) Sembra un po' un UFO, suona come un mix tra uno spaccaerba e un frullatore