Go Down

Topic: Servo motor for motorized faders (Read 1 time) previous topic - next topic


I'm working on a big motorized fader. Basically it's a 100 cm touchpotentiometer attached to an Arduino board and fitted underneath a slide that presses a pin onto the potentiometer. So far it works fine. But now I want to motorize it using a servo motor and timing belts. So that you can move the fader programmatically. I ordered a HiTec HS-625MG motor. The problem is that you can't move it by hand. I'm looking for something that has so little resistance that it just moves when I move the fader but that's still strong enough to move the fader when I take my hand away and use a programm to set a position.
Also it only turns 180°. Are there also motors that turn 360°?
Excuse my ignorance, I come from a software engineering background, the whole arduino/motor thing is new.


hello, Hi there.
In my humble opinion you should go to the dc motor with H bridge.


Or totally remote the fader controls. Use a stepper motor to drive the fader and have remoted control using a small, low count encoder. The program then keeps track of the fader position, can save presets and still be operated "manually".

Generally mixing automatic and manual operation requires that you make more complex hardware to allow things to disconnect, ot that you create more complex software. Softare is usually more adaptable and easier (and cheaper)to modify.


Thanks for the answers!
I looked into it a bit more and realized that I just have to disconnect the servo programmatically in order to be able to move it manually.
I'm using an openframeworks application and here's what I'm doing:
By default I connect to the arduino board without attaching the servo programmatically. Whenever I need to set the fader I use the sendServoAttach() function provided by ofArduino to attach the servo, set the position and detach it again. However the servo is still 'locked' after detaching, so I have to disconnect from the arduino board and reconnect again after setting the fader. This works but I get the lag from the disconnect/reconnect thing. Shouldn't the servo run free after detaching it without the need to reconnect the board?
One other thing: I thought the degree value I can send to the servo via arduino was an absolute value. So if I send write(90) it sets the servo to 90°. But it seems this function resets the position relative to the current position. Because in my test program I set the servos position, then I do this disconnect/reconnect thing and after a while the whole thing starts again. So I always set it to the same position and yet the servo moves even though I already set the same position in the last run of the loop. Can anyone shed some light on this?


Depending on the servo - but many tend to hold the last good position until another identifiable pulse comes in. In the real world that means that whatever it was controlling stays in the same position it was before the signal loss. A much better option that some randoms move on signal loss.

Also the gear train - quite a ratio from the motor to the output - really doesn't like to be driven backwards. Quite a strain on the gears.

Go Up