Tobias Vögeli
/
GRT_VC_PIDT1
pr7
PID_Cntrl.cpp
- Committer:
- pmic
- Date:
- 2019-05-10
- Revision:
- 1:92f175969d90
- Parent:
- 0:05dd1de8cc3f
- Child:
- 2:1ded9d10f322
File content as of revision 1:92f175969d90:
/* PID-T1 Controller class 1 s G(s) = Kp + Ki --- + Kd --------- s T_f*s + p Eigther reseting the Nucleo via the black button or save a new software on the Nucleo sets the analog output to zero. Zero is equal to -4 Ampere!!! Therefor: NEVER !!! reset or save a new software while the VC is powered on (the green button on the VC is glowing green) */ #include "PID_Cntrl.h" using namespace std; PID_Cntrl::PID_Cntrl(float Kp, float Ki, float Kd, float Tf, float Ts, float uMin, float uMax) { // link member variables // ??? reset(0.0f); } PID_Cntrl::~PID_Cntrl() {} void PID_Cntrl::reset(float initValue) { // implement controller reset // ??? } float PID_Cntrl::update(double e) { // controller update function // calculate uI // ??? // saturate uI, uMin <= uI <= uMax (anti-windup for the integrator part) // ??? // calculate uD // ??? // calculate u // ??? // saturate u, uMin <= u <= uMax // ??? // update signal storage // ??? return 0.0f; }