Difference between revisions of "Drawbot"

From FabLabGenovaWiki
Jump to: navigation, search
Line 3: Line 3:
 
[[File:Drawbotfirst.jpg|thumb|left|Il primo disegno del drawbot v1]]
 
[[File:Drawbotfirst.jpg|thumb|left|Il primo disegno del drawbot v1]]
 
  Budget 30-50€
 
  Budget 30-50€
* sostituiamo gli stepper driver con quelli di bond,nuova catenella e nuove pulegge
+
Drowbot V2
* iniziamo a lavorare a un setup definitivo
+
* Abbiamo sostituito gli stepper driver con quelli di Simo ( Darlinghton + AmpOp come comparatore di tensione ).
* interfaccia raspi/driver di potenza. Stiamo lavorando per usare un PIC16F628A.
+
* L'interfaccia stepper driver / raspi ( che comunica in step-dir ) è gestita da due PIC12F657. Bisogna implementare l'half step.
* nuovo alimentatore duale + 5V per logica
+
* Iniziamo a lavorare a un setup definitivo da portare al minimo
 +
* Bisogna fare un nuovo alimentatore duale + 5V per logica
  
 
Continueremo, almeno per ora, a sviluppare software in python per raspi.
 
Continueremo, almeno per ora, a sviluppare software in python per raspi.
Line 13: Line 14:
  
 
== Motori ==
 
== Motori ==
Per ora usiamo i nema 17 della Makerbot.
+
Stiamo usando una coppia di PM55L ( [http://www.nmbtc.com/pdf/motors/PM55L-048-HHD0.pdf] ) recuperati da una fotocopiatrice. Avendo solo 47 step contro i 200 dei nema ( portati a 400 con l'half-step ) la risoluzione è diminuita brutalmente ad un ottavo rispetto alla prima versione (La precisione massima che otteniamo con questa è 2.5mm contro gli 0.6-0.8mm della prima versione). Per ottenere risultati accettabili bisogna fare immagini molto più grandi rispetto alla prima versione. Potrebbe migliorare un po' con l'half step. Studiare quale densità di punti rende meglio. In extremis si possono pure cercare di recuperare due motori da 200 passi/giro per tornare alla risoluzione di prima.
Nella versione definitiva potremmo usare una coppia di PM55L ( [http://www.nmbtc.com/pdf/motors/PM55L-048-HHD0.pdf] ) recuperati da una fotocopiatrice. Avendo solo 47 step contro i 200 dei nema ( portati a 400 con l'half-step ) la risoluzione diminuirebbe brutalmente ad un ottavo dell'attuale. Se utilizzassimo anche lì l'half-step raddoppieremmo la risoluzione. Bisogna fare dei test.
 
 
== Alimentazione ==
 
== Alimentazione ==
Un ATX si è immolato per la causa
+
Un ATX si è immolato per la causa, ma la -12V utilizzata dal driver duale può fornire al massimo .3A, un po' pochini.
 +
Stiamo lavorando ad un nuovo alimentatore che fornisca una +12/0/-12 adeguata (~1.5A) e una 5V stabilizzata
 
== Drivers motori ==
 
== Drivers motori ==
Ce li ha prestati la stampante, sono [http://reprap.org/wiki/Stepper_Motor_Driver_2.3 questi] ma abbiamo pronta la versione [[Bond]]
+
Li abbiamo progettati e costruiti noi. Utilizzano una alimentazione duale e 4 transistor darlinghton di potenza. Sono la seconda versione curata da Simo ( e quella definitiva? ) con l'interfaccia logica migliorata. Ottimi anche dopo un ora di stampa non scaldano niente ( possono gestire fino a 8A/canale ). L'adattatore clock/dir è un PIC micro della serie 12F ( 8 PIN ). Dobbiamo ancora implementare l'half step. Per maggiori informazioni [[Bond]]
 
 
 
== Controller ==
 
== Controller ==
 
RaspberryPI. [[File:PinRaspberry.png|thumb|alt=piedinatura raspBerryPI.|piedinatura del raspberry|400px|right|piedinatura Raspberry PI]]
 
RaspberryPI. [[File:PinRaspberry.png|thumb|alt=piedinatura raspBerryPI.|piedinatura del raspberry|400px|right|piedinatura Raspberry PI]]
 
 
== Software ==
 
== Software ==
 
Abbiamo portato tutto il codice in due programmi python.
 
Abbiamo portato tutto il codice in due programmi python.
Line 28: Line 27:
 
Il secondo viene fatto girare su un raspi connesso ai motori del drawbot. Prende in input il suddetto path e fa muovere i motori  secondo i parametri del sistema drawbot a cui è connesso.
 
Il secondo viene fatto girare su un raspi connesso ai motori del drawbot. Prende in input il suddetto path e fa muovere i motori  secondo i parametri del sistema drawbot a cui è connesso.
 
Prima di eseguire fornisce indicazioni sulle dimensioni reali del disegno e una stima del tempo richiesto e chiede conferma.
 
Prima di eseguire fornisce indicazioni sulle dimensioni reali del disegno e una stima del tempo richiesto e chiede conferma.
 +
In più abbiamo realizzato altri due script in python che sono risultati utili nel corso delle prove: uno fa automaticamente la pre-elaborazione delle immagini, l'altro visualizza i path.
 
Il codice aggiornato è su [[software]]
 
Il codice aggiornato è su [[software]]
 
e anche su sourceforge http://sourceforge.net/projects/drawbot/
 
e anche su sourceforge http://sourceforge.net/projects/drawbot/

Revision as of 07:59, 1 May 2013

drawbot come visto qui

drawbot v1
Il primo disegno del drawbot v1
Budget 30-50€

Drowbot V2

  • Abbiamo sostituito gli stepper driver con quelli di Simo ( Darlinghton + AmpOp come comparatore di tensione ).
  • L'interfaccia stepper driver / raspi ( che comunica in step-dir ) è gestita da due PIC12F657. Bisogna implementare l'half step.
  • Iniziamo a lavorare a un setup definitivo da portare al minimo
  • Bisogna fare un nuovo alimentatore duale + 5V per logica

Continueremo, almeno per ora, a sviluppare software in python per raspi.


Motori

Stiamo usando una coppia di PM55L ( [1] ) recuperati da una fotocopiatrice. Avendo solo 47 step contro i 200 dei nema ( portati a 400 con l'half-step ) la risoluzione è diminuita brutalmente ad un ottavo rispetto alla prima versione (La precisione massima che otteniamo con questa è 2.5mm contro gli 0.6-0.8mm della prima versione). Per ottenere risultati accettabili bisogna fare immagini molto più grandi rispetto alla prima versione. Potrebbe migliorare un po' con l'half step. Studiare quale densità di punti rende meglio. In extremis si possono pure cercare di recuperare due motori da 200 passi/giro per tornare alla risoluzione di prima.

Alimentazione

Un ATX si è immolato per la causa, ma la -12V utilizzata dal driver duale può fornire al massimo .3A, un po' pochini. Stiamo lavorando ad un nuovo alimentatore che fornisca una +12/0/-12 adeguata (~1.5A) e una 5V stabilizzata

Drivers motori

Li abbiamo progettati e costruiti noi. Utilizzano una alimentazione duale e 4 transistor darlinghton di potenza. Sono la seconda versione curata da Simo ( e quella definitiva? ) con l'interfaccia logica migliorata. Ottimi anche dopo un ora di stampa non scaldano niente ( possono gestire fino a 8A/canale ). L'adattatore clock/dir è un PIC micro della serie 12F ( 8 PIN ). Dobbiamo ancora implementare l'half step. Per maggiori informazioni Bond

Controller

RaspberryPI.
piedinatura raspBerryPI.
piedinatura Raspberry PI

Software

Abbiamo portato tutto il codice in due programmi python. Il primo prende in input un'immagine opportunamente elaborata con un editor grafico e genera un file path contenente le indicazioni che servono a un qualsiasi sistema drowbot per muoversi; è necessario farlo girare su un computer con una buona potenza ( è sconsigliabile lanciarlo dal raspi! ), vista la pesantezza dei calcoli che deve svolgere; è possibile scegliere più livelli di ottimizzazione e visualizzare i risultati prima di salvare il path. Richiede le librerie numpy matplotlib, gira su tutti gli os. Il secondo viene fatto girare su un raspi connesso ai motori del drawbot. Prende in input il suddetto path e fa muovere i motori secondo i parametri del sistema drawbot a cui è connesso. Prima di eseguire fornisce indicazioni sulle dimensioni reali del disegno e una stima del tempo richiesto e chiede conferma. In più abbiamo realizzato altri due script in python che sono risultati utili nel corso delle prove: uno fa automaticamente la pre-elaborazione delle immagini, l'altro visualizza i path. Il codice aggiornato è su software e anche su sourceforge http://sourceforge.net/projects/drawbot/

Connessioni

In tutto ci sono 4 schede da connettere insieme. 2 Motor Stepper Driver (S.M.D.), 1 raspberry (PI) e la scheda con l'alimentatore ATX.

Di seguito c'è la tabella delle connessioni. Va poi aggiunto un interruttore tra il PS_ON dell'atx (cavo verde) e il ground per controllare l'alimentazione di tutto l'ambaradan

ATX Pi S.M.D.1 S.M.D.2
+12 X abcd(molex) abcd(molex)
+5 pin 2 abcd(molex) abcd(molex)
Ground pin 6 pin 2,8,9,10 pin 2,8,9,10
X pin 7 pin 3 X
X pin 11 pin 4 X
X pin 12 X pin 3
X pin 13 X pin 4
X pin 15 pin 5 pin 5