Hi,
I download the source code from NXP website,
so as to motor can be started, at first #define ADVANCE_ANGLE FRAC16(0.4815),
and another macro define :#define ADVANCE_ANGLE1 FRAC16(0.08),
when the motor speed reach the certain speed, i want to let the motor‘s speed much faster,so we will let advanceAngle decrease ,judge
if(advanceAngle>ADVANCE_ANGLE1)
advanceAngle-=2;
when ADVANCE_ANGLE < 0.12 , GDUDSE ERR will appear.
i don't know where is wrong, and how to correct it.
below figure is my Schematic,
Hello,
Since your issue cannot be experienced with our devKit/EVB, I assume it would be connected with your HW. Have you checked the drain-to-source voltage of the MOSFET indicating the desaturation? If it is below 1.4 V, then you would need to check the HD pin or phase pins for peaks or ringing. If that would be the case, you can try to adjust the blanking time or implement a HW filter (RC-filter) to these pins.
Best regards,
Matej
I have the same problem as you. I download the source code(bldc) from NXP website,and modify the configuration as follows:
#define ADVANCE_ANGLE FRAC16(0.01)
GDSLLS=7;
GDSLHS=7;
GDUCTR=0XBB;
Unfortunately,the GDUDSE error will appear as soon as advanceAngle is less than FRAC16(0.12).Have you solved the problem?
Sorry, I haven't solve this problem now, if i find the answer, i will write here.
Hello Chding,
Are you using our MTRCKTSBNZVM128 (BLDC) or MTRCKTSPNZVM128 (PMSM) software examples?
https://www.nxp.com/webapp/sps/download/preDownload.jsp
What are the values of GDSLLS and GDSLHS registers?
Regards,
Hello,
I have the same problem. I download the source code(bldc) from NXP website,and modify the configuration as follows:
#define ADVANCE_ANGLE FRAC16(0.01)
GDSLLS=7;
GDSLHS=7;
GDUCTR=0XBB;
Unfortunately,the GDUDSE error will appear as soon as advanceAngle is less than FRAC16(0.12).
Regards,
Hi Jimenez,
Thank you for your reply! We using MTRCKTSBNZVM128 (BLDC) software examples, next is the source code of GDU module configuration.
The values of GDSLLS and GDSLHS are 0x07,
Vdesatls = 1.40V |
/*****************************************************************************
*
* Function: void initGDU(void)
*
* Description: GDU module configuration
*
*****************************************************************************/
void initGDU(void)
{
GDUE_GCPE = 1; // charge pump
GDUE_GCSE0 = 1; // enable Current Sense Amplifier 0
GDUF = 0xff; // Flag Register - clear all error flags
GDUBCL = 0x0F; // Set coil current limit to maximum 750mA
GDUCLK1_GBOCD = 0b10001; // Set boost frequency ~ 0.52MHz
GDUCLK1_GBODC = 0b11; // Set duty cycle to 75%
GDUE_GBOE = 1; // Enable boost
GDUCLK2_GCPCD = 2; // Fbus / 32
GDUCTR = 0x13;//0x13; // blanking time
GDUDSLVL = 0x77; // desat. level
GDUE_GFDE = 1; // enable FET pre-driver
GDUDSE = 0x77; // Clear Desaturation Error Flags
}