Sommario:
Video: UCL - Incorporato - Scegli e posiziona: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo tutorial spiegherà come viene realizzata un'unità pick and place 2D e come codificarla.
Passaggio 1: computer
1x Adrio Mega
2x motori passo-passo (abbiamo usato il motore passo-passo JLB, modello 17H1352-P4130)
2x modulo scheda controller per motore passo-passo L298N Dual H Bridge DC per Arduino
1x servomotore (non abbiamo lo speck su questo)
3 resistenze da 10k ohm
2x pomfi di nylon
1x alimentatore da 12 V
Un po' di legno per il telaio
fili
Fase 2: Costruzione
La prima cosa durante la fase di costruzione è stata quella di decidere la dimensione e la forma del pick and place mashine
Per prima cosa costruiamo la forma base in legno. Abbiamo costruito il nostro telaio pick and place di 50 cm per 25 cm per 30 cm. Tutto tranne il telaio, il ponte e il braccio di sollevamento, è stato prodotto con un lasercutter.
Ecco un link a tutti i file
Poi abbiamo voluto il sistema di pulegge. Qui siamo andati con due anelli da 50 mm e un anello da 20 mm. Poi mettiamo un paracord vicino al 20mm con un po' di colla. Dopodiché abbiamo schiacciato i due anelli da 50 mm su entrambi i lati dell'anello da 20 mm.
20mm
50mm
Quindi dobbiamo progettare una guida di scorrimento per il braccio. Qui abbiamo realizzato due lati e una piastra posteriore.
Che poi è stato incollato a forma di U. Quindi l'abbiamo collegato al ponte.
Piatto di contorno
Piastra posteriore
Ora che le parti per muovere il braccio su e giù sono finite. Dobbiamo spostarlo avanti e indietro.
Durante la progettazione ci siamo assicurati che i denti fossero allineati tra loro. Quindi entrambi gli elementi sono stati creati nello stesso luogo del progetto.
Passaggio 3: codice
La programmazione è piuttosto semplice e consiste di 5 parti
- Inclusione di librerie e impostazione di variabili per uso interno e IO
- Carica gli ingressi su Ram
- Sekvens, scegliendo il movimento che desideri.
- Controllo posizione stepper/servo
- Uscita nel mondo
Spiegheremo a grandi linee ogni parte, ma ricorda che questa è solo una delle tante soluzioni.
1: Prima della configurazione del vuoto abbiamo incluso le 2 librerie di cui abbiamo bisogno per questo progetto. Stepper e servo. L'utilizzo delle librerie incluse ti evita di apprendere ogni dettaglio sui motori passo-passo e servomotori.
#includere
#includere
const int stepsPerRevolution = 200; // cambialo per adattarlo al numero di passi per giro del tuo motore
// inizializza la libreria stepper sui pin da 8 a 11:
Stepper XStepper(stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper(stepsPerRevolution, 28, 29, 30, 31); Servo pinza; // crea un oggetto servo per controllare un servo
la pinza deve essere attaccata nella configurazione del vuoto
void setup() { // inizializza la porta seriale: Serial.begin(9600); Griper.attach(9); // collega il servo sul pin 9 all'oggetto servo
Il resto di questa sezione è solo l'impostazione delle variabili e delle costanti.
2: La prima cosa nel Void Loop è caricare tutti gli ingressi utilizzati in una variabile. Questo viene fatto per due motivi. Il primo motivo è limitare le attività pesanti della CPU di leggere un input. Il secondo motivo, che è il più importante, è assicurarsi che se un Input viene utilizzato più di una volta, avrà lo stesso valore durante l'intera scansione. Questo rende la scrittura di codice coerente molto più semplice. Questa è una pratica molto comune nella programmazione PLC, ma si applica anche alla programmazione embedded.
//-------------------------Input alla RAM------ Xend = digitalRead(34); Yend = digitalRead(35); Ena = digitalRead(36);
3: Nella parte sekvens del codice, abbiamo appena creato un sekvens con i comandi Switch e case. La parte sekvens fornisce solo segnali alla parte di controllo della posizione del codice. Questa parte può essere facilmente personalizzata per la tua applicazione o utilizzata così com'è.
4: La posizione del servo è controllata solo dal servo liberi e un'istruzione if per pinza aperta e chiusa.
Lo Stepper Control è un po' più complicato. La funzione confronta il Setpoint (la posizione in cui si desidera che il braccio vada) e la posizione attuale. Se la posizione attuale è lover the, la funzione si aggiunge alla posizione e chiede alla funzione Stepper liberi di fare un passo positivo. È vero il contrario per una posizione alta. se la posizione è la stessa del Setpoint, un bit XinPos è alto e lo stepper si ferma.
// Controllo SP X
if (XstepCountXsp e non Home){
XstepCount=XstepCount-1; Xstep=-1; XinPos = 0; } if (XstepCount==Xsp){ Xstep=0; XinPos = 1; }
5: Aggiungere la fine del codice si comandano i motori con le funzioni liberi.
//--------------------Uscita-------- // passo uno passo: XStepper.step(Xstep); // passo un passo: YStepper.step(Ystep);
Griper.write(GripSp);
Fase 4: Fatto da
casp6099 - Casper Hartung Christensen
rasm616d - Rasmus Hansen
Consigliato:
UCL Embedded - B0B the Linefollower: 9 passaggi
UCL Embedded - B0B the Linefollower: questo è B0B.*B0B è un'auto radiocomandata generica, che serve temporaneamente la base di un robot che segue la linea. Come tanti robot che seguono la linea prima di lui, farà del suo meglio per rimanere aa linea causata da una transizione tra il pavimento e ac
UCL - IIoT - Clima interno 4.0: 8 passaggi
UCL - IIoT - Clima interno 4.0: dopo aver letto e lavorato con questa istruzione, avrai il tuo clima interno automatico, che puoi osservare online con l'aiuto di Node-red. Nel nostro caso abbiamo sviluppato questa idea e l'abbiamo presentata in una casa di stampa 3D
UCL-IIoT-Drivhus: 5 passaggi
UCL-IIoT-Drivhus: Lo scopo di questo progetto era costruire una Garden House usando Arduino. Pertanto i 3 studenti del gruppo hanno deciso di realizzare una serra automatica, abbiamo deciso di effettuare il datalogging sulle informazioni fornite dalla serra, tramite Wamp-server, node-re
UCL-IIOT - Sistema di allarme con database e nodo rosso: 7 passaggi
UCL-IIOT - Sistema di allarme con database e Node-red: lo scopo di questa build è insegnare come collegare Arduino con Node-red e un database, in modo da poter registrare i dati e anche raccoglierli per un uso successivo. Per questa build utilizzo un semplice sistema di allarme arduino che emette 5 numeri di dati, ciascuno separato da un
UCL-IIoT-Strongbox con RFID e schermo LCD (Nodered, MySQL): 5 passaggi
UCL-IIoT-Strongbox con RFID e schermo LCD (Nodered,MySQL): progetto Arduino con scanner RFID e LCD.Introduzione Per concludere il nostro corso con i microcontrollori, in particolare l'Arduino Mega che abbiamo utilizzato. Ci è stato affidato il compito di realizzare un progetto che comprenda il nostro Arduino Mega, oltre a