AndyGadget
Senior Member
I think I've just come up with a bright idea for using a servo motor in a multi-rotation mode to drive a pulley / cord arrangement (think of old radio tuning) between two limit switches, from one pin of a Picaxe. I haven't tried it yet but can anyone see a flaw before I do?
Compared to a multi-turn winch servo this doesn't allow for continuous positioning, but it does allow for more travel and for the endstops to be on any type of mechanical assembly as they are not part of the servo.
1) Remove mechanical endstops of the servo.
Quick and dirty version :
2) Isolate the final drive gear from the feedback pot and set the pot at half travel.
(I use a blob of epoxy for this when I'm making a continuous rotation servo.)
3) Connect the slider connection of the pot to the commons of the limit microswitches (A and B).
4) Connect NO of A to +V. Connect NO of B to 0V.
(Slider is at half rail, set by half range pot. Overdriven by connection to +V or 0v when microswitch hit.)
Better version :
2) Totally remove the pot from the servo (or disconnect electrically and mechanically).
3) Connect centre connection (on PCB) to commons of microswitches A and B.
4) Connect suitable value pullup resistor to NC of A. Connect same value pulldown to NC of B.
(Slider is at half rail due to pullup and pulldown both connected.
One of these disconnects when endstop hit causing pullup/pulldown via other resistor.
This will operate in reverse direction to above.)
Operation :
In both cases when motor is away from endstops, voltage on slider will be half rail so setting servo to 0 will cause drive one way, servo 255 will drive the other way, as per a continuous rotation servo.
When the servo hits an endstop, slider will go to 0V or +V, satisfying the SERVO command so the motor stops and holds position
When the opposite command is received (255 or 0) this drives motor in reverse direction until other endstop is hit.
Unknowns are how servos (and Picaxe) respond to extremes of servo command (0 and 255) and to slider voltages outside normal operating range. This will no doubt vary from type to type. Limits may not be 0 and 255 - Easily found empirically.
Compared to a multi-turn winch servo this doesn't allow for continuous positioning, but it does allow for more travel and for the endstops to be on any type of mechanical assembly as they are not part of the servo.
1) Remove mechanical endstops of the servo.
Quick and dirty version :
2) Isolate the final drive gear from the feedback pot and set the pot at half travel.
(I use a blob of epoxy for this when I'm making a continuous rotation servo.)
3) Connect the slider connection of the pot to the commons of the limit microswitches (A and B).
4) Connect NO of A to +V. Connect NO of B to 0V.
(Slider is at half rail, set by half range pot. Overdriven by connection to +V or 0v when microswitch hit.)
Better version :
2) Totally remove the pot from the servo (or disconnect electrically and mechanically).
3) Connect centre connection (on PCB) to commons of microswitches A and B.
4) Connect suitable value pullup resistor to NC of A. Connect same value pulldown to NC of B.
(Slider is at half rail due to pullup and pulldown both connected.
One of these disconnects when endstop hit causing pullup/pulldown via other resistor.
This will operate in reverse direction to above.)
Operation :
In both cases when motor is away from endstops, voltage on slider will be half rail so setting servo to 0 will cause drive one way, servo 255 will drive the other way, as per a continuous rotation servo.
When the servo hits an endstop, slider will go to 0V or +V, satisfying the SERVO command so the motor stops and holds position
When the opposite command is received (255 or 0) this drives motor in reverse direction until other endstop is hit.
Unknowns are how servos (and Picaxe) respond to extremes of servo command (0 and 255) and to slider voltages outside normal operating range. This will no doubt vary from type to type. Limits may not be 0 and 255 - Easily found empirically.
Last edited: