S12ZVML-MINIBRD and BMW electronic pump

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

S12ZVML-MINIBRD and BMW electronic pump

Contributor I

S12ZVML-MINIBRD can let BMW electronic pump turn up? I put the line connection, why the pump only half turn stopped.

Labels (1)
0 Kudos
1 Reply

NXP Employee
NXP Employee

It depends haw to pair poles are organized within the motor and whether the commutation is done properly and the start-up parameters are tuned up for the motor of the pump.

In general in this case I would refer to following application note: AN4704, 3-phase Sensorless BLDC Motor Control Kit with the S12 MagniV MC9S12ZVM - Application Note


I assume that you are already running the S12ZVML-MINIBRD_BLDC: Complete BLDC motor control application software package for S12ZVML-MINIBRD board.

If not, you may download it here:

S12 MagniV S12ZVM Mini Board for Sensorless M|Freescale

If it fails from the start within the transient process from start-up to run mode ("AppStart" -> "AppRun"), then your initial start-up settings are wrong for the particular motor. That means that the speed of the motor at the end of the start-up is completely different then the algorithm is expecting to be.

This part of the code is detecting it:

if (driveStatus.bit.NewZC == 0)

{ // Zero-cross not found in previous commutation period

timeZC = timeCommutation - (actualPeriodZC >> 1); // Middle between two commutations

GDUPHMUX_GPHMX = BemfPhase[NextCmtSector];    // will be applied at the next PMF Reload



TIM0TC0 = timeCommutation + (actualPeriodZC << 1);

timeZCToff = MLIB_Mul(actualPeriodZC, TIME_TOFF_FRAC,F16);

driveStatus.bit.StallCheckReq = 1;

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