我需要实现电机的位置、速度、电流控制,电机带有旋转变压器作为位置控制的传感器,现在我采用motorware中有感的应用,但发现有感的应用(如LAB13e)可以实现位置和速度的控制,不能实现电流的控制(像LAB05a中那样,给定IqRef_A 的值让电机运转),我查看了ctrlQEP.c中没有CTRL_setFlag_enableCurrentCtrl和CTRL_setIq_ref_pu函数,请问怎么实现电流控制呢?
谢谢!
user524568:
回复 Eric Ma:
谢谢ERIC的回复,你帮忙看看是否可以按照下面的代码实现电流和速度的转换
在主程序执行
if(CurrentCtrlEN)//如果采用电流控制
{
ctrlHandle->flag_enableCurrentCtrl=true;
ctrlHandle->flag_enableSpeedCtrl=false;
updateIqRef(ctrlHandle);
}
else
{
ctrlHandle->flag_enableCurrentCtrl=false;
ctrlHandle->flag_enableSpeedCtrl=true;
ST_setupPosConv(stHandle);
ST_setupPosCtl(stHandle);
ST_setupPosMove(stHandle);//设置 SpinTAC 位置移动的所有默认设置值
}
在中断中
if(!CurrentCtrlEN)//如果不采用电流控制
{
ST_runPosConv(stHandle, encHandle, ctrlHandle);
ST_runPosMove(stHandle);//速度控制
ST_runPosCtl(stHandle, ctrlHandle);
}
还有需要补充的吗?
谢谢!
我需要实现电机的位置、速度、电流控制,电机带有旋转变压器作为位置控制的传感器,现在我采用motorware中有感的应用,但发现有感的应用(如LAB13e)可以实现位置和速度的控制,不能实现电流的控制(像LAB05a中那样,给定IqRef_A 的值让电机运转),我查看了ctrlQEP.c中没有CTRL_setFlag_enableCurrentCtrl和CTRL_setIq_ref_pu函数,请问怎么实现电流控制呢?
谢谢!
user524568:
回复 user524568:
谢谢ERIC的回复,问题解决