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?
Hi,
I would recommend to go through the examples that are available for the
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 pairs | 6 | [-] |
Nominal speed | 2000 | [rpm] |
Nominal current | 25 | [A] |
Resistance | 0,286 | [Ohm] |
Back-EMF constant | 0,005206693 | [V.sec.rad-1] |
Min required speed | 8,0% | [%] of nominal speed |
Max required speed | 200,0% | [%] of nominal speed |
Max current | 50,0% | [%] of nominal current |
Start up parameters | ||
Alignment time | 4000 | [ms] |
Alignment current | 20,0% | [%] of nominal current |
No of start up comutataions | 12 | - |
first start period | 80 | [ms] |
Board Scales | ||
Max Meas Current | 40 | [A] |
DC Link Voltage | 13 | [V] |
Timer | ||
Timer | 1,28 | us |
You should have following following outputs:
Alignment parameters | ||
ALIGNMENT_TIME | 4000 | int |
ALIGN_CURRENT_SCALED | FRAC16(0.125) | frac |
Open Loop Start up parameters | ||
START_CMT_CNT | 12 | - |
START_FIRST_PERIOD | 62500 | int |
REQUIRED_RUN_SPEED | FRAC16(0.000) | frac |
START_CMT_ACCELERATION | FRAC16(000.001) | frac |
Run parameters | ||
MIN_SPEED | FRAC16(0.000) | frac |
MAX_SPEED | FRAC16(0.001) | frac |
SPEED_STEP | FRAC16(0.000) | frac |
SPEED_CALC_NUMERATOR | 63941406 | int |
DC_BUS_CURRENT_LIMIT | FRAC16(0.313) | frac |
RUN_PI_LOWER_LIMIT | FRAC16(0.000) | |
Stall checker parameters | ||
STALLCHECK_MIN_CMT_PERIOD | 362 | int |
and following calculated values:
Nominal speed | 33,33333333 | Hz |
Nominal Electrical Speed | 200 | Hz |
Min speed | 160 | rpm |
Max speed | 4000 | rpm |
Max speed | 66,66666667 | Hz |
Max Electrical Speed | 400 | Hz |
Time between two commutations @ max speed | 0,000416667 | s |
Time required for one electrical revolution @max speed | 0,0025 | s |
Count between two commutataions @ max speed | 325,5208333 | int |
Count required for one electrical revolution @max speed | 1953,125 | int |
Voltage to achieve Min Speed | 0,523433875 | V |
last start period | 10,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: