Friday, January 27, 2006
Steppers vs. Servos
At the RepRap project we have a never-ending discussion about the relative merits of stepper motors (simple, implicitly digital, but low torque and expensive) and DC motors (more complicated to control, but high-torque and cheap). This small discussion mirrors a much larger one that has been going on for years in the machine tool and robotics industries. It hasn't been resolved there, so we probably won't arrive at a definitive answer either.To start with, RepRap will most likely use steppers, as we don't need a lot of torque (additive manufacturing is inherently very low force) and their simplicity of control cuts down on electronics - a big bonus.
However, I though I'd see if I could make a very cheap and simple DC digital servomotor using rapid prototyping. It's depicted above. I've put preliminary details on the RepRap Wiki.
One disadvantage to the above servo design is the fact that it uses incremental encoding, as opposed to absolute encoding. It may not make a difference if you have some means of referencing the motor's position.
Alternatively, you can use a few sensors and encode the disc using gray-code logic. It is a simple pattern which allows for only one bit to change between each position. This will provide you with absolute encoding for your servo, so that it always knows exactly what position it is in. It really depends on how you plan to apply the motor to the reprap.
Kudos on this project. I'm still a Mech Eng undergrad, and I've been keeping a close eye on your progress. Hopefully I will be able to offer some more ideas in the future. Cheers!
Anyway - the advantage of using something that works with IR light is that you could use the innards of a computer mouse (a mechanical one). All of the messy decoding logic as well as the photodetectors can be had for $5.
Alternatively, one might try using an optical mouse. With that, you could have an opaque disk - which would make mounting it easier.
Laserprinters certainly make darker patterns than inkjets - I have used laserprinted acetate sheets for UV masks for PCB production; you can't do this with an inkjet. But inkjets are a lot more widespread and cheaper - something that RepRap will benefit from.
Will this cause problems with 'mutating patterns'? Perhaps this could be handled by down-gearing the rotation of the axis with the pattern into a slower rotation of the piece being painted.
(I am of course assuming a non-cartesian reprap.)
There are problems with the growth of errors, but they can be minimised by making a map: you make a not-very-good wheel and use it to lay down (say) a comb shape with nominally 1mm teeth. Then you measure them accurately and use the measurements to correct for the mistakes in the wheel.
400 steps is a bit light on resolution, but might be good for rotationally symetric objects like gears and so forth. I could maybe treble the resolution with an anti-backlash gear. So much to design, so little time...
I have a 4096-step magnetic rotary encoder module if you'd like it, Adrian.
So many things that can be put to very different uses... so little time to shop. :-(