我观察到我们有2个不同的 PID 方程。
在 ctrl.c 中,
Kp =_IQ (0.1);
Ki =_IQ (pUserParams->ctrlPeriod_sec/0.004);
Kd =_IQ (0.0);
outMin =_IQ (-0.95);
outMax =_IQ (0.95);这些值在 USER_SET_params ()函数的主文件中调用
在 user.c 中
RoverLs_d = Rs/Ls_d;
KP_ID =_IQ ((0.25*LS_d*fullScaleCurrent)/(ctrlPeriod_sec*fullScaleVoltage));
KI_ID =_IQ (RoverLs_d*ctrlPeriod_sec);
RoverLs_q = Rs/Ls_q;
KP_IQ =_IQ ((0.25*LS_q*fullScaleCurrent)/(ctrlPeriod_sec*fullScaleVoltage));
KI_IQ =_IQ (RoverLs_q*ctrlPeriod_sec);
Kd =_IQ (0.0);
此公式在 main 的 SoftwareUpdate ()函数中调用。
为什么两个 PID 不同,在什么情况下使用哪一个 PID?
Instaspin -FOC 和 Instaspin -spintac 有何区别? 我知道如果使用 QEP、我们不需要速度环路来确定速度、但这2个方框图有何不同?en
3.如果第2个方框图中未使用 QEP,速度规划、移动和控制中使用了什么方程式?
4.第一个方框图中使用了哪些 pid 方程?