3D skeneris ar divām kamerām. DIY D skeneris

Atkal veikals piedāvāja kaut ko paņemt apskatei. Tā kā mani jau sen interesēja jautājums par šīs lietas izmantošanu dekoratīvās 3D drukas vajadzībām, izvēlējos skeneri.

Tātad pašu skeneri izstrādājusi Spānijas kompānija BQ, kas tagad pārstājusi to atbalstīt (it kā ķīniešu viltojumu dēļ, bet tas ir apšaubāmi. Tagad šo skeneri pārdod arī amerikāņu CowTech. Avoti skeneru detaļu 3D drukāšanai ir brīvi pieejams vietnē (tur ir saites uz programmatūru un elektroniku).

Komplektā mums ir šis “vaļīgais”:

Montāža ir vienkārša, taču ir daži punkti:
1. Nav jāsteidzas pievilkt visus uzgriežņus - būs jāpielāgo arī ģeometriskie izmēri - lāzeru konverģence vietas centrā, attālums līdz pagrieziena galdiņam.
2. Manā stendā kamera nedaudz “ļojās” par milimetra daļu, taču ar to pietika, lai attēlu sagrozītu. Likvidēts, pievienojot putu materiālu.
4. Pagrieziena galds bija caurspīdīgs un tam nebija pārklājuma (kā oriģinālā) - nokrāsoju ar plastidipu.
5. Pārbaudiet kalibrēšanas šaha paraugus. Es nezinu, kā viņi izdrukāja to no mana komplekta, bet kvadrātu proporcijas bija izjauktas. Paņēmu no interneta un pats pārdrukāju.
6. Kameras fokuss nav pielāgots attālumam līdz platformai. Noņēmu vāciņu un noregulēju fokusu vietā.











Kā redzat, skenera “smadzenes” ir parasts Arduino Uno, kas apvienots ar ZUM Scan vairogu un A4988 pakāpju motora draiveri. Fermu pārvalda vietējā Horus programmatūra no BQ.

Pēc montāžas skenerim tika veiktas kalibrēšanas procedūras vietējā Horus programmatūrā.

Tā kā šajā laikā es jau zināju, ka skenēšanas kvalitāte ļoti lielā mērā ir atkarīga no apgaismojuma kvalitātes (stabilitāte, izkliedēšana, krāsu temperatūra), es jau iepriekš parūpējos par nelielu gaismas kasti, lai nodrošinātu vismaz vairāk vai mazāk salīdzināmus apstākļus. testēšanai.

Atlasījis “kandidātus” uzklausīšanai, es gatavojos.

Prasības objektam ir šādas:
1. Objektam jābūt lielākam par 5x5 cm, bet mazākam par 20x20cm
2. Objektam jābūt necaurspīdīgam un nekustīgam
3. Priekšmets nedrīkst svērt vairāk par 3 kg

Grūti skenēt:
1. Spīdīgi, mirdzoši objekti
2. Objekti ir pārāk tumši
3. Priekšmeti ar izplūdušām virsmām (piemēram, izbāzēti dzīvnieki)

Skenēšanas rezultāts ir punktu mākonis PLY formātā (kas pēc tam jāpārvērš par virsmu). Šeit jūs sagatavojat STL failu.

Izlasot skenējumus, es nolēmu to izmēģināt ar vienkāršu cilindrisku priekšmetu.
Pēc vairākiem mēģinājumiem man radās pārliecība, ka man ir kopīga problēma – nesakrita punktu mākoņi no labā un kreisā lāzera, un bija problēma ar proporcijām.



Mēs nevarējām atrast neko noderīgu šajā jautājumā, izņemot mēģinājumu kalibrēt tīmekļa kameras iestatījumus (tie netiek kalibrēti, kad darbojas kalibrēšanas vednis) (puisis vārdā Jēzus no BQ atbalsta ilgu laiku nav atbildējis uz jautājumiem). Lai to izdarītu, ir jāuzņem vairāki attēli ar dažādām kalibrēšanas tabulas pozīcijām. ES izdarīju. Situācija ir uzlabojusies, bet ne pilnībā.
Man bija manuāli jārediģē kalibrēšanas fails (calibration.json mapē Horus-a) un ar izmēģinājumu un kļūdu palīdzību, skenējot cilindrisku objektu, lai nodrošinātu mākoņu atbilstību.
Un šķiet, ka viss ir kārtībā:



Bet nē - uz sarežģītiem objektiem mākoņu fragmenti dažreiz joprojām nesakrīt, un veidojas daudzas “aklas” zonas:





Turklāt ir acīmredzams, ka spilgti sarkanu objektu skenēšana būs neiespējama, vismaz ar standarta lāzeriem.

Protams, jūs varat turpināt eksperimentēt ar skenēšanu ar atsevišķiem lāzeriem un mēģinājumiem to visu apvienot trešās puses programmatūrā, un pēc tam mēģināt izveidot to STL piemērotā formā.

Tas viss man atgādina vienu joku par kuģiem pudelēs.

Kā jūs gatavojat laivas pudelēs?
-Budelē ieliku smiltis, silikāta līmi, kociņus un krata.
Izrādās visādi sūdi, un dažreiz - laivas.


Kopumā es sapratu, ka neesmu šāda veida radošuma piekritējs, un man ir aizdomas, ka objektus, kas ir skenera spēkos, ir vieglāk modelēt no nulles.

Un sarežģītās - skeneris normālā režīmā nevar tikt galā ar sarežģītajiem, tam nepietiek ar diviem lāzeriem - paliek aklās vietas. Lai novērstu šo problēmu, jums ir nepieciešams skenēt citās pozīcijās un pēc tam atkal cīnīties ar mākoņu apvienošanu. Nē paldies.

Rezultātā lieta ir piemērota tikai lāzerskenēšanas pamatu apguvei, kam vairāk tā ir absolūti bezjēdzīga. Nē, protams, ir iespējams iegūt kaut ko līdzīgu oriģinālajam modelim, taču tas arī viss (un tas ir, ņemot vērā visas mākoņu apstrādes tamburīnas). Ne velti spāņi no šīs lietas atteicās.
Veikals spēlēja droši - aprakstā godīgi teikts, ka rezultāts ir atkarīgs no planētu stāvokļa un tantes Soņas noskaņojuma no trešā stāva. Atvērtais kods un viss, dejosim kopā. Nē paldies.

Secinājums neņemt, bet, ja gribi ekstrēmas medības, saliec pats no tā paša, no kā draugs jokā taisa laivas.

Prece tika nodrošināta veikala atsauksmes rakstīšanai. Pārskats tika publicēts saskaņā ar Vietnes noteikumu 18. punktu.

Plānoju pirkt +9 Pievienot pie favorītiem Man patika apskats +101 +156

FabScan ir atvērtā koda lāzera 3D skeneris, ko dari pats. Es saliku savējo no MDF loksnēm un dažādiem pieejamiem materiāliem un, piemēram, nolēmu jums izklāstīt radīšanas procesu.

1. darbība. Kas jums būs nepieciešams




Oficiālajam FabScan skenerim jums ir nepieciešams:

  • Arduino UNO
  • Stepper motors A4988
  • FabScan-Shield 3D lāzera skenera modulis priekš Arduino
  • 5mW sarkanā lāzera modulis
  • Barošana 12V - 1A
  • Logitech C270 tīmekļa kamera

Lai izveidotu kastīti, jums būs nepieciešamas 4 MDF loksnes ar izmēriem 600 * 300 * 5 mm.

Savā projektā es izmantoju:

  • Arduino UNO
  • Bipolārais pakāpju motors — NEMA 17 (200 soļi)
  • Stepper motors A4988
  • 5mW sarkanā lāzera modulis
  • Barošana 12V - 2A
  • Logitech C270 tīmekļa kamera

Tā kā mēs izmantosim FabScan programmatūru, es iesaku pieturēties pie to daļu saraksta; jūs varat viegli atrast visu FabScan atsauces 3D skenera dokumentāciju internetā.

2. darbība: 3D skenera galerijas kastes salikšana




Rādīt vēl 4 attēlus





Es izmantoju Dremel un savu iztēli, lai saliktu skenera kastīti. Tas nav tik vienkārši, jo, lai iegūtu pareizu 3D attēlu, kamerai, lāzeram un soļu motoram ir jābūt pareizās pozīcijās. Ja nevēlaties uztraukties, varat vienkārši iegādāties gatavas detaļas, taču tas nebūs lēti.

3. darbība: moduļu pievienošana


Aparatūras montāža ir pavisam vienkārša:
Savienojiet FabScan moduli ar Arduino un iestatiet A4988 motoru tā pirmā soļa pozīcijā. Savienojiet motoru ar izejas tapām un lāzera moduli ar analogo tapu A4. Visbeidzot pievienojiet barošanas avotu un USB kabeli.

Ja nolemjat salikt skeneri saskaņā ar manu detaļu sarakstu:
Pēc tam jums jāpievieno A4988 motors ar Arduino tapām 10, 11, 9, 8 (ja vēlaties, tapas var mainīt) un savienojiet lāzera moduli ar tapu A4. Beigās pievienojiet arī barošanas avotu un USB kabeli.

4. darbība: Arduino kods

Mēs izmantosim oficiālo kodu no FabScan. Augšupielādējiet to Arduino un esat pabeidzis.

Ja jums ir instalēts Codebender spraudnis, varat augšupielādēt kodu Arduino, izmantojot šo saiti.

Ja komplektējat skeneri saskaņā ar manu detaļu sarakstu, noklikšķiniet uz pogas Rediģēt un rīkojieties šādi:

  • Pievienot rindas #include const int soļiPerRevolution = 200;//mainīt sava dzinēja soļu skaitu Stepper myStepper(soļiPerRevolution, 10, 11,8,9);
  • Aizstāt funkciju step() ar šādu: void step() ( myStepper.setSpeed(1); myStepper.step(1); )

5. darbība: datora programmatūra






Mēs izmantosim "FabScan Ubuntu Live DVD" attēlu. Jūs varat to lejupielādēt. Šajā attēlā FabScan programmatūra jau ir iepriekš instalēta. Attēlu var ierakstīt zibatmiņas diskā, kā to izdarīt, var atrast internetā.

Svarīga piezīme: ja izvēlējāties opciju “Izmēģināt Ubuntu”, pirms datora izslēgšanas saglabājiet failus!

Apskatiet pievienotos fotoattēlus un rīkojieties šādi:

  • Izvēlieties portu SerialPort
  • Izvēlieties kameru sadaļā Kamera
  • Fails - Vadības panelis
  • Noklikšķiniet uz Noteikt lāzeru (šajā posmā neko nelieciet skenerī) un atlasiet “iespējot”.
  • Noklikšķiniet uz "Fetch Frame" un pārliecinieties, vai zilā horizontālā līnija pieskaras atskaņotāja augšdaļai un dzeltenā horizontālā līnija pieskaras diska apakšai. Vertikālajai dzeltenajai līnijai jāiet cauri pagrieziena galda centram. Vaļīga kamera var izraisīt skenēšanas traucējumus!

Pēc iestatīšanas aizveriet vadības paneļa logu, ievietojiet objektu skenerī un noklikšķiniet uz pogas Sākt skenēšanu.

3D attēla saglabāšana:
Kad skenēšanas process ir pabeigts, varat saglabāt 3D objektu failā .pcd vai .ply formātā. Varat arī saglabāt to stl formātā, taču tas netiek atbalstīts visās platformās. Varat arī atvērt iepriekš skenētu vienumu, atlasot Fails - OpenPointCloud.

Ko darīt ar 3D failiem?
Varat tos atvērt programmā MeshLab un izdrukāt 3D printerī.
Lai drukātu objektus MeshLab:

  • Saglabājiet objektu .ply formātā
  • Atveriet failu programmā MeshLab
  • Programmā MeshLab aprēķiniet normālus (filtri/punktu kopa/aprēķināt normālus punktu kopām)
  • Rekonstruējiet virsmu, izmantojot Poisson rekonstrukciju (filtri/punktu komplekts/virsmas rekonstrukcija: Puasons)
  • Gatavs

FabScan ir atvērtā koda, DIY 3D lāzerskeneris.

Projekts aizsākās Frānsisa Engelmaņa bakalaura projekta izstrādes laikā. Oficiālā projekta lapa atrodas.

Pamatojoties uz šo projektu, tika izstrādāts analogs, kas ir apspriests rakstā. MDF tiek izmantots boksam. Arī elektroniskā pildīšana ir nedaudz atšķirīga.

Arduino programma ir ņemta no sākotnējā projekta. Tāpēc paldies FabScan komandai par lielisko atvērtā koda 3D skeneri!

Tātad sāksim.

Nepieciešamās sastāvdaļas

Oriģinālā FabScan projekta daļas un komponenti:

  • A4988 pakāpju motora vadītājs;
  • Shield FabScan;
  • NEMA 17 bipolārs stepper motors (200 soļi);
  • Strāvas padeve 12 V - 1 A;
  • Logitech C270 tīmekļa kamera.

Korpusam nepieciešamas 4 MDF loksnes. Izmēri - 600 mm x 300 mm. Biezums - 5 mm. Sīkāka informācija.

Šajā rokasgrāmatā izmantotās detaļas un mezgli:

  • (200 soļi);
  • Stepper motora vadītājs L298N;
  • 5 mW lāzera modulis - ražotājs Sarkanā līnija;
  • Strāvas padeve 12 V - 2 A;
  • Logiteck C270 tīmekļa kamera.

Tas ir, mēs vienkārši neizmantosim FabScan vairogu un izmantosim citu pakāpju motora draivera moduli

3D skenera korpusa izstrāde

Mūsu 3D skenera korpusa izstrādes process un rezultāts ir parādīts fotogrāfijās. Galvenā grūtība ir visprecīzākā kameras, lāzera moduļa un pakāpju motora uzstādīšana. Ja vēlaties atvieglot savu dzīvi, varat pasūtīt šīs detaļas par 35 eiro.

3D skenera montāža







1. Ar vairogu.

Instalējiet FabScan vairogu uz Arduino. A4988 pakāpju motora draiveris ir uzstādīts uz nodrošinātajām sliedēm. Pakāpju motors ir savienots ar atbilstošajiem kontaktiem datu plāksnītē. Lāzera modulis ir savienots ar analogo tapu A4. Pēc tam varat pievienot strāvas un USB kabeli. Ir pieejamas sīkākas instrukcijas.

2. Bez vairoga.

Ja nolemjat izveidot skeneri, neizmantojot vairogu, pievienojiet L298 pakāpju motora draiveri Arduino 10., 11., 9., 8. tapām (principā šīs tapas var mainīt, veicot atbilstošus labojumus skicē). Lāzera modulis ir savienots ar tapu A4 uz Arduino. Visi. Varat pievienot barošanas un USB kabeli.


Skice priekš Arduino

Svarīga piezīme! Ja izmantojat opciju "Izmēģināt Ubuntu", pirms personālā datora izslēgšanas noteikti saglabājiet failus!

Izpildiet norādījumus, kuru fotogrāfijas ir norādītas zemāk:

  • Izvēlieties SerialPort;
  • Izvēlieties Kamera;
  • Fails - Vadības panelis;
  • Noklikšķiniet uz noteikt lāzeru (pagaidām nenovietojiet skenera priekšā nekādus objektus) un atlasiet “iespējot”;
  • Noklikšķiniet uz "Ielādēt rāmi" un pārliecinieties, vai zilā horizontālā līnija pieskaras atskaņotāja augšdaļai un dzeltenā horizontālā līnija pieskaras atskaņotāja apakšai. Turklāt dzeltenajai vertikālajai līnijai jāsakrīt ar pagrieziena galda centru. Ja kamera nav pareizi uzstādīta, skenēšanas rezultāts nebūs skaidrs!

Pēc iestatīšanas aizveriet logu, ievietojiet objektu 3D skenerī un noklikšķiniet uz pogas Sākt skenēšanu.

Piezīme: šajā rokasgrāmatā ir sniegti papildu materiāli par faila configuration.xml iestatīšanu.

3D attēla saglabāšana

Kad 3D skenēšanas process ir pabeigts, varat saglabāt skenēto 3D objektu ar .pcd vai .ply paplašinājumu. Varat arī saglabāt to kā 3D stl failu, taču šī funkcija nav pieejama visās platformās. Iepriekš skenētu un saglabātu objektu var atvērt, izvēloties Fails - OpenPointCloud.

Ko tālāk?

Jūs varat izmantot MeshLab, lai apstrādātu 3D skenētu objektu un izdrukātu to uz 3D printera!

Apstrādājot failu MeshLab:

1. Saglabājiet objektu kā .ply failu.

2. Atveriet failu, izmantojot MeshLab.

3. Programmā MeshLab aprēķiniet normālus (Filtri/Point Set/Compute normals).

4. Pēc tam atjaunojiet virsmu, izmantojot Puasona rekonstrukciju (filtri/punktu kopa/virsmas rekonstrukcija: Puasona).

Galīgā samontētā struktūra ir parādīta zemāk esošajā fotoattēlā.


Oriģinālā FabScan 3-D skenera darbības video:

Liels paldies FabScan komandai par apbrīnojamo atvērtā koda skeneri vietnē Arduino!!!

Atstājiet savus komentārus, jautājumus un dalieties Personīgā pieredze zemāk. Diskusijās bieži dzimst jaunas idejas un projekti!

Tas ir slavenā FabScan lāzerskenera analogs, kuru izstrādāja Francis Engelmann. Kā kastīti šādam skenerim autore izmantoja MDF, kas arī pildījumam nedaudz atšķiras no oriģināla.

Sākotnējā programma ir paredzēta Arduino, tā tika ņemta no sākotnējā projekta.

Materiāli un rīki skenera izveidei:

4 MDV loksnes 600X300 mm, biezums 5 mm (tās ir nepieciešamas korpusa izveidošanai);
- pakāpju motors (NEMA 17 200 soļiem);
- draiveris pakāpju motoram L298N;
- 5 mW lāzera modulis (izmantots no ražotāja Red Line);
- ierīces barošanai nepieciešams 12 V - 2 A avots;
- tīmekļa kameras modelis Logiteck C270.






Oriģinālajā paštaisītajā izstrādājumā tiek izmantots A4988 pakāpju motora draiveris, un, kas attiecas uz soļu motoru, tas ir arī NEMA 17. Citādi paštaisītā izstrādājuma elementi ir tieši tādi paši kā oriģinālajā versijā.

Skenera ražošanas process:

Pirmais solis. Ķermeņa veidošana
Viss skenera korpusa izveides process ir redzams fotoattēlā. Vissvarīgākais šajā jautājumā ir precizitāte. Lāzera modulim, pakāpju motoram un tīmekļa kamerai ir jābūt skaidri novietotām pareizajās vietās saskaņā ar projektu.













Otrais solis. Savienojam elektroiekārtas


Ir divi veidi, kā savienot aprīkojumu, ar vairogu un bez tā. Apskatīsim sīkāk katru no šīm iespējām.

Savienojums bez vairoga
Ja jūs nolemjat montēt ierīci, neizmantojot vairogu, tad L298 pakāpju motora vadi ir savienoti ar Arduino tapām ar numuru 10, 11, 9, 8. Principā jūs varat izmantot citus kontaktus, bet jums būs nepieciešams izveidot izmaiņas skicē.
Kas attiecas uz lāzera moduli, tas ir jāpievieno Arduino kontrollera tapai A4. Pēc tam varat pievienot USB kabeli un strāvu.

Savienojums ar vairogu
Arduino ir jāinstalē FabScan vairogs. Kas attiecas uz pakāpju motora draiveri, tas ir jāuzstāda uz šim nolūkam paredzētajām sliedēm. Pakāpju motora kontakti ir savienoti ar atbilstošajiem kontaktiem datu plāksnītē.
Lāzera modulim jābūt savienotam ar tapu A4 uz Arduino. Tas arī viss, pēc tam pievienojiet strāvas un USB kabeli.

Trešais solis. Skices uzstādīšana
Tagad jums ir jālejupielādē un jāinstalē oficiālā FabScan skice. Lai mirgotu Arduino, jums jālejupielādē Codebender spraudnis un pēc tam noklikšķiniet uz pogas Palaist Arduino. Šajā gadījumā skici var instalēt tieši caur pārlūkprogrammu no oficiālās vietnes.


Ja vairogs netika izmantots, jums jānoklikšķina uz pogas Rediģēt un pēc tam jāpievieno šādas rindas:

const int soļiPerRevolution = 200; // mainiet šo parametru, lai pielāgotu soļu skaitu uz soļu motora vārpstas rotāciju

Stepper myStepper(soļiPerRevolution, 10, 11,8,9);
Aizstāt funkciju step():

myStepper.setSpeed(1);

myStepper.solis(1);

Ceturtais solis. Skenera programmatūra
Lai instalētu programmu, ir nepieciešams lejupielādēt “FabScan Ubuntu Live DVD” attēlu, pēc instalēšanas tas parādīsies programmatūra FabScan.

Programmā ir jāveic daži iestatījumi:

Vispirms jāizvēlas SerialPort;
- pēc tam izvēlieties Kamera;
- pēc tam Fails - Vadības panelis;
- pēc tam noklikšķiniet uz detektēt lāzeru un atlasiet “iespējot” (nav nepieciešams novietot objektus lāzera priekšā);
- Nu, tagad noklikšķiniet uz “Ienest rāmi”, kamēr zilajai horizontālajai līnijai vajadzētu pieskarties rotējošās tabulas apakšai. Dzeltenajai līnijai jāatrodas tabulas centrā. Ja kamera nav pareizi uzstādīta, attēls tiks parādīts Slikta kvalitāte.












Tas arī viss, programma ir konfigurēta. Tagad skenerī varat ievietot kādu objektu un pēc tam nospiest pogu Sākt skenēšanu.

Piektais solis. Saglabājiet attēlu
Pēc objekta skenēšanas pabeigšanas attēlu var saglabāt .pcd vai .ply formātā. Varat arī saglabāt to stl formātā, taču tas ir atkarīgs no izmantotās platformas.
Lai atvērtu objektu, kas iepriekš tika saglabāts, jāizvēlas Fails - OpenPointCloud.

) nolēmām izmēģināt spēkus tā salikšanā un, ja iespējams, uzlabot tā dizainu. Mēs pat nevarējām iedomāties, kas no tā sanāks, vēl jo mazāk iedomāties, ka ar to uzvarēsim vairākas zinātniskās un inženierzinātņu izstādes. Bet kārtībā. Kam interesē uzzināt rezultātu, laipni lūdzam pie kaķa (daudz fotogrāfiju).

Pirmais prototips

Vispirms nolēmām savākt lāzera tālmērs. Tas tapis, pamatojoties uz rakstu par radioamatieru forumu. Tikai lāzera rādītājs un kamera. Java valodā tika uzrakstīta programma attēlu apstrādei. Vienam mērījumam tika uzņemtas divas fotogrāfijas: ar un bez lāzera. Pēc to salīdzināšanas mēs noteikti varējām atrast lāzera punktu. Kad tas darbojās, attāluma mērītājs tika uzstādīts uz platformas, kas varēja griezties divās plaknēs. Pirms parādu, ko ieguvu, jābrīdina - vasaras skolā nav daudz materiālu, tāpēc salikām prototipu no tā, kas mums bija:

Kamera ir uzreiz redzama, un lāzers ir tas misiņa cilindrs virs tās. Lai pagrieztu platformu, mēs izmantojām divus pakāpju motorus, kas savukārt tika savienoti ar Atmega32 mikrokontrollera vadības paneli. Tam tika pievienots lāzers. Pati plate tika savienota ar datoru caur USB->UART adapteri. Programma datorā uzņēma attēlus, apstrādāja tos, ievadīja iegūto punktu koordinātas failā un nosūtīja komandas uz vadības paneli.

Rezultāts bija interesants. Jā, mēs atradām attālumu. Jā, mēs varētu "mērķēt" uz jebkuru punktu puslodē virs skenera. Un mūsu priekam nebija robežu. Bet, novērtējot šīs puslodes skenēšanas laiku, tas izrādījās 48 stundas. Un tas nav par kameru. Un pat ne Java. Problēma bija tā, ka instalācija bija tik vāja, ka pēc katra pagrieziena piecas sekundes tā svārstījās. Man bija jāveic mērījums, jāpagriežas un jāgaida piecas sekundes, līdz tas pārstāja šūpoties. Turklāt kameras bibliotēka to ieslēdza un pēc tam izslēdza pirms katra kadra. Tas aizņēma 1-2 sekundes. Bet vasaras skola beidzās, un nebija laika to atkārtot: tas bija jau vakars pirms projekta īstenošanas. Vai drīzāk rīts. Nākamajā dienā mēs prezentējām savu projektu konkursā zinātniskās žūrijas priekšā un negaidīti uzvarējām. Iespējams, tieši šīs uzvaras dēļ mēs nolēmām turpināt darbu pie šī projekta.

Otrā versija

Patiesībā vasara ir beigusies un mācību gads ir sācies. Pazuda vēlme strādāt. Uzstādīšanu bija plānots pabeigt līdz nākamajam konkursam, kas bija pēc vesela mēneša. Mēnesis. Un tad pēkšņi trīs dienas. Taču mēneša laikā mēs nolēmām mainīt iestatījumu. Salieciet to cieši, uzstādiet uz lāzera rādītāja objektīvu, kas izveidos lāzera līniju. Tas ļautu vienlaikus skenēt 720 punktus (skenerim bija HD kamera). Tikai trīs dienas ir veikušas savas korekcijas:

Otrais skeneris ir salikts no plastmasas lineāliem, līmes, maskēšanas lentes, un to notur tikai zila elektriskā lente. Lēcas vietā ir mēģene. Uz šīs mēģenes spīd zaļš lāzers. Atstarots stars rada vairāk vai mazāk vienmērīgu lāzera joslu uz ekrāna. Tālmērs ir piestiprināts tikai vienam motoram, kas to rotē horizontālā plaknē. Vadības panelis tika aizstāts ar STM32VLDiscovery. Vienkārši es labāk zinu STM32, turklāt Atmega izdega, un programmētājs jau sen tika pazaudēts. Tas neizskatās īpaši labi, bet tas darbojas! Vibrācijas samazinājās, un ātrums attiecīgi palielinājās. Bet ne daudz. Šeit tika atklāts ļoti interesants āķis - ķīniešu lāzera rādītājs neieslēdzās uzreiz, bet gan pakāpeniski palielināja savu jaudu sekundes laikā. Tādējādi, sekunde, lai oscilētu, otra, lai uzsildītu lāzeru, otra, lai uzņemtu attēlu, un ir divi no tiem. Tātad mēs iegūstam 4 sekundes. Bet vienā mērījumā atrodam attālumus līdz 720 punktiem! Skenēšanas process izskatījās apmēram šādi:

Un rezultāts ir šāds:

Bilde neizskatās īpaši interesanta, bet krūze programmā bija apjomīga. Uz to varētu paskatīties no dažādiem leņķiem.

Kāda ir patiesā konkurence? Bet nekā! Visu skenēšanu pabeidzām pulksten 4 no rīta, un pulksten 9 pie stenda atklājām, ka lāzers ir izdedzis. Kā izrādījās, kamēr nesām to no viesnīcas uz stendu, tajā iekļuva lietus, kuru ieslēdzot, tas izdega. Un, kad tas nedarbojas, tas izskatās tik slikti, ka ir grūti noticēt vārdiem “tas darbojās pirms 5 stundām”. Mēs bijām sarūgtināti. Vēlme turpināt pazuda līdz ar lāzera dūmiem. Bet tomēr tika savākts...

Trešā versija

Un tas atkal tika samontēts sacensībām. Turklāt mēs tam ilgi un rūpīgi gatavojāmies. Vairāk nekā nedēļu. Un šeit ir rezultāts:

Pirmais, kas iekrīt acīs, ir tas, ka tagad mēs skenējam nevis skenera apgabalu, bet gan objektu, kas rotē uz platformas. Saņēmām arī vajadzīgo objektīvu, visu pareizi salikām, programmu pārrakstījām, kā arī nomainījām atkļūdošanas dēli pret paštaisītu. Un tagad katram mērījumam mēs uzņemam tikai vienu fotoattēlu. Lāzers ir pietiekami jaudīgs, un objektīvs ir pietiekami labs, lai unikāli noteiktu lāzera atrašanās vietu fotogrāfijā. Pateicoties tam, mēs negaidām, kamēr lāzers uzsilst – tas vienmēr ir ieslēgts. Un tagad mēs ieslēdzam kameru tikai vienu reizi. Tas ir, laiks tiek pavadīts galvenokārt platformas rotēšanai un attēla apstrādei. Programmai ir pievienota izvēlne precizitātes izvēlei. Skenēšanas laiks ir no divām līdz desmit minūtēm. Atkarībā no izvēlētās precizitātes. Ar maksimālu precizitāti izrādās, ka platforma griežas par 0,5 grādiem uz soli, un attālums tiek noteikts ar precizitāti 0,33 mm. Platformu darbina pakāpju motors caur pārnesumkārbu. Pati platforma ir liels disks, un gumijas veltnis uz motora vārpstas ir mazs. Motoru un lāzeru kontrolēja mikrokontrolleris STM32F050F4, izmantojot lauka efekta tranzistori. Raksta pašā sākumā ir skenēta rotaļlieta, kas iegūta, izmantojot šo skeneri. Tā kā skeneris rada punktu mākoni .obj formātā, pēc triangulācijas mēs varam izdrukāt skenēto objektu uz 3D printera, kā redzams šajā pašā fotogrāfijā. Ekrānā mēs redzam modeli pēc triangulācijas. Pie modeļa roku darbs netika veikts.

Mēs uzvarējām konkursā. Un viņš pieteica dalību starptautiskajā konkursā Intel ISEF. Tāpēc mēs sākām strādāt pie nākamā skenera.

Ceturtā versija

Ieslēgts Šis brīdisŠis jaunākā versija skeneris, ko samontējām. Salīdzinājumam platformā ir otrā versija. Mēs centāmies pēc iespējas rūpīgāk pieiet ceturtā skenera izstrādei. Instalācija zīmēta CAD, detaļas grieztas ar lāzeru, viss nokrāsots, nekas lieks no ārpuses neizspraucās. Izmaiņas: platforma tagad faktiski ir pārnesums. Tas ir izgriezts no organiskā stikla, un tam ir 652 zobi gar malām. Tas atrisina problēmu, kas nopietni sabojāja skenēšanu iepriekšējā skenerī: gumijas veltnis nedaudz paslīdēja, tāpēc platforma bieži negriezās par 360 grādiem. Skenējumi tika “izgriezti” vai pārklājās. Šeit mēs vienmēr precīzi zinājām, cik platforma ir pagriezta. Lāzera jauda tika regulēta ar programmatūru. Pateicoties tam, bija iespējams mainīt lāzera jaudu lidojuma laikā, izvairoties no nevajadzīgu detaļu apgaismošanas vāja apgaismojuma apstākļos. Lai kontrolētu visu elektroniku, mēs nolēmām neatdalīties jauna valde, bet vienkārši izmantojiet atkļūdošanas funkciju F401RE-Nucleo. Tajā ir instalēts ST-LinkV2.1, kas darbojas kā atkļūdotājs un USB->UART adapteris.

Precizitāte bija pārsteidzoša: leņķiskā izšķirtspēja 0,14 grādi. 0,125 mm attālumā. Skenēšanas laukums ir cilindrs ar augstumu 20 cm un diametru 30 cm.Visu detaļu un lāzergriešanas cena tā izveidošanas brīdī (2014. gada maijā) bija mazāka par 4000 rubļiem.

Lietošanas laikā mēs to iestatām uz maksimālo precizitāti tikai vienu reizi. Skenēšana ilga 15-20 minūtes. Mēs saņēmām gandrīz 2 miljonus punktu. Klēpjdators atteicās aprēķināt modeli no punktu mākoņa. Eksperiments netika atkārtots.

Secinājums

Tuvākajā laikā plānojam atsākt darbu pie projekta, tāpēc pabeigsim gan programmu, gan uzstādīšanu. Ceru, ka drīz par to rakstīsim soli pa solim montāža, ievietosim zīmējumus, programmas un visu pārējo. Tas vairs neietilps šajā rakstā.

Paldies visiem, kas izlasīja līdz galam!

UPD:
Kolēģis atrada video par skenera darbību, ko filmējām ISEF:

Jā, lielākā daļa video nav interesanta, bet beigās ir modelis uz klēpjdatora.

Un šeit ir skenētu objektu piemēri. Bet tie visi pieder skenera trešajai versijai.
Dropbox
Model.obj failā var skaidri redzēt, kas notiek, kad šis gumijas rullītis uzslīd uz motora - sunim ir trīs acis. Skenēšana tika apturēta, izraisot izgriezumu. Visi faili ir punktu mākoņi. Varat to atvērt, izmantojot MeshLab. Modeļi netika apstrādāti ar rokām. Pilnīgi neapstrādāti dati. No augšas var redzēt “baltus plankumus” - apgabalus bez punktiem. Kamera tos neredz. Arī citviet var redzēt baltus plankumus. Tie parādās pārāk tumšās vietās vai tad, kad virsmas pārklājas. Piemēram, failā stn_10.obj kazas ragi pārklājas viens ar otru, tāpēc ragu iekšējā virsma netika skenēta.




Tops