Automatic Control Systems Toolbox v1.0

Automatic Control System Toolbox Copyright (C) 2000 G.Luca Troiani

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Full GNU GENERAL PUBLIC LICENSE Version 2, June 1991: license.txt file

Note on Laplace.92g: All files in the group are by Lars Frederiksen ASK@POST8.TELE.DK and are not under the GNU General Public License.
The Laplace.92g group file is added to help Automatic Control Systems Toolbox users that don't have to download the file by the web.


help by Troiani Gianluca: troiani@infinito.it  [sorry for the English, I'm Italian]
 
index:  



installing ACST


The acst.zip file must contain:
(89.6k)
1. helpdesk.html (this file)
2. asct.92g (group file)
3. laplace.92g (group file)
4. LaPlace92.txt
5. readme.txt
6. License.txt (
Full GNU GENERAL PUBLIC LICENSE Version 2, June 1991)
7. Licenza.txt (unofficial translation of the GNU General Public License into Italian)
8. HELPDESK folder whit all files of helpdesk
How to install ACST:

1. Ungroup ACST.92g file into acst fold in your TI-92

    acst.92g file must to include:
  acst.92p / acstplot.92p / bode.92p / bodemimo.92p
  dirac.92i / exit_ico.92i / file_ico.92i / ft_ico.92i / ggraph.92p
help.92p / int_mat.92f / intracst.92i / io_ico.92i / mwrkspc.92p
  nyquist.92p / ramp_ico.92i / readme.92t / rlocus.92p
  rtrnsys.92f / simsys.92p / ss.92f /step_ico.92i / tf.92f
  wind_ico.92i / wrk_ico.92i / wrkspc.92c / zpk.92f
2. Ungroup laplace.92g file into laplace fold in your TI-92
  laplace.92g file must to include:
  ilaplace.92f / ilapsub.92f / laplace.92f / lapsub.92f
 
[the full package can be downloaded from
http://web92.interfree.it/programmi.html]

^top


what is Automatic Control Systems Toolbox (ACST)

Automatic Control Systems Toolbox (ACST) is the evolution of Mat92Lab program.
ACST have powered tools to:
- define SISO or MIMO systems by their transfer function (F(s));
-
analyze systems by Bode diagrams, Nyquist plot, Root Locus plot;
- simulate systems (only SISO systems) ([source]->[SISO system]->[scope]);
- save and modify graphical outputs.

This program is written and tested on a TI-92 whit E-module (TI-92II) but can work also in a TI-89(*).
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. If you redistribute it, in this case I hope you will e-mail me (specially web distribution) where you distribute this program so I can send new versions etc.
___________
(*) TI-89 screen is smaller than a TI-92 screen, so some messages could be bad displayed and TI-89 users
must rewrite some commands that use TI-92 screen dimensions (like ggraph.92f)

^top


ACST main menu

To run ACST type acst() in the home command line and press [enter] (two times).

fig.1
The ACST menu (fig.1) control all the tools of the program:
[F1]: to manage the work-space
[F2]: to systems modeling tools
[F3]: to analyze systems or call the simulation tools
[F4]: to call the graphical tools
[F5]: for quick help
[F6]: to exit programs

Messages can be showed in the screen after you input a command

^top


work-space

The work-space is a data variable where are stored all the systems defined by systems modeling tools.
The use of the work-space data variable have a lot of advantages:
 
  • lot of system in memory do not implicate a lot of variable in acst fold
  • you can call two or more systems whit the same name, if you want
  • you can import/export one system or a group of systems (a work-space)
  • you can select systems whit a drop-dawn menu
 
For work-space control tools press [F1] in the main menu.

fig.2
The work-space tools (fig.2) control the work-space variable
[1]: print all systems ([ESC] to end printing) in the work-space
[2]: print a system selected by a drop-down menu
[3]: import an external system
[4]: import a work-space (overwriting the current work-space)
[5]: export a work-space
[6]: export a system selected by a drop-down menu
[7]: delete one system selected by a drop-down menu
[8]: reset the work-space

^top


systems modeling tools

Systems are modeled by their transfer functions. For systems modeling tools press [F2] in the main menu.
  The systems modeling tools (fig.3) define systems' transfer function+++

fig.3
  • [1]: just input a transfer function (SISO system) [example]
  • [2]: input NUM and DEN of the transfer function (SISO system) NUM and DEN are row vectors listing the numerator and denominator coefficients in descending powers of s [example]
  • [3]: input the zeros (Z), the poles (P) and the gain K of the transfer function (SISO system). Z and P are the vectors of zeros and poles (set to [] if none) and K is the scalar gain. [example]
  • [4]: to define the system (SISO or MIMO) just input the A, B, C, D matrix of the state space model:

               dx/dt
    =Ax+Bu
               y=Cx+Du


    where x is the state vector u is the input vector y is the output vector. MIMO systems will be modeled whit a NxM matrix (F) of transfer functions, where N is the number of outputs and M is the number of inputs. F[i.j] is the transfer function for u[j] and y[i]
  • [5]: systems (SISO) will be modeled by series connection of two predefined systems (SISO) [example]
  • [6]: systems (SISO) will be modeled by parallel connection of two predefined systems (SISO) [example]
  • [7]: systems (SISO) will be modeled by feedback connection of two predefined systems (SISO) [example]

 

 

 

 

 

 

 

^top



analysis of systems


For the analysis of systems press [F3] in the main menu.

The analysis of systems is available in four different ways (fig.4):++

fig.4
  • [1]: just input the system (SISO or MIMO) and the frequency range (rad/s), setting wmin and wmax [example]
  • [2]: just input the system (SISO or MIMO) and the frequency range (rad/s), setting wmin and wmax [example]
  • [3]: just input the system (SISO) and the gain range or a row vector of specific gains [example]
  • [4]: simulation tools let you simulate the time response of a specific system (SISO) whit a specific input. Simulation tools are illustrated in a specific paragraph


EXAMPLE: Bode diagrams

system is modeled by
F(s)=(12.5s^2+138s+125)/(s^3+64s^2+256s+1500)
and named sys_ex_1. We want to plot Bode diagrams in the frequency range wmin=0.1 rad/s , wmax=1000 rad/s

  • 1st: Press [F2]+[2] and input NUM and DEN and the name of the system (fig.5) as described
  • 2nd: Press [F3]+[1] and set (fig.6) system
    • name by the drop down menu
    • wmin and wmax (rad/s)

After the Bode diagram of Magnitude is plotted (fig.7) you can

  • plot Phase diagram (fig.8) by pressing [F2]+[2]
  • save current plot in a PIC file by pressing [F1]+[1]
  • recall a previous saved plot for comparison by pressing [F1]+[2]
    (to have a significant comparison you must analyze the current plot in the same frequency range of the previous saved plot and set dimensions - only ymin and ymax - of current plot at the same values of the previous saved plot by pressing [F5]+[3]. Information about current plot dimensions are available by pressing[F5]+[4])
    • example:
      • define a new system (sys_ex_2) with
        F(s)=(12.5s+125)/(s^3+64s^2+256s+1500)
      • plot the Magnitude diagram in the frequency range wmin=0.1 rad/s , wmax=1000 rad/s (fig.9) and view the plot dims (by pressing[F5]+[4]):
        ymin=-98.1 dB and ymax=-17.9dB
      • plot the Magnitude diagram in the frequency range wmin=0.1 rad/s , wmax=1000 rad/s for sys_ex_1 system (fig.7) and view the plot dims(by pressing [F5]+[4]):
        ymin=-38.9 dB and ymax=-4.59dB
      • so to plot the two Magnitude diagrams we have to set:
        ymin=-98.1 and ymax=-4.59
      • set (in the current plot - fig.7 -) ymin=-98.1 by pressing [F5]+[3] (ymax is already setted) and save plot in a PIC file (by pressing [F1]+[1]) named pic1
      • plot the Magnitude diagram of sys_ex_2 in the frequency range wmin=0.1 rad/s , wmax=1000 rad/s (fig.9) and set ymax=-4.59 by pressing [F5]+[3] (ymin is already settled) and recall pic1 (by pressing [F1]+[2])
      • final result is sowed in fig.10
  • set the input and output (only for MIMO systems, not in this ex.)
  • ReGraph the system by pressing [F4]
  • trace the current plot by pressing [F5]+[1]: move cursor and press [ENTER] to get point values
  • get distance of two point of plot by pressing [F5]+[2]
  • return to main menu by pressing [F6]

 

^return to analysis of systems


fig.5

fig.6

fig.7

fig.8

fig.9

fig.10

EXAMPLE: Nyquist diagram

system is modeled by
F(s) = (2*e^(-2.5*s))/(10*s+1)=(2*(0.082)^s)/(10*s+1)
and named sys_ex_3. We want to plot Bode diagrams in the frequency range wmin=0.001 rad/s , wmax=5 rad/s.

  • 1st: Press [F2]+[1] and input F(s) system (fig.11) as described
  • 2nd: Press [F3]+[2] and set system
    • name by the drop down menu (sys name: sys_ex_3)
    • wmin and wmax (rad/s) (wmin=0.001,wmax=5)

After the Nyquist diagram is plotted you can

  • set zoom factor by pressing [F2], are available
    • Zoomsqr (fig.12)
    • ZoomBox
    • ZoomIn/ZoomOut
    • ZoomPrev
    • ZoomSto/ZoomRcl
  • save current plot in a PIC file by pressing [F1]+[1]
  • recall a previous saved plot for comparison by pressing [F1]+[2]
  • set the input and output (only for MIMO systems, not in this ex.)
  • get diagram info by pressing [F4], info available are:
    • wt and phase margin , w0 and gain margin (fig.13)
    • trace (press D-pad up two times to move cursor on Nyquist plot, move cursor on a specific point and press enter) (fig.14)
  • ReGraph plot by pressing [F5]
  • return to main menu by pressing [F6]

 

 


^return to analysis of systems


fig.11

fig.12

fig.13

fig.14

EXAMPLE: Root Locus plot

system is modeled by
F(s) =((s-1)(s-3))/((s+1)(s+2+2i)(s+2-2i)(s+2))
and named sys_ex_4. We want to plot the Root Locus of the system

  • 1st: Press [F2]+[3] and input (fig.15):
    • row vector of zeros of F(s) ([1,3] in this ex.)
    • row vector of poles of F(s) ([-1,-2-2i,-2+2i,-2] in this ex.)
    • the scalar gain (1 in this ex.)
    • the sys name (sys_ex_4 in this ex)
  • 2nd: Press [F3]+[3] and set system
    • name by the drop down menu (sys name: sys_ex_4)
    • gains whit two alternative methods:
      • 1st: gain min and gain max
        • # of points in a new dialog window
          (gain step=(gmax-gmin)/(# of points))
      • 2nd: row vector of specific gains (in this example:
        [0.05,0.1,0.5,1,5,15,50,100,200,300])

After the Root Locus is plotted (fig.16) you can

  • save current plot in a PIC file by pressing [F1]+[1]
  • recall a previous saved plot for comparison by pressing [F1]+[2]
  • get diagram info by pressing [F2], info available are:
    • window's dims (xmin/xmax , ymin/ymax)
  • ReGraph plot by pressing [F3]
  • set zoom factor by pressing [F4], are available
    • ZoomBox (fig.17)
    • ZoomIn/ZoomOut
    • ZoomPrev
    • ZoomSto/ZoomRcl
  • return to main menu by pressing [F5]

^return to analysis of systems


fig.15

fig.16 (*)

fig.17 (*)

_________
(*) to decide the values of the row vector of specific gains I suggest you to try little interval and find the most significant gains. ZoomBox is very helpful to set the most significant area of the plot

 

 

^top



simulation tools

The systems to simulate are schematized into fig.18 and fig.19


fig.18

fig.19

sim1 is the name of the first system to simulate:
To define sim1:

  • 1st: define a system named system whit
    F(s)=1/(s+1)
  • 2nd: define a system named fback whit
    F(s)=1
  • 3rd: link system and fback in a feedback connection system named sim1 (fig.20):
    • press [F2]+[7]
    • set sys1 name to system
    • set sys2 name to fback
    • set new system name to sim1

fig.20

sim2 is the name of the second system to simulate:
To define sim2:

  • 1st: define a system named system whit
    F(s)=1/(s+1)
    (you can use the system defined for sim1)
  • 2nd: define a system named fback whit
    F(s)=1
    (you can use the system defined for sim1)
  • 3rd: define a system named contr whit
    F(s)=1/s
  • 4th: link system and contr in a series connection system named ser1 by pressing [F2]+[5] etc...
  • 5th: link ser1 and fback in a feedback connection system named sim2

Note: using feedback connection is automatically used an adder [+-] to the connection.

to simulate the defined systems:

 
  • press [F3]+[4] to call simulation tools
  • press [F2]+[1] to select step input (fig.21)
    • set step input parameters
      • start time: 1
      • initial amplitude: 0
      • final amplitude: 5
  • press [F3]+[2] to set simulation parameters:
    • system to simulate: sim1 or sim2
    • start time: 0
    • stop time: 20
  • press [F3]+[1] to start simulation
    (fig.22 for sim1 simulation, fig.23 for sim2)

fig.21

fig.22 (sim1)

fig.23 (sim2)
when scope is plotted you can:
  • save/load pressing [F1]
  • setting zoom factor pressing [F2]
  • setting scope options pressing [F3]
    • Grid on/off: type on or off
    • x grid step / y grid step
    • start time / stop time
    • ymin / ymax
  • ReGraph pressing [F4]
  • use items pressing [F5]
    • trace
    • get point
    • get Dx, Dy
  • exit pressing [F6]

^top


graphical tools

For graphical tools press [F4] in the main menu.
 

With the grafical tools you can:


fig.12 (copy)
  • Load saved pic (bode diagrams, scope of simulations, ...)
    (pressing [F1]+[2])
  • add lines:
    • vertical (pressing [F2]+[1]):
      you must move cursor to select a point and press enter
    • horizontal (pressing [F2]+[2]):
      you must move cursor to select a point and press enter
    • point to point (pressing [F2]+[3]):
      you must:
      • move cursor to select 1st point press enter
      • move cursor to select 2nd point press enter
  • text:
    you must move cursor to select a point and press enter
  • undo last change
  • undo all changes

Fig.24 show an example: fig12 modified using graph tools


fig.24

^top



about your calculator memory

If the program is not stopped pressing [on] key, all settings of your calc will be restored at the end of the program. No undesired variable will be stored in the calc. Remember that some errors may be in the program so it can interrupt in a no correct way, in this case some variable can be stored in your calc and some settings must be restored before restart Automatic Control Systems Toolbox.

^top



credits

^top


Roma 12/may/2000