我正在尝试修改Lab5C,以便在同一程序中的惯性标识后添加instaspin运动控制器(单参数)。
我尝试比较LAB5C和LAB5F,但无法检测到差异。
在lab5C中,在惯性检测后,电机是否使用instaspin运动ADRC或PI进行速度控制?
如何检查是否有任何呼叫?
是否有函数调用来设置instaspin运动ADRC控制机制?
最后,对于instaspin运动带宽参数->剂量,您需要惯性和摩擦来进行带宽的一些背景预调?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在尝试修改Lab5C,以便在同一程序中的惯性标识后添加instaspin运动控制器(单参数)。
我尝试比较LAB5C和LAB5F,但无法检测到差异。
在lab5C中,在惯性检测后,电机是否使用instaspin运动ADRC或PI进行速度控制?
如何检查是否有任何呼叫?
是否有函数调用来设置instaspin运动ADRC控制机制?
最后,对于instaspin运动带宽参数->剂量,您需要惯性和摩擦来进行带宽的一些背景预调?
Mika
在lab5C中,在惯性检测之后,电机是否使用instaspin MOTION ADRC或PI进行速度控制? [/引述]
PI用于实验室05c中的速度控制。
Mika Bay 说:是否有用于设置instaspin MOTION ADRC控制机制的函数调用?[/QUOT]
是的,实验05d应引入函数调用以使用基于ADRC的速度控制器。 我很惊讶您在查看源代码时未检测到实验05c和05f之间的差异。
[QUETE USER="Mika Bay"]最后对于instaspin运动带宽参数->剂量需要惯性和摩擦力来进行带宽的一些背景预调?[/QUET]
惯性和摩擦的默认值对于大多数裸机马达应该工作正常。 但是,如果您的应用具有明显的惯性,则应确保在尝试调整ADRC的单个参数之前进行惯性/摩擦测试。
ADRC算法依赖于惯性和摩擦的系统模型信息,以便提供出色的性能和轻松的调谐。
我确实注意到了代码的变化,我从Lab5c开始,然后添加了行
//启用库内部PI。 IQ现在没有任何参考来禁用在for ()循环开始时来自PI的速度循环,
Ctrl_setFlag_enableSpeedCtrl(ctrlHandle, false);
&然后在lab5C主文件中添加了函数-> ST_runVelCtl(stHandle, ctrlHandle);
和以下中断代码用于选择惯性检测
或根据用户的选择进行实例速度控制。
IF (stcnt++>= ISR_TICS_PER_SPINTAC_TICK){
IF (gMotorVars.SpinTAC.VelIdRun)
st_runVelId (stHandle,ctrlHandle);
否则
st_runVelctl (stHandle,ctrlHandle);
stCnt = 1;
}
惯性检测部件工作正常,但不能进行自旋控制,我有什么遗漏吗?
此外,我如何知道Spintac控制器是否已识别带宽缩放的惯性检测->是否有功能可确保这一点?