User:Ganzissimo

From RepRap
Revision as of 06:50, 1 February 2015 by Ganzissimo (talk | contribs)
Jump to: navigation, search

Questa pagina l'ho creata per dare uno spunto da cui partire a tutti coloro che vorrebbero usare il software opensource linuxcnc per gestire una stampante 3D. Viste le enormi potenzialità e la notevole personalizzazione che si può raggiungere con tale software, credo che sia una soluzione low cost per chi vuole iniziare ad addentrarsi nel mondo della stampa 3D. La soluzione che propongo è nata dall'idea di riuscire ad usare la mia fresatrice a controllo numerico autocostruita per stampare i noti filamenti di polimero termoplastico usando la stessa meccanica ed elettronica della fresatrice; l'idea era quella di sostituire il mandrino portafrese con un estrusore.

Girovagando in rete ho trovato pochissimo su questo argomento, ma siccome non mi arrendo facilmente mi sono messo a raccogliere più informazioni possibili per poter poi cominciare a muovere i primi passi in autonomia. Attualmente ci sono solo pochissimi utenti che hanno intrapreso questa strada, usando però un microcontrollore per la gestione della temperatura e dell'estrusore stesso. Io invece volevo gestire tutto da linuxcnc (sapevo che poteva farlo) e ci sono riuscito.

Attualmente sto usando la macchina come stampante 3D usando anch'io una scheda Arduino Uno, ma solo per la lettura del valore analogico del sensore di temperatura. Ho intenzione di sostituirla quanto prima con un qualsiasi integrato in grado di convertire analogico digitale.

Lo schema di funzionamento è semplice: la scheda Arduino legge il segnale proveniente dal sensore di temperatura, lo analizza e restituisce un valore digitale che convertito su una scala di valori indica che temperatura abbiamo sull'estrusore. Questo avviene tramite porta usb con la quale l'arduino è collegato, ma sostituendolo con un convertitore si può mandare il segnale su un pin di ingresso della parallela. In questo modo ci si svincola dal microcontrollore. Tutto il resto è gestito come una normale fresa a quattro assi dove il 4° asse corrisponde al motore che spinge il filo nell'estrusore vero e proprio.

Usando quindi il solito metodo: oggetto > file .stl > software di slicing > gcode.

Io ho usato Slic3r come primo software e sono riuscito subito a stampare qualcosa di decente, poi sono passato a Kisslicer e devo dire che per le mie conoscenze e capacità mi trovo meglio, ottenendo stampe nettamente migliori, ma credo che sia solo una questione soggettiva. Q uindi, settando bene i vari parametri, impostando come nome dell'asse per l'estrusore la lettera "A" al posto della "E" e aggiungendo alcuni comandi per la creazione del gcode con dei prefix e dei post, si crea un gcode pulito da mandare in pasto a Linuxcnc.

Ovviamente bisogna settare il rapporto di estrusione con i giri del motore (stepper nel mio caso), ma questo va fatto comunque con qualsiasi software.

Mi trovo così una macchina che in meno di 5 minuti si trasforma da cnc a 4 assi a stampante 3D.

Qualcuno si chiederà se ne vale la pena: io dico di si, a condizione che non si abbia l'esigenza di stampare e fresare alternativamente di frequente. Comunque poi la meccanica di una cnc (specialmente se autocostruita come la mia)è più rigida di quella di una comune stampante 3D, di conseguenza meno veloce ma più precisa. Ma il punto non è questo. Il fatto è che adesso sono in grado di realizzare tutti i componenti per costruire una nuova stampante 3D autonoma e comandarla però dallo stesso computer e stesso software semplicemente staccando uno spinotto della parallela ed attaccandone un'altro e scegliendo quale configurazione usare all'avvio di linuxcnc!! (lo trovo fantastico!!)

Su questa pagina condivido i file di configurazione che uso per la mia macchina allo scopo di poter fornire, a chi vuol provare, una base da cui partire modificando tali file secondo le proprie specifiche della macchina che usa.

I file sono i seguenti:

- linuxcnc3D.hal : è il file di configurazione hal principale della mia macchina;

- linuxcnc3D.ini : è il file di configurazione ini della mia macchina;

- temperatura.hal : è il file che gestisce il pin di ingresso del segnale proveniente dal sensore e lo collega agli altri pin che lo usano;

- temperatura.xml : è il file che visualizza la temperatura graficamente sull'interfaccia axis;

- letture temperature.ino : è il file contenente lo sketch da caricare sull'Arduino Uno;

- arduino.py : è il file python che viene caricato all'avvio di linuxcnc e che serve per tradurre il segnale che viene letto in un valore di temperatura che linuxcnc poi gestirà. Questo file va copiato senza estensione nella vostra cartella dei file python principale, che può essere ad esempio home/usr/bin e va reso eseguibile con il comando da terminale : sudo chmod +x /usr/bin/arduino (nel caso il percorso del file sia questo).