PID Linearization Error - Does not Linearize, says contains 1 Algebraic Loop

1 visualización (últimos 30 días)
Hi,
I'm trying to control a linear actuator (DC motor driving a lead screw). I want a set lead screw speed, regardless of the load. If the load goes up, current draw should go up, but lead screw speed should remain the same.
I've modeled by DC Motor, H Bridge, and PWM Controlled Voltage. That's not a problem. However, my PID setup's not working. I'm using the measured linear speed, comparing to the 'setpoint' linear speed, and feeding that to the PID controller. The output of the PID controller (discrete) goes to a controlled Voltage source and then to the PWM Controlled Voltage block.
Specifically, I don't understand what 'linearizing' means, what 'Sample Time' I need to give, and am I doing it the correct way - I keep getting algebraic loop and 'cannot linearize' errors. I'm hoping someone can help me out.
Thanks, Satyan

Respuestas (1)

Arkadiy Turevskiy
Arkadiy Turevskiy el 20 de Jul. de 2016
I am guessing you trying to tune a PID Controller using "tune" button and getting an error. PID Tuner works by approximating a nonlinear Simulink model with a linear system around an operating point. This linear system is used to determine PID gains. The error message you get indicates your model is not linearizing.
You can try the approach shown in this video and in the doc .

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by