8 wire, brushless DC motor

Ask for and share advice on using the PicoScope kit to fix Heavy Duty and Off Highway machinery here
Post Reply
ben.martins
Pico Staff Member
Pico Staff Member
Posts: 545
Joined: Tue May 16, 2017 1:02 pm

8 wire, brushless DC motor

Post by ben.martins »

Recently I found myself going back over some old captures to see which ones might be useful to upload to the waveform library and I stumbled upon some captures I made to follow up on the JCB JS220 EGR fault case study. You can see the full case study here - https://www.picoauto.com/library/case-s ... ve-failure.

As with everything, time is something that none of us have a great deal of and I had completely missed the fact that I had been out to another machine to use the 8 channel scope and start understanding how this EGR actuator works and, more importantly, how best to test. I’m still not entirely clear on the operation of the actuator as the signals aren't at all what I was expecting, but I’m hoping this generates a bit of a discussion and maybe we could all learn more about this valve.
EGR.jpg
Firstly this actuator isn’t just used for EGR valves as it can also be found on turbo actuators. Fundamentally these are a 3 phase brushless DC motor which are being favoured due to less wear and tear. As this valve is used across multiple different engines and manufacturers the pin layout is the same.

1. Position sensor 5V supply
2. W phase position
3. V phase position
4. U phase position
5. Position sensor ground
6. W phase control
7. V phase control
8. U phase control

From what I’ve seen the motor can be connected directly from the ECM or sometimes there is a separate drive module which is linked back to the ECM over CAN. Feedback from the sensor is provided by 3 hall effect sensors which monitor the individual phase position.

Phase control is apparently provided by a PWM signal but this is not like any PWM signal I’ve seen before for motor control.
EGR voltage.png
In the above capture, I have applied a 1kHz lowpass filter which is to remove some of the injector noise. As you can see, the control voltages are less than clear and certainly not like a PWM signal we would expect. In fact compared to some other brushless 3 phase captures, it is surprising this even works.

Despite this there is still movement from the EGR valve which can be seen in the hall effect sensors.
EGR sensor.png
Where the sensor output is staggered we can theorise that movement is taking place. When the signal for the control on one of the phases stops, 2 of the position sensors no longer provide a pulse.
EGR both.png
What is interesting about this section is that the PWM signal in two of the phases looks a lot more like what we would expect. What I would like to do is revisit this at some point and instead of voltage, look at the current for the phases. Access can be tricky especially when trying to connect 3 current clamps.

In terms of testing, if you are looking for motor movement then you could just look at the 3 position sensors. The only way they can output a signal is if the motor moves.

I’m sure others would have come across these valves and maybe even have some captures. It would be good to see if this is the correct signal, which was captured on a machine with no known issues but you can never be too sure! I’ve uploaded the waveform to the Pico waveform library. If anyone would like to see it just search for JCB and JS220 and it should appear.

PaulW
OneWave
OneWave
Posts: 19
Joined: Tue Jul 26, 2022 5:37 pm

Re: 8 wire, brushless DC motor

Post by PaulW »

Hello Ben,
Great post. I'm glad that you are reviewing previous waveforms that were not loaded to the waveform library. I have seen this type of EGR valve on Cummins ISB, ISC, ISL, and ISX12G engines. These are 3 phase brushless motors, as you have stated. Brushless DC = BLDC. When you search that, you can find more information on them. They have ones with Hall effect sensor built in and some that are sensorless.

Furthermore, I believe that phenomenon PWM signal you are seeing is actually BEMF - Back Electro-Motive Force. More or less Len's Law, just like the collapse of a relay coil. When opening the coil the field will collapse causing the spike and reverse. When the MOSFET switches, each phase of the motor, causes a spike. I wonder if there is suppression built in the ECM? And is just not filtered at the actuator? Or the suppression is active there and we aren't seeing the full spike? It does almost look like the PWM control went to an analog signal. I'm sure they use PWM as a current limiter, like with injectors I'd be interested to see without the filter.
Attachments
Waveform sample I have found of BEMF of a BLDC actuator
Waveform sample I have found of BEMF of a BLDC actuator

User avatar
Rfmotors1
TwoWaves
TwoWaves
Posts: 94
Joined: Fri Aug 31, 2012 8:14 am

Re: 8 wire, brushless DC motor

Post by Rfmotors1 »

Hi Ben,

This is very interesting topic, thank you for starting it and even I do not have any advice or captures from EGR motor, I have more questions to add.

BMW engines are often modulating idle by valve lift throttling instead by traditional throttle body, theese engines using throttle body for idle regulation when the valve lift system fails or is not reliable due air leak, carbon sediment on valves etc.
The V8 M5 turbocharged engine has one such 8 wires motor on each bank, driven by 3 phase modulated current provided by engine ECU, as feedback there are 3 hall sensors in each motor and the ECU is using them for calculating accurate position and actuation, rotation speed of the motor which drives a shaft in cylinder had adjusting the variable valve lift. Thats just to simply explain the function.

My struggle is how can I describe the position of the motor from this hall sensors, like I could have graph going up and down as the valvelift regulation going on while engine idles.
Frequency describes the speed, phase describes the direction but I do not know how to combine it with counting the pulses which would be necessary value to describe the position on graph (as math cahnnel).

Attached is the waveform capturing basic setting, the ECU drives the motor to both full stops and I think this could be the best capture for experimenting.
- -

I hope it may be interesting to others as well but I really do not know how to move forward.

Regards,
Roman

ben.martins
Pico Staff Member
Pico Staff Member
Posts: 545
Joined: Tue May 16, 2017 1:02 pm

Re: 8 wire, brushless DC motor

Post by ben.martins »

Hi all,

Thank you both for your comments and glad it is an interesting topic. There is lot still unknown about these motors. I have found an interesting PDF surrounding some of the use of hall sensors in these motors which is below.
Hall sensors for 3 phase BLDC.pdf
(900.53 KiB) Downloaded 183 times
Of course this document won't be applicable to all the different options out there but it has helped with some of the unknowns. For example, each pulse can be attributed to a phase which seems like common sense but it goes on to say that depending on the start up position on the motor, the control can look at rising or falling edge.
BLDC hall effect sensors.png
If we take the PSDATA that Roman uploaded, thank you for this, and apply the idea that channel B is the leading phase and then add in the phase rulers for one cycle. We can see that the next rising edge from channel A is 120 degrees after and then channel C is another 120 degrees after. This backs up that each edge could represent a phase for feedback on rotor position.

Whilst thinking about this a little more, it did make me think about pulses and rotation position which brought back the speed/position used in Tesla motors which can decoded using the quadrature decoder. I've applied the decoder to the above signals but it only takes into account 2 of the sensors which I don't think gives the full picture. Plus we have unknown variables surrounding number of pulses per rotation and which edge is the leading edge, which way it's supposed to turn etc. However, when adding the decoder you can see the following results -
BLDC hall effect sensors quad.png
I feel like this is only scratching the surface but I'll hopefully get some more time to look into this subject as these 3 phase BLDC are seen more and more across all industries.

Kind regards

Ben

Steve Smith
Pico Staff Member
Pico Staff Member
Posts: 1594
Joined: Sun Aug 25, 2013 7:22 am

Re: 8 wire, brushless DC motor

Post by Steve Smith »

Well, they say timing is everything and after reading this forum post and carrying out a little research, several unknowns fell into place, thank you.

I was recently asked to look at a BMW 330e (F30) with an engine warning light illuminated.

After a system scan the following fault codes were stored:
DTC 135808 Position Sensor variable valve control “Faulty operation”
DTC 135B11 Control motor variable valve control “Open circuit in wiring Phase V”
Note the above are Bosch DTC’s and descriptions, the BMW description refers to Valvetronic Actuator/servomotor

Focusing on DTC 135B11, this was a perfect opportunity to use the MT03A Motor & Milliohm tester https://www.picoauto.com/products/milli ... tester-kit prior to further diagnosis
See the results below:
Image 1
Image 1
I hope we can agree the test results above indicate a winding imbalance within our Valvetronic actuator but not as the fault codes suggests “Open circuit in wiring Phase V”

Moving onto live data, below I was able to confirm no command to, or movement from the Valvetronic actuator with both parameters fixed at 254°
Image 2
Image 2
Very quickly, I moved to checking the Valvetronic actuator position sensor signals for feedback to the PCM. Note, the letters below describe the colors of the signal wires measured at the Valvetronic Actuator. Refer to waveform (Image 3 below)

U: Blue
B: Black
Y: Yellow
W: white
YR: Yellow/Red trace
YW: Yellow/White trace
YU: Yellow/Blue trace
Image 3
Image 3
Referring to the wiring diagram below (courtesy of ALLDATA and BMW) I have reservations about the near 5 V present on the Black wire given this ultimately terminates at ground via the PCM (DME) pin 16
Image 4
Image 4
There we have it, no further diagnosis as time ran out and I have been left with this challenge spinning in my head ever since (Very much like a curse)

Why did the Valvetronic motor fail to move? Was it seized? Is the PCM using fail-safe mode? Is it mechanical, or electrical? Is it the PCM? Why 5 V on the Black wire etc. etc. etc.?

I hope to revisit this vehicle if time allows, but in the interim, I wondered how I could have tackled this differently? (Given the time limitations)

Product knowledge comes into play here and something I did not possess with the above system, so this is where my research begins

Many thanks to Ben for opening this forum post topic23259.html that miraculously ended up with BMW Valvetronic actuation (timing is everything)

Within the above forum post, Roman has posted a great waveform (M5 basic setting B1 3 hall sensors of valvelift motor example) using some neat math’s to derive Valvetronic Motor speed, and direction.

With all this information we can qualify Valvetronic operation, however, Roman ask’s the question “how can I describe the position of the motor from this hall sensors, like I could have graph going up and down as the valve lift regulation going on while engine idles.
Frequency describes the speed; phase describes the direction but I do not know how to combine it with counting the pulses which would be necessary value to describe the position on graph (as math channel).”
Now that would be cool and got me thinking!

Prior to further testing of a known good vehicle (with Valvetronic 3) the following forum posts have helped a great deal with revision of Brushless DC Motors (BLDC), Permanent Magnet Synchronous motors (PMSM), BMW Valvetronic, and Encoders

BMW Valvetronic (N13) topic21932.html
BLDC viewtopic.php?p=100521#p100521
PMSM topic22767.html
Encoders and Quadrature decoder topic22719.html

Before moving on, many thanks to Pico James who kindly loaned me his 2019 F31 BMW 320i (engine code B48 B20A) utilizing Valvetronic 3 which incorporates position sensors built into the Valvetronic Actuator/servomotor

Using the 8-channel 4823 Scope, the following video describes how we simultaneously capture serial data with our scan tool and raw data from the Valvetronic circuits in order to determine the relationship between the acquired signals and degrees of Valvetronic actuation



Below is our waveform from the above video where Valvetronic motor and actuator position signals are captured from Engine start > Idle > Engine off > Valvetronic reset
Image 5
Image 5
Channels A to E above are 5 x Hall Effect position sensors, whilst channels F, G & H capture the current in each phase of the 3-phase Valvetronic Motor

So, why 5 Hall Effect Sensors for a 3-Phase motor?

Great question, and one that tripped me over until I zoomed in and realised 3 of these sensors detect the Valvetronic motor rotor position and the remaining 2 form an Encoder to determine the position of the Valvetronic actuator eccentric shaft (responsible for valve lift)
Image 6
Image 6
How can you tell which Hall Effect sensor is which?

In the image below, we can see how the frequency of the Hall Effect sensors for the rotor position are equal to each phase current. Note how the Max phase current aligns with the “High state” (5 V) of the Hall effect position sensor and the Min current with the “Low state” (0.7 V) during this stage of Valvetronic operation. Here we have 3 Hall Effect sensors whose states can change from high to low (3 sensors, 6 states) for one revolution of the rotor so returning 6-Step commutation
Image 7
Image 7
The remaining 2 Hall Effect sensors form an Encoder for the accurate detection of the Valvetronic eccentric shaft. Note how their frequency and phase relationship differ completely from the rotor position sensors. These sensors return 6 pulses for one revolution of the rotor so improving the resolution of the eccentric shaft position measurement.

At this stage we have to tread carefully with regards to the number of pulses per revolution of the eccentric shaft (relative to the rotor) as we need to first determine the relationship between these two components

So, how can we calculate the number of encoder pulses per revolution of the eccentric shaft?

This all starts with motor rotation and described in the work we carried out here viewtopic.php?p=100521#p100521

To summarise, I have assumed that our Valvetronic motor contains a 4-pole rotor (that is a huge assumption!)

The multiplication factor required to determine the relationship between electrical degrees of rotation (phase cycles) and mechanical degrees of rotation is calculated as follows:
Multiplication factor = Number of rotor poles / 2

Therefore, assuming our Valvetronic motor contains a 4-pole rotor (1 pair of north & 1 pair of south poles)
Number of rotor poles = 4 / 2 = 2.

2 is the multiplication factor between electrical cycles and mechanical degrees of rotation for a 4-pole rotor.
In other words, for a 4-pole rotor, we require 2 electrical cycles for the rotor to complete one revolution

Returning now to the video above, towards the end of the scope capture we could see how the eccentric shaft “actual” value swept from 7.3° to 253.9° when the engine was turned off (Valvetronic reset)

253.9 – 7.3 = 246.6° sweep (rotation) of the eccentric shaft

With this sweep value in mind (246.6°) there must be some form of reduction mechanism between the Valvetronic motor rotor and eccentric shaft, as our rotor (with 2 electrical cycles per revolution) can be seen to rotate multiple times by comparison to the eccentric shaft (246.6°) in the waveform above (see images 6 & 7) during the ignition off/reset event

Referring to BMW technical literature, I found the following information:

“5 Hall Effect sensors are integrated into the servomotor, which are supplied with a voltage of 5 V from the DME. The sensor system sends a resolution of 6° angle or rotation of the actuator, which corresponds to an accuracy in valve lift of 0.25 mm due to ratios


The above information has delivered a piece of gold in the form of 6° and 0.25 mm! Why/How?

In order to resolve down to 6° of eccentric rotation we need 60 pulses from our encoder

360° of eccentric shaft rotation / 60 pulses = 6° resolution

Armed with the knowledge that one rotation of the Valvetronic motor rotor is equal to 6 pulses from the encoder (see image 7) the rotor must rotate 10 times to complete 1 rotation (returning 60 encoder pulses) of the eccentric shaft. Our reduction ratio is therefore 10:1

A word to the wise about Encoders

Although we have a clear pulse count from our encoder, researching further, I found this golden nugget of information

“When more resolution is needed, it is possible for the counter to count the leading and trailing edges of the quadrature encoder’s pulse train from one channel, which doubles (x2) the number of pulses per revolution. Counting both the leading and trailing edges of both channels (B and D channels) of a quadrature encoder will quadruple (x4) the number of pulses per revolution. This technique is known as interpolation and will depend on how the signal is decoded through the PCM”

The message therefore is not to assume the PCM is only counting pulses, it may also count edges!

So, how can we translate these values into valve lift?

Given we have captured every rotor revolution during the engine start/ stop sequence, accompanied with eccentric shaft values from the serial data, we should be able to link the two and determine the degrees of eccentric shaft travel and ultimately valve lift

Using our Quadrature decoder for our Encoder (eccentric shaft position sensor system) we can utilise the “Cumulative” value (total number of rotor rotations) from the decoder table, alongside our serial data to qualify the reduction ratio between the rotor and eccentric shaft

Please see Ben’s post here regarding our Quadrature decoder topic22719.html

Below are the settings used for our Quadrature decoder where we have requested the “Display settings” to return “Displacement” based on 60 pulses per one eccentric shaft revolution. Note “Decode between time rulers” has been selected to decode only the rotor displacement during our eccentric shaft rotation to 7.3° (engine off) and from 7.3° to 253.9° (Valvetronic reset sweep of 246.6°)
Image 8
Image 8
Below we have the Quadrature decoder table where displacement is accompanied with a forward or reverse arrow denoting direction of rotor rotation.
Image 9
Image 9
Note above how the initial data “packets” indicate a reverse direction with a cumulative rotor rotation of -369° (Packet 62) Here our eccentric shaft rotates to 7.3° (As indicated by the serial data in the above video)

From packet 63 onwards, the direction of rotation has changed as our rotor starts to rotate the eccentric shaft towards 235.9° from 7.3°. Note the start time of packet 62 and 63 incorporates a 1.6 second interval which is indicated in the waveform by the large gap prior to the 246.6 sweep (See image above)

Below we confirm the forward rotation continues from packet 63 to packet 442 with a cumulative rotation of +1911°. Interesting that the final packet (443) highlights a momentary reverse direction of -3° which could be the initial position of the eccentric shaft for engine restart or, to prevent mechanical sticking against a “stop” (Total number of degrees travelled +1908°)
Image 10
Image 10
Below we can see how the Quadrature decoder displays not only the degrees of rotation of the eccentric shaft (relative to the rotor) but also the cumulative number of degrees and direction of travel between our phase rulers.

Once again, note how the decoder indicates 5 x 6° intervals of eccentric shaft travel (36°) for a 360° rotation of the rotor, where we approximate the reduction ratio between the eccentric shaft and rotor to be 360/36 = 10:1
Image 11
Image 11
Let us now look deeper at the figures

Using the “Export to csv” feature of the Quadrature decoder (see image 10) we can import this data into Excel
Image 12
Image 12
Note above how packet 62 is the final packet before the direction of the eccentric shaft changes.
We know from our serial data, at this point, the eccentric shaft resides @ 7.3°

From packet 63 through to 442 our eccentric shaft is travelling in one direction only until it momentarily reverses at packet 443. Here the eccentric shaft is approximately @ 253.9°
Image 13
Image 13
Using the features of Excel, we need to extract packets 63 to 443 so as to calculate valve lift during the eccentric shaft rotation from 7.3° to 253.9°
Below, packets 63 to 443 have been copied and pasted into new columns, the direction arrow has been removed from the “Displacement” cells and a formula applied to cells in column K (“=SUM(K$2:K2)”) to calculate the total number of degrees travelled from packet 63 to 443 only
Image 14
Image 14
Referring to the image below, scrolling down the new columns (above right) we can see that packet 443 indicates a total number of 2277° travelled by eccentric shaft, which does not seem possible given the data list indicates a maximum of 253.9°! Why?
Image 15
Image 15
This is where we return to the BMW technical literature and the quote “The sensor system sends a resolution of 6° angle or rotation of the actuator, which corresponds to an accuracy in valve lift of 0.25 mm due to ratios”

Given the PCM controls the eccentric shaft via the rotor phases; based on precise feedback from the Encoder, knowledge of the reduction gear ratio answers the question “Why”

We had previously calculated the reduction gear ratio to be 10:1 based on 60 pules per revolution of the rotor. Armed with this knowledge we can apply this reduction ratio to our cumulative value to acquire the degrees of rotation of the eccentric shaft.

For example: Packet 63 has a cumulative value of 6° (rotor rotation) / 10 = 0.6° of eccentric shaft rotation (See image below)
Image 16
Image 16
Based on the information quoted by BMW “6° rotation of the actuator for a valve lift of 0.25 mm” we can apply this resolution to column N above to calculate valve lift throughout the sweep of the eccentric shaft. How?

We know 6° of eccentric shaft rotation = 0.25 mm of valve lift
Therefore, to find the valve lift for 1° of eccentric shaft rotation:
0.25 / 6 = 0.042. Our resolution = 1°/0.042 mm lift
Hence 6° of eccentric shaft rotation = 6 *0.042 =0.252 mm

Below we have applied this resolution to display valve lift (mm) starting from 0° and from 7.3° which is the starting point of our eccentric shaft rotation during Valvetronic reset (packet 63)
Image 17
Image 17
Finally, we can now plot the valve lift from 7.3° to 253.9° thanks to Excel’s line graph feature
Image 18
Image 18
Whilst the above is not graphed using a math channel, for now it will provide a means to plot valve lift

In the Excel file below, we can see our eccentric shaft rotation does not travel to 253.9° as displayed by the scan tool (packet 443) Why?
Image 19
Image 19
We must remember we are reverse engineering the Valvetronic operation based on several assumptions such as rotor pole count and the number of pulses from our decoder. We should also consider the accuracy of the scan tool, or an error in the reduction ratio used during the above calculations (we have used 10:1)

An alternative reduction ratio maybe calculated as follows:

Using a 60-pulse count from the encoder, our rotor travels 2277° when the eccentric shaft travels through 246.6°
Therefore, 1° of rotor rotation is equal to 246.6° / 2277° = 0.108° of eccentric shaft rotation
To find the reduction ratio between rotor and eccentric shaft 1° / 0.108° = 9.259:1

If we now take packet 443 with 2277° (cumulative rotor rotation) and divide by 9.259 we arrive at 245.923° eccentric shaft rotation which is very close to sweep value of 246.6°

Our valve lift value would also increase to 245.923 x 0.042 = 10.32 mm

To be 100% sure on all the above, we need to intrude into the vehicle and dismantle a Valvetronic 3 Actuator/servomotor

So, there we have it, the conundrum of reverse engineering based on limited technical data and values derived using math's and our scope measurements

Following the research above, I can now return to the BMW 330e with improved product knowledge which will support the diagnosis

I hope this helps, take care……Steve

Post Reply