Other Parts Discussed in Thread: TMS320F28027
Dear TI,
We are using a PCB based on the DRV8305-EVM kit. The microcontroller is the same as the devkit: TMS320F28027. The motor driver part is copy pasted from the EVM board, and the PCB layout requirements from the datasheet is also OK.
The firmware is based on your sample lab firmware: proj_lab10e. The gMotorVars config flags are attached as a jpg.
The motor controller is working well, when it is not started from zero speed (with flying start), however starting from zero speed is sometimes not working. In this case the motor rotates very slowly in the right direction (positive direction), but the speed from the estimator is negative. The speed loop output is saturating, the maximum current is flowing to the motor, but it is not starting.
I tried to fix this issue with the following code, but it is not working in all cases:
// Slow motion start problem workaround.
// When the motor is rotating very slowly at startup, the electrical angle should be offset manually.
static _iq angleOffset = _IQ(0.25);
_iq currentEstimatedElectricalAngle = EST_getAngle_pu( ctrlHandle->estHandle);
currentEstimatedElectricalAngle -= angleOffset;
EST_setAngle_pu(ctrlHandle->estHandle, currentEstimatedElectricalAngle + angleOffset);
Please let me know if you have idea what can cause this kind of effect, and some workaround to solve it!
Best regards,
Attila Lantos
NOWtech Inc.