maggio 2018

Nella speranza che questo articolo possa aiutare chi intende cimentarsi nella realizzazione di uno scanner 3D DIY andrò ad analizzare i vari passaggi che ho affrontato.

Premessa

Il progetto proposta da BQ è raggiungibile a questo link https://www.thingiverse.com/thing:740357 e vanta di essere completamente libero sia nell’hardware che nel software. Lo scanner si basa sulla triangolazione 3D della proiezione di due laser mentre l’oggetto da scansionare ruota su di una piattaforma.

Componenti

  • 2 laser lineari classe 1
  • 1 webcam Logitech C270 HD
  • 1 scheda di controllo  ZUM BT-328 o Arduino Uno
  • 1 scheda di potenza  ZUM SCAN Shield + driver o A4988 Stepper Driver
  • 1 motore passo-passo Nema  17 12V
  • 1 cuscinetto
  • 1 alimentatore 12 V 1,5 A
  • 7 aste filettate M8 e relativi dadi
  • vari corpi in PLA di supporto

Corpo supporto

Come prima cosa per l’autocostruzione servono i supporti plastici, questi si possono acquistare direttamente con il resto dei particolari

oppure scaricare i vari file stl da https://www.thingiverse.com/thing:740357/#files e stamparli. Io ho scelto la strada più difficile ovvero quella di riprodurli da una lastra plastica da 2 cm di spessore dovendo rivedere completamente la fattibilità del progetto (veramente sconsigliato…). Una volta in possesso dei pezzi, delle aste filettate e relativi dadi (acquistabili presso un BricoCenter) siamo pronti per il primo assemblaggio.

Schede di controllo

Per quanto riguarda la parte elettrica/elettronica ho acquistato un Arduino Uno, una shield di controllo, un motore stepper Nema 17 e due laser classe 1, il tutto a meno di 30 euro. Ecco il contenuto dell’ordine presso BangGood.com, us$ 13.76

1 x UNO R3 Module
1 x Scan Controller
1 x A4988 Stepper Driver
1 x USB Cable

BQ nel suo kit fornisce invece una scheda ZUM BT 328, una variante di Arduino Uno fornita di Bluetooth,

mentre per pilotare il motore e i laser la ZUM Scan

Webcam

La scelta difficilmente evitabile risiede nella webcam visto che il progetto ne supporta soltanto una, la Logitech C270 HD (meno di 30 euro). Purtroppo il software non si avvia se non la riconosce, questo è vincolante.

 

Assemblaggio schede, laser e webcam

Montata la shield di controllo sopra Arduino, inserito il motore nell’alloggio sotto il piano rotante e posizionata la camera tra i due laser non resta che collegare i cavi negli appositi pettini.

Installazione del software

Passando all’installazione del software ci troviamo di fronte ad alcune scelte: nella pagina ufficiale https://github.com/bqlabs/horus rilasciano il programma per la scannerizzazione (Horus) già pacchettizzato per Ubuntu 16.04, ma potrebbe essere un problema per chi non usa questo sistema operativo nel proprio pc…. L’alternativa che consiglio è quella di usare Docker, questo risolve ogni problema!!

L’installazione di Docker non è complicata, basta seguire la guida sulla pagina ufficiale https://docs.docker.com/ e navigare su Get Docker>Docker CE>Linux>Proprio sistema operativo. In Fedora incollare sul terminale:

su -c ‘dnf -y install dnf-plugins-core’

su -c ‘dnf config-manager –add-repo https://download.docker.com/linux/fedora/docker-ce.repo’

su -c ‘dnf install docker-ce’

Aggiungiamo l’utente al gruppo docker, sostituendo il nome utente (stefano) con il proprio:

su -c ‘gpasswd -a stefano docker’

e riavviamo la macchina. Ora con un unico comando possiamo scaricare (solo la prima volta) ed avviare il container di Horus con:

systemctl start docker.service && xhost + && docker run -it –rm –name horus -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix –device=/dev/video0:/dev/video0:rwm –device=/dev/ttyUSB0:/dev/ttyUSB0:rwm -v ~/projects/horus-docker/horus:/root/.horus fcrohas/horus

Breve spiegazione dei comandi impartiti:

systemctl start docker.service avvia il servizio Docker

xhost + consente l’esecuzione del display del container nell’host

tutto il resto crea ed avvia il container.

Per praticità io uso uno script bash, per crearlo incolla un un nuovo documento di Gedit il seguente testo:

#!/bin/bash

systemctl start docker.service && xhost + && docker run -it –rm –name horus -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix –device=/dev/video0:/dev/video0:rwm –device=/dev/ttyUSB0:/dev/ttyUSB0:rwm -v ~/projects/horus-docker/horus:/root/.horus fcrohas/horus

salva con nome, ad esempio horus.sh, nella tua home e dai i permessi di esecuzione con:

chmod u+x horus.sh

Ora per lanciare il programma sarà sufficiente scrivere nel terminale:

horus.sh e premere invio.

 

Firmware per Arduino Uno

Siamo quindi pronti per caricare il firmware su Arduino Uno, chiudiamo il popup e scegliamo Edit>Preferences espandiamo AVR Board scegliendo Arduino Uno e facciamo clic su Upload firmware

Il firmware deriva dal progetto GRBL, opportunamente scremato: ecco i comandi disponibili:

  • G1 – Angular movement
  • G50 – Reset all positions to zero
  • M0 – Program pause
  • M2 – Program end and reset
  • M17 – Enable/Power stepper motor
  • M18 – Disable stepper motor
  • M50 – Read LDR
  • M70 – Laser off
  • M71 – Laser on

Prime regolazioni

Le prime operazioni obbligatorie sono quelle di regolare i laser in modo tale che il fascio passi il più vicino possibile al centro di rotazione della piattaforma, non è obbligatorio ma migliora il processo di acquisizione nel caso di pezzi di piccole dimensioni. E’ inoltre necessario girare la ghiera dei laser (ed eventualmente allentare il grano che lo blocca) per fare in modo che il fascio sia allineato al pattern e che sia a fuoco producendo una linea sottile e nitida.

 

Messa a fuoco della webcam

Molto importante per un buon risultato delle texture è la messa a fuoco della Logitech C270, con un po di pazienza bisogna staccare il coperchio superiore, togliere le viti di fissaggio e una volta raggiunto l’obiettivo fare pressione per far saltare la goccia di colla che fissa la ghiera….a quel punto mettere a fuoco un oggetto posto sulla piattaforma e posizionato nel centro. Per un video descrittivo vedere https://youtu.be/fJYqHhkq42M

 

 

WORK IN PROGRESS…..