OK, I've been thinking about the simplest possible driver circuit, thinking about the open source project. That would be a 4 transistor (per axis) driver, using wave control under TurboCNC. A few transistors, some diodes, and some resistors wired up to the parallel port should suffice, though I welcome other input.
My reason for asking is, I'm working on a <$20 "proof of concept" model with a single axis. A CNC Primer unit, if you will...which can function as a Z axis when completed. I intend for it to be an "I can actually do this!" type of project...simple, cheap, and easily understandable.
But, the more I think about it, the worse it gets. (Of course, I have a tendency to overanalyze everything)
OK...we have 4 coils...numbered 0, 1, 2, and 3. The motor is "stopped" at a random coil, let's say coil 2, and power is removed / computer is rebooted. That means the next step would require a pulse on coil 1 or 3, depending on the direction...that would be the next step.
But, since there's no feedback as to the position of the rotor, how does TCNC know where to start the pulses when it's first started? It could be, depending on the orientation, as much as 2 steps off at the start.
Extending this logic, it would seem this problem would exist in all stepper driver circuits. Any time power is removed, do the chips "zero" themselves back to the initial step? Seems like that's how it would work.
So, how is this situation handled? I really can't figure it out. Help?
-- Chuck Knight