From: <par...@us...> - 2012-02-25 20:14:58
|
Revision: 9681 http://octave.svn.sourceforge.net/octave/?rev=9681&view=rev Author: paramaniac Date: 2012-02-25 20:14:52 +0000 (Sat, 25 Feb 2012) Log Message: ----------- control: tinker with example (2) Modified Paths: -------------- trunk/octave-forge/main/control/inst/optiPID.m trunk/octave-forge/main/control/inst/optiPIDctrl.m trunk/octave-forge/main/control/inst/optiPIDfun.m Modified: trunk/octave-forge/main/control/inst/optiPID.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPID.m 2012-02-25 20:06:02 UTC (rev 9680) +++ trunk/octave-forge/main/control/inst/optiPID.m 2012-02-25 20:14:52 UTC (rev 9681) @@ -46,9 +46,8 @@ kp_AH = ku * 0.72 * exp ( -1.60 * kappa + 1.20 * kappa^2 ) Ti_AH = Tu * 0.59 * exp ( -1.30 * kappa + 0.38 * kappa^2 ) Td_AH = Tu * 0.15 * exp ( -1.40 * kappa + 0.56 * kappa^2 ) -tau_AH = Td_AH / 10 -C_AH = optiPIDctrl (kp_AH, Ti_AH, Td_AH, tau_AH); +C_AH = optiPIDctrl (kp_AH, Ti_AH, Td_AH); % Initial Values C_par_0 = [kp_AH; Ti_AH; Td_AH]; @@ -69,7 +68,7 @@ Td_opt = C_par_opt(3) tau_opt = Td_opt / 10 -C_opt = optiPIDctrl (kp_opt, Ti_opt, Td_opt, tau_opt); +C_opt = optiPIDctrl (kp_opt, Ti_opt, Td_opt); % Open Loop L_AH = P * C_AH; Modified: trunk/octave-forge/main/control/inst/optiPIDctrl.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPIDctrl.m 2012-02-25 20:06:02 UTC (rev 9680) +++ trunk/octave-forge/main/control/inst/optiPIDctrl.m 2012-02-25 20:14:52 UTC (rev 9681) @@ -1,5 +1,7 @@ -function C = optiPIDctrl (Kp, Ti, Td, tau) +function C = optiPIDctrl (Kp, Ti, Td) + tau = Td / 10; + num = Kp * [Ti*Td, Ti, 1]; den = conv ([Ti, 0], [tau^2, 2*tau, 1]); Modified: trunk/octave-forge/main/control/inst/optiPIDfun.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPIDfun.m 2012-02-25 20:06:02 UTC (rev 9680) +++ trunk/octave-forge/main/control/inst/optiPIDfun.m 2012-02-25 20:14:52 UTC (rev 9681) @@ -11,15 +11,9 @@ % Global Variables global P t dt mu_1 mu_2 mu_3 - % Function Argument -> Controller Parameters - kp = C_par(1); - Ti = C_par(2); - Td = C_par(3); - tau = Td / 10; + % Function Argument -> PID Controller with Roll-Off + C = optiPIDctrl (num2cell (C_par){:}); - % PID Controller with Roll-Off - C = optiPIDctrl (kp, Ti, Td, tau); - % Open Loop L = P * C; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |