Now these are some great pictures. They
both show the Frost Bot in its entirety. You can just barely see the
icing bag inside the extruder. (The bag is clear plastic, and so looks
blue because I had blue frosting in it.) You can see the extruder
stepper motor on top of the extruder. It is supported by the red
plastic tubes. The belt connects a pulley beneath the stepper motor to
another pulley. Inside the second pulley is an aluminum shaft I
machined on the lathe. There are two ball bearings (one above the
pulley and one below). That top piece of MDF wood is bolted down, and
squeezes the sandwich of bearing, pulley, bearing. The aluminum shaft
is tapped for the 1/4 20 threaded rod that it rotates around. As the
shaft is turned by the pulley, the threaded rod goes up or down. This
in turn pushes on the metal tube (not visible in these pictures) that
squeezes the frosting out of the bag.
Here are two pictures - both have the front guide of the extruder
removed so you can see what it looks like on the inside. There is no
frosting in the bag, which is why it looks clear/white. The first
picture has the extruder up, where we put it to load the bag of
frosting in. The second picture has the extruder down, where it would
be pushing on the frosting and extruding it onto the cookie (if there
was frosting in the bag).
Electronics: The electronic
portion of this project consists of a UBW controller board, a single
board holding four EasyDriver stepper motor drivers, and a normal
computer power supply delivering 12V to the motor driver chips. There
are four home switches (one for each axis) that the UBW reads with four
of its digital inputs. The UBW sends step and direction data to the
Easy Driver
Quad
board
using a simple SPI like shift-register scheme. It has a Clock, Data and
Latch signal (and ground) to send the data into the latch chips, and
then latch the data to the four driver chips. The motor driver chips
are rated at about 750mA/phase, and even with this fairly weak current
the stepper motors turn quite rapidly and with considerable power.
Using a higher voltage power supply, or stronger motor drivers would
allow the robot to move faster, but this would compromise the quality
of the frosting job.
Here is the UBW board and the Easy Driver Quad board without the fan so
you can see how things sit on the breadboard.
Software: There are two pieces
of software that the Frost Bot team wrote. One lives on the UBW board
and interprets motor move commands from the PC (over USB) and generates
the step and direction pulses for the four motors. It also reads the
home switches and executes special instructions like 'home' and
'abort'. The other piece of software is a full Windows application
written in Liberty Basic by Jemiah Aitch. It reads in HPGL files
(graphics files) and interprets the files, breaking them into
individual move commands which are sent to the UBW board. It also has
logic for handling homing, offsets (i.e. zeroing), soft limits on all
axes, pausing, and generating the correct among of extrude motor motion
for each unit of distance traveled by the tip.
This screenshot shows what the LibertyBasic PC application looks like.
You can see that it has loaded in a simple HPGL file and converted it
to UBW step commands. The graphics start out as SVG files drawn in
InkScape, then saved as PostScript files. Those *.ps files are read
into GhostScript and saved as HPGL files, which are then read in by the
LibertyBasic app and sent to the UBW.