Z konstrukčního hlediska je 3D skener složen z:
systému myRIO,
lineární posuv,
laserový senzor vzdálenosti,
otočný karusel,
napájecí zdroj.
Princip skenu je postaven na 1D triangulaci pomocí laserového paprsku vysílaného snímačem polohy. Snímač polohy dává pouze informaci o poloměru tělesa, proto musely být dodány dva krokové motory pro možnost 3D skenování. První krokový motor otáčí předmětem na karuselu a dodává informaci o úhlu natočení tělesa. Druhý posouvá senzor vzdálenosti po vertikální ose a dává informaci o výšce tělesa. Díky koordinaci těchto tří hlavních komponent dojde k postupnému skenování objektu a jeho digitalizaci. Z důvodu principu 1D triangulace budou vznikat slepá místa (např. hrnek s uchem, které bude plné místo s dírou na chytnutí). Problém při skenu nastává při hodně lesklých, průhledných a „děravých“ objektech.
Tento sestrojený 3D skener jako systém můžeme rozdělit do několika vrstev:
Základní vrstva FPGA (myRIO) – smyčky sbírající data z enkodérů (senzorů pro měření otáček a rychlostí krokových motorů) s frekvencí 40MHz. Na této vrstvě také běží stavový automat, který řídí jednotlivé kroky při skenování.
Řídící vrstva ARM (myRIO) – program běžící na procesoru v reálném čase, který zajišťuje sběr dat v reálném čase z FPGA vrstvy.
Uživatelská vrstva (Laptop) – Na laptopu běží uživatelská vrstva (aplikace), která posílá příkazy ARM procesoru, zda má začít skenovat a data posílat do laptopu. Data jsou však přijímaná v polárních souřadnicích (vzdálenost od počátku, úhel a vrstva), které dále musí být přepočítaná do kartézských souřadnic (XYZ). Také na této vrstvě je realizováno grafické rozhraní (GUI), zpracování dat a zápisy do formátu .stl a .csv. Samozřejmě nesmí chybět prezentace dat ve formě grafů (aktuální naskenovaná vrstva a 3D graf).
Aplikace na uživatelské vrstvě (laptop) je naprogramována v grafickém prostředí LabVIEW (od společnosti NI), které je vhodné pro rychlé navrhování a programování funkčnosti aplikace a GUI. Aplikace je postavena a principu producent-konzument (dvě smyčky, které si pomocí FIFO fronty povídají), která zajišťuje celý běh aplikace. Avšak uživatelská vrstva by bez základní a řídící vrstvy neměla šanci fungovat, ale jejich popis by bylo vyprávění na pokračování.
Co se děje spuštění skenování:
Po stisknutí tlačítka PŘESNÝ SKEN se spustí naprogramovaný stavový automat se sekvencí jednotlivých stavů pro naskenování kompletního předmětu. Po zahájení skenování laser upevněn na lineárním posuvu vyjede trochu výš, aby se dostal nad předmět, který byl skenován jako poslední. Poté jede dolů a hledá kalibrační polohu (nožka pod karuselem). Když ji najde, pomalu začne jet nahoru, srovná se horní plochou otočného karuselu (zároveň karusel se kalibruje do jeho definované počáteční polohy), zastaví se a s posunem 1 milimetr začne objekt skenovat. Na jednu vrstvu skenovaného objektu je zjištěno 1000 bodů.
Tento 3D výukový skener je takovou demonstrací principu funkčnosti a problematiky pro 3D skenování předmětů. Byl vytvořen diplomantem v rámci diplomové práce jak z konstrukčního, tak i programového hlediska.