1 |
ME6408 – Spring 2014 CNC Abrasion Hologram Printer Final Report
Joseph Hickey, Peter Ngo, Ryan Stumvoll
April 24, 2014
1. Project Description
HoloPrinter is a 4-axis CNC manufacturing system and CAD/CAM software toolchain for producing
custom abrasion holograms
Our system comprises a parallel gantry frame and scribe head assembly along with a microcontroller and driver
circuits for controlling actuators. Combined with a CAD and CAM software toolchain, the system lets users
design custom holograms for decorative displays and promotional items.
HoloPrinter is an example of a mechatronic manufacturing tool, a computer- enabled system which makes
physical products from digital designs.
Context
Mechatronic systems drive the manufacturing industry. Computer-controlled machines allow for precise,
repeatable, and rapid manufacturing processes which support large-scale production of goods. The proliferation
of low-cost, open-source electronics and hardware has given individual makers and hobbyists access to many
manufacturing technologies - these include CNC milling machines, lathes, and, notably, desktop 3D printing and
additive manufacturing technologies to support small-scale, customizable production and prototyping [1][2][3].
In the spirit of computerized production technology, we proposed a system for designing and producing
custom abrasion holograms, decorative images created by shallow circular arcs etched or inscribed onto a
surface. The challenge of developing such a system from the ground up represented a comprehensive exercise
in design and integration of electromechanical devices, control electronics and software, and computer-aided
design tools.
Description
Abrasion holograms1 are formed by multiple points of light reflected from circular arcs that are inscribed onto a
surface medium. The image formed by the points of light displays visual parallax commonly seen in traditional
holograms. The surface material can be a plastic, such as polystyrene, which is easily inscribed by a sharp tool.
Each point in the image is encoded by an inscribed arc with radius corresponding to the depth of the point in the
image field.
1 https://www.youtube.com/watch?v=XUy8lELWhJg, https://www.youtube.com/watch?v=RzFnR6w8n4M
2 |
We propose a 4-axis CNC system that can inscribe arcs of varying center position (x,y), radius (r), and length (θ)
on a plastic surface medium. A mechanical frame will support actuators which position the surface medium and
the scribe head to produce the arcs. The scribe head will be actuated to transition between scribing and
traversing states. Open-loop control will be implemented for motion in all axes, with end limit switches to
enable periodic error correction. An Arduino MEGA or similar microcontroller will control the system via
appropriate drive circuits. Software will be produced to control the hardware, send programmed instructions for
operation (CAM), as well as produce programs from desired hologram images (CAD).
Our objectives are as follows:
Design, implement, and operate a CNC system to produce abrasion holograms on plastic media
The system must be mechanically actuated to produce patterns of circular arc grooves on a plastic surface (the workpiece). In addition, control software must be written to coordinate the sequence of motions which the actuators must follow to produce the pattern of arcs which define the hologram.
Produce and demonstrate CAD/CAM software for designing holograms and generating CNC instructions
for production
Software tools must be developed to allow users to design and compose a variety of hologram images for
production and to convert designs into CNC instructions in the form of standardized G-code.
The tree below shows how this mechatronic system is broken down into electromechanical, control, and
software systems which will be described in detail.
2. Description of Sub-systems As noted above, the system is decomposed into electromechanical, control electronics, and software
subsystems. Each of these subsystems is now further decomposed.
Electromechanical configuration
3 |
Frame
A parallel-actuated gantry configuration was chosen to allow both X- and Y-axis motors to be fixed, thus
mitigating the challenge of mounting motors on a moving platform. The symmetric configuration also simplified
design and construction, yielding many interchangeable parts and rapid fabrication. The gantry was designed
and integrated early in the project.
The mechanical frame is fabricated from waterjet-cut aluminum 6061 plate and is assembled with finger joints
and T-nuts, as used in many rapid prototyping projects which use laser cutter and waterjet fabrication.
Pulley and belt drives were chosen as a cheap and effective solution for XY position control and an alternative to
more expensive threaded screw drives. As another cost-cutting measure, pulleys were waterjet-cut from unused
regions in the component layout and assembled in sections using standard timing pulley profiles obtained from
stock suppliers.
The nested components for waterjet cutting (two sections, 36" x 8" x 1/4" each):
The assembled frame system is shown below:
4 |
Scribe Head
The scribe head followed a 2-stage development process, with a static
"dummy" scribe head used to test curvilinear trajectory control using X
and Y axes alone, followed by the design and integration of a fully-
actuated scribe head.
The dummy scribe head was simply a solenoid actuator with a scribing
tool attachment mounted to the gantry's center carrier. Using the dummy
head as a reliable position indicator and recorder, we honed our
understanding and control of the gantry system in early motion control
runs. Our tests revealed significant difficulty in producing clean, smooth
circular arc scratches using the X and Y axes alone, convincing us of the
need for a fully-actuated scribe head.
The system graduated to the final configuration of the 2-axis scribe head
over the course of several weeks. A serial actuator design was chosen,
with the Θ-axis servomotor mounted on the gantry carrier, followed by a
small R-axis stepper motor which rotated on an arm supporting the rail and carriage on which the solenoid
actuator was mounted. The first iteration was a flawed design which produced an inappropriate bending load at
the connection between the Θ-axis servomotor and the remainder of the scribe head, as shown below:
The redesigned final iteration incorporated a slotted mount to act as a bearing for the scribe head arm,
removing all loads from the servomotor connection.
5 |
Bill of Materials
The following is a list of the parts and components of the etching machine. This list comprises both off the shelf
and custom made components totaling 404 parts.
Part Number Description Quantity
817752011303 NEMA 17 Stepper Motor 2
91251A082 Black-Oxide Alloy Steel Socket Head Cap Screw, 8-32 Thread, 1-3/4" Length 16
91251A086 Black-Oxide Alloy Steel Socket Head Cap Screw, 8-32 Thread, 3" Length 4
91251A109 Black-Oxide Alloy Steel Socket Head Cap Screw, 2-56 Thread, 1" Length 24
91290A120 Black Class 12.9 Socket Head Cap Screw, Alloy Steel, M3 Thread, 16mm Length, 0.50mm Pitch
14
91735A102 Type 316 Stainless Steel Pan Head Phillips Machine Screw, 4-40 Thread, 1/4" Length
26
91735A146 Type 316 Stainless Steel Pan Head Phillips Machine Screw, 6-32 Thread, 3/8" Length
3
91780A164 Aluminum Female Threaded Hex Standoff, 1/4" Hex, 1/2" Length 14
92220A154 Low-Profile Alloy Steel Socket Head Cap Screw, 8-32 Thread, 5/8" Length 74
92695A150 High Hold Cone Point Set Screw, Alloy Steel, 8-32 Thread, 3/16" Long 8
93505A442 Aluminum Male-Female Threaded Hex Standoff, 1/4" Hex, 1/2" Length 3
94855A216 Grade 2 Steel Square Nut, Zinc Plated, 8-32 Thread Size, 11/32" Wide, 1/8" High
63
S14-6408-CA-01 Carrier Bearing Mount 4
S14-6408-CA-02 Carrier Top/Bottom 2
S14-6408-CA-03 Tool Mount Arm 1
S14-6408-CR-01 Carriage Top/Bottom 4
S14-6408-CR-01-B Carriage Top/Bottom - With Belt Clips 4
S14-6408-CR-02 Carriage Cross Slide Mount 4
S14-6408-CR-03 Carriage Cross Slide Stopper 4
S14-6408-CR-04 Carriage Bearing Mount 8
S14-6408-CR-05 Belt Clip 8
S14-6408-EL-01 Electronics Plate 1
S14-6408-FR-01 Frame Front/Rear 1
S14-6408-FR-01-M Frame Front/Rear - Motor Mount 1
S14-6408-FR-02 Frame Left/Right 1
S14-6408-FR-02-M Frame Left/Right - Motor Mount 1
S14-6408-FR-03 Frame Corner Brace 3
S14-6408-FR-04 Frame Corner Brace - Motor Corner 1
S14-6408-FR-05 Stepper Motor Standoff 2
S14-6408-FR-06 Fixed Leg 4
S14-6408-PU-01 GT2 2mm 36 Tooth 0.5" Bore 16
S14-6408-PU-02 Pulley Hub 0.5" Bore 8
S14-6408-PU-03 Pulley Hub 0.5" Bore 8
S14-6408-SH-01 Side Shaft 4
S14-6408-SH-02 Cross Slide 2
6 |
HS-311_ServoHorn_Red 1
Hitec_HS-311 Hitec 31311S HS-311 Servo Standard Universal 1
KGLI-08 Igus igrubal Bearing 0.5" Bore 20
RG-RELAY RobotGeek Relay 1
ArduinoMega 1
Assembly_DummyScribe_v2 1
Connector_16AWG QuickDisconnect
4
Coupling_Stepper-RLinearRail_v0
1
LimitSwitchClosed_v0 6
Mount_ScribeHead 1
Nut_4-40 Hex 4
Nut_M3 Hex 6
RCarrier_v1 1
RLinearRailServoDrive_v0 1
RLinearRailShell_v2 1
Screw_4-40 1.00 Pan Head 4
Stepper_SmallScrap 1
ThreadedRod_8-32 1
Washer_No4 Flat 4
quadstepper 1
Control Electronics
The electronics mounting board
7 |
Arduino MEGA microcontroller
The Arduino MEGA microcontroller was chosen for the main controller of the machine both because of the ease
of development allowed by Arduino and because it has a large number of I/O pins which were required for this
project.
Sparkfun QuadStepper motor driver
The machine uses three stepper motors so the QuadStepper motor driver was a convenient package that
offered the freedom to add another stepper if our designs changed.
RobotGeek relay
The relay was used to activate the solenoid and isolate the
high current draw from the Arduino.
Baolian end limit microswitches The limit switches prevent the machine from trying to leave the bounds of the x, y, and r axes.
Actuators
Lulzbot NEMA 17 stepper motors & Small stepper motor
Stepper motors were used to actuate the linear axes (x, y, r). Larger stepper motors were required for the x and
y axes because they are carrying a much larger mass.
Hitec HS-311 servo motor A servo was used for the theta axis because it offers easy angular control.
RobotGeek small solenoid
The solenoid was used to lift the scribe head off the workpiece between moves.
Software
Control software
The control software was developed (in Microsoft Visual
Studio C++) to parse the output of the CAD/CAM
toolchain and execute the instructions for producing the
hologram. Calibration of motor parameters, such as speed
and distance per step, allows precise control of the
scribing pattern. The control GUI is used to manually
position the scribe head at the start of a printing job
(much like the control interface for laser and waterjet
8 |
cutters) and to load and run the G-code instructions which contain the hologram scribe pattern.
Instructions to the Arduino are sent over the serial
communication port in 2-byte messages containing
the axis type, the value type (angular displacement
or linear displacement), direction, and a 10-bit value
representing the number of steps (for stepper
motors), the angular position (for the servo motor),
or the traverse state (for the solenoid actuator).
CAD/CAM toolchain
A flexible CAD/CAM toolchain provides users with multiple avenues for designing custom holograms. 2 Python scripts integrate a variety of existing software tools in order to convert a wide range of designs and filetypes into G-code instructions for hologram production. 2 typical usage modes for the CAD/CAM software are shown below.
Mode 1: Image to G-code
Start with any .jpg image for digitization -- line drawings are ideal.
Here, we use the rebel alliance insignia from Star Wars
The WebPlotDigitizer app developed by Ankit Rohatgi is used to convert images into x,y points for use as
hologram images. Files can be uploaded and points can be automatically and manually generated for export
as .csv (comma-separated value) files.
9 |
Mode 2: CAD to G-code
Start with a CAD model of a desired object for modeling. Currently, the software works best with objects
consisting of flat faces -- the conversion translates the endpoints of visible line segments in .dxf and .dwg
files into x,y,z coordinates for use as hologram images. Here, we use a square modeled in Autodesk
Inventor, with line segments criss-crossing the face such that their endpoints trace the edges of the square.
The objects is then placed in a CAD assembly which aids in positioning the object in the image space.
Multiple CAD files can be added at this point to assemble holograms containing many objects. Below, we
have 3 circles enclosing a cube in the hologram image space assembly. A CD case is shown for size and
location reference. This file is then exported as a .dxf or .dwg file.
The .dxf or .dwg file is converted using a Python script which automates the Dxf2xyz 2.0 application, which
converts files into .xyz files containing an array of X, Y, and Z coordinates. The second and last Python script
converts files of .csv or .xyz types into g-code, giving a preview of the resultant hologram. This script is used
in all usage modes to generate the final set of hologram instructions.
10 |
3. Accomplishments Assessment Our project did not progress according to the aggressive timeline set out in the proposal. Two sources of delays
are mostly responsible. The primary delay has been in the design and integration of the 2-axis scribe head. The
first iteration was completed on the week of 03-31, about 3 weeks later than first scheduled. Integration on 04-
07 revealed a problem with the connection between the ϴ -axis servo and the R-axis rail, which led to the arm
sagging and not remaining level. A second iteration is being produced which addresses this problem and will be
integrated and tested by 04-11. Earlier sources of delay include our attempts to produce curvilinear motion on
the X- and Y-axes alone (as a contingency in the event of a failed scribe head). That effort revealed that X and Y
axes were insufficient to reliably and accurately produce arcs, although it did allow us to test basic motion
sequencing and control.
The CAM and CAD software progressed well – CAM and motion control have been steadily tested improved
since Stage 1 integration, and CAD was developed, tested, and proven in a shorter amount of time than
expected.
Minor updates to the frame and electronics progressed without issue. The frame received longer legs to raise
the scribe head above the work surface. The frame also received an electronics mounting board. Cable harness
solutions have been integrated to improve reliability.
While behind the initial timeline, the end result accomplished the goals set out in the proposal in an operational,
integrated system by successfully producing holograms for demonstration and display.
Final Project Cost
Category Estimate Actual Difference
Frame Materials $ 200.00 $ 180.59 $ 19.41
Scribe head materials $ 20.00 $ 8.94 $ 11.06
Actuators and Sensors $ 80.00 $ 118.04 $ (38.04)
Control Electronics $ 90.00 $ 116.90 $ (26.90)
Hologram materials $ 10.00 $ - $ 10.00
Total $ 400.00 $ 424.47 $ (24.47)
$ 141.49 per member