Position Control

J

Thread Starter

Jared

Before we start...I am a novice in control theory...

I am developing code to control position of a motor driven by a VFD with encoder feedback. I have the ability in the controller I am using to command speed and direction only (no position), so I am trying to write a simple position loop.

I know it would be much easier using a servo which has built in position control, but I do not have that luxury...

I have successfully written a simple trajectory generator and am able to update the commanded position on every scan of the PLC.

I have a PID which compares commanded position to actual position and generates an error.

I have been looking for documentation on how to convert the error (in pulses) to an increase or decrease in speed (pulses/sec).

So in other words, how to I calculate the speed command based on position error? Is there a general rule of thumb for doing this?

Thank you,
Jared
 
T
Jared,

You have a dynamic command position and a feedback position. The difference between the two is the position error. Typically, this position error is fed through a D/A converter and becomes the command to the velocity device, in this case, the VFD. Since the VFD is an integrator, a position error fed into it gives a velocity output. This will give you a crude servo. If the VFD requires a direction signal, you will need to create this based on the position error. You may have problems at rest with hunting, but you sound creative enough to figure out how to hold it in position once you get there.

I have an 18 page booklet called "Servo Basics for the Layman" which I would be happy to email to you. It would help you understand how a basic servo works and would give you some insights to help make your system work.

Best regards,
Tom Bullock
[email protected]
 
Hello Tom,

I am very new to the Control Engineering field.

I am currently working on a position control of a Servo Motor. I have the transfer functions related to the plant and the controller.

However, I am unable to build the simulink model from the above given data. Is it possible to give any advice or help about how to proceed with it?

Thanking you.

Reagrds
Sanyam
 
Top