Using a stepper motor to control Flexion/extension of InMoov's head

Part one :-
Replacing Servos with Stepper Motors
Large Servos can easily burn out when they stall.
So this is the first experiment with retrofitting/replacing servos with stepper motors to make a more modular flexible approach.
Nema motors are very cost effective and they are easily controlled with 3D printer Ramps motor driver boards and software...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
bensonofjohn's picture

That looks like it is working

That looks like it is working well, it is a good fit in the parts below the neck as well. How do you control the max and min travel of the stepper motor?

Gareth's picture

limits will be micro switches of some sort....

As I am using a Ramps 1.4 board on a Mega board to drive the steppers , there is already provision (connectors) for limit switches ... either mechanical Micro switches or IR breaker type.

The InMoov chest parts below the stepper will have to be adjusted slightly as the Nema17 is 2mm too fat, no worries its an easy mod.

GroG's picture


Ok, we need to control them the way you want.
Servos have a pot for feedback ...

Do you want a pot, a single switch to do relative positioning from that.. or something else (optical encoder?)...

3D printers for my knowlege all work off of relative steps from a base switch.. which explains when you get the belt to move during a print ... it will continue to print with that ingested off-set.

The steps are pretty trivial in MRL, but I want to know what kind of feedback (if any) the Swiss elves are interested in !  

It would be fun to make the stepper replacements capable of digesting a "normal" InMoov script with no code change only configuration !

Lets do this !

Gareth's picture

Hmmm unsure....

My imediate ploy is to have top and bottom limit switches (errr fail safe max/min switches...haha). and use them as resets to counters.....and as you say keep track of the pulses.

Second ploy is to fit a linear potenetiometer behind the throat section and get imediate feedback, or even a spur gear driving a rotational potentiometer (that would be the neatest).

Third Ploy would be to make each motor assembly servo compatible with the addition of a cheap Wifi/bluetooth remote ..... in one compact module. The idea of having remote controlled servos appeals to me....


bensonofjohn's picture

Other options that occur to

Other options that occur to me are a stepper motor with a dual shaft and connect the other end to a pot making it more servo like or the stanard rotary encoder.

An LDR and LED mounted in the rear of the outer throat piston case that detects black lines drawn on the throat piston at the upper and lower reaches.

wkinne's picture


So do you have to add an arduino to deadacate to the ramp? Also I would love to see your code that talks to the ramp 1.4, I have a project I could use one on.