Having recently acquired Creality's metrology-grade scanner (despite some initial reservations), I've been impressed with its performance, particularly in blue laser mode. The advertised 20-micron accuracy seems plausible, as its scan quality compares favorably with my Einscan, Einstar Pro+, Mole, and even Creality's own Lizard scanner. A direct comparison with my Hexagon WLS 400 is on my to-do list, though that's a more involved undertaking.
Like many users, I find the manual alignment and stitching of scan data to be a limiting factor with these types of scanners. While often acceptable, the potential for compounding error in spliced scans does impact overall accuracy. This prompted me to explore the development of an automated scanning system. My vision involves not only automating the scanning process itself, but also potentially generating G-code for downstream applications, streamlining the entire workflow.
My initial setup for creating molds involved a manually operated turntable, specifically an IKEA SNUDDA lazy Susan. This was prepared by applying a coat of matte grey Rustoleum primer filler to the surface and affixing a generous quantity of reflective scan marker stickers. While this approach provided a degree of functionality, the tooling method employed modeling clay as a holding medium for the object being molded. Consequently, the resulting chalky residue, a byproduct of the developer spray, proved persistent and defied all cleaning attempts.
Artec offers a small-scale automated scanning solution, the Artec Micro II, priced at $22,000. While its dual-axis functionality was attractive, the cost was prohibitive. Although such an investment might be feasible for larger organizations, it was not within my budget. My prior experience with high-end structured light scanners, specifically the GOM (now Zeiss) Atos Tritop, at a previous aerospace employer highlighted the performance benefits of such systems. However, home-based projects necessitate a more resourceful approach. As such, I sought to develop an alternative solution.
Leveraging existing components, I repurposed the C and A axes from a small, commercially available Chinese CNC machine to create a compact automated scanning platform. While the CNC machine itself functioned adequately, the inclusion of these removable axes, while convenient, reduced the effective machining volume to a mere 80mm cubed. Lacking a pre-existing model of the axes, I meticulously measured the components using Mitutoyo calipers and subsequently developed a 3D model in SolidWorks 2023.
During my experience with professional-grade scanning equipment, we employed a cost-effective "peg clamp" vise with interchangeable dowel pins for part fixturing. This adaptable solution, readily available for approximately $15.00, provided the necessary customization. For my personal scanning platform, I prioritized similar adaptability. Consequently, I integrated M3 heat-set inserts and fabricated bolt-on towers, marked for consistent reference. This design ensures that even with a 90-degree table rotation, the system can reliably detect and track "floating" markers.
With the mechanical design finalized, the next challenge was implementing the control system. Prioritizing cost-effectiveness, I repurposed a readily available (clone) Arduino UNO from my existing component stock. These economical 8-bit microcontrollers, programmable in C, offer sufficient I/O to drive two NEMA 23 stepper motors. Complementing this, I acquired two TB6600 stepper motor drivers and a 24VDC power supply from an online retailer.
The current wiring configuration, while functional for code testing, is not intended for long-term use. All components performed as expected. However, the reliance on the Arduino IDE for sending USB move commands proved cumbersome. To streamline this process, a dedicated Windows application with user-friendly controls is envisioned. This would significantly improve usability.
For the turntable's graphical user interface (GUI), while a Visual Studio solution is planned for the future, I initially explored Processing. This Java-based environment facilitates rapid prototyping through applet creation. Its C-like language and compatibility with Arduino make it a suitable choice for this preliminary development phase.
Processing offers a convenient development environment, including a browser-based editor.
Rather than constructing a monolithic system, I adopted a modular design approach, prioritizing expandability. The structural framework for all components is comprised of a printed skeletal support system using carbon fiber-filled PA12 for enhanced rigidity. Side panels, facias, and cowlings were fabricated from PLA Pro. The assembled components are shown below.
A demonstration of the system's functionality is available in the following video.
The subsequent requirement was to develop a secure and adjustable camera mounting solution.
The configurable clamp, integrated with the positioning arm, is shown here.
Displayed below is the operational integration of the table and scanner system.