Realizzare l'elettronica per una stampante 3D

Ciò che si andrà a realizzare è praticamente il “cervello” della stampante. Si tratta di una scheda che si occuperà di gestire i motori e di fornire energia all’estrusore e al piatto, in base ai comandi (il G-Code, ovvero il modello da stampare) ricevuti dal PC tramite collegamento USB.

Data la natura modulare, collaborativa e sempre in fermento del progetto RepRap, non ci si poteva che aspettare di poter scegliere tra più alternative.

Avendo un approccio fai da te e un budget risicato, la mia scelta è ricaduta necessariamente sulla Gen7. Segnalo, inoltre che questa scheda può essere estesa in un secondo momento con delle shield, in modo da poter integrare tutte quelle funzionalità che di base le mancano, rispetto ad un sistema RAMPS. Altra nota importante è che l’ultima versione integra un connettore USB.

Nota

Avrei potuto comprare una board già assemblata, o un kit da assemblare… ma dove sarebbe stato il divertimento?

Lista della spesa (PCB)

  • Basetta ramata di dimensioni uguali o maggiori di 10×13 cm;
  • Acido cloridrico;
  • Acqua ossigenata;
  • Acqua distillata;
  • Acetone;
  • Carta patinata (di rivista).

Realizzazione PCB

Per prima cosa ho scaricato i files del progetto da GitHub e, dopo aver generato un PDF, l’ho stampato con una stampante laser su carta patinata, per poi procedere al toner transfer su una basetta ramata (con un ferro da stiro) e all’incisione (immergendo la basetta in una soluzione di acqua ossigenata e acido muriatico), come già descritto in un articolo precedente.

Il passo successivo è stata la foratura, da eseguire con un trapano a colonna e punte delle misure appropriate, dopo la quale ho ritagliato la basetta con un seghetto.

Per semplificarmi l’inserimento dei componenti usando sempre la tecnica del toner transfer ho trasferito sulla faccia non ramata il “TopSilk”, tratto dal medesimo PDF.

Lista della spesa (componenti)

Occorre procurarsi tutti i componenti nelle tabelle Electronic Components e Connectors, oltre a 4 “StepStick”, questi ultimi da ebay o da aliexpress.

Inserimento componenti

Layout (fronte)

Aiutandosi con l’immagine soprastante e con le immagini già linkate nella “lista della spesa”, inserire uno ad uno i componenti nei fori opportuni, per poi saldarli sul retro con stagno e saldatore. Ho scattato alcune foto che possono guidare nel processo.

Importante

Non inserire i circuiti integrati, gli stepstick e i due MOSFET transistor a questo punto.

Alimentazione

Ci sono 2 possibili alternative: usare una alimentatore ATX (quello per PC) oppure fornire direttamente i 12V e i 5V. La migliore soluzione è la prima, in quanto con la seconda avremmo motori, estrusore e piatto sempre alimentati.

In questo caso è però necessario procurarsi un alimentatore da almeno 300W. Se abbiamo un PC desktop che non utilizziamo più, questa è un’occasione per riciclarne l’alimentatore, altrimenti ne si trovano in giro di molto economici.

Jumper su J14

Controllo

A questo punto è opportuno accertarsi che il circuito funzioni correttamente.

Layout (retro)

Per prima cosa stampare l’immagine soprastante e, usandola come riferimento, controllare che sulla basetta non vi siano corti e che si abbiano inserito diodi e condensatori elettrolitici nel verso giusto. Nel caso lo stagno abbia creato dei corti, invadendo le zone di isolamento, eliminarli con un taglierino.

Test alimentazione

Test con multimetro

Ora collegare il connettore ATX24 (o ATX20, sono equivalenti) e i due connettori “disk power” dell’alimentatore e osservare il circuito. Se c’è fumo staccare immediatamente e ricontrollare/risaldare.

Tensioni

SI dovrebbero ottenere i voltaggi segnati in rosso e il LED giallo dovrebbe accendersi. Se si ha a disposizione un multimetro, accertarsi che ai piedini dello zoccolo per l’Atmega e a quelli dei connettori per gli StepStick/Polulou non giungano più di 0,5 mA.

Se si collegano tra di loro il ponticello e il pin dell’Atmega segnati in verde, dovrebbe accendersi il LED verde in basso a destra.

Ultimi componenti

Se il circuito passa il test con successo è il momento di saldare i due MOSFET, ma soprattutto l’MCP2200 I/SO. Tale circuito integrato, purtroppo, è di tipo SMD, ovvero a saldatura superficiale, un po’ più difficile. Ad ogni modo saldarlo non dovrebbe essere un grosso problema.

MCP2200 I/SO saldato

Per facilitare le cose, prima sciogliere un po’ di stagno su due piazzole opposte, poi posizionare il circuito integrato, sciogliere lo stagno prima piazzato e procedere a saldare i piedini restanti.

Driver per l’MPC2200 (solo utenti Windows)

Linux include di default i driver per comunicare con l’MPC2200, Windows no, ma li si possono scaricare da questa pagina.

Configurare l’MCP2200 (opzionale)

Configurare l’MCP2200 in questo modo per abilitare i LED

L’MCP2200 dovrebbe funzionare perfettamente senza alcuna configurazione, tuttavia non vedremo accendersi i LED Tx ed Rx, durante l’invio e la ricezione di dati via USB. Per abilitare questa funzionalità basta installare un semplice programma (MCP2200 Configuration Utility), che però è disponibile solo per Windows.

Caricare un bootloader sull’Atmega

Nota

Se si compra il controllore da un sito che vende componenti per RepRap, quasi sicuramente vi sarà un bootloader preinstallato. È importante notare che è possibile usare, senza alcun problema, bootloader di altre board, come quello del Sanguinololu.

Oltre a quello descritto di seguito, vi sono altri metodi per caricare un bootloader. Per maggiori informazioni leggere questo paragrafo.

Il metodo è lo stesso di quello presentato in un articolo precedente, ma con alcune variazioni.

Per prima cosa occorre scaricare questi file e copiarli nella sottocartella hardware di Arduino. Se si è installato Arduino IDE su linux tramite un gestore di pacchetti, il percorso sarà /usr/share/arduino/hardware/. Ad ogni modo ulteriori chiarimenti sono contenuti nel file INSTALL.txt.

Poi caricare lo sketch ArduinoISP (si trova tra gli sketch di esempio) sull’Arduino.

Collegamenti breadboard (immagine realizzata con Fritzing)

Collegamenti breadboard

Successivamente occorre preparare una breadboard come mostrato nelle immagini soprastanti, in cui la resistenza è da 1kΩ, il cristallo è da 20MHz (o 16MHz), il condesatore a destra è da 100nF, mentre i due a sinistra da 22pF.

Selezionare in Arduino IDE “Gen7 with” seguito da nome e frequenza del processore, in Strumenti -> Tipo di Arduino.

Infine cliccare su Strumenti -> Scrivi il bootloader.

L’ultimo tassello del puzzle

Risultato

Rimuovere la l’ATMEGA dalla breadboard e inserirlo nel circuito.

Testare la board (opzionale)

Se tratterò la scelta, la configurazione e il caricamento del firmware in un articolo successivo, tratterò di seguito come caricare un piccolo firmware di esempio per verificare che tutto funzioni.

Dopo aver installato i files di supporto per l’Arduino IDE (cosa che abbiamo già fatto nella sezione “Caricare un Bootloader”), scaricare questo file, aprirlo con Arduino IDE e, dopo aver scelto come board la Gen7 (in Strumenti -> Tipo di Arduino), caricarlo.

Cliccando sul tasto “Monitor seriale”, dopo 6 secondi dovremmo vedere qualcosa del tipo:

turning PSU on
LED on
LED off
…

e così via, mentre i LED lampeggeranno e l’alimentatore verrà acceso e spento. Quando arriveremo a vedere la scritta ATmega is idle. è possibile far ripetere la procedura, premendo il pulsante di RESET (che è l’unico pulsante che si è saldato sulla board).

Commenti