Page 1 of 1

M1 DBW Model

PostPosted: Tue Dec 29, 2020 10:28 am
by David Ferguson
I would like to get a good explanation of the DBW Throttle Servo Model. What is this used for -- is it part of the control algorithm (of so how does it work), or is the model used to determine if there is a Aim Tracking Fault (so position isn't equal to what the model predicts).

What is the best way to determine the Delay & Time Constants? Is there a process or test we should perform to help us find the correct values or verify that existing values are correct? What can we expect to happen as we change the parameters?

Should we be logging Throttle Servo Bank 1 Model and comparing it to Throttle Servo Bank 1 Position and/or Throttle Servo Bank 1 Aim.

Looking for some insight.

Thanks!

Re: M1 DBW Model

PostPosted: Tue Dec 29, 2020 7:44 pm
by greenamex2
Me too! Thanks.

Re: M1 DBW Model

PostPosted: Thu Dec 31, 2020 2:28 am
by parsonsj
Me three! My most recent issue was on track when the throttles shut down with an "Other bank" issue on Bank1, and an "AIM Tracking" issue on Bank2. After repeatedly connecting and disconnecting the connectors (sensor and bridge), re-calibrating the offset and scale (with no luck), I swapped the servos from side to side to help isolate the wiring or the servo as the culprit.

I had the worst possible result: the problem went away, and hasn't come back. I'm wondering if a bit more insight into the DBW model might help me understand what's going on.

Re: M1 DBW Model

PostPosted: Tue Jan 05, 2021 2:53 pm
by Stephen Dean
Hi,

The Model Time Constant and Model Delay are the M1's calculated Throttle Servo Position.

This takes into account the delay in the motor starting to move the throttle plate once the request has been made, and the physically fastest opening possible for the throttle to move from the start point to the end point. The Model will trail the Throttle Servo Aim, but should precede the Throttle Servo Position by a small margin, you do not want the model trailing the Position as this will result in abnormal behaviour. This is especially apparent if the modelled and actual positions swap during a transition phase as it can lead to the reversal of the PID and Feed Forward control.

The behaviour of the model has an influence in the PID control of the throttle, as it is used as a form of pre-emption of the throttle position and starts the current reversal through the motor to provide throttle plate braking prior to the actual position reaching the aim.

These values are determined through an iterative process that requires the use of an oscilloscope and current clamp to monitor the current being supplied to the motor by the M1 to get the best possible behaviour of the throttle in a number of different operating modes and voltages. Areas that are monitored in this process include, but aren't limited to, over/undershooting of the Position vs. Aim, any ringing of the signal, stability of the position being held, PID behaviour, Feed Forward requirements and current draw through the M1 pins. The only way that this can be correctly done is with Level 2 logging as a minimum, preferably Level 3 so that the required channels can be logged at their maximum rates for post analysis. We also have two people validate the data generated before we will release the DBW data.

Re: M1 DBW Model

PostPosted: Wed Jan 06, 2021 4:11 am
by David Ferguson
Thank you Stephen. That is very helpful.

I hadn't considered using the oscilloscope current clamp on the DBW calibration, but it is mentioned in one of the PID webinars as a way to visualize the effectiveness of the Derivative parameter.

Also the relationship between the Model, Throttle Servo Aim and Throttle Servo Position is exactly the type of insight I was looking for.

Re: M1 DBW Model

PostPosted: Thu May 27, 2021 7:20 am
by bbrtuning
To clarify, does "Model Delay" account for the delay between request and start of movement, and "Time Constant" is the shortest amount of time it takes for the throttle to travel fully from 0% to 100%?

And the channels you referenced below for comparison would be:
"Throttle Servo Bank X Control Aim"
"Throttle Servo Bank X Model"
"Throttle Servo Bank X Position Sensor"

Is that correct?

Also, hijacking this thread a bit, is there further documentation on how the Zero Tolerance and automatic zero/offset calibration feature works? I have a few cars where the TPS voltage tends to drift very slightly based on the temperature of the sensor (Variohm Hall effect but had similar issue with a P&G) and this causes some issue with idle the throttle is driven to slightly different positions based on essentially engine bay heat. Was hoping this can potentially help in this situation.

Thank you

Beau

SDean wrote:Hi,

The Model Time Constant and Model Delay are the M1's calculated Throttle Servo Position.

This takes into account the delay in the motor starting to move the throttle plate once the request has been made, and the physically fastest opening possible for the throttle to move from the start point to the end point. The Model will trail the Throttle Servo Aim, but should precede the Throttle Servo Position by a small margin, you do not want the model trailing the Position as this will result in abnormal behaviour. This is especially apparent if the modelled and actual positions swap during a transition phase as it can lead to the reversal of the PID and Feed Forward control.

The behaviour of the model has an influence in the PID control of the throttle, as it is used as a form of pre-emption of the throttle position and starts the current reversal through the motor to provide throttle plate braking prior to the actual position reaching the aim.

These values are determined through an iterative process that requires the use of an oscilloscope and current clamp to monitor the current being supplied to the motor by the M1 to get the best possible behaviour of the throttle in a number of different operating modes and voltages. Areas that are monitored in this process include, but aren't limited to, over/undershooting of the Position vs. Aim, any ringing of the signal, stability of the position being held, PID behaviour, Feed Forward requirements and current draw through the M1 pins. The only way that this can be correctly done is with Level 2 logging as a minimum, preferably Level 3 so that the required channels can be logged at their maximum rates for post analysis. We also have two people validate the data generated before we will release the DBW data.