How to Analyze Root Locus in Matlab for DC Motor Control?

Click For Summary

Discussion Overview

The discussion revolves around analyzing the root locus of a transfer function for controlling a DC motor using Matlab. Participants explore the stability of the system across different gain values and share their experiences with the root locus plot generated by Matlab.

Discussion Character

  • Homework-related
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant presents a transfer function and expresses confusion about the stability of the root locus plot generated in Matlab, noting that it appears unstable at certain gains.
  • Another participant asserts that the system is stable for all values of gain since the poles are in the left half-plane (LHP) and requests an image of the root locus for further analysis.
  • A participant acknowledges the presence of poles in the LHP but questions the stability at high gains, suggesting that the root locus may have limits that prevent stability at those gains.
  • One participant shares their experience of adjusting the loop gain in rltool, indicating they reached a high gain without issues, reinforcing the claim of stability.
  • A participant reflects on their earlier confusion and mentions that the step response appeared fine, indicating a shift in focus towards optimizing the system's performance while maintaining stability.

Areas of Agreement / Disagreement

Participants express differing views on the stability of the system at high gains. While some assert that the system remains stable for all gains, others question this assertion based on their observations of the root locus behavior.

Contextual Notes

There are unresolved questions regarding the interpretation of the root locus plot, particularly concerning the behavior at high gain values and the implications for system stability.

eh87
Messages
8
Reaction score
0

Homework Statement


I'm trying to analyze the root locus of this transfer function in Matlab to control a DC motor:

mysys=tf([0.022],[0.00000000007 0.0000000626 0.000493])


The Attempt at a Solution



Using:

%[Kp,P]=rlocfind(mysys)
%rltool(mysys)
rlocus(mysys)

I get a root locus that looks somewhat odd and I'm not really sure how to interpret it. It doesn't appear to be stable at all gains. Although, it does look a bit better when I add a zero in rltool to the right of that gap and then it seems stable at all gains.

Help? I'm lost.
 
Physics news on Phys.org
Your system has two poles in the LHP, so it is stable for all values of gain. Matlab should draw a root locus consisting of two vertical lines, starting in each of the two complex conjugate poles.
Since no part of the root locus goes to the RHP, the system is stable.
Can you please post the image of the RL?
 
Thanks for the reply :)

Yes, they are in the LHP but I don't think it's stable for all gains. I know that as long as they don't cross into the RHP it should be, but this is just confusing. Please see the attached picture.

In rltool, when I move the pink dots (gain) it seems like there's a limit that they won't cross, which makes me think this is not stable at high gains (?). I'm not sure really what it means, but that's my guess.
 

Attachments

  • ece456 root locus.jpg
    ece456 root locus.jpg
    22.4 KB · Views: 523
eh87 said:
Thanks for the reply :)

Yes, they are in the LHP but I don't think it's stable for all gains. I know that as long as they don't cross into the RHP it should be, but this is just confusing. Please see the attached picture.

In rltool, when I move the pink dots (gain) it seems like there's a limit that they won't cross, which makes me think this is not stable at high gains (?). I'm not sure really what it means, but that's my guess.

I can't see your picture, because the authorization is pending. Anyway, the system is certainly stable for all gains.
I have tried to adjust the loop gain in rltool and reached 1.02e6, without problem, I stopped there, but could continue. For practical purposes this is infinity.
 
Hmm. Maybe I did something wrong before.

Anyway, I checked on the response to a step function in rltool today and it seemed fine. I guess now I'll work on tweaking it to make it faster without losing stability, then re-post.

Thanks!
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
4
Views
2K
Replies
94
Views
13K
  • · Replies 4 ·
Replies
4
Views
5K
Replies
2
Views
2K
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
13K