主题中讨论的其他器件:LAUNCHXL-F280049C、 DRV8320、 MOTORWARE
您好 TI
我想在风扇应用中使用无传感器 FOC 驱动三相 ACIM。
TI 的 Instaspin 和 PowerWarp 看起来非常适合我的项目、因为我需要以更高效的方式驱动风扇。
因此、我购买了 LaunchxL-F280049C 和 Boostxl-DRV8320进行测试。
我知道、boostxl-drv8320不适用于高电压。 因此、我提供了48V 电压、并且能够运行40W 220V 三相60Hz ACIM。
我检查了速度控制是否工作正常。
正如我之前所说的、我希望使用功率扭曲功能来提高驱动电机的效率。
所以我尝试了它、但它完全不起作用。
我使用此函数启用 PowerWarp。
EST_setFlag_enablePowerWarp (estHandle、motorVars.flagEnablePowerWarp);
我阅读 INSTASPIN 用户指南第16章 PowerWarp。
用户指南中提到了 CTRL_setFlag_enablePOWERWARP (ctrlHandle、true);
但我无法从工程中找到此类函数、而是找到 EST_setFlag_enablePowerWarp 函数。
当电机闭环运行时、我将 motorVars.flagEnablePowerWarp 值更改为1。
设置 motorVars.flagEnablePowerWarp 变量后、我检查 idq_ref_A.值[0]、但参考值根本没有更改。
我为基础项目使用了实验7 is07_speed_control。
很抱歉我的英语不好。
BTW 我不熟悉 TI 的 DSP。 详细解释会给我很多帮助:)
我只需在实验7代码中添加 EST_setFlag_enablePowerWarp (estHandle、motorVars.flagEnabableowerWarp)。
我标记了#。
然后我将 motorVars.KP_SPD 值设置为0.005。 如果我不将 KP 值设置为零、我将完全不会得到输出、这是不正确的。
每个代码都是相同的、但我生成了这一行代码。
我发布的代码位于主函数末尾。
if (EST_isMotorIdentified (estHandle)== true)
{
if (motorVars.flagSetupController == true)
{
//
//更新控制器
//设置自定义电流和速度控制器增益
//
updateController();
}
其他
{
motorVars.flagMotorIdentified = true;
motorVars.flagSetupController = true;
setupControllers();
}
}
################################## EST_setFlag_enablePowerWarp (estHandle、motorVars.flagEnablePowerWarp);##################################################################################
//
//更新全局变量
//
updateGlobalVariables (estHandle);
#ifdef DRV8320_SPI
//
// DRV8320读取/写入
//
HAL_writeDRVData (halHandle、&drvSPI8320Vars);
HAL_readDRVData (halHandle、&drvSPI8320Vars);
#endif
}// while 循环结束
//
//禁用 PWM
//
HAL_disablePWM (halHandle);
}// main()函数的末尾