Mag 292013
 

Lasciando per una volta da parte l’ordinario lavoro di sysadmin, ecco un progettino realizzato in collaborazione con Ricky  (un mio collega  dell’ufficio tecnico) che ha curato il design della parte meccanica.

Si tratta di un robot industriale a due assi che ha il compito di distribuire la pasta sigillante sui carter dei nostri nuovi motori della serie 1200 in fase di preassemblaggio.

La macchina è in grado di lavorare con precisione ben 6 pezzi contemporaneamente e consente un notevole risparmio, oltre che sulla manodopera di un operaio in linea, anche sul consumo di pasta sigillante grazie ad un dosaggio perfettamente uniforme e calibrato.

In questo modo sono stati messi a frutto i cazzeggi riportati nel mio precedente articolo sul pilotaggio dei motori passo-passo con Arduino e driver a mosfet autocostruiti.

L’elettronica è composta infatti da:

  • un doppio driver a mosfet come quello dell’articolo di cui sopra(chiaramente sovradimensionato per l’utilizzo, ma meglio andare sul sicuro :-))
  • una scheda di controllo che serve a collegare le varie parti ed a fornire il consenso per l’erogazione tramite relè
  • un alimentatore standard da PC
  • una scheda Arduino Mega 2560
  • due motori passo-passo bipolari
  • pulsanti e microswitch di finecorsa

La parte meccanica è composta da:

  • profili di allumino standard
  • guide di scorrimento
  • lastre e bulloneria varia
  • Pulegge e cinghie dentate dimensionate in modo da ottenere una risoluzione di 0,15mm con pilotaggio half-step

La maggior complicazione è stata lo sviluppo di un software adeguato. La mancanza di multitasking dell’Arduino rende impossibile utilizzare le librerie standard per pilotare 2 motori passo-passo simultaneamente. Ho dovuto così sviluppare le funzioni di controllo specifiche per il movimento a due assi.

Altro aspetto importante è l’importazione del percorso, effettuata passando dal formato .DXF del disegno del pezzo al Gcode tramite il plugin  G-Code Tools di Inkscape.

Dal flie G-Code un semplice programmino interpreta i comandi G00 (posizionamento rapido) e G01 (percorso di lavorazione) creando un array di coordinate da inserire nel codice Arduino.

Il risultato è quello che potete vedere nel video soprastante (qualità della ripresa: smartphone Galaxy S con illuminazione ambientale scarsa….):

Buona visione.

 

Fabrizio Vettore

  Una risposta a “Robot industriale a due assi basato su Arduino”

  1. Ciao Fabrizio, grazie mille per il video e per aver reso pubblico il tuo progetto. Avrei un pò di domande da farti e perciò se possibile vorrei contattarti in privato, se non è possibile le principali le scrivo qui. La domanda principale che mi pongo è come hai fatto a trasformare delle coordiate generate dal g-code in movimento ai motori? Mi spiego meglio, tu sopra hai parlato di array di coordinate, ma come hai fatto a definire ad arduino che quella coordinata era associata a quel punto esatto della macchina? E come hai trasformato (in ambito di codice) la coordinata in movimento ai motori? Potresti linkarmi una versione grezza del programma passato all’arduino?

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)