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.
Hello,
We are running a project based on C2000ware motor control using the FAST estimator and I have come across something I don't understand. Our inverter is currently running at 500V. One of the output values of the estimator under estOutputData is oneOverDcBus_invV. Which is defined in the est.h file as "the DC Bus inverse, 1/V" as you would expect. However, the value I am getting is 0.0025, instead of 1/500 = 0.002. This is later used by the svgen_setup function and eventually in the svgen_run function therefore, a different value there would affect the maximum voltage vector I could get out of the space vector gen module isn't?
Any ideas why it might be that? Should I do the inverse manually instead of relying on the output of the estimator?
Regards,
Please check if the value of the variable "motorVars.VdcBus_V" is the same as the input voltage. If not, make sure that the USER_ADC_FULL_SCALE_VOLTAGE_V is set correctly according to the hardware of your inverter.
Hi Yanming,
I can't see the variable motorVars.VdcBus_V being updated anywhere in the code. The USER_ADC_FULL_SCALE_VOLTAGE_V variable is correct and my DC voltage measurements are correct.
I have noticed another constant "USER_NOMINAL_DC_BUS_VOLTAGE_V" which is used in userParams.dcBus_nominal_V and userParams.maxVsMag_V.The userparams structure is not passed to the estimator anywhere after initialisations so could it be that it needs to pass it since userParams.maxVsMag gets updated during runtime based on the DC voltage?
Check the value of estInputData.dcBus_V and adcData.dcBus_V in the expression watch window when the code is executed.
USER_NOMINAL_DC_BUS_VOLTAGE_V is only for identification to limit the output of the current PI controller.
userParams.maxVsMag_V. is used to set the maximum voltage output of the current PI controller.