This week and last, we were to work on end-effectors.
Finished tube cutter mechanics
I finished up the mechanics for the first version of my tube cutter. I combined the roller clamp, o-ring rollers, and a new z axis carriage from bent aluminum. I used Pololu's stepper drivers and an AStar micro for control. I wrote some simple ramping routines for the steppers, and servo signal driving for the brushless motor. The assembly and first version of control board are shown below. I made some changes to the board after milling (tied enable pins together and reduce microstepping capabilities to free up serial pins...whoops).
I pressed a dremel EZ-mount shaft into a brushless motor with the matching 3.17mm (1/8") shaft diameter. Then I could just swap abrasive wheels onto this shaft. Since I was only supporting the z carriage by three points, the innacuracy of the bend on the finger brake wasn't a big deal.
You can see in the video I need to realign my belt!
TinyG peripheral interface
For a research push this past week, I spent time working with Matt Carney, Ben Jenett, Amanda Ghassaei, and Will Langford on an assembler machine. With Will and Amanda, I worked on a peripheral interface with the popular TinyG machine control board. This board is designed around the premise that many machines consist of stepper motors that need motion control (ramping, jerk minimization, etc.). There are pins on the board for controlling a spindle, but not much else in terms of peripherals. We decided to try using the Spindle ON, snd spindle DIR pins a rudimentary clock and data pins in order to talk with other microcontrollers. In this case, our microcontrollers were AStar Micros running control loops on DC gear motors. To let the microcontrollers report back when they finished their tasks, we used the TinyG's limit switch pins. With GCodes, we can tell the TinyG to wait until it recieves a signal on one of these pins before processing further tasks.
On the whole, this worked reasonably well, and allowed us to use the niceties of the TinyG without limiting ourselves to just stepper motors. We did ruin the Spindle pins on one TinyG board for an as-of-yet undetermined reason. I think in the future, though, I may just use stepper drivers and a more standard message passing interface between microcontrollers, because I'm not sure TinyG's motion control was worth the overhead of this hack.
DC Motor Position, Velocity, and Current control.
The Astar microcontroller nodes descibed above were driving micro metal gear motors, so we needed control loops for these. We set up position, velocity, and current control to drive a rack and pinion drive that we EDM'ed into a linear rail. To facilitate parallel kinematics, we included synchonization features to run between multiple motors.