Archivi categoria: 3D

Stampante 3D in rete

In occasione dell’edizione lucchese del Linux Day 2013 ho presentato una possibile applicazione di Cosino alla stampa 3D, rendendo con un unica board la stampante RepRap I3 del Luccalug accessibile via rete.

Cosino

cosino

Cosino è un sistema embedded chiavi-in-mano(TM). Nato per semplificare al massimo lo sviluppo di nuovi prototipi, viene venduto con preinstallata Debian/Wheezy.  Un sistema Debian/Linux permette infatti di sviluppare applicazioni, anche complesse, basandosi su delle librerie ed applicazioni già presenti nel sistema o mediante script.

Il concetto di Cosino è semplice: un modulo di base che mantiene il cuore del sistema e poi una serie di estensioni che permettono di avere tutte le periferiche di cui abbiamo bisogno.

In sintesi è possibile usare tutto il software e l’hardware Arduino Mega 2560 e, in più, avere accanto un sistema Debian GNU/Linux pronto all’uso. Quindi, ad esempio, se la nostra applicazione Arduino aveva bisogno di un PC esterno per funzionare, ora la possiamo portare tutta all’interno di un’unica macchina che consuma meno di 3 Watt senza utilizzare un ulteriore hardware come il Raspberry.

Con Cosino si possono evitare i costosi shield per aggiungere il supporto LAN, WiFi, USB o sdcard al sistema Arduino, la connettività e la memorizzazione vengono date dalla parte Linux senza consumare le risorse della CPU del Mega 2560.

mega_2560La versione di Cosino con estensione Mega 2560 ha a bordo:

  • CPU Atmel AT91sam9G35 (400MHz)
  • 128MB RAM DDR2
  • 1 console seriale via connettore USB device
  • 1 porta ethernet 10/100
  • 1 porta USB host e 1 port USB device
  • 1 slot microSD
  • 1 UARTs RS485.
  • 1 USB host (full speed), 4 ADC, 4 PWM, 8 GPIO, 1 prta seriale, I2C, SPI (su connettore di espansione).
  • 1 sistema Arduino Mega 2560-Compatible

Utilizzando l’estensione mega 2560 che permette di avere a dispozione un arduino mega è stato possibile collegare la diffusa scheda di controllo per la stampa 3D RAMPS.

OctoPrint

logo-octoOctoprint è un software di stampa scritto in python che permette di controllare la propria stampante tramite un interfaccia web.  Quest’ultima caratteristica permmette di controllare la propria stampante attraverso un qualsiasi dispositivo connesso alla propria rete locale o se opportunamente configurato attraverso  internet. Al fine di raggiungere questo obiettivo, OctoPrint fa un uso massiccio delle più moderne  tecnologie web come AJAX e HTML5.

OctoPrint è stato sviluppato per essere eseguito su piccoli dispositivi embedded come ad esempio il popolare RaspberryPI e puo essere facilmente installato anche all’interno di Cosino.

Cosino si occupa di eseguire OctoPrint e di comunicare con l’arduino contenuto sulla shield che gestisce la stampante.

cosino-i3

Nelle prossime settimane pubblicherò un articolo più tecnico sulla procedura di configurazione.

Dall’idea alla materia

Pubblico in questo post le slide che ho realizzato per l’evento organizzato da Multiverso presso il Polo Tecnogico lucchese: ”Stampare tutto, Stampare tutti”

Il workshop aveva l’obiettivo di mostrare cosa è e come è costruita una stampante 3D open Hardware a basso costo e  come, in pochi passi, si possa passare da un disegno ad un oggetto reale.

Le stampanti 3D sono sempre più diffuse ed utilizzate per la prototipazione rapida e per le auto-produzioni di “artigianato digitale”, e sono una reale opportunità per progettisti e piccoli imprenditori.

Il mio intervento in qualità di presidente dell’associazione Luccalug, che in queste settimane sta costruendo una Prusa I3, ha avuto l’obbiettivo di chiarire in modo divulgativo le componenti hardware e software che compongono il mondo RepRap.

http://slid.es/luk156/dall-idea-alla-materia/embed

Openscad – programmare in 3D

OpenSCAD è un software per creare oggetti cad 3D. Stiamo parlando di un software libero e disponibile per Linux/UNIX, MS Windows e Mac OS X.

Esso non si focalizza sulla modellazione artistica tipica di software come Blender, bensì mantiene un legame più stretto con la progettazione CAD.

Openscad è qualcosa di simile ad un compilatore 3D che legge un file script per descrivere un oggetto e renderizzarlo. Questo garantisce un controllo completo al designer e permette di modificare con semplicità ogni passaggio nel processo di modellazione o di creare modelli definiti da parametri configurabili.

IL programma offre principalmente 2 tecniche di modellazione:

  • Geometria solida costruttiva  (vedi sotto)
  • Estrusione di perimetri 2D

Come formato di scambio per i perimetri 2D è utilizzato il formato DXF, dal quale è inoltre possibile leggere dei parametri.

Infine OpenSCAD può leggere e creare modelli 3D nel formato STL and OFF.

CSG

La geometria solida costruttiva, abbreviata spesso in CSG, è un modello di rappresentazione di oggetti 3D, di tipo volume-based. In questo approccio le forme vengono costruite a partire da una famiglia di solidi geometrici elementari, che vengono chiamati primitive, come ad esempio il parallelepipedo, il cilindro, la sfera, il cono, il toro.
Per poter costruire volumi complessi a partire da questi volumi elementari si fa uso di operazioni booleane, che derivano dalle operazioni sugli insiemi:

  • Somma (unione)
  • Sottrazione (differenza)
  • Intersezione

Il procedimento che porta ad ottenere il solido finale può essere organizzato in uno schema, chiamato albero CSG: ogni foglia rappresenta un solido e ad ogni nodo corrisponde un’operazione booleana, mentre in cima troviamo l’oggetto finale.

Un esempio

Vediamo come creare una forma primitiva, nel nostro caso sperimentiamo con un cilindro modificando vari parametri:

cylinder(h = 10, r1 = 10, r2 = 20, center = false);
cylinder(h = 20, r1 = 20, r2 = 10, center = true);

Adesso proviamo a vedere cosa succede unendo i due oggeti o intersecandoli:

union() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}

difference() {
  cylinder(h = 10, r1 = 10, r2 = 20, center = false);
  cylinder(h = 20, r1 = 20, r2 = 10, center = true);}