The most difficult part was finding the right stepper motors. There are three criteria that are important:
- Steps per revolution
Torque is important since it ensures effective movement of the rotary tool in the X-Y direction. Not enough and the motor will “skip” positions, resulting in a ruined work-piece Too much, and the motors are too expensive and the drivers may not be able to handle the needed current.
Steps per revolution ensures highest resolution of the finished work-piece There are many steppers with the right torque but they are all 200 steps per revolution. I wanted to find a motor with double resolution of 400. I’m sure that 200 would have been fine, but the recommended number for the ShapeOko is 400.
Amperes is the amount of current that the motor draws to perform a step. The problem is that the current rating typically increases with increasing torque – and the torque requirements for ShapeOko is on the high end for NEMA 17 motors – which limits the number of motors available for this project. Worse, if the current requirement is too high, the motor drivers will be unable to provide enough current and may result in lower torque or if overdriven, will be more likely to self-power cycle to keep cool.
As mentioned, the sparkfun motors were sold out. The best option was the phidgets motors as they were rated at 400 steps per revolution. A forum poster indicated the motors they received were the correct model but turned with 200 steps per revolution. To validate whether my motors were of the correct specification, I wrote a very simple Arduino program to step the Pololu driver 400 times. I put a piece of tape on the shaft, attached the driver to a breadboard, wired them together and ran the program – my shaft rotated exactly one revolution – so I had the correct 400 revolution motors.
Unfortunately I did not pay attention to the ratings of the motors – they are rated at 2.4 Amps. The maximum rating of the Pololu drivers is 2 Amps (at maximum heatsink cooling and 1 Amp at limited or no heatsink). This resulted in the drivers overheating sooner than expected – something I didn’t notice when doing the “Hello World” drawing with a pen attached to the Z Makerslide, as the torque and current requirements were so low. But when I did the second “Hello World” which involved cutting cork into a coaster, the drivers would shut down periodically to protect themselves and result in incorrect motion – the Arduino controlling the drivers has no idea this is happening. I did reduce the current limiting level on the stepper drivers, which helped somewhat, but then the torque was too low for faster lateral milling operations through denser material.
I’m pretty sure the small heatsinks that Reactive Substance supplied would have been adequate if I had the right kind of stepper motor.
The solution for the phidget motors was to modify an old CPU heatsink, which provided a large mass of aluminum into which the heat would go and dissipate. After this, I had no further problems.
Read about controlling the motors using an Arduino