help needed to build servo-amp

S

Thread Starter

sorin_p

need help to build a servo-amp, brush-dc motor +incremental encoder.

I have problems with PID close-loop. Maybe somebody have a good schematic for it. I think I can convert pulses from the encoder to dc signal and use it as a kind of tacho signal.

thanks
 
C

Cristian BOGUS

Do you use a microcontroller/DSP?

In this case you can set a time interrupt in which you look at the encoder position and differentiate it:
estimated_speed=actual_position-previous_position;
previous_position=actual_position;

In this configuration you need a timer to count encoder pulses... This is a standard feature for a lot of motor control-DSPs (Texas Instruments, Analog Devices, etc.)

Otherwise I think you'll need a converter frequency/voltage. Simply filtering is not enough since the average value of the signal from an encoder channel will be constant (in steady state regime) regardless of speed (the encoder signal has a constant duty cycle).

In some applications you can estimate the speed from the voltage you apply to the motor by substracting the resistive drop:
Speed=K*(U-R*I)

I think this is much more simple to implement and you do not need an encoder nor a tacho..

Regards,
Cristian
 
S
thank you, Cristian.
No I never used DSP and I think it's late for me to learn. I prefer to use analog for simplicity.
For the F->U converter I want to use a simple monostable to obtain a fixed pulse lenght, followed by an integrator.My problem is with the int&diff usually used on the loop.
Sorin Paul
 
Hi Sorin,

If you use incremental encoder for tacho signal, you must transform A,B signals of encoder to Up/Down signals before F/V conversion. This need for bipolar tacho signals for feedback. If you need velocity loop, PI controller is enough.

Do hesitate to contact me for any help,
[email protected]
 
Top