Sunday, June 30, 2013

Driving a Trapezoidal Lead Screw

With the motor shield assembled and stepper motors in hand, I ordered a number of mechanical parts and waited almost 2-3 weeks for everything to arrive. Some of the key parts in use are as follows:
It took an afternoon to cut/measure/assemble all of the parts.  Unfortunately I was thinking a bit too much in 2 dimensions when I ordered the parts, and did not account for the height differences that would come into play during final assembly.  In order to place the stepper motor and mated bearing at the correct locations, I cut down some scrap pieces of 2x4 lumber I had remaining from a different project -- a bit of a sloppy hack, but it worked fine.  The final assembly is shown below:




To drive the motor, the following code was uploaded to the Arduino board:


To my great surprise, everything worked as expected the first time the system was powered up.  The unit was a little noisier than expected, but I think that may be due to a slight misalignment of the flange nut and its associated vibrations.  In the future I'll try to track down a washer to install between the flange nut and plastic angle to reduce vibration and help compensate for the noise (building something a little more exact that a hunk of 2x4 wouldn't hurt either).

Next up will be to determine what to use for limit switches so that the unit can travel from end-to-end (and not just travel back-and-forth in a coded fixed length) - either a physical switch or a Hall-effect sensor are the likely final candidate.  I'll also need to determine some better wire quick connects to easily connect/disconnect the electronics.

No comments:

Post a Comment