Scanner 3D con due fotocamere. Scanner D fai da te

Ancora una volta il negozio si è offerto di prendere qualcosa per la revisione. Dato che sono stato a lungo interessato alla questione dell'utilizzo di questa cosa per le esigenze della stampa 3D decorativa, ho scelto uno scanner.

Quindi, lo scanner stesso è stato sviluppato dalla società spagnola BQ, che ora ha smesso di supportarlo (presumibilmente a causa delle contraffazioni cinesi, ma è dubbio. Ora questo scanner è venduto anche dall'americana CowTech. Le fonti per la stampa 3D delle parti dello scanner sono liberamente disponibile su (ci sono collegamenti a software ed elettronica).

Nel kit abbiamo questo “sciolto”:

L'assemblaggio è semplice, ma ci sono alcuni punti:
1. Non è necessario affrettarsi a stringere tutti i dadi - dovrai anche regolare le dimensioni geometriche - la convergenza dei laser al centro del sito, la distanza dalla piattaforma girevole.
2. Nel mio stand, la fotocamera "oscillava" leggermente, di una frazione di millimetro, ma questo era sufficiente per distorcere l'immagine. Eliminato con l'aggiunta di materiale espanso.
4. Il giradischi era trasparente e non aveva rivestimento (come nell'originale) - l'ho dipinto con plastidip.
5. Controllare i motivi a scacchiera di calibrazione. Non so come abbiano stampato quello del mio set, ma le proporzioni dei quadrati erano sbagliate. L'ho preso da Internet e l'ho ristampato io stesso.
6. La messa a fuoco della telecamera non è regolata in base alla distanza dalla piattaforma. Ho tolto il coperchio e ho regolato la messa a fuoco in posizione.











Come puoi vedere, il "cervello" dello scanner è un normale Arduino Uno combinato con uno scudo ZUM Scan e un driver per motore passo-passo A4988. La fattoria è gestita dal software nativo Horus di BQ.

Dopo l'assemblaggio, lo scanner è stato sottoposto a procedure di calibrazione nel software Horus nativo.

Dato che ormai sapevo che la qualità della scansione dipende molto dalla qualità dell'illuminazione (stabilità, diffusione, temperatura del colore), ho pensato in anticipo di avere una piccola lightbox per fornire almeno condizioni più o meno comparabili per i test.

Dopo aver selezionato i “candidati” per le audizioni, mi sono preparato.

I requisiti per l'oggetto sono i seguenti:
1. L'oggetto deve essere più grande di 5x5 cm, ma inferiore a 20x20 cm
2. L'oggetto deve essere opaco e immobile
3. L'oggetto non deve pesare più di 3 kg

Difficile da scansionare:
1. Oggetti lucenti e luminosi
2. Gli oggetti sono troppo scuri
3. Oggetti con superfici sfocate (come animali di peluche)

Il risultato della scansione è una nuvola di punti in formato PLY (che poi necessita di essere convertita in una superficie). Qui è dove prepari il file STL.

Dopo aver letto le scansioni, ho deciso di provarlo con un semplice oggetto cilindrico.
Dopo diversi tentativi, mi sono convinto di avere un problema comune: le nuvole di punti dei laser destro e sinistro non corrispondevano e c'era un problema con le proporzioni.



Non siamo riusciti a trovare nulla di utile a questo proposito se non provare a calibrare le impostazioni della webcam (non vengono calibrate quando la procedura guidata di calibrazione è in esecuzione) (un ragazzo di nome Jesus del supporto BQ non risponde alle domande da molto tempo). Per fare ciò, è necessario scattare diverse foto con diverse posizioni della tavola di calibrazione. L'ho fatto. La situazione è migliorata, ma non del tutto.
Ho dovuto modificare manualmente il file di calibrazione (calibration.json nella cartella Horus-a) e, per tentativi ed errori, scansionare un oggetto cilindrico, per assicurarmi che le nuvole corrispondessero.
E sembra che tutto sia ok:



Ma no: su oggetti complessi, i frammenti delle nuvole a volte non corrispondono ancora e si formano molte zone "cieche":





Inoltre, è ovvio che la scansione di oggetti rosso vivo sarà impossibile, almeno con i laser standard.

Ovviamente puoi continuare a sperimentare la scansione con laser separati e tentare di combinare tutto questo in software di terze parti, quindi provare a portarlo in una forma utilizzabile per STL.

Tutto questo mi ricorda una battuta sulle navi in ​​bottiglia.

Come si fanno le barche in bottiglia?
-Ho messo sabbia, colla ai silicati, bastoncini nella bottiglia e l'ho agitata.
Si scopre ogni sorta di merda e, a volte, barche.


In generale, mi sono reso conto di non essere un sostenitore di questo tipo di creatività e ho il sospetto che sia più facile modellare da zero oggetti che rientrano nel potere di uno scanner.

E quelli complessi: lo scanner non può far fronte a quelli complessi in modalità normale, due laser non sono sufficienti: rimangono dei punti ciechi. Per eliminare questo problema, è necessario eseguire la scansione in altre posizioni e poi lottare nuovamente per combinare le nuvole. No grazie.

Di conseguenza, l'oggetto è adatto solo per studiare le basi della scansione laser, per altro è assolutamente inutile. No, certo, è possibile ottenere qualcosa di simile nella struttura al modello originale, ma questo è tutto (e questo tiene conto di tutti i tamburelli con elaborazione cloud). Non per niente gli spagnoli hanno abbandonato la questione.
Il negozio ha giocato sul sicuro: la descrizione afferma onestamente che il risultato dipende dalla posizione dei pianeti e dall'umore di zia Sonya dal terzo piano. Open source e tutto il resto, balliamo insieme. No grazie.

La conclusione non è prenderla, ma se vuoi una caccia estrema, assemblala tu stesso dalla stessa cosa con cui l'amico della battuta fa le barche.

Il prodotto è stato fornito per scrivere una recensione dal negozio. La recensione è stata pubblicata in conformità con la clausola 18 delle Regole del Sito.

Ho intenzione di acquistare +9 Aggiungi ai preferiti Mi è piaciuta la recensione +101 +156

FabScan è uno scanner laser 3D fai-da-te open source. Ho assemblato il mio con fogli MDF e vari materiali disponibili e, ad esempio, ho deciso di illustrarti il ​​processo di creazione.

Passaggio 1: cosa ti servirà




Per lo scanner FabScan ufficiale è necessario:

  • Arduino UNO
  • Motore passo-passo A4988
  • Modulo scanner laser 3D FabScan-Shield per Arduino
  • Modulo laser rosso da 5 mW
  • Alimentazione 12V - 1A
  • Webcam Logitech C270

Per creare una scatola avrai bisogno di 4 fogli di MDF da 600*300*5 mm.

Nel mio progetto ho utilizzato:

  • Arduino UNO
  • Motore passo-passo bipolare - NEMA 17 (200 passi)
  • Motore passo-passo A4988
  • Modulo laser rosso da 5 mW
  • Alimentazione 12V - 2A
  • Webcam Logitech C270

Dato che utilizzeremo il software FabScan, consiglio di attenersi al loro elenco delle parti; puoi facilmente trovare tutta la documentazione per lo scanner 3D di riferimento FabScan su Internet.

Passaggio 2: assemblaggio della scatola della galleria per lo scanner 3D




Mostra altre 4 immagini





Ho usato un Dremel e la mia immaginazione per assemblare la scatola dello scanner. Questo non è così semplice, perché per ottenere l'immagine 3D corretta, la fotocamera, il laser e il motore passo-passo devono essere nelle posizioni corrette. Se non vuoi preoccuparti, puoi semplicemente acquistare parti già pronte, ma non sarà economico.

Passaggio 3: collegamento dei moduli


L'assemblaggio dell'hardware è abbastanza semplice:
Collega il modulo FabScan ad Arduino e imposta il motore A4988 nella posizione del primo gradino. Collegare il motore ai pin di uscita e il modulo laser al pin analogico A4. Infine, collega l'alimentatore e il cavo USB.

Se decidi di assemblare lo scanner secondo la mia lista dei componenti:
Quindi è necessario collegare il motore A4988 ai pin 10, 11, 9, 8 dell'Arduino (se lo si desidera, i pin possono essere cambiati) e collegare il modulo laser al pin A4. Al termine collegate anche l'alimentatore ed il cavo USB.

Passaggio 4: codice per Arduino

Utilizzeremo il codice ufficiale di FabScan. Caricalo su Arduino e il gioco è fatto.

Se hai installato il plugin Codebender, puoi caricare il codice su Arduino seguendo questo link.

Se stai assemblando lo scanner in base al mio elenco delle parti, fai clic sul pulsante Modifica e procedi come segue:

  • Aggiungi righe #include const intstepsPerRevolution = 200;//modifica il numero di passaggi del tuo motore Stepper myStepper(stepsPerRevolution, 10, 11,8,9);
  • Sostituisci la funzione step() con la seguente: void step() ( myStepper.setSpeed(1); myStepper.step(1); )

Passaggio 5: software per computer






Utilizzeremo l'immagine "FabScan Ubuntu Live DVD". Puoi scaricarlo. In questa immagine, il software FabScan è già preinstallato. L'immagine può essere scritta su un'unità flash, è possibile trovare come farlo su Internet.

Nota importante: se hai scelto l'opzione "Prova Ubuntu", salva i tuoi file prima di spegnere il computer!

Guarda le foto allegate e segui i passaggi:

  • Selezionare la porta in SerialPort
  • Seleziona la fotocamera in Fotocamera
  • File - Pannello di controllo
  • Fare clic su Rileva laser (non inserire nulla nello scanner in questa fase) e selezionare "Abilita"
  • Fai clic su "Recupera frame" e assicurati che la linea orizzontale blu tocchi la parte superiore del giradischi e la linea orizzontale gialla tocchi il fondo. La linea gialla verticale dovrebbe attraversare il centro del giradischi. Una fotocamera allentata può causare scansioni distorte!

Dopo l'impostazione, chiudere la finestra del pannello di controllo, posizionare l'oggetto nello scanner e fare clic sul pulsante Avvia scansione.

Salvataggio dell'immagine 3D:
Una volta completato il processo di scansione, puoi salvare l'oggetto 3D in un file nei formati .pcd o .ply. Puoi anche salvarlo in formato stl, ma non è supportato su tutte le piattaforme. Puoi anche aprire un elemento precedentemente scansionato selezionando File - OpenPointCloud.

Cosa fare con i file 3D?
Puoi aprirli in MeshLab e stamparli su una stampante 3D.
Per stampare oggetti in MeshLab:

  • Salva l'oggetto in formato .ply
  • Apri il file in MeshLab
  • In MeshLab, calcola le normali (Filtri/Insieme di punti/Calcola normali per insiemi di punti)
  • Ricostruire la superficie utilizzando la ricostruzione di Poisson (Filtri/Insieme di punti/Ricostruzione superficie: Poisson)
  • Pronto

FabScan è uno scanner laser 3D fai-da-te open source.

Il progetto è iniziato durante lo sviluppo del progetto di laurea di Francis Engelmann. Si trova la pagina ufficiale del progetto.

Sulla base di questo progetto, è stato sviluppato un analogo, discusso nell'articolo. MDF è utilizzato per la boxe. Anche il riempimento elettronico è leggermente diverso.

Il programma Arduino è tratto dal progetto originale. Quindi grazie al team FabScan per un eccellente scanner 3D open source!

Quindi iniziamo.

Componenti richiesti

Parti e componenti per il progetto FabScan originale:

  • Driver del motore passo-passo A4988;
  • Scudo FabScan;
  • Motore passo-passo bipolare NEMA 17 (200 passi);
  • Alimentazione 12 V - 1 A;
  • Webcam Logitech C270.

Per il corpo sono necessari 4 fogli di MDF. Dimensioni: 600 mm per 300 mm. Spessore - 5 mm. Informazioni più dettagliate.

Parti e gruppi utilizzati in questo manuale:

  • (200 passi);
  • Driver del motore passo-passo L298N;
  • Modulo laser da 5 mW - produttore Linea rossa;
  • Alimentazione 12 V - 2 A;
  • Logiteck C270 webcam.

Cioè, semplicemente non utilizzeremo lo scudo FabScan e utilizzeremo un modulo driver del motore passo-passo diverso

Sviluppo di un alloggiamento per uno scanner 3D

Il processo e il risultato dello sviluppo del corpo del nostro scanner 3D sono mostrati nelle fotografie. La difficoltà principale è l'installazione più accurata della fotocamera, del modulo laser e del motore passo-passo. Se vuoi semplificarti la vita, puoi ordinare queste parti per 35 euro.

Assemblaggio scanner 3D







1. Con scudo.

Installa lo scudo FabScan su Arduino. Il driver del motore passo-passo A4988 è installato sulle guide fornite. Il motore passo-passo è collegato ai contatti corrispondenti sulla targhetta. Il modulo laser è collegato al pin analogico A4. Successivamente è possibile collegare l'alimentazione e il cavo USB. Sono disponibili istruzioni più dettagliate.

2. Senza scudo.

Se decidi di costruire lo scanner senza utilizzare uno scudo, collega il driver del motore passo-passo L298 ai pin 10, 11, 9, 8 dell'Arduino (in linea di principio questi pin possono essere modificati con opportune modifiche nello sketch). Il modulo laser è collegato al pin A4 su Arduino. Tutto. È possibile collegare l'alimentazione e il cavo USB.


Schizzo per Arduino

Nota importante! Se usi l'opzione "Prova Ubuntu", assicurati di salvare i tuoi file prima di spegnere il personal computer!

Seguire le istruzioni, le cui foto sono riportate di seguito:

  • Seleziona Porta seriale;
  • Seleziona Fotocamera;
  • File - Pannello di controllo;
  • Fare clic su Rileva laser (per ora non posizionare alcun oggetto davanti allo scanner) e selezionare "abilita";
  • Fai clic su "Recupera frame" e assicurati che la linea orizzontale blu tocchi la parte superiore del giradischi e la linea orizzontale gialla tocchi la parte inferiore del giradischi. Inoltre la linea verticale gialla deve coincidere con il centro del piatto girevole. Se la fotocamera non è installata correttamente, il risultato della scansione non sarà chiaro!

Dopo l'impostazione, chiudi la finestra, posiziona l'oggetto nello scanner 3D e fai clic sul pulsante Avvia scansione.

Nota: in questa guida sono presentati materiali aggiuntivi sulla configurazione del file Configuration.xml.

Salvataggio di immagini 3D

Una volta completato il processo di scansione 3D, è possibile salvare l'oggetto 3D scansionato con estensione .pcd o .ply. Puoi anche salvarlo come file stl 3D, ma questa funzione non è disponibile su tutte le piattaforme. È possibile aprire un oggetto precedentemente scansionato e salvato selezionando File - OpenPointCloud.

Qual è il prossimo?

Puoi utilizzare MeshLab per elaborare un oggetto scansionato in 3D e stamparlo su una stampante 3D!

Durante l'elaborazione di un file in MeshLab:

1. Assicurati di salvare l'oggetto come file .ply.

2. Apri il file utilizzando MeshLab.

3. In MeshLab, calcolare le normali (Filtri/Insieme di punti/Calcola normali).

4. Successivamente, ricostruire la superficie utilizzando la ricostruzione di Poisson (Filtri/Insieme di punti/Ricostruzione della superficie: Poisson)

La struttura finale assemblata è mostrata nella foto sotto.


Video dello scanner 3D FabScan originale in funzione:

Mille grazie al team FabScan per lo straordinario scanner open source su Arduino!!!

Lascia i tuoi commenti, domande e condividi esperienza personale sotto. Spesso dalle discussioni nascono nuove idee e progetti!

È un analogo del famoso scanner laser FabScan, sviluppato da Francis Engelmann. L'autore ha utilizzato MDF come scatola per uno scanner di questo tipo; per quanto riguarda il riempimento, anche questo è leggermente diverso dall'originale.

Il programma originale è per Arduino, è stato preso dal progetto originale.

Materiali e strumenti per la creazione di uno scanner:

4 fogli di MDV 600X300 mm, spessore 5 mm (serve per realizzare la custodia);
- motore passo-passo (NEMA 17 per 200 passi);
- driver per motore passo-passo L298N;
- Modulo laser da 5 mW (utilizzato dal produttore Red Line);
- per alimentare il dispositivo è necessaria una fonte di 12 V - 2 A;
- modello di webcam Logiteck C270.






Il prodotto originale fatto in casa utilizza un driver per motore passo-passo A4988 e, come per il motore passo-passo, anche questo è NEMA 17. Per il resto, gli elementi del prodotto fatto in casa sono esattamente gli stessi della versione originale.

Processo di produzione dello scanner:

Primo passo. Fare il corpo
Nella foto è possibile vedere l'intero processo di creazione dell'alloggiamento per lo scanner. La cosa più importante in questa materia è la precisione. Il modulo laser, il motore passo-passo e la webcam devono essere posizionati chiaramente nei posti giusti, secondo il progetto.













Passo due. Colleghiamo apparecchiature elettriche


Esistono due modi per collegare l'apparecchiatura, con e senza protezione. Diamo uno sguardo più da vicino a ciascuna di queste opzioni.

Collegamento senza schermo
Se decidi di assemblare il dispositivo senza utilizzare uno schermo, i cavi del motore passo-passo L298 sono collegati ai pin Arduino numerati 10, 11, 9, 8. In linea di principio puoi utilizzare altri contatti, ma dovrai creare modifiche allo schizzo.
Per quanto riguarda il modulo laser, deve essere collegato al pin A4 del controller Arduino. Successivamente è possibile collegare il cavo USB e alimentare.

Collegamento con schermo
È necessario installare lo scudo FabScan su Arduino. Per quanto riguarda il driver del motore passo-passo, è necessario installarlo sulle guide previste a tale scopo. I contatti del motore passo-passo sono collegati ai contatti corrispondenti sulla targa dati.
Il modulo laser deve essere collegato al pin A4 di Arduino. Questo è tutto, dopodiché collega l'alimentazione e il cavo USB.

Passo tre. Installazione dello schizzo
Ora devi scaricare e installare lo schizzo ufficiale per FabScan. Per eseguire il flashing di Arduino, è necessario scaricare il plugin Codebender e quindi fare clic sul pulsante "Esegui su Arduino". In questo caso lo sketch può essere installato direttamente tramite browser dal sito ufficiale.


Se lo scudo non è stato utilizzato, è necessario fare clic sul pulsante Modifica e quindi aggiungere le seguenti righe:

const int passiPerRevolution = 200; // modifica questo parametro per regolare il numero di passi per rotazione dell'albero del motore passo-passo

Stepper mioStepper(stepsPerRevolution, 10, 11,8,9);
Sostituisci la funzione step():

mioStepper.setSpeed(1);

mioStepper.passo(1);

Passo quattro. Software dello scanner
Per installare il programma è necessario scaricare l'immagine “FabScan Ubuntu Live DVD”, dopo l'installazione apparirà Software FabScan.

È necessario effettuare alcune impostazioni nel programma:

Per prima cosa devi selezionare SerialPort;
- quindi seleziona Fotocamera;
- successivamente File - Pannello di controllo;
- quindi fare clic su Rileva laser e selezionare "abilita" (non è necessario posizionare alcun oggetto davanti al laser);
- bene, ora clicca su “Fetch Frame”, mentre la linea orizzontale blu dovrebbe toccare il fondo della tavola rotante. La linea gialla dovrebbe essere al centro del tavolo. Se la fotocamera non è installata correttamente, l'immagine lo sarà Pessima qualità.












Questo è tutto, il programma è configurato. Ora puoi inserire qualche oggetto nello scanner e successivamente premere il pulsante Avvia scansione.

Passo cinque. Salva l'immagine
Una volta completata la scansione dell'oggetto, l'immagine può essere salvata in formato .pcd o .ply. Puoi anche salvarlo in formato stl, ma dipende dalla piattaforma che stai utilizzando.
Per aprire un oggetto precedentemente salvato, è necessario selezionare File - OpenPointCloud.

) abbiamo deciso di cimentarci nell'assemblarlo e, se possibile, migliorarne il design. Non potevamo nemmeno immaginare cosa ne sarebbe venuto fuori, tanto meno immaginare che con esso avremmo vinto diverse mostre scientifiche e ingegneristiche. Ma in ordine. Chi è interessato a conoscere il risultato, benvenuto in cat (tante foto).

Primo prototipo

Per prima cosa abbiamo deciso di collezionare telemetro laser. È stato realizzato sulla base di un articolo su un forum di radioamatori. Solo un puntatore laser e una fotocamera. È stato scritto un programma in Java per elaborare le immagini. Per una misurazione sono state scattate due fotografie: con e senza laser. Dopo averli confrontati, potremmo sicuramente trovare il punto laser. Una volta funzionante, il telemetro veniva montato su una piattaforma che poteva ruotare su due piani. Prima di mostrarti cosa ho ottenuto, devo avvisarti: non ci sono molti materiali nella scuola estiva, quindi abbiamo messo insieme un prototipo da quello che avevamo:

La telecamera è immediatamente visibile e il laser è quel cilindro di ottone sopra di essa. Per ruotare la piattaforma abbiamo utilizzato due motori passo-passo, che a loro volta erano collegati a una scheda di controllo su un microcontrollore Atmega32. Il laser era collegato ad esso. La scheda stessa era collegata al computer tramite un adattatore USB->UART. Il programma del computer scattava foto, le elaborava, immetteva le coordinate dei punti ottenuti in un file e inviava comandi alla scheda di controllo.

Il risultato è stato interessante. Sì, abbiamo trovato la distanza. Sì, potremmo “mirare” qualsiasi punto dell’emisfero sopra lo scanner. E la nostra gioia non conosceva limiti. Ma quando abbiamo valutato il tempo di scansione di questo emisfero, abbiamo scoperto che era di 48 ore. E non è questione della fotocamera. E nemmeno in Giava. Il problema era che l'installazione era così fragile che traballava dopo ogni giro per cinque secondi. Ho dovuto prendere una misurazione, girarmi e aspettare cinque secondi finché non smetteva di oscillare. Inoltre, la libreria della fotocamera la accendeva e spegneva prima di ogni scatto. Ci sono voluti 1-2 secondi. Ma la scuola estiva stava finendo e non c'era tempo per rifarla: era già la sera prima della scadenza del progetto. O meglio mattina. Il giorno successivo abbiamo presentato il nostro progetto ad un concorso davanti ad una giuria scientifica e inaspettatamente abbiamo vinto. Probabilmente è stato a causa di questa vittoria che abbiamo deciso di continuare il nostro lavoro su questo progetto.

Versione due

Infatti l’estate è finita e l’anno scolastico è iniziato. La voglia di lavorare è scomparsa. Si prevedeva che l'installazione fosse completata entro il prossimo concorso, a cui mancava un mese intero. Mese. E poi all'improvviso tre giorni. Ma nel giro di un mese abbiamo deciso di cambiare impostazione. Montarlo saldamente, installare una lente sul puntatore laser, che creerà una linea laser. Ciò consentirebbe la scansione di 720 punti contemporaneamente (lo scanner aveva una fotocamera HD). Solo tre giorni hanno apportato le proprie modifiche:

Il secondo scanner è assemblato con righelli di plastica, colla, nastro adesivo ed è tenuto in posizione solo da nastro isolante blu. Al posto della lente c'è una provetta. Un laser verde brilla su questa provetta. Il raggio riflesso crea una striscia laser più o meno uniforme sullo schermo. Il telemetro è collegato a un solo motore, che lo ruota su un piano orizzontale. La scheda di controllo è stata sostituita con STM32VLDiscovery. È solo che conosco meglio STM32 e inoltre Atmega si è bruciato e il programmatore è andato perduto molto tempo fa. Non sembra molto bello, ma funziona! Le vibrazioni diminuirono e la velocità aumentò di conseguenza. Ma non molto. Qui è stata scoperta una cattura molto interessante: il puntatore laser cinese non si è acceso immediatamente, ma ha gradualmente aumentato la sua potenza nel corso di un secondo. Quindi, un secondo per oscillare, un secondo per riscaldare il laser, un secondo per scattare una foto, e sono due. Quindi otteniamo 4 secondi. Ma in una misurazione troviamo distanze fino a 720 punti! Il processo di scansione era simile al seguente:

E il risultato è così:

L'immagine non sembra molto interessante, ma nel programma la tazza era voluminosa. Potresti guardarlo da diverse angolazioni.

Qual è la concorrenza effettiva? Ma niente! Abbiamo finito di scansionare tutto alle 4 del mattino e alle 9 allo stand abbiamo scoperto che il laser era bruciato. Come si è scoperto, mentre lo trasportavamo dall'hotel allo stand, è entrata la pioggia e quando è stato acceso si è bruciato. E quando non funziona, sembra così brutto che è difficile credere alle parole “ha funzionato 5 ore fa”. Eravamo arrabbiati. La voglia di continuare è scomparsa insieme al fumo del laser. Ma è stato comunque raccolto...

Terza versione

Ed è stato nuovamente assemblato per la competizione. Inoltre, ci siamo preparati a lungo e accuratamente. Più di una settimana. E questo è il risultato:

La prima cosa che attira la tua attenzione è che ora non stiamo scansionando l'area attorno allo scanner, ma un oggetto che ruota sulla piattaforma. Abbiamo anche procurato l'obiettivo richiesto, assemblato tutto correttamente, riscritto il programma e abbiamo anche sostituito la scheda di debug con una fatta in casa. E ora scattiamo solo una foto per misurazione. Il laser è abbastanza potente e l'obiettivo è abbastanza buono da localizzare in modo univoco il laser in una fotografia. Grazie a questo, non aspettiamo che il laser si riscaldi: è sempre acceso. E ora accendiamo la fotocamera solo una volta. Cioè, il tempo viene dedicato principalmente alla rotazione della piattaforma e all'elaborazione dell'immagine. Al programma è stato aggiunto un menu per la selezione della precisione. Il tempo di scansione va da due a dieci minuti. A seconda della precisione selezionata. Con la massima precisione, risulta che la piattaforma ruota di 0,5 gradi per passo e la distanza viene determinata con una precisione di 0,33 mm. La piattaforma è azionata da un motore passo-passo tramite un riduttore. La piattaforma stessa è un grande disco e il rullo di gomma sull'albero motore è piccolo. Il motore e il laser erano controllati da un microcontrollore STM32F050F4 tramite transistor ad effetto di campo. All'inizio dell'articolo c'è una scansione del giocattolo ottenuta utilizzando questo scanner. Poiché lo scanner produce una nuvola di punti in formato .obj, dopo la triangolazione possiamo stampare l'oggetto scansionato su una stampante 3D, come si può vedere nella stessa fotografia. Sullo schermo possiamo vedere il modello dopo la triangolazione. Sul modello non è stato eseguito alcun lavoro manuale.

Abbiamo vinto la competizione. E ha dato accesso al concorso internazionale Intel ISEF. Quindi abbiamo iniziato a lavorare sullo scanner successivo.

Quarta versione

SU questo momento Questo ultima versione scanner che abbiamo assemblato. Per fare un confronto, esiste una seconda versione sulla piattaforma. Abbiamo cercato di affrontare lo sviluppo del quarto scanner nel modo più approfondito possibile. L'installazione è stata disegnata in CAD, le parti sono state tagliate al laser, tutto è stato verniciato, nulla di superfluo sporgeva dall'esterno. Modifiche: la piattaforma ora è in realtà un ingranaggio. È ritagliato in plexiglass e ha 652 denti lungo i bordi. Questo risolve un problema che danneggiava gravemente le scansioni dello scanner precedente: il rullo di gomma scivolava leggermente, motivo per cui spesso la piattaforma non ruotava di 360 gradi. Le scansioni sono state "ritagliate" o sovrapposte. Qui sapevamo sempre esattamente quanto ruotava la piattaforma. La potenza del laser è stata resa regolabile tramite software. Grazie a ciò è stato possibile modificare al volo la potenza del laser, evitando l'illuminazione di parti non necessarie in condizioni di scarsa illuminazione. Per controllare tutta l'elettronica, abbiamo deciso di non separarci nuovo consiglio, ma utilizza semplicemente il debug F401RE-Nucleo. Ha installato ST-LinkV2.1, che funziona come debugger e adattatore USB->UART.

La precisione era sorprendente: risoluzione angolare 0,14 gradi. Ad una distanza di 0,125 mm. L'area di scansione è un cilindro con un'altezza di 20 cm e un diametro di 30 cm.Il prezzo di tutte le parti e del taglio laser al momento della sua creazione (maggio 2014) era inferiore a 4.000 rubli.

Durante l'uso, lo impostiamo alla massima precisione solo una volta. La scansione è durata 15-20 minuti. Abbiamo ricevuto quasi 2 milioni di punti. Il laptop si è rifiutato di calcolare il modello dalla nuvola di punti. L'esperimento non è stato ripetuto.

Conclusione

Nel prossimo futuro prevediamo di riprendere i lavori sul progetto, e quindi finalizzeremo sia il programma che l'installazione. Spero che ne scriveremo presto assemblaggio passo dopo passo, pubblicheremo disegni, programmi e tutto il resto. Questo non rientrerà più in questo articolo.

Grazie a tutti coloro che hanno letto fino alla fine!

AGGIORNAMENTO:
Un collega ha trovato un video sul funzionamento dello scanner che abbiamo filmato all'ISEF:

Sì, la maggior parte del video non è interessante, ma alla fine c'è un modello su un laptop.

Ed ecco alcuni esempi di oggetti scansionati. Ma appartengono tutti alla terza versione dello scanner.
Dropbox
Nel file model.obj puoi vedere chiaramente cosa succede quando questo rullo di gomma scivola sul motore: il cane ha tre occhi. La scansione è stata interrotta, causando un'interruzione. Tutti i file sono nuvole di punti. Puoi aprirlo usando MeshLab. I modelli non sono stati lavorati a mano. Dati completamente grezzi. Dall'alto puoi vedere i "punti bianchi" - aree senza punti. La telecamera non li vede. Macchie bianche possono essere viste anche in altri posti. Appaiono in aree troppo scure o quando le superfici si sovrappongono. Ad esempio, nel file stn_10.obj, le corna della capra si sovrappongono, motivo per cui la superficie interna delle corna non è stata scansionata.




Superiore