Question for stall error at right before HD overvoltage detection

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Question for stall error at right before HD overvoltage detection

1,383 Views
young-kyunpark
Contributor II

Hi,

 

My motor stall as the attached figure.

I'm using S12ZVML128 on my own PCB.

Here is my test settings.

 

0. Motor info

   6 pole pairs

   max rpm : 4000

   100W

 

1. GDU setting

   GDUE_GCPE = 1; /* charge pump enable*/
   GDUE_GCSE0 = 1; /* enable Current Sense Amplifier 0*/
   GDUF = 0xff; /* Flag Register - clear all error flags*/  
   GDUE_GBOE = 1; /* Boost converter enable*/

   GDUCLK2_GCPCD = 2;  /* Fbus / 32*/
   GDUCTR = 0x13; /* blanking time and overvoltage detection thershold */

   GDUDSLVL = 0x77; /* desatuartion level*/

   GDUE_GFDE = 1;  /* enable FET pre-driver*/  
   GDUDSE = 0x77;   /* Clear Desaturation Error Flags*/

 

2. PMF setting

  PMFCFG0_EDGEA = 1; /*PWM0 and PWM1 are edge-aligned PWMs*/
  PMFCFG0_EDGEB = 1;    /*PWM2 and PWM3 are edge-aligned PWMs */
  PMFCFG0_EDGEC = 1; /*PWM4 and PWM5 are edge-aligned PWMs*/

  PMFCFG2_REV0 = 1;    /* 01 PWM generator A generates reload event.*/
  PMFCFG2_REV1 = 0;  /* 01 PWM generator A generates reload event.*/

  PMFOUTB = 0x2A;  /*  Low MOSFETs ON while SW control (Unipolar PWM)*/

  PMFCFG3_VLMODE = 0x01; /* Writing to value register zero also writes to value registers one to five*/

  PMFFQCA = 0;              /* Reload every PWM, Half-cycle disabled, fcore / 1*/

  PMFMODA = 2000; /* Switching Frequency : 12.5KHz*/
  PMFDTMA = 13;

  PMFCFG2 |= 0x3f;   /* mask all PWM outputs*/
  PMFOUTC_OUTCTL = 0x3f;  /* all outputs in Software mode*/
  PMFENCA_LDOKA = 1;   /* apply PMF Modulo value*/

  PMFENCA_RSTRTA = 1;         /* 1 = PWM restart at commutation event*/

  PMFENCA_PWMENA = 1;

  PMFCFG1_ENCE = 1;     /* Commutation event input enabled and PMFOUTC, PMFOUTB and MSKn buffered*/

  PMFENCA_GLDOKA = 1;         /* 0 = Local LDOKA controls buffered registers / 1 = external Load OK controls buffered registers*/

 

3. Power Supply setting
   Trapezoid voltage input from 13V to 22V during 5sec.

 

observed motor stall condition ;

- Motor speed : 1500RPM ~ 3000RPM (didn't test over 3000RPM)

- Input voltage : over 18V (I know the norminal voltage range 6~18V)

 

I want to know why motor stall before GHHDF set.

What should I check?

Labels (1)
0 Kudos
1 Reply

962 Views
Martin35804
NXP Employee
NXP Employee

Hi,

I would recommend to go through the examples that are available for the

MTRCKTSBNZVM128: 3-phase Sensorless BLDC Development Kit with S12 MagniV MC9S12ZVML128 MCU

MTRCKTSBNZVM128_SW: Complete motor control application software package for MTRCKTSBNZVM128

as well as the corresponding application notes AN4704 and AN4718

This demo uses BLDC motor that can be used for sensorless or Hall sensor connection.

Parameters of the motor are following:

DC24V

90W

9350 rpm

Below are some settings calculation that might help regarding to your setup.

Check for following input configuration:

Motor Parameters
No. of Pol pairs6[-]
Nominal speed2000[rpm]
Nominal current25[A]
Resistance0,286[Ohm]
Back-EMF constant0,005206693[V.sec.rad-1]
Min required speed8,0%[%] of nominal speed
Max required speed200,0%[%] of nominal speed
Max current50,0%[%] of nominal current
Start up parameters
Alignment time4000[ms]
Alignment current20,0%[%] of nominal current
No of start up comutataions12-
first start period80[ms]
Board Scales
Max Meas Current40[A]
DC Link Voltage13[V]
Timer
Timer1,28us

You should have following following outputs:

Alignment parameters
ALIGNMENT_TIME4000int
ALIGN_CURRENT_SCALEDFRAC16(0.125)frac
Open Loop Start up parameters
START_CMT_CNT12-
START_FIRST_PERIOD62500int
REQUIRED_RUN_SPEEDFRAC16(0.000)frac
START_CMT_ACCELERATIONFRAC16(000.001)frac
Run parameters
MIN_SPEEDFRAC16(0.000)frac
MAX_SPEEDFRAC16(0.001)frac
SPEED_STEPFRAC16(0.000)frac
SPEED_CALC_NUMERATOR63941406int
DC_BUS_CURRENT_LIMITFRAC16(0.313)frac
RUN_PI_LOWER_LIMITFRAC16(0.000)
Stall checker parameters
STALLCHECK_MIN_CMT_PERIOD362

int

and following calculated values:

Nominal speed33,33333333Hz
Nominal Electrical Speed200Hz
Min speed160rpm
Max speed4000rpm
Max speed66,66666667Hz
Max Electrical Speed400Hz
Time between two commutations @ max speed0,000416667s
Time required for one electrical revolution @max speed0,0025s
Count between two commutataions @ max speed325,5208333int
Count required for one electrical revolution @max speed1953,125int
Voltage to achieve Min Speed0,523433875V
last start period10,41666667[ms]

Will post this calc. in near future at this community.

You may also refer to following thread:

S12ZVML-MINIBRD and BMW electronic pump

especially this part for the start-up section:

When the star-up parameters are wrong the the motor is during the startup vibrating and when it is switched to run mode it depends on which side has the motor vibrated at last (whether it has accelerated to much or decelerated during the last commutation).

That's why it is crucial for this application of the open loop start motor to set up properly, and sometimes via experimenting, following key parameters:

  • Duration of first commutation
  • Number of commutations
  • Acceleration (ration how much is the each following commutation shorter)
  • Alignment current
0 Kudos