Strumenti Utente

Strumenti Sito


riservata:project_work_3a

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
riservata:project_work_3a [2025/03/17 08:07] – [Robot 2 DOF] adminriservata:project_work_3a [2026/05/21 09:11] (versione attuale) – [Cablaggio] admin
Linea 11: Linea 11:
  
 E' un progetto ben documentato di jjrobots con software e modelli 3D disponibili da [[https://www.thingiverse.com/thing:4917505|qui]]. E' un progetto ben documentato di jjrobots con software e modelli 3D disponibili da [[https://www.thingiverse.com/thing:4917505|qui]].
 +
 +{{vimeo>1066599025}}
 +
  
 Mi piace perché: Mi piace perché:
Linea 17: Linea 20:
   * abbiamo già a scuola i motori e i driver   * abbiamo già a scuola i motori e i driver
  
-Pensato come robot a 2 assi per orientare un puntatore laser può montare anche altri payload (webcam, "pistole", ecc.). La BOM è abbastanza ridotta:+Pensato come robot a 2 assi per orientare un puntatore laser può montare anche altri payload (webcam, "pistole", ecc.).  
 + 
 +==== BOM ==== 
 + 
 +La BOM è abbastanza ridotta:
  
 ^ descrizione ^ numero ^ disponibile ^ prototipo ^  ^ descrizione ^ numero ^ disponibile ^ prototipo ^ 
Linea 36: Linea 43:
 | viti M3 15mm | 10 | da lab51 | | viti M3 15mm | 10 | da lab51 |
 | viti M3 45mm | 4 | ? | 40mm da lab51 | | viti M3 45mm | 4 | ? | 40mm da lab51 |
-dati M3 | 6 | ? | da lab51 |+dadi M3 | 6 | ? | da lab51 |
  
 Ho preso [[https://www.amazon.it/dp/B09QCRDDBV|questo kit]] da amazon con due pulegge 20 denti (foro 5mm), due 60 denti e due cinghie (larghezza 6mm) lunghezza 200mm GT2. I cuscinetti li ho presi da cesena cuscinetti (i più economici 5€). Ho preso [[https://www.amazon.it/dp/B09QCRDDBV|questo kit]] da amazon con due pulegge 20 denti (foro 5mm), due 60 denti e due cinghie (larghezza 6mm) lunghezza 200mm GT2. I cuscinetti li ho presi da cesena cuscinetti (i più economici 5€).
  
-Il motore è collegato alla breadboard in questo modo: +==== Assemblaggio ====
- +
-{{:riservata:stepper-breadboard-cable.jpg?400|strip to breadboard}}+
  
-In generale tutto il cablaggio è estremamente fragile sarebbe opportuno progettare un PCB con driver morsetti un supporto stampato in PLA per alloggiare il tutto.+L'assemblaggio è mostrato passo per passo con delle immagini nel sito del progetto. Per non sbagliare è molto utile [[https://www.thingiverse.com/thing:4917505/files|scaricare da thingiverse]] il file ''.STEP'' che contiene l'intero assemblaggio. Aprendolo con FreeCAD si possono evidenziare le singole parti l'insieme. Quando è possibile è sempre meglio usare i file STEP, infatti: 
 +  * FreeCAD è molto più veloce nella loro gestione 
 +  * il file STL tratta il pezzo come un'unica superficie mentre il file STEP mette in evidenza le varie facce i bordi permette di modificare facilmente la parte 
 +NB: in entrambi i casi non è possibile risalire alle azioni con cui è stata creato il pezzo.
  
 L'assemblaggio pone questi problemi: L'assemblaggio pone questi problemi:
   * viti 6mm: ne ho poche, dove posso uso quelle da 8mm trovate nel lab51   * viti 6mm: ne ho poche, dove posso uso quelle da 8mm trovate nel lab51
-  * il pezzo //cap// non è chiaro da che verso si monti, seguo quello della foto anche se sembra strano +  * il verso in cui montare il pezzo //cap// non è chiaro dalle foto ma si vede dal file STEP 
-  * motore: i NEMA17 di L03 sono compatibili con le misure di quelli indicati nel progetto ma poi non si riesce a fissarli con le viti da 40mm+  * i motori NEMA17 di L03 come misure sono compatibili con quelli indicati nel progetto ma poi non si riesce a fissarli con le viti da 40mm come descritto nelle istruzioni di montaggio
   * //upper arm motor holder left//: quello stampato non permette di montare il motore (la lunghezza delle viti da 40mm non è sufficiente e innestare il filetto del motore) e non si riesce a fissare //upper arm motor right// su //upper right// (i fori sono 2mm prima)   * //upper arm motor holder left//: quello stampato non permette di montare il motore (la lunghezza delle viti da 40mm non è sufficiente e innestare il filetto del motore) e non si riesce a fissare //upper arm motor right// su //upper right// (i fori sono 2mm prima)
   * seguendo le istruzioni di montaggio se si fissa prima il secondo motore poi non si riesce a montare la cinghia; l'ho fatto e ho spezzato il perno del cuscinetto in un pezzo   * seguendo le istruzioni di montaggio se si fissa prima il secondo motore poi non si riesce a montare la cinghia; l'ho fatto e ho spezzato il perno del cuscinetto in un pezzo
-  * anche la base non è adatta al nostro NEMA17 e le viti da 40mm non arrivano ad impegnare il filetto. Bisognerebbe rifare il pezzo ma ho preferito scavare i fori con una punta da 5mm guadagnando i 2-3mm che mancavano+  * anche la base non è adatta al nostro NEMA17 e le viti da 40mm non arrivano ad impegnare il filetto; bisognerebbe rifare il pezzo ma ho preferito scavare i fori con una punta da 5mm guadagnando i 2-3mm che mancavano
  
-Rifacci il pezzo //upper arm motor holder left// ma lo traslo in basso di 2,7mm tagliando di fatto la parte che finisce sotto il piatto. Di fatto lo accorcio di quasi 3mm sperando che si adattino sia le viti che i fori dell'altro //motor holder//.+Rifaccio il pezzo //upper arm motor holder left// ma lo traslo in basso di 2,7mm tagliando di fatto la parte che finisce sotto il piatto. Di fatto lo accorcio di quasi 3mm sperando che si adattino sia le viti che i fori dell'altro //motor holder//.
  
-===== Software =====+==== Cablaggio ==== 
 + 
 + 
 + 
 +Il motore è collegato alla breadboard in questo modo: 
 + 
 +{{:stepper-breadboard-cable2.jpg?400|strip to breadboard}} 
 + 
 + 
 +In generale tutto il cablaggio è estremamente fragile e sarebbe opportuno progettare un PCB con driver, morsetti per l'alimentazione, header per i cavi dei motori. Anche un supporto stampato in PLA per alloggiare il tutto non sarebbe male. 
 + 
 +Per il collegamento dei due motori stepper seguire [[https://lastminuteengineers.com/a4988-stepper-motor-driver-arduino-tutorial/|questo tutorial]] (riportato anche nella pagina [[:stepper]]). In particolare la piedinatura è questa: 
 + 
 +{{:riservata:piedinatura_a4988.png|}} 
 + 
 +==== Problemi ==== 
 + 
 + 
 +Altri problemi: 
 +  * la comunicazione seriale va disattivata altrimenti il pilotaggio del motore non funziona correttamente 
 +  * pensavo di alimentare la scheda Arduino a 12V e utilizzare il piedino Vin per portare i 12V al driver ma non si può fare, probabilmente perché il driver disturba gli ingressi analogici e il motore si muove anche senza agire sul joystick (aggiungere condensatori di bypass?) 
 +  * serve un'alimentazione separata per Arduino (e quindi ingressi analogici): il test con alimentazione Arduino da USB e driver con alimentatore separato dà buoni risultati (fa ancora piccoli movimenti anche senza agire sul joystick ma sembra risolvibile magari anche solo via software) 
 + 
 + 
 + 
 + 
 +==== Software ====
  
 <code c> <code c>
-// basato sugli esempi di AccelStepper (multiple steppers e proportional)+// basato sugli esempi della libreria AccelStepper (multiple steppers e proportional)
 // joystick analogico comanda la velocità ma c'è una posizione limite che non viene superata // joystick analogico comanda la velocità ma c'è una posizione limite che non viene superata
 // il pulsante del joystick abilita/disabilita il driver (LED13 acceso se abilitato) // il pulsante del joystick abilita/disabilita il driver (LED13 acceso se abilitato)
-// il pulsante è gestito con un interrupt sul fronte di discesa il rimbalzo è gestito  +// il pulsante è gestito con un interrupt sul fronte di discesa 
-// trascurando commutazioni che si ripetono prima di 200ms +// il rimbalzo del pulsante è gestito trascurando commutazioni che si ripetono prima di 200ms 
-// rapporti di riduzione altezza 64:20 (3,2), rotazione 80:20 (4) +// rapporti di riduzione sono: 64:20 per l'altezza 80:20 per la rotazione  
-// 200 passi/giro diventano 640 e 800 passi/giro per altezza e rotazione +// 200 passi/giro diventano 640 passi/giro per altezza e 800 passi/giro per la rotazione 
-// NB il driver disturba molto l'ingresso analogico -> servono alimentazioni separate  +// NB il driver disturba molto l'ingresso analogico -> SERVONO ALIMENTAZIONI SEPARATE 
-// NB la seriale disturba il pilotaggio del motore, se attivata non gira correttamente!+// NB la seriale disturba il pilotaggio del motore -> DISATTIVARE LA SERIALE
  
-// libreria per gestire i motori stepper con driver A4988+// libreria per gestire i motori stepper con due driver A4988
 #include <AccelStepper.h> #include <AccelStepper.h>
  
Linea 80: Linea 114:
 int pinPulsante = 2; int pinPulsante = 2;
 int pinEnable = 7; int pinEnable = 7;
 +
 +// segnali analogici: X su A0 e Y su A1
  
 // variabili aggiornate dall'interrupt service routine (ISR) // variabili aggiornate dall'interrupt service routine (ISR)
riservata/project_work_3a.1742198823.txt.gz · Ultima modifica: da admin