PI regulator G(s)=Kp(s+Ki)/s. Tustin discretization

Defines

#define PI_REG(in, out, Kp, Ki)   out[N]=out[N1]+_IQmpy(Kp,_IQmpy(in[N],(_IQ(1)+_IQmpy(DTDIV2,Ki))) + _IQmpy(in[N1],(_IQmpy(DTDIV2,Ki)-_IQ(1))))
#define PI_QD_REG(in, out, Kp, Ki)   PI_REG(in.q,out.q,Kp,Ki); PI_REG(in.d,out.d,Kp,Ki)
#define PI_QD_REG_NOSYM(in, out, Kp_q, Ki_q, Kp_d, Ki_d)   PI_REG(in.q,out.q,Kp_q,Ki_q); PI_REG(in.d,out.d,Kp_d,Ki_d)
#define PI_REG_DT(in, out, Kp, Ki, dTDiv2)   out[N]=out[N1]+_IQmpy(Kp,_IQmpy(in[N],(_IQ(1)+_IQmpy(dTDiv2,Ki))) + _IQmpy(in[N1],(_IQmpy(dTDiv2,Ki)-_IQ(1))))
#define INV_PI_REG(in, out, Kp, Ki)
#define INV_PI_QD_REG(in, out, Kp, Ki)   INV_PI_REG(in.q,out.q,Kp,Ki); INV_PI_REG(in.d,out.d,Kp,Ki)
#define INV_PI_QD_REG_NOSYM(in, out, Kp_q, Ki_q, Kp_d, Ki_d)   INV_PI_REG(in.q,out.q,Kp_q,Ki_q); INV_PI_REG(in.d,out.d,Kp_d,Ki_d)

Define Documentation

#define INV_PI_QD_REG ( in,
out,
Kp,
Ki   )     INV_PI_REG(in.q,out.q,Kp,Ki); INV_PI_REG(in.d,out.d,Kp,Ki)

inverse PI --> calculate input for a given output to implement realizable references

Definition at line 251 of file FilterAndRotations.h.

#define INV_PI_QD_REG_NOSYM ( in,
out,
Kp_q,
Ki_q,
Kp_d,
Ki_d   )     INV_PI_REG(in.q,out.q,Kp_q,Ki_q); INV_PI_REG(in.d,out.d,Kp_d,Ki_d)

inverse PI --> calculate input for a given output to implement realizable references

Definition at line 258 of file FilterAndRotations.h.

#define INV_PI_REG ( in,
out,
Kp,
Ki   ) 
Value:
{\
                                                                                          in[N] = _IQdiv(out[N] - out[N1] -\
                                                                                          _IQmpy(Kp,_IQmpy(_IQmpy(DTDIV2,Ki)-_IQ(1), in[N1])),\
                                                                                          _IQmpy(Kp, _IQ(1)+_IQmpy(DTDIV2,Ki) ) );\
                                                                                          }

inverse PI --> calculate input for a given output to implement realizable references

Definition at line 240 of file FilterAndRotations.h.

#define PI_QD_REG ( in,
out,
Kp,
Ki   )     PI_REG(in.q,out.q,Kp,Ki); PI_REG(in.d,out.d,Kp,Ki)
Examples:
TIMotorLIBExample3/main.c.

Definition at line 147 of file FilterAndRotations.h.

#define PI_QD_REG_NOSYM ( in,
out,
Kp_q,
Ki_q,
Kp_d,
Ki_d   )     PI_REG(in.q,out.q,Kp_q,Ki_q); PI_REG(in.d,out.d,Kp_d,Ki_d)

Definition at line 153 of file FilterAndRotations.h.

#define PI_REG ( in,
out,
Kp,
Ki   )     out[N]=out[N1]+_IQmpy(Kp,_IQmpy(in[N],(_IQ(1)+_IQmpy(DTDIV2,Ki))) + _IQmpy(in[N1],(_IQmpy(DTDIV2,Ki)-_IQ(1))))

Definition at line 141 of file FilterAndRotations.h.

#define PI_REG_DT ( in,
out,
Kp,
Ki,
dTDiv2   )     out[N]=out[N1]+_IQmpy(Kp,_IQmpy(in[N],(_IQ(1)+_IQmpy(dTDiv2,Ki))) + _IQmpy(in[N1],(_IQmpy(dTDiv2,Ki)-_IQ(1))))

Definition at line 159 of file FilterAndRotations.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines
Generated on Sat Apr 16 11:42:45 2011 for TIMotorLIB by  doxygen 1.6.3