one stepper motor as controller for another?

I have seen a stepper motor connected to another one such that turning the shaft on the first one causes the shaft on the second one to follow along.

An example is here: http://www.youtube.com/watch?v=KazPyDfTIJg

So, my questions:

[1] turning the first stepper is causing it to act as a set of switches only, and the force to turn the second motor is coming from an external power supply. Turning motor #1 is NOT generating enough current to turn motor #2, right?

[2] Is there any chance that doing this would actually work for microstepping, rather than just full steps?

Basically, what I want to do is use one step motor as a rotary encoder to drive the other motor directly.

(Btw, the reason that this post is in the Arduino forum, since this is almost an “Arduino circuit without an Arduino” is that there seemed to be the highest concentration here of posts about stepper motors, and lots of people that seem to know them well here.)

Even if turning one motor is capable of generating enough power to turn the other motor (with a near-zero load) I would want to add power to get the torque up. Even the “hold it still” torque.

http://en.wikipedia.org/wiki/Synchro talks about this concept (selsyn/synchro or resolver)

Here’s my ideal scene: 2 stepper motors wired together with a power supply adding current to boost the torque. I want to turn the shaft on one motor and have it generate sets of signals (like a sine and a cosine from different coils) that can be amplified (if necessary) in such a way as to cause the 2nd stepper motor to replicate the motion and turn something pretty heavy and then hold it still (just like the usual high torque that we get from steppers).

Anyone have any existing circuits for this? Or bright ideas on doing it cheaply/reliably/easily? Or good reasons why it’s simply NOT going to work?

Thanks!

(shameless bump and a new request)

How about this:

Does anyone have ideas about what sort of waveforms are generated by a stepper motor when the shaft is turned manually?

If I turned the shaft smoothly would it generate those beautiful sine and cosine wave pairs that are used to drive a stepper, or would it just spit out square waves like a pair of switches?

Has anyone tried turning a shaft while a coil or two were connected to an oscilloscope?

Stepper motors are usually driven with square signals, or roughly sinusoidal signals using microstepping. There are plenty of well established methods and products for driving stepper motors.

As far as using another motor as a control input…why? The only reason I’ve thought of it before is to generate programmable feedback drag or to servo the control knob. It’ll be far easier to just use a rotary encoder as the input to your control system.

Encoder > Arduino > Stepper driver > Stepper.

A stepper rotated manually can produce very weak signals. The other stepper probably misses some steps, and would not rotate at all if it’s mechanically loaded.

encoder > arduino > step controller > motor

I definitely understand that this is the standard way to drive a stepper motor.

Feedback is a pretty good way to describe what I am looking for. Or 2-way operation. Also really cheap and bulletproof.

At this point, I am mostly trying to figure out if the back EMF of the remote motor will push back as torque on the local motor.

I guess I should just grab two identical motors. Start with just one hooked up to a scope and see what comes out of it when being turned slowly and very slowly.

Then, using a pair, connect them in series with a DC power source and see if one can modulate the DC to drive the other.

It really seems like they would operate as a 1:1 chain drive between gears.

I have seen plenty of online experiments where a stepper was used as a rotary encoder, but never anything bi-directional.

I was mostly just wondering if anyone had any experience with trying these sorts of experiments.