Le stampanti 3D

Transcript

Le stampanti 3D
Prototyping
LE STAMPANTI 3D:
IL PIANETA RepRap
U
na Self Replicating Rapid Prototyping Printer – per gli
amici RepRap - è oggi
l’oggetto del desiderio
dei più arditi maker,
motivo d’invidia da
parte di alcune grandi
aziende e un enorme
punto di domanda per
tutti gli altri. Nella
sostanza, una RepRap
è una stampante auto
costruibile che realizza
parti in tre dimensioni
tramite la deposizione di un filamento di
plastica resa fluida
tramite estrusione ad
alta temperatura.
Chi ha letto la scorsa puntata di questo
nostro viaggio nel
prototyping, ricorderà
che l’idea stessa della
stampa 3D nasce nel
1986 e che nei successivi 20 anni la produzione di pezzi singoli 3D
partendo da modelli
CAD era un’attività
possibile, ma costosa
e riservata a specifiche
esigenze professionali
di progettazione.
La tecnologia di RepRap, con l’estrusione
di plastica da un ugello
riscaldato, è simile a
di SIMONE MAJOCCHI
Dal 2006 ad oggi le
energie e l’intelligenza
di migliaia di persone
hanno alimentato il
progetto RepRap e il
suo Wiki: un eclatante
esempio di come
l’open source possa
portare benefici
alla comunità e
all’imprenditoria.
Elettronica In ~ Settembre 2012
31
La prima stampante della famiglia
RepRap è la Darwin, sofisticata nella
progettazione e purtroppo complessa
nell’assemblaggio. Anche le parti oggi
più collaudate e semplificate, come
l’estrusore, in Darwin richiedevano una
certa perizia.
quella del FDM di Stratasys, ma
l’intera idea di questo progetto
sta nel “Self Replicating”, ovvero nella volontà di progettare
l’intera stampante con parti
meccaniche standard e componenti specifici “stampabili” con
un’altra RepRap.
GLI INIZI
Dal 2006 la comunità di RepRap
inizia a lavorare alla Darwin; i
personaggi coinvolti nell’iniziativa hanno il loro leader in Adrian
Bowyer, un professore universitario nato nel 1952, attualmente
docente al dipartimento di Ingegneria Meccanica all’University
of Bath e dirigente della società
RepRap Ltd e RepRapPro. A lui il
mondo riconosce l’invenzione del
RepRap Project – la stampante 3D
autoreplicante open source.
Non si tratta di un’iniziativa che
passa inosservata e il quotidiano inglese The Guardian arriva
a scrivere che RepRap “è stata
definita l’invenzione che porterà
all’abbattimento del capitalismo,
farà iniziare la terza rivoluzione
industriale e salverà l’ambiente…”
Con queste premesse, diventa
più chiaro il perché le stampanti
3D abbiano avuto un crescente
interesse da parte dei media e
degli hobbisti. Basta fermarsi un
attimo a pensare “cosa potrei fare
con un replicatore di oggetti” per
immaginare migliaia di applicazioni e soluzioni.
Il gruppo di Bowyer comprende
ad oggi una ventina di personaggi, definiti il “core team”, e impegnati su vari aspetti pratici, di
Adrian Bowyer e Vik Oliver mostrano con non
poca soddisfazione il successo nel processo di
auto replicazione di una Darwin: a sinistra la
stampante 3D genitore e a destra quella figlia
costruita con le parti stampate dalla prima.
32
Settembre 2012 ~ Elettronica In
sviluppo, supporto, manutenzione e amministrazione. Il Wiki e
tutte le attività collegate richiedono un significativo sforzo, mentre
dal punto di vista progettuale
il contributo in Open Source ha
portato alla nascita di un ricco
e articolato albero genealogico
RepRap. (http://reprap.org/wiki/
RepRap_Family_Tree)
L’EVOLUZIONE DELLA SPECIE
RepRap Darwin, con la sua
struttura cubica, è stata la prima
stampante a soddisfare le premesse del progetto e infatti dal
primo esemplare è stato possibile
stampare un esemplare figlio
che a sua volta ha dato vita ad
altre stampanti. Osservando le
immagini della Darwin non si
può fare a meno di notare che
ha una struttura complessa e
articolata, con cinghie, pulegge e
numerose parti metalliche. Chi si
è cimentato nella sua costruzione
ha dovuto affrontare non poche
complicazioni e solo grazie al
supporto del core team gli utenti
più determinati sono riusciti a
raggiungere l’obiettivo.
Nel costruire le loro RepRap
Darwin, i vari utenti hanno scoperto - a loro spese - i punti critici
e i punti deboli che impedivano
di andare oltre certe prestazioni.
Dopo aver quindi dedicato molte
risorse alla progettazione della
capostipite, passaggio indispensabile per avere qualcosa da
replicare e migliorare, l’iniziale
core team ha potuto arruolare
nuovi utenti un po’ in tutto il
mondo proprio perché avendo
ne deriva è profonda e struttuaffrontato la costruzione di una
rale. Questo passaggio non è per
Darwin, ne avevano appreso
nulla banale ed è un significativo
pregi e difetti.
stravolgimento della struttura. Si
Il team inizia quindi il procestratta di un cambiamento draso di revisione e analisi con
stico e prodotti come Makerbot
ciascuno che offre la propria
Cupcake e Ultimaker preferiscoesperienza e la propria visione
no rimanere legati alla struttura
al progetto, confermando come
originaria di Darwin, intervenenl’Open Source sia un approccio
do su altri aspetti per migliorare
che amplifica e potenzia l’analisi
la semplicità della struttura e la
e l’innovazione; certo non è il
velocità di stampa.
lavoro a tempo pieno di ciascuno
Per un albero genealogico, quee per questo ci vogliono altri due
sto cambio negli assi – da XY e Z
anni per arrivare alla versione
a X/Z e Y - equivale a una nuova
successiva.
ramificazione e il core team non
Vengono innanzitutto isolate le
può che constatare la validità del
criticità che rendono ogni Darprocesso di affinamento progetwin una piccola impresa ingegneristica: parecchie parti diverse, tuale collettivo. Partiti da una
struttura complessa e abbastanza
una fitta schiera di elementi
lenta sono arrivati a una struttura
meccanici con misure specifiche
più compatta, ma al tempo stesso
e molto varie, cinghie di difficile
capace di stampare parti più
reperimento e cuscinetti in quangrosse con un ingombro comtità. La nuova RepRap doveva
plessivo ridotto.
utilizzare parti più standard, in
pochi formati e con una maggioBENVENUTA WEDGE/MENDEL
re facilità di reperimento.
Dal cubo si passa a una specie di
Dalle immagini della parte di
cuneo (wedge in inglese), dove il
stampa, si nota come Darwin
movimento dell’estrusore viene
abbia un blocco di estrusione
semplificato notevolmente in
molto articolato e ingombrante:
quanto si sposta solo sull’asse
difficile da montare e dotato di
“X”. Il movimento verticale “Z”
una massa significativa da spoviene trasferito all’estrusore alstare su due assi: anche questo
zando l’intero carrello di stampa
viene affrontato e la scelta che
da entrambi i lati tramite un motore e una cinghia chiusa. Da X/Y
sull’estrusore e Z sul piano di
stampa di Darwin, Mendel adotta una soluzione innovativa X/Z
per l’estrusore e Y per il piano di
stampa. La gestione dell’asse Z
passa quindi dall’iniziale complesso sistema che sposta interamente il piano di stampa verticalmente a una soluzione dove
si alza il carrello di stampa e non
più il piano. Allo stesso tempo,
dallo spostamento dell’estrusore
su due assi orizzontali X e Y, si
passa al movimento Y gestito
con il piatto di stampa, mentre
l’estrusore perde la Y e “guadagna” la Z. Quest’ultimo asse,
inoltre, è meno impegnativo in
quanto viene utilizzato solo una
volta a ogni “strato” e può essere
gestito anche senza velocità
elevate. Tutta la meccanica viene
revisionata profondamente, con
parecchie parti precedentemente
di tipo diverso (diversi diametri
di barre e bulloni) che vengono
standardizzate a due sole tipologie di vite/bullone (M8 ed M3).
Mendel diventa quindi qualcosa di possibile anche per utenti
senza una grande esperienza
ingegneristica.
La sua struttura meccanica porta
Elettronica In ~ Settembre 2012
33
I firmware disponibili
Grazie a una certa omogeneità
dell’hardware e all’impiego
dell’IDE di Arduino come ambiente di sviluppo, compilazione
e upload del firmware, la comunità ha dato vita a una serie di
firmware diversi, ciascuno dei
quali ha delle specificità e può
quindi essere più adatto degli
altri per il tipo di applicazione
che avete in mente. Il file di configurazione di ciascun firmware
contiene tutti gli elementi che
vi permettono di modificare e
definire le caratteristiche della
vostra stampante per rendere il
firmware stesso perfettamente
integrato con l’hardware.
Firmware: FiveD
Caratteristiche:
•Estrusore con motore
stepper
•Controllo della velocità
dell’estrusore
•Controllo della velocità dei
movimenti
•Accelerazione stile RepRap
•Termocoppie
•Piatto riscaldato
Compatibile con:
•Generation 3
•Pololu Electronics
•RAMPS
•Generation 7 Electronics
Firmware: Sprinter
Caratteristiche:
•Lettore di scheda SD
•Estrusore con motore
stepper
•Controllo della velocità
dell’estrusore
•Controllo della velocità dei
movimenti
•Accelerazione costante o
esponenziale
•Piatto riscaldato
Compatibile con:
•RAMPS
•Sanguinololu
le dimensioni di stampa a 20 x
20 x 14 centimetri, con ABS, PLA
e altri materiali stampabili, purché in filo da 3mm; gli estrusori
sono frutto prima del lavoro di
Adrian Bowyer e poi di Wade
Bortz, il cui estrusore omonimo
è quello attualmente più diffuso.
•Teensylu
•Ultimaker’s Electronics
versione 1.0-1.5
•Generation_6_Electronics
Firmware: Teacup
Caratteristiche:
•Codice scritto in C e ottimizzato per le prestazioni
•Estrusore con motore
stepper
•Controllo della velocità
dell’estrusore
•Controllo della velocità dei
movimenti
•Accelerazione stile RepRap
•Razionalizzazione di start e
stop
•Termocoppie
•Piatto riscaldato
•Numero illimitato di estrusori
•Codice di dimensioni inferiori ai 32K per stare su un
ArduinoUNO
Compatibile con:
•Generation 3
Tutti i cambiamenti introdotti da Mendel hanno un forte
impatto sulla diffusione delle
RepRap e sono sempre più gli
utenti che ritengono quella
stampante alla loro portata.
Anche l’elettronica, il software
di slicing e stampa iniziano a
Da una struttura a cubo, con movimentazione
del piano di stampa in verticale e del
carrello su X e Y, viene progettata
Mendel, più compatta, più lineare
nell’assemblaggio e più accessibile
come reperimento delle parti.
34
Settembre 2012 ~ Elettronica In
•Pololu Electronics
•RAMPS
•Generation 7 Electronics
•Sanguinololu
Firmware: sjfw
Caratteristiche:
•Pipeline per il G-Code ad
alte prestazioni, nessun
ritardo fra i movimenti
•LCD e tastiera per la stampa
autonoma
•Accelerazione
•Volumetrico / 5D
•Supporto scheda SD
•Configurazione Runtime
completa
Compatibile con:
•Generation 4
•RAMPS 1.2 e 1.3
•Sanguinololu con 644P
Firmware: Marlin
Caratteristiche:
•Look ahead: mantiene
prendere una forma più concreta, offrendo agli utenti un
pacchetto Open Source completo dall’inizio alla fine.
Fra gli utenti che si cimentano
nella costruzione di una RepRap
c’è anche Josef Průša, un giovane DJ che si è prima innamorato di Mendel e che poi ne ha
fatto una versione semplificata,
potenziata e di migliori prestazioni. Pur avendo compiuto da
poco 22 anni, Josef Průša – che
vive a Praga nella Repubblica
Ceca - è entrato a pieno titolo
nel core team di RepRap ed ora
ne rappresenta l’incarnazione
con numerosi interventi, dimostrazioni e grande copertura
mediatica. Il suo lavoro è stato
notevole in quanto ha ulteriormente consolidato e potenziato
Mendel fino a creare la versione
che porta il suo nome. Si tratta
di una buona stampante 3D, di
montaggio relativamente semplice e del costo complessivo
prossimo ai 600 euro.
velocità elevate, quando
possibile
•Steprate elevato
•Protezione con interrupt per
la temperatura
•Movimento con reale accelerazione lineare basato su
interrupt
•Pieno supporto dei
finecorsa
•Supporto scheda SD
•Cartelle su scheda SD
(richiede host software su
computer compatibile)
•Supporto di LCD (ottimale
20x4)
•Sistema di menu su LCD
per la stampa autonoma da
scheda SD, controllata da
un click-encoder.
•EEPROM di memorizzazione
parametri operativi come
velocità max, accelerazione
max, e le variabili simili
•Supporto degli archi
•Sovracampionamento della
temperatura
•“AutoTemp”
•Riscontro dei finecorsa al
software host.
•sdcardlib aggiornato
•Monitoraggio del piatto
riscaldato
•Tante piccole funzionalità e
accorgimenti aggiuntivi
Compatibile con:
•RAMPS
•Sanguinololu
•Ultimaker’s Electronics
versione 1.0-1.5
•Generation_6_Electronics
Firmware:
Repertier-Firmware
Caratteristiche:
•Supporto di accelerazione
RAMP
•Pianificazione del percorso
per velocità di stampa
elevate
•Sistema di prevenzione
dello sgocciolamento
Le caratteristiche di Prusa Mendel, uno degli attuali modelli “a
catalogo” RepRap, sono
ad oggi fra le migliori disponibili e questa versione si distingue per l’ottimo rapporto fra la
complessità del montaggio e i
risultati ottenuti.
Si tratta di un modello che gode
di numerosi estimatori i quali
continuano a sfornare elementi
aggiuntivi e sostitutivi, riempiendo siti come Thingiverse di
“optionals” pronti per la stampa.
Scegliere una Prusa Mendel ad
oggi è una scelta che garantisce
espandibilità e flessibilità.
dall’estrusore
•Traiettoria ammorbidita per
linee più morbide
•Controllo della pressione
dell’ugello per una migliore
qualità di stampa
•Supporto estrusori multipli
•Protocolli di comunicazione
Standard ASCII e binario
Repetier
•Selezione automatica del
protocollo per funzionare
con qualsiasi software host.
•Monitoraggio continuo della
temperatura
•Memorizzazione in EEPROM
dei parametri principali per
evitare la ricompilazione
•Gestione tramite interrupt
degli stepper, lasciando il
tempo necessario per il riempimento della cache per
il movimento successivo.
•Controllo PID della temperatura dell’estrusore
•Buffer d’invio gestito via
interrupt
soluzioni che seguono le ispirazioni più diverse.
Il progetto MendelMax sostituisce le barre filettate con dei
profili in alluminio per migliorare drasticamente la stabilità
e al tempo stesso rendere il
•Uso ridotto della memoria
RAM, con conseguente
cache di grandi dimensioni
•Supporto scheda SD
•mm e pollici possono essere utilizzati per G0/G1
•Funziona con Skeinforge
41, tutti i comandi sconosciuti vengono ignorati.
•Funzionamento a secco:
esegue G-Code senza utilizzare l’estrusore.
In questo modo è possibile
verificare guasti non relativi
agli estrusori, senza stampare
•Tabella di termistori generici e definiti dall’utente (basta impostare r0, t0, beta,
r1, r2) in config, a partire
dalla versione 0.31.
Compatibile con:
•RAMPS
•Sanguinololu
•Generation_6_Electronics
•Generation_7_Electronics
montaggio più semplice. Una
volta trovato il fornitore per il
taglio dei profili come da lista
dei materiali, questa versione
può essere assemblata effettivamente con meno fatica e meno
Dalla Mendel alla Prusa Mendel: ecco
Josef Pruša che illustra come la sua
stampante sia ancora più semplice
della Mendel originale e di fatto
sia quella con il miglior rapporto
prezzo prestazioni disponibile
nel panorama
RepRap.
EVOLUZIONI E INTERPRETAZIONI
RepRap oggi non è però solo
Prusa Mendel: MendelMax, RepRapPro Huxley e Wallace sono
i modelli attualmente promossi
dal core Team, mentre curiosando nel wiki troviamo una
serie di altre versioni fra cui la
Galileo dei Kent’s Strapper – la
famiglia Cantini di – assieme a
Elettronica In ~ Settembre 2012
35
RepRap è anche RepRapPro Huxley, qui ritratta con tutte le parti plastiche che
la compongono, mentre qui sotto a sinistra la struttura della MendelMax lascia
intuire una notevole stabilità. All’opposto c’è l’approccio minimalista di Wallace.
dubbi sul posizionamento dei
vari pezzi. Il progetto è attivo
da diversi mesi e ormai l’autore ha portato a termine il suo
personale esemplare. Alcune
parti di collegamento fra i profili
sono realizzati con una RepRap,
così da mantenere la tradizione
di autoreplicazone, con meno
parti in generale da realizzare in
ABS o PLA. Grazie alla stabilità,
MendelMax è adatta al trasporto e alla stampa a velocità più
elevate rispetto a Prusa Mendel.
Dalle fotografie pubblicate, non
si può che riconoscere la pulizia
36
Settembre 2012 ~ Elettronica In
e la regolarità di tutti i vari campioni di stampa.
RepRapPro Huxley è una versione
disponibile in un kit appositamente realizzato dall’azienda
fondata da Bowyer – RepRapPro
- per rendere disponibile a tutti
una soluzione completa di ogni
parte. Huxley ha delle modifiche rispetto a Mendel e utilizza
una scheda elettronica specifica,
già dotata del necessario per
la stampa autonoma con scheda SD. L’area di stampa è più
ridotta rispetto a Prusa Mendel,
ma con 14 x 14 x 11 centimetri è
ancora possibile stampare tutte
le parti di un’altra Huxley.
La superficie di stampa è un piano riscaldato realizzato con un
circuito stampato le cui tracce
costituiscono una resistenza da
diversi watt e pochi ohm, come
da specifiche RepRap. In un piccolo involucro si nasconde però
la precisione: 0,1mm di accuratezza, 0,0125mm di risoluzione,
30 mm/sec di deposizione, 200
mm/sec di spostamento e 33 cm
cubi di materiale deposto all’ora.
Chi vuole iniziare a stampare in
3D con il minimo investimento,
può prendere in considerazione
la Wallace: nata come derivazione molto “libera” della Printrbot,
è stata ridisegnata interamente
in OpenSCAD per poter essere
adattata alle esigenze di ciascuno (purché ovviamente abbia
accesso a una stampante 3D per
auto prodursi i pezzi). Le barre
lisce e filettate sono preferibilmente da 6mm, ma tutti gli oggetti da stampare possono essere
ripresi e adattati parametricamente a barre e cuscinetti per i
classici 8mm di diametro. Esistono già alcuni esemplari funzionanti di Wallace, ma il progetto
è ancora in pieno sviluppo.
CONTROLLER OPEN SOURCE
Dopo tutta questa serie di strut-
ture meccaniche è abbastanza
naturale chiedersi come si possa
pilotare ciascuna di esse. La
risposta è abbastanza semplice:
con una qualsiasi delle schede
sviluppate parallelamente dal
team RepRap e dagli utenti più
intraprendenti. Tutte le varie
schede condividono infatti delle
caratteristiche minime comuni
e quindi il pilotaggio dei 3 assi,
dell’estrusore e la lettura dei
sensori è praticamente garantita
con Gen7, Sanguinololu e RAMPS
(RepRap Arduino Mega Pololu
Shield).
Di base c’è l’architettura di Arduino, con un ATmega di tipo 644P
o 1280P, dotato di opportuno bootloader Arduino, poi l’hardware
si è specializzato in varie direzioni per arrivare a schede che
supportano uno o più estrusori
assieme al set minimo di 4 motori, tre sensori di fine corsa, un
termistore e due unità resistive
di potenza (estrusore e piano di
stampa riscaldato). Le tre schede
citate sono quelle attualmente in
produzione e distribuzione, ma
esistono altre schede meno popolari, ma comunque funzionali,
che devono ancora uscire o sono
già diventate obsolete. Prima di
queste, le soluzioni esistenti erano basate su driver ingombranti
e cablaggi abbastanza complessi, ereditati da prodotti come
Makerbot Cupcake.
Utilizzare l’IDE di Arduino per la
configurazione e programmazione del firmware di queste schede
è un grande vantaggio in quanto
si va a colpo sicuro senza particolari problemi, ma determina delle
caratteristiche hardware minime
a cui ogni progetto deve corrispondere.
Che Arduino, con la sua architettura e il sistema di sviluppo
IDE, sia un ottimo candidato
per pilotare dei motori stepper
e leggere dei sensori, siamo
tutti d’accordo, ma dato l’elevato
numero di pin coinvolti nelle
attività di input output, o si usa
la versione MEGA o non ci sono
abbastanza pin disponibili. Da
qui la progettazione di Gen7 e
Sanguinololu: due schede che
incorporano direttamente un ATmega, l’interfaccia USB to Serial, i
collegamenti ai moduli driver per
motori stepper, una serie di pin
di I/O generici e i due moduli
di potenza mosfet per il piatto e
l’estrusore. Il vantaggio di queste
schede sta nell’uso di un particolare driver, inizialmente sviluppato da Pololu Electronics
e poi replicato in open source
per un improvviso shortage della
versione originale, capace di
pilotare i motori stepper fino al
sedicesimo di passo. Questo modulo è estremamente compatto
e utilizza componentistica SMD
per raggiungere 2 ampere di
corrente per avvolgimento, con
motori a basso e alto voltaggio.
Dopo una partenza abbastanza
complessa dell’elettronica in
versione Darwin, una singola
scheda di costo ragionevolmente
La scheda RAMPS 1.3, basata
su Arduino Mega.
g
La scheda elettronica Gen7
in versione 1.4
La scheda Sanguinololu 1.3
contenuto svolge tutte le funzioni
necessarie a far funzionare le
varie stampanti 3D, siano delle
Prusa o delle Huxley o altro ancora, integrando addirittura il microcontrollore. La compatibilità
fra meccanica e scheda è – come
indicavamo precedentemente –
garantita e solo abbandonando la
“via maestra” si possono incontrare limitazioni di una o l’altra
soluzione.
Ora che la diffusione delle Prusa
e dei derivati sta raggiungendo
le decine di migliaia di pezzi, si
stanno avviando nuovi progetti
che recepiscono le richieste più
frequenti di espansione, ovvero
la memoria SD per i file da stampare e un sistema con display e
tastierino con cui interagire con
la stampante. Si tratta dei due
Elettronica In ~ Settembre 2012
37
Il controllo dei motori stepper di
tipo bipolare è affidata su tutte
le varie schede controller a
un modulo driver sviluppato
da Pololu Electronics e
successivamente implementato
come versione open source con il
nome StepStick.
elementi necessari per rendere
autonoma la stampante, liberando il computer immediatamente
dopo il processo di slicing del file.
Già oggi è possibile aggiungere
questi due elementi alle tre versioni di controller, ma solo alcuni
firmware specifici permettono
di poterli attivare e utilizzare
correttamente. Questo ci introduce all’ultimo aspetto di RepRap:
il software.
2D+2D+2D+2D…. =3D
Il titoletto di questo capitolo è in
estrema sintesi la spiegazione di
quello che fa la nostra stampante
3D, ovvero sovrapporre sottili
immagini bidimensionali che
vanno a costituire verticalmente
un oggetto solido. Per farlo c’è di
mezzo un processo software che
parte da un reticolo di triangoli
che compongono la superficie
dell’oggetto 3D, lo trasforma in
una serie di sezioni orizzontali,
elabora l’immagine bidimensionale trasformandola in perimetri
e riempimenti, converte ogni
segmento in un linguaggio specifico (G-CODE), lo trasferisce nel
modo opportuno sul controller
della stampante che infine lo trasforma in spostamenti dei motori
e dell’estrusore.
Questo processo vede per ogni
passaggio dei software specifici,
dalla modellazione dell’oggetto
fino allo spostamento dei motori
e il team di RepRap ha dedicato
energie e intelligenza alla strutturazione di questi vari passaggi.
I codici usati dal firmware Marlin
Il firmware Marlin, da noi scelto e utilizzato
sulle stampanti 3D che abbiamo in uso
per le sue ottime prestazioni, supporta dei
codici standard “G”, dei codici RepRap “M”
e dei codici proprietari “M”.
Dato che i file generati dai programmi di
slicing sono testuali, è possibile sia leggerli, sia modificarli.
Con questa tabella avete a disposizione
tutte le informazioni per capire e modificare i file in G-Code.
I codici descritti sono quelli implementati
su Marlin V. 1.0.0 RC2 rel.171 del luglio
2012.
Codici “M” RepRap
Codici “G”
M114
G0 -> G1
G1
Movimento coordinato X Y Z E
G2
ARCO orario
G3
ARCO antiorario
G4
Pausa S<secondi> o P <millisecondi>
G10
ritrae il filamento in base alle
impostazioni di M207
G11 recupera il filamento ritratto in
base alle impostazioni di M208
G28
Home di tutti gli assi
G90
Uso di coordinate assolute
G91
Uso di coordinate relative
G92 Imposta la posizione corrente alle
coordinate date
Codici “M” personalizzati Marlin
38
Settembre 2012 ~ Elettronica In
M0
M1
M104
M105
M106
M107
M109
M17
M18
M20
M21
M22
M23
M24
M25
stop incondizionato - Attende che
l’utente prema un pulsante sul
display LCD (Solo se ULTRA_LCD
è abilitato)
Come M0
Imposta la temperatura target per
l’estrusore
Legge la temperatura corrente
Attiva la ventola
Disattiva la ventola
Attende che la temperatura
dell’estrusore raggiunga la temperatura target
Visualizza la posizione corrente
Attiva e alimenta tutti i motori
passo-passo
Disabilita tutti i motori passopasso, come M84
elenca il contenuto della Scheda
SD
Inizializza la scheda SD
Rilascia la scheda SD
Seleziona il file su SD (M23
filename.g)
Avvia / riprende la stampa da file
su scheda SD
Mette in pausa la stampa da file
M26
M27
M28
M29
M30
M31
M42
M80
M81
M82
M83
M84
M85
su scheda SD
Imposta la posizione sulla SD in
byte (M26 S12345)
Rapporto dello stato di stampa da
scheda SD
Inizia la scrittura su scheda SD
(M28 filename.g)
Termina la scrittura su scheda SD
Elimina il file dalla scheda SD
(M30 filename.g)
Tempo trascorso dall’ultimo
M109 o dall’avvio della scheda
SD su seriale
Cambia lo stato di un pin via gcode
Accende l’alimentatore
Spegne l’alimentatore
Imposta i codici E come assoluti
(default)
Imposta i codici E come relativi
durante la modalità a Coordinate
Assolute (G90)
Disabilita i motori passo passo
fino al prossimo movimento;
oppure utilizza S <secondi> per
specificare un tempo di attesa
dopo il quale i motori passopasso saranno disabilitati. S0 per
disattivare il timeout.
Imposta l’attesa del timer di
spegnimento con il parametro S
Fortunatamente non si è trattato
di inventare tutto da zero e parte
del processo è stato ereditato dal
mondo delle CNC, dove molti
aspetti sono già stati risolti e
standardizzati.
L’utilizzo di G-Code per pilotare
il controller e la stampante lascia
la strada aperta a numerose
personalizzazioni e per questo il
processo prevede che in alcuni
passaggi venga indicata la disponibilità di particolari funzioni o il
“gusto” del codice da produrre.
Abbiamo riportato in un box i
comandi standard e proprietari
gestiti dal firmware Marlin per
darvi un’idea di quello che si può
M92
M114
M115
M117
M119
M140
M190
M200
M201
M202
M203
M204
<secondi>. Per disabilitare impostare a zero (default)
Imposta axis_steps_per_unit stessa sintassi di G92
invia la posizione corrente alla
porta seriale
Restituisce la stringa descrittiva
delle funzionalità
messaggio sul display
Invia lo stato del sensore EndStop
alla porta seriale
Imposta la temperatura target del
piano di stampa
Attende che temperatura del piano
di stampa raggiunga quella target
Imposta il diametro del filamento
Imposta l’accelerazione massima
in unità / s ^ 2 per i movimenti di
stampa (M201 X1000 Y1000)
Imposta l’accelerazione massima
in unità / s ^ 2 per i movimenti
di spostamento (M201 X1000
Y1000) Non utilizzato in Marlin!
Imposta la velocità massima
di avanzamento che la vostra
macchina è in grado di sostenere (M203 X200 Y200 Z300
E10000), in mm / sec
Imposta l’accelerazione di default:
S per il movimento normale,
T per il solo filamento (M204
fare con le varie istruzioni del GCode. Proprio per consentire una
certa flessibilità, i programmi di
slicing – demandati alla generazione del G-Code partendo dal
file 3D – prevedono la possibilità
di aggiungere dei comandi a inizio e fine file, così da poter attivare e gestire funzioni specifiche
del controller o della stampante.
Altre funzionalità si stanno pian
piano spostando dall’ambito proprietario a quello standard, sia
come risposta alle esigenze degli
sviluppatori, sia come avanzamento dell’insieme minimo delle
prestazioni che la piattaforma
RepRap deve garantire.
S3000 T7000) i mm / sec ^ 2;
stabilisce anche il tempo minimo
di segmento in ms (B20000) per
evitare errori di buffer underrun e
l’avanzamento minimo M20
M205 Impostazioni avanzate: S = velocità di stampa minima, T = solo
spostamento, B = tempo minimo
per segmento, X = scatto massimo xy, Z = scatto massimo Z, E =
strappo massimo per E
M206 imposta un offset aggiuntivo per il
posizionamento su home
M207 imposta il recupero di lunghezza S
[mm positivo] F [avanzamento mm
/ sec] Z [ulteriore sollevamento z /
salto]
M208 imposta la lunghezza del recupero/rilascio di S [aggiunta di
millimetri positivi alla S di M207
*] F [avanzamento mm / sec]
M209 S <1 = vero / 0 = falso> Abilita
il meccanismo automatico di
rilevazione del recupero se il software slicer non supporta G10/11:
ogni normale movimento di sola
estrusione sarà considerato come
recupero conformemente alla
direzione
S M220 <fattore in percentuale> - Imposta
in percentuale il fattore di incre-
Al momento, è comunque il
software di slicing che aggiunge
qualità e prestazioni alle stampe
attraverso l’implementazione
di soluzioni tecniche quali la
gestione degli spessori, l’inserimento di supporti e piatteforme,
l’ottimizzazione dei movimenti
e la creazione di riempimenti
con geometrie particolari.
I due Open Source più utilizzati
sono Skeinforge (http://reprap.
org/wiki/Skeinforge) e Slic3r
(http://reprap.org/wiki/Slic3r);
entrambi sono ancora in fase di
beta, ma pur non avendo ancora
raggiunto la fatidica versione
1.x, entrambi sono già in grado
mento o decremento della velocità
di spostamento
S M221 <fattore in percentuale> - Imposta
in percentuale il fattore di incremento o decremento della velocità
di estrusione
M240 Attiva una macchina fotografica
per scattare una fotografia
M301 Imposta i parametri I, P e D del
PID (Proporzionale, Integrale e
Derivato)
M302 Permette estrusioni a freddo
M303 PID relè autotune S <Temperatura>: imposta la temperatura
desiderata. (di default il target è
150° C)
M400 Termina tutti i movimenti
M500 Memorizza nella EEPROM i parametri
M501 Legge e utilizza i parametri dalla
EEPROM (se avete bisogno di
ripristinarli dopo averli cambiati
temporaneamente).
M502 Torna alle “impostazioni di fabbrica” di default. Devono essere
memorizzare in EEPROM per
utilizzarle in seguito.
M503 Restituisce le impostazioni correnti (in memoria non da EEPROM)
M999 Riavvio dopo un arresto forzato
causato da un errore
Elettronica In ~ Settembre 2012
39
gestire i file già in formato STL
per renderli privi di difetti e
adatti allo slicing, che effettuano
internamente.
Che si tratti di una scheda
Sanguinololu, una Ramps o
una Gen_7, i collegamenti
sono sempre gli stessi,
con poche variazioni sul
tema. In questo disegno
abbiamo lo schema completo
del collegamento di una
Prusa Mendel con tutti gli
accessori.
di produrre del G-Code per la
stampa di oggetti 3D complessi
e di qualità. Negli ultimi mesi
Slic3r ha guadagnato utenti grazie alle sue prestazioni sempre
più interessanti e all’interfaccia decisamente più semplice
rispetto a Skeinforge. Entrambi
non sono però gli unici slicer ed
esistono prodotti commerciali
che generano il G-Code di stampa come parte del processo di
creazione e gestione dei modelli
tridimensionali. Applicazioni
come Netfabb Studio si occupano invece di “aggiustare” e
M Elett
POTENZA DI ELABORAZIONE
Il passaggio da 3D a singole fette
pronte per la stampa è un processo particolarmente oneroso
e complesso, soggetto a potenziali errori e che richiede tempo
anche su macchine di buone prestazioni. Anche in prospettiva,
al momento è difficile pensare
che si possa passare dall’attuale
processo che genera il G-Code
su computer per arrivare a un
controller che carica direttamente il file STL o 3D e lo “materializza” direttamente.
Più probabile invece che vengano realizzati controller e firmware in grado di gestire più di un
estrusore e che implementano
funzioni autonome di stampa
evolute quali la composizione di
più oggetti sul piatto di stampa
o la ripetizione di più copie di
un medesimo soggetto già tradotto in G-Code.
Nel prossimo numero ci occuperemo del processo di stampa
dall’inizio alla fine, scoprendo
anche i trucchi e gli accorgimenti per ottenere il miglior risultato
dalla stampante che abbiamo a
g
disposizione.
onica
Forniture per hobbisti, scuole e industria
Distributore autorizzato:
Vi a Va l S i l l a r o 3 8 • 0 0 1 4 1 R o m a • Te l : 0 6 - 8 1 0 4 7 5 3
40
Settembre 2012 ~ Elettronica In
to
Il tuo pun
ento
di riferim ica
ron
per l’elett
a ROMA