Sale ends todayGet 30% off any course (excluding packages)
Ends in --- --- ---
I'm working with MoTeC USA to get my latest dual DBW setup "certified" and I've sent my throttle setup on a jig up to them a couple of times. For this next trip up, I'm trying to do some homework to have a better chance to minimize their time and my money :) . Anyway, I've got them working here, based on guesswork and past setups, but now I'm trying to do some fine-tuning and learn something.
So, the Feed Forward table: should it roughly match the Motor Output Duty Cycle? In other words, is the idea to tune the Feed Forward table to the expected Motor Output Duty Cycle at various throttle positions?
Another thing I notice is that the Motor Output Duty Cycle is different depending on whether the movement is aided by the return spring. IOW, opening the throttles seems to require more Duty Cycle than closing them, e.g.: 30% to 50% throttle needs about 12% duty cycle but 70% to 50% needs about -5% duty cycle.
Is there a best practice for filling out the feed forward table in this instance? Or am I chasing the wrong thing?
Once the throttle position feedback has correctly calibrated, the next step is to populate the feed forward table. The table should be set up for around every 20%, it must include 0 and 100 sites. The Feed Forward table will generally have negative values (opening spring) and positive values (closing spring). The Feed Forward will be 0 at the changeover point of the springs. If the Scale and Offset are calibrated the spring change over point will be the throttle position the throttle position reports when in Power Save. The Feed Forward table can be set with a break point +/-2% around the Power Save Throttle position.
https://photos.app.goo.gl/iBC7Tt5wGm7xiVJ3A
Above is an example of a Yaris GR throttle, which has a default position of 9.1%. When populating the feed forward table, it pays to keep in mind that with most conventional OE throttle body assemblies, it will be uncommon to require feed forward numbers much over 25%.
The feed forward should be populated during progression testing, with a medium rate of change. This will allow for the minimum amount of integral to be required. While populating the feed forward table, attention should be put on the behaviour of the integral control. It should be noted that in steady state positions, it will be expected to have a small negative integral control number. Depending on the accuracy of the throttle used, the integral control should be able to stay under +/- 5% in throttle progressive opening situations as shown below:
https://photos.app.goo.gl/dTyDYUsDxbTuxCbG7
Completing this calibration should be completed at 15V and verified at for correct operation at 12, 10 and 8V. The current should not exceed 2A during operation, or when holding 0 or 100% throttle. 3A in some cases can be acceptable, but it is to be avoided if possible.
https://photos.app.goo.gl/eGNzfn8dz8Am8a8W8
The above picture shows the effect of lowering the voltage. The movement is slower, but the control is still fine. This is mainly a check, and it is unlikely that it will need the PID to be changed.
A slow sweep test should also be done to see the maximum currents. The “hash” in the slow movement should not exceed 2A and the overall maximum current at 100% throttle position should not exceed 2A although a little bit over will not hurt. If the constant current at 100% throttle position was 3A it would still probably be ok but if it was a custom set up the customer should be asked to lower the spring rate to reduce the current. Based on experience it is unlikely a factory manufactured throttle will have much more than 2A at WOT continuous.
The throttle tested in the picture below is within acceptable limits of current for a slow opening test.
https://photos.app.goo.gl/po66JtEBLPsc4ks68
Once the feed forward table is calibrated in the opening direction, the 0% throttle feed forward and integral negative clamp needs to be configured. The two primary concerns that need to be addressed are ensuring that the throttle can be shut at low operating voltage, and current draw of the motor at 0% throttle aims. Depending on the application, you may need to ensure you have a site in the feed forward table just above 0%, in this case 2%, as the closed position may require a relatively high current compared to just slightly open. The tests should start at 15v power supply.
https://photos.app.goo.gl/jYcKLnvR4L3GwFA79
https://photos.app.goo.gl/6Jb2bKtjShE1zuh36
Using the static test function in M1 tune, we need to populate the feed forward table for the 0% position, and make sure that we are not applying excessive duty to the motor and driving the blade shut, which risks jamming and causes excessive current draw. The integral should be referenced to settle on a suitable feed forward number. In the above scope trace, we can see the current draw is a steady 1A to maintain a 0% throttle aim.
Once this is tested at 15V, we need to dial in the negative integral clamp. We need to have a minimal negative integral during normal operation, but sufficient negative integral available to shut the throttle in a low voltage condition. Once our 0% feed forward is populated, turn the power supply down to 8V, and complete a 0% static test. Keep in mind that negative integral will be employed in driving the throttle shut during operation using the Throttle Servo zero duty cycle, which will be typically set 5% lower than our negative integral clamp. A negative integral clamp of -20 to -40% is a typical value.
Stephen -- wow. Many thanks! That's an amazing post chock full of information. I can manage all of the above except for the 8v to 15v as I don't have a good enough DC power supply. But I can work to do all the rest before I send my kit up to MoTeC USA for final calibration and validation.
One follow-up question: you mention above that finding the 0 point in the FF table is to use the value the ECU uses for the throttle power save. Mine seems to be at 3.6% which seems low. Is there a way to tell the ECU to discard that and recalibrate? Is it as simple as recalibrating the offset and scale, and then the ECU recalibrates the 0 point?
Again, many thanks!
Hi John,
I would leave the power save where it is (this is an ITB setup correct?) as this is your fail safe position as well, if it is open too far then the M1 has to apply a lot of cut to control the engine speed if the Throttle goes into fault. The Power Save point is where the open and close springs balance out, so it can be considered to be a mechanical stop point.
In this case I would do a FF table that looks a bit like this. 0%, 1% 3.2%, 4%, 5%, 10%...98%, 100%. This will assist the M1 in controlling the throttle plate around the transition point between the open and close springs. You can also have a situation where due to the angles and loads on the linkages in larger openings, that you have a dip or peak in the amount of FF needed, that then comes out as you get closer to 100% open.
Hi Stephen,
This was just what I was looking for to understand the FF table. Again, many thanks.
Hi John,
I would also recommend using a capacitor (1 Farad minimum) or charged battery in the bench test circuitry when doing calibrations so that the current supply to the motor is representative of what would be supplied in the vehicle. A lot of benchtop power supplies cannot cope with the transient current demands that a rapidly opening/closing DBW requires. If the power supply cannot keep up, this will skew the results and have the throttles behave in a different way in the vehicle.
Hi Stephen,
I'll remember that when I get to bench-based battery supplies. For now, I'm just using the car's battery with it connected to a maintenance charger, so the system sees about 12.8V or so. That's why I don't have the ability to vary the voltage.
I've spent the past week working though the procedure above and then getting some notion of PID parameters. This is an AT Power throttle (ITB) and servo setup, all new, and I am wondering what kind of fidelity and accuracy is achievable. I seem to have the best results with a P of 80, I of 10, D of 100. Boosting I above 10 gives me visible oscillation at many static throttle settings. I think the tightest dead band I can get is about 0.8%. For the most part I have decent throttle movement to the naked eye, but the log has a definite staircase look when I compare the Aim to the Actual position while doing slow sweeps. Also, in the 2-5% range the 0.8% dead band results in notchy / sloppy behavior at idling positions. I've not started the engine, but I expect to see a searching idle as a result.
I can post some logs if that's of interest, but here's my question: is this the best I can expect?
Can you get a smooth actual position trace with the motor power disconnected, and moving the throttle blade/linkage by hand? I guess I'm asking if the throttle position can resolve to .1% or less.
Why do you feel you can't use a deadband < 0.8%? I think that may contribute to your "staircase look", since the Aim has to change by up to 0.8% before it it will try to move.
I would post a log with your slow sweeps as well as a step test say 10-70%, at 1 or 2 hz.
Your AT powered setup uses a linkage setup correct? They are the most prone to oscillating, as any slop in the linkage system becomes amplified. Also units with the motor remote mounted are prone to change, particularly if their mounting is not dowelled.
You will also find that the behaviour will change somewhat when the engine warms up, and things begin to heat up and expand.
How is the position sensor setup on the assembly? Is the main and tracking mounted on the throttle blade shaft, in the motor assembly, or is one mounted on each? From your expressed behaviour, I will assume that you have a dual output sensor on the throttle shaft. Often motor assemblies with a high leverage ratio are the most prone to high frequency oscillation, as you have the tolerance in the gear meshing amplified by the leverage ratio, usually requiring low Integral gain.
Often solutions are application specific, however sometimes playing a balance with the leverage ratio of the motor is required. Any slop in the linkage system needs to be rectified, which in some cases requires new heim joints for the linkage.
Often the most balanced systems will run 1 position sensor on the motor, and one on the throttle blade shaft, providing there is no reduction drive.
A dead band of 0.5-1% is not uncommon on an ITB system, it just often requires a running engine to assess how much that dead band effects engine behaviour. 0.2% is more typical of a gear driven OE single throttle body.
For logs to be of any use at all, you will need to have level 2 logging. You will need the following channels logged at their maximum rate:
- Throttle servo aim
- Throttle servo model
- Throttle servo position
- Throttle servo main and tracking position
- Throttle servo control proportional, integral and derivative
- Throttle servo motor duty
- Throttle servo diagnostic time
- Throttle servo diagnostic high/low
- ECU battery voltage
Ok, I'll be working to get some logs (I have L3 logging) up here in the next hour or two. I'll check a disconnected sweep to see if the staircase happens there. Answers to questions:
1. Dual DBW, dual sensors mounted to throttle shaft. No sensors on the servos.
2. Servos are "remote" with a carbon fiber pushrod with new heim joints to the throttles. There is no visible slop. I'll post a photo.
3. If I reduce the dead band much more, the oscillation really picks up. 0.8% seems to be the best I can get without constant oscillation, unless I reduce integral gain even more.
4. The comment about teeth mesh and leverage ratio seems spot on. During the sweeps, you can see "teeth" in the motor duty cycle and integral gain.
This is a throttle sweep, done by hand. It seems quite smooth, so I think the throttle blade sensors are fine.
Here's a screen shot of the bank 1. You can see the staircase of the throttle movement, and the "saw teeth" in the control. I can pull some real logs if anybody wants to have a look.
Hi John,
Either post the logs here or send them to support and Nathan and I can have a look at them.
Thanks Stephen. Log and package sent.
And received.
Wrapping this thread up: based on MoTeC USA's recommendation, I replaced the AT Power servos with Kinsler servos (new brackets and pushrods were needed to effect the swap).
With that change, MoTeC USA "certified" the setup, and provided calibration data. I'm off to the dyno and then the track!
ouch! Those are gorgeous pieces, but they are pricey.
Yes -- ultra-expensive! Let's hope they are worth it.