Hi, I am working on a DMX controller project where I need my recently bougth motorized potentiometeres, or "flying faders" to go to a given value. This is a potentiometer where you move a knob up and down along a linear axis, and you can read the value from 0-1023, just like a normal pot, but these have a builtin 10V DC motor, so you can position the knob to a given value in your program (the knob will physically move, but you will need an H-bridge, of course). See picture attached (I have three of these faders, one for each of the colors RGB, and therefore three H-bridges. All connected properly to an Arduino Mega, with an external power supply). I just built a program so that I can type a number in the serial monitor and then the middle fader should go to that value.
The problem is that since it is not a stepper motor or a servo, the motor itself does not know where to stop. You have to set the motor to go one way, and when you reach the value you typed, the motor should stop, but since it stops when it reaches the value, the motor keeps going until it stops of friction, I believe, regardless of the fact that the power is taken away. So the knob always goes beyond where it is supposed to. Here is what I have tried to solve it:
- I tried to use PWM signals to slow the motor, but a PWM under 150 is not strong enough to make it move properly, and over 150 is still going beyond.
- I tried to stop the motor some "distance" (values) away from the destination point, but depending on how long the "trip" is, that distance will vary.
- I tried to program it so that when it reached the destination point, the motor would go on the other direction for some time, to stop the movement, but again, depending on how long the knob had traveled, its speed would vary, and some constant time would therefore be inaccurate.
- I tried to program it so that the knob would move slower and slower the nearer it got the destination point, but this failed, since I could not make the PWM signals cooperate.
It's so bad so that if i position it at 0, and tell it to go to 50, it goes to about 130, and if it is at 0 and I tell it to go to 700, it goes to about 1000 ... I did not post any code, since there is multiple failed attempts, but if it is needed, I will provide it. If someone has ideas of how I can get more accurate results, I am open for any advice
Photo of the faders (sorry for my messy desk):