Part Number:TMS320F280025COther Parts Discussed in Thread:C2000WARE
目前用Launchpad-F280025C+DRV8323Rs两款开发板、在调试过程中有一点关于力矩控制的问题想请教咱们的工程师。首先我描述一下我的理解
1.universal_motorcontrol_lab中的源码DMC_LEVEL_3和DMC_LEVEL_4都是用到了速度控制方式,DMC_LEVEL_3虽然是电流闭环并没有加入速度环路,但是还是需要给motorVars_M1.speedRef_Hz赋值,我认为力矩控制模式,应该不受motorVars_M1.speedRef_Hz的影响,只设置电流大小就能让电机正常运行,但目前DMC_LEVEL_3中,如果我把motorVars_M1.speedRef_Hz=0,电机不能正常运行了
2. initMotor1CtrlParameters函数中obj->operateMode = OPERATE_MODE_TORQUE;//OPERATE_MODE_SPEED;的设置改变也没有让我实现力矩控制
所以希望各位技术工程师告诉我,我需要在DMC_LEVEL_3基础上进行什么样的代码改动,才能实现力矩控制;感谢
Cherry Zhou:
您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
您好,
qiulan tang 说: 1.universal_motorcontrol_lab中的源码DMC_LEVEL_3和DMC_LEVEL_4都是用到了速度控制方式,DMC_LEVEL_3虽然是电流闭环并没有加入速度环路,但是还是需要给motorVars_M1.speedRef_Hz赋值,我认为力矩控制模式,应该不受motorVars_M1.speedRef_Hz的影响,只设置电流大小就能让电机正常运行,但目前DMC_LEVEL_3中,如果我把motorVars_M1.speedRef_Hz=0,电机不能正常运行了
虽然 DMC_LEVEL_3没有速度 PI 控制器,但电机可以通过使用 I/f 控制来控制,转子角度由把 speedRef_Hz 作为输入的斜坡发生器模块来生成。
qiulan tang 说: 2. initMotor1CtrlParameters函数中obj->operateMode = OPERATE_MODE_TORQUE;//OPERATE_MODE_SPEED;的设置改变也没有让我实现力矩控制
工程师这边没看到 operateMode 变量在软件项目中的实际使用位置。 应该不会有什么实际影响。
,
qiulan tang:
我想要实现力矩控制,不是通过speedRef_Hz 控制,只通过电流大小去控制,是否在universal_motorcontrol_lab基础上实现,需要做哪些改动,还是有其他的例程
,
Cherry Zhou:
您好,
可以试下删除代码中使用 speed_ref 的斜坡发生器部分,然后尝试手动控制 I_q 和 I_d 引用。
我们需要看下有没有其他更好的电流/扭矩控制例程可供参考。
,
Cherry Zhou:
您好,
Cherry Zhou 说:我们需要看下有没有其他更好的电流/扭矩控制例程可供参考。
位于 MCSDK 目录下的双轴电机控制项目可让您手动设置 Iq 和 id 参考值。 您可以尝试参考此代码,但请注意软件框架与通用电机实验室并不相同。
C:\ti\c2000\C2000Ware_MotorControl_SDK_4_01_00_00\solutions\boostxl_3phganinv
https://www.ti.com/lit/spraco3