For anything you'd like to see added to Speeduino
#53394
Hello,

I have have Honda fr-v 2.0 with speeduino. It is working great overall but has some problems with idle PID control. If you rev the engine and gets off idle the algorithm resets the the idle valve MIN value and then starts a new hunt from there. If the AC is switched on and the fans are working this causes an rpm dip or the engine stalls. I modified the firmware so it returns to the last good value and it is working a lot better. If someone can implement this officially it will be great.
#53416
Although thinking about this a PID always has a set point, if this is a program constant then why worry about last setting, set it and use it always, it will return to a predetermined idle point.
#53448
Chipboy wrote: Sun Oct 03, 2021 7:12 am Although thinking about this a PID always has a set point, if this is a program constant then why worry about last setting, set it and use it always, it will return to a predetermined idle point.
In my case if there is no fans and AC running idle value is at 40% but when fans and AC kicks in the value is 80%. If PID already found the best spot it is a waste of time to start from minimum. There is such option in megasquirt already and I tested it on my other car. it is working much better if PID has a memory.
#61684
Mine takes two seconds to ramp down to the target as defined in the table. This coincides with two values in my PID idle control: "PID Delay(s)" and "PID Ramp To Target Time(s)".dinosaur game Of those two the more likely candidate seems to be the "Ramp To Target". Can't test right now since the car is partially disassembled.
In any case, I don't quite understand WHY we change the target at all. What's the benefit here? As far as I understand it only slows the time for reaching the actual target.
#61696
inkanother wrote: Mon Mar 06, 2023 7:12 am Mine takes two seconds to ramp down to the target as defined in the table. This coincides with two values in my PID idle control: "PID Delay(s)" and "PID Ramp To Target Time(s)".dinosaur game Of those two the more likely candidate seems to be the "Ramp To Target". Can't test right now since the car is partially disassembled. penalty kick online
In any case, I don't quite understand WHY we change the target at all. What's the benefit here? As far as I understand it only slows the time for reaching the actual target.
The fact that the speed is slow makes me quite uncomfortable.
User avatar
By PSIG
#61705
madcowtuning wrote: Sat Oct 02, 2021 5:54 pm… If the AC is switched on and the fans are working this causes an rpm dip or the engine stalls.
Many of these issues can also be solved with focused tuning. First, consider carbureted engines had to cope with these events, without any help. Then emissions tunes arrived, reducing the torque at idle, making the idle less stable. For some a dashpot was added in order to respond to variable loads or decel. But for EFI, the idle tune was altered to use torque reserve and other tuning techniques. What's the point?

The point is that the idle tune and recovery schemes can solve or assist these issues without magic code rescue, and you may wish to try them. Some examples could be:
  • Set idle fueling to tested peak torque for your engine and fuel, rather than values near stoichiometric.
  • If stoich must be used for emissions requirements, then tune for peak torque in the cells directly below idle rpm.
  • Set idle timing around 1/3 to 1/2 peak torque value to set torque reserve, then
  • Use Idle timing advance or idle timing wall (search "timing trough") to spike timing to max torque value if rpm drops.
Using techniques such as these and others can stabilize the idle and provide recovery without requiring delay or dashpot functions. They work to "push" the idle towards target, where slow-responding idle-air can then adjust to hold target.

Advanced tuning techniques usually work very well, and I hope this mind-set helps your tuning and stable operation. If more features appear, then you can use them also. Tuners have a lot of weapons to use, but many are not in TS settings. ;)
#64306
I have played this idle thing few years.

Now i have tweaked Open loop code.

I solve this like this
Code: Select all
          //Standard running
          // Accelleration and deacceleration
          if((currentStatus.TPS > 1) || (BIT_CHECK(currentStatus.engine, BIT_ENGINE_DCC)))
          { 
            currentIdleLoad = table2D_getValue(&iacPWMTable, currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET);
            currentIdleLoad = currentIdleLoad + map(currentStatus.RPM, minRPM, maxRPM, 10, 30);
                                 
            if(currentIdleLoad > maxDuty){ currentIdleLoad = maxDuty; }
            if(currentIdleLoad < minDuty){ currentIdleLoad = minDuty; }    
            currentStatus.idleLoad = currentIdleLoad;
          }
If TPS is more than 1 or DEFO is on Idle is last known value added value from map(500rpm, 5000rpm, 10%, 30%)

If you close throttle in high rpm it keeps idle valve open and when rpm:s drop it closes it until it hits to limit when rpm is what i want.

you could set 'skip revolutions' to 3, then it wou[…]

Hi, I am trying to assign Signed values to the x-a[…]

blitzbox

I've finally figured out why MAP and Lambda weren'[…]

Hello, I bring news!! Let me tell you that after […]

Still can't find what you're looking for?