After Transfer Function Identification....

H

Thread Starter

haroldo_psf

Hi all,

I have a simple question. I have an off the shelf DC motor controller, and a plant (motor and load). The position feedback is via rotaty quadrature encoder on the motor.

Assuming the motor and PI loop gains are well matched, my goal is to come up with stable gains for the position controller based on the transfer function of the plant, which in my case is the mechanical load plus the motor.

My plan is to apply a step response to the system (PID in manual mode sending constant current set point to the PI controller), and measuring the velocity step response. Then I will use the Recursive Least Square method (RLS) with Matlab to estimate the third order transfer function coefficients.

My question is: how to use the newly identified transfer function of the plant to simulate system behavior with the off the shelf PID controller that I have? How would someone typically interface the two (plant TF and PID motor controller)? Or do I have to model the PID controller as well?

Thanks in advance for any insight
 
Some questions before advice:

1. Do plant's transfer function is related to velocity-to-current ratio?

2. Do your PID controller has cascade structure with inner current and velocity loops and PI-velocity filter?
 
H
Hi Leon, thanks for your time!
See answers below


> 1. Do plant's transfer function is related to velocity-to-current ratio?

The plant is brushed DC motor plus mechanical load with non uniform friction. The controller will be (hasn't been designed yet) a position controller (may include both PID position and PI velocity) and a PI current controller for the motor. So, even though the objective of the controller is to position the load, for Transfer Function estimation purposes, I will give an open loop current input to the motor (torque to the plant), which will at first accelerate the load, and then the plant will settle at some speed. My feedback is roraty quadrature position encoder at the motor (coupled to load by lead screw). So, your question inspired another question on my end: when using an open loop step current input, should my measured output be acceleration or speed? In other words, based on what I just said, should my TF be current to velocity ratio, or current to accel ratio?

> 2. Do your PID controller has cascade structure with inner current and velocity loops and PI-velocity filter?

I haven't designed the controller yet. I want to identify the transfer function of the plant first (motor plus mechanical load). But yes, there will be a motor current PI controller cascaded with the position controller. The question is, what will this position controller be.

The hypothetical controller you mention (cascaded PID with inner current and velocity loops), does in include also a position controller based on position error as well, of only a velocity and current loops? How is a PI velocity filter typically implemented?

Thank you so much for sharing your thoughts.
 
1. It isn't so important acceleration or velocity you will use because ones differs by operator Laplace only. But how you plan to receive acceleration/velocity step response with quadrature encoder?

2. Cascade structure has PI-filters for current and velocity loops, P-filter for position loop. Also you can use structure without velocity loop with PID-filter for position loop as well.

Testing your application with standard single axis controller with build-in amplifier (from Elmo, Copley as example) maybe recommended as first step.

You can contact me by [email protected] also.
 
Top