How to find a system's transfer function (Control Systems Toolbox)

31 views (last 30 days)
Hello everyone!
I'm designing a PID controller for a pressure valve application using a microcontroller but came across the realization that all my schooling on control systems started with a transfer function as a starting point but not how to characterize a system in transfer function form . . . I remember a few random spring and passive electronics examples but that's not looking like it's going to help much at this point.
I'm looking at buying the Control Systems Toolbox as it looks like a very helpful tool but, like schooling, most videos I've seen on how it's used start with a transfer function. I was hoping someone knew how (or could point me to a resource that would help me) to determine the transfer function of my system so I can make the best use of the control system toolbox?
Any help you can give me would be greatly appreciated. Thanks!

Answers (5)

Raj
Raj on 5 Mar 2019
A little more detail on your system would have helped to give precise answer. However, in general modelling of any system starts with a relationship between input(s) and output(s). It can be in terms of a linear equation, non linear equation, ODE's and what not. In case of continuous systems you take Laplace transform of this equation and ratio of output to input will give you the transfer function. If your system is discrete with some sampling time Ts then you can discretize the aforementioned transfer function from S domain to Z domain using methods line Tustin method or Zero Pole Hold method etc.

Raj
Raj on 12 Mar 2019
Hello,
From the information you have provided, it is understood that you have a set of input-output data and you want to model your physical system. Now since you dont have clarity on relationship between your input and output pressure data, the best method in my opinion would be using "SYSTEM IDENTIFICATION" app of Matlab. Check out details here.

Jeremy Brookley
Jeremy Brookley on 11 Mar 2019
Apologies for the delay, was out sick all last week and didn't have a chance to respond.
The system itself is a closed loop system that has two valves, one to increase pressure and the other to release pressure. For the time being, we have an analog sensor on the output line to view the pressure on the line. Not sure if these are the specifics you're looking for or if there's something else that might be helpful).
As far as the relationship between input and output, would we be measuring the response of the system with a timed input burst (since it's a closed system, the air isn't going to leak from the system, it will just continue to build pressure as long as pressure is applied) and then take the laplace transform? I'm assuming it's just going to be taking the Laplace transfer of a step function with the peak of the step function determined by how long pressure is being applied.
Not sure if I'm missing the entire point of this or if this is exactly what you're suggesting.
Sorry again for the huge delay but thanks for your help!

Jeremy Brookley
Jeremy Brookley on 11 Mar 2019
Sorry, one more thing that might be worth noting, we're controlling the valves with PWM rather than just on/off. I'm guessing that probably changes a few things. Sorry about that!

Star Strider
Star Strider on 11 Mar 2019
With respect to characterizing your system in transfer function form, it would likely be best to begin with a state-space representation, then use the ss2tf function (that is actually part of base MATLAB), then the minreal function to guarantee stability.
That’s how I’d approach it.

Community Treasure Hunt

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

Start Hunting!