Third newcomer in the ISTA Expert mode since May 2022: Valvetronic.
Undoubtedly – Valvetronic is one of the most complicated hubs in the BMW engines of our time. The mechanical part of high precision (inlet valves should be managed with several micrometers). The electronics can not be left behind (the position sensor should be high resolution; the motor can handle millions of cycles).
Not without reason, the newest generation of Valvetronic uses a collector less 3-phase AC motor (basic info can be found here; forcible oiling of the drive unit from the common oil Rail. It is hard to understand why the menu of this hub is included in ISTA only now – so many years after these engines were introduced in mass production. How have the BMW dealers and diagnostics specialists been working till now? Obviously, the problem was “detected” when everything had broken down and could be seen visually or audibly, or DME recorded the error messages regarding complete failure. The situation – is absolute “crap”.
But – thank you, BMW AG, for a Miracle! Now we have this menu!
Menu overview:
Menu legend:
I will start with simple things.
”Monitory has detected steady-state control deviation”
”Monitory has detected oscillating controller”
”Monitory has detected warning threshold value for the overload current”
”Monitory has detected overloading”
are status bits. It means that when the hub is performing correctly, they are 0. These status bits allow identifying the moment when the overload, inappropriate position of the motor, or increased jittering is detected. True though, it is not completely clear, what are the conditions of recording the jittering, because, for example, such shivering of Valvetronic in idle seems normal to DME (example of B38, but it does not change the idea):
One of the essential data groups is the required and actual position of the eccentric shaft. These curves allow evaluating time and quality of the hub reaction (I am not talking of severe defects when the hub cannot reach the required position and there are error messages in the DME error message memory. I’m sure such cases will not cause problems for anyone). Here, in the image – the performance of the correctly performing hub in stationary (unchangeable/slowly changing) conditions (Axis 4):
As we see – the reported precision of the maintenance of the Valvetronic sensor is typically around +/-0.4 degrees. Here is in place to emphasize – strictly the reported, not the actual position of the shaft. For these engines, the sensor measures not the position of the shaft (as previously) but is mounted on the axis of the motor itself (also mentioned at the beginning of this entry). For this reason, any actions with Valvetronic (replacement, maintenance, etc.) should be performed precisely as the manufacturer has described in TIS. The second nuance – if the hub has increased free movement in the gears, increased difference of required position and position, indicated by the sensor, is possible. So – ISTA will show a perfect fit, but the reality could be completely different.
And in this image – the performance of the hub in transition (swiftly changing) conditions:
By data, we see that the short-term inaccuracy increased to +/- 3 .. 4 degrees for approximately 0.3 seconds (one measuring cycle). Yes, the actual data confirms the impressive speed of hub reaction time mentioned in the BMW materials.
The most interesting (from the diagnostics point of view) for me is precisely the data of the position of the rotor of the motor. The motor rotor data the subtle nuances: jittering of the position, (un)stability of the whole system. So – precisely what we are fighting for! At the same here, we have most of all objections and nuances.
In the image – an example. Changes in the rotor position, idle, correctly performing motor (blue color, Axis 4):
Unfortunately, everything has gone “wild” for BMW AG with this parameter’s display. Where the problem hides? The range of displaying the rotor angle position is only one circle (360 degrees). Whenever the “beginning” or the “end” of this circle is reached, the curve “jumps” from 360 to 0 or the opposite – from 0 to 360. Unfortunately, there is no way to identify is the “jumping” seen in the ISTA menu is overreaching of the mentioned full circle or a swift change of the position in the range of the existing circle. Here is an example:
What happens at the marked point? There are two scenarios possible:
a. either the position sensor reaches the maximum of the circle (360 degrees, the curve actually is slightly climbing up);
b. or the position of the sensor changed swiftly, and the rotor turned to the beginning of the actual circle: the curve corresponds to the true situation.
Yes, this problem with uncertainty could be solved very simply:
a. introducing additional parameter – circle counter/indicator;
b. marking the moment of “circle crossing” in the curve (for example, with an arrow);
c. creating a more comprehensive range (at least 2 .. 3 full circles).
Unfortunately, nothing of it has been done accordingly – it is hard to work with these data.
Returning to the previous image, this looks like a situation when the rotor position has reached the border of the actual circle – slightly overreached max border, not “dropped” to 0. In the first case, everything is fine with the hub’s performance; in the second, something terrible has happened to the motor/its management. It looks like the curve is lying to us. But, we can not affirm that for 100%, so an elementary conclusion – everywhere where the curve of motor position reaches 0 or 360, the data are NOT USABLE!
The second situation is when the data of the motor rotor position can not be used – in swiftly changing conditions. The reason is simple – in swiftly changing conditions, the rotor makes several tens of full turns during one second. Unfortunately, data displaying options in ISTA are limited (data sample rate is only several samples per second); accordingly – some random “scribbles” are output on the screen. Also, I would expect BMW to intend some solution – at least making some unique color marking or the curve in this mode. Or at least some remark would appear in the description. But – nothing. I assume that not every diagnostics specialist has an education in physics and mathematics, so – adventures are guaranteed. Here, what can we conclude from such a curve?
Motor rotor position: blue color, bold.
Actually, the curve does not correspond to the actual situation – during each second, the rotor makes several full circles, but due to the rare output of the data (only around 3 times per second), we see chaotic “teeth”.
I decided to check if these data can be used to evaluate, for example, a slow turning of the eccentric shaft during the turn-on phase of the Valvetronic. The first minute after starting, the engine works in “classical” mode only after the Valvetronic is slowly activated. Here is the position of the eccentric shaft:
As we see, around one minute after the start, the shaft is slowly turned. During approximately 15 seconds, it reaches the necessary position. And here – motor rotor position data:
The correct display would be – a dropping “saw”. Already at the moment of activating the shaft, we don’t see anything similar to this “saw”; when the shaft “increases speed”, the rotor position data turns into complete chaos.
The reason is previously mentioned – data are updated only 3 times per second. The motor rotor turns fast – much too fast… The conclusion is harsh – the data of the motor rotor position are displayed incorrectly even in case of a slow change of eccentric position! BMW AG, I hope these failures of the data show will be eliminated!
If I already mentioned the data description, here it is:
At this moment, we have reached the last group of data. The description of this group is of the lowest quality. This group includes:
a. current, used by the motor;
b. “nominal” current of the motor;
c. PWM of the motor.
In the description and also in the data, there are some “slight” discrepancies:
a. PWM. PWM parameter has stayed behind since DC (collector) motors. Here, with PWM, possibly, we have to understand the relative “power” supplied by the MCU. In the state of a piece of the motor, PWM is displayed at around 4% – this is a minimal power that flows through the engine to keep it in a “tense”/rigid position and ready to immediately develop full torque. This “piece current” is significantly smaller than the maximal possible current; it is realized to reduce the heating of the electronics and the motor itself during a standstill;
b. the actual consumed current is always positive, regardless of the turning direction of the motor. The reason is simple – consumed current creates the total consumed current of all three windings (power hubs). The direction of this motor is determined by MCU by changing the activation sequence of the windings, not the direction of the current (as in DC motors). This current is different from 0 all the time because the motor has been held in a “tense” position (see PWM description above) – via at least one (but periodically also – via two) of its windings, the “piece” current is maintained. When the motor is tuned, the current via its windings is increased to increase the torque of the motor;
c. the nominal current displays additional current planned by MCU to be supplied to the motor during turning/active performance.
And in this image – an example of what the slight change of the eccentric shaft position looks like:
The average current via motor (red color, bold) in the “piece” state of the motor is around 2,5A (fluctuates 0 .. 5A, because it depends on the significant value of the current – again, the remark regarding rare data displaying). At the moment (marked in a red oval), when DME makes to change the position, we see:
a. planned “additional current” (green color) at the moment or a motor turning from 0A “jumps” to 5A;
b. duty cycle (yellow color) increase from 4% to 15 .. 20%. MCU signals that it has increased the energy supplied to the motor;
c. total current consumed by the motor (red color) increases to 15A. Electronics confirm – the motor started to consume a larger current.