您好,
由于MOTORWARE的例程框架整体使用IQ24格式进行计算,那么电流超过128A的系统请问如何解决?
我目前的猜测是将USER_IQ_FULL_SCALE_CURRENT_A 强制定义为 100A,在应对不同量程的电流传感器时,根据实际电流量程算出一个倍数。
比如:对于实际量程为200A的电流采样,那么200/100 = 2,此为转换因子。在其他计算中,以100A为基准,
对USER_MOTOR_MAX_CURRENT
USER_SYSTEM_INERTIA
USER_SYSTEM_FRICTION
全部相应的除以这个因子。再进行正常计算
比如实际上
USER_MOTOR_MAX_CURRENT == 200
USER_SYSTEM_INERTIA == 10
USER_SYSTEM_FRICTION == 5
FACTOR == 2
当做100A来计算时:
USER_MOTOR_MAX_CURRENT == 200/2 == 100
USER_SYSTEM_INERTIA == 10/2 == 5
USER_SYSTEM_FRICTION == 5/2 == 2.5
USER_IQ_FULL_SCALE_CURRENT_A == 100
gMotorVars.SpinTAC.VelCtlOutputMax_A == 100
我得计算目标值如果为100A,那么实际上是在200A的硬件环境下进行了100%的输出,那么实际上目标值也就成为了200A,请问这样处理是否会有潜在问题,或者我考虑不到的地方产生错误。