Question asked by Lars Emkes on Nov 10, 2016

Hello Community,

i use the LPC1549 µC board with the Control Board (OM13068) and i have a problem with the ADC/ADC burst mode.

I want to implement a method called "Variable Inductance Sensing Method" to detect the rotorposition of a BLDC motor.

The energizing of phases A, C and B is realized with the tool "Red State".

The implementation of this method requires that a voltage is applied for a fixed time such that it creates a magnetic field in the direction of only one winding. Two magnetic fields of opposite directions should be created for each winding. In order to do this, two phases are held to ground and one is switched to high, creating the forward magnetic field. Then two are switched to high and one is held to ground, creating the opposing magnetic field.

The two peak currents created from the two opposing magnetic fields are then measured and compared. The larger peak will indicate the current that is in the same direction as the magnetic field caused by the permanent magnet (rotor). Therefore, the polarity of the permanent magnet can be obtained, i.e. the rotor position is found within 180 degrees. After energizing a phase in opposite directions for a suitable amount of time, 2 current peaks would be produced. Then a bit 1 is assigned if the forward current peak measured is higher than the reverse current peak, otherwise a bit 0 is assigned. Repeating this procedure three times for phases A,C,B (in that order) results in a 3-bit binary code

The ozilogram shows the energizing of the phases. The Yellow-, blue- and red signal are the phases A, C and B. The Green Signal is a output, that shows my ADC measurement area.

I don´t know what i do wrong. I think the use of the ADC burst mode could be the problem, but i´m not sure.

I hope someone can help me!

p.s. In the appendix there is the nxp Project. There I use the JTAGTest project.

Original Attachment has been moved to: Variable-Inductance-Sensing-method.zip