Page 2 of 2

Re: PWM idle valve voltage compensation

Posted: Sun Dec 17, 2017 9:06 am
by elaw
I'm with DocWalt on this one. If your cranking voltage fluctuates between a 90-degree(F) day and a 10-degree day, it's... completely normal!

Having said that, the outside temp can affect CLT when starting. But the relationship between the two isn't necessarily very tight... if it's cold outside, the battery is in the trunk (as it is in my car), and the engine was recently running, you could have a 170-degree coolant temp while the battery itself is at 20 degrees.

Re: PWM idle valve voltage compensation

Posted: Sun Dec 17, 2017 9:22 am
by prof315
DocWalt wrote:Except when it gets cold the demand on the battery increases and the voltage drops a lot more than it does when it's summer...
Yes but if you use a battery with enough CCA for your cold weather load needs it doesn't drop nearly as far as a small battery.
And thats why the cranking PWM table allows you to set different values for different temperatures. I have installed nearly 100 Megasquirt systems and tuned 3 or 4 times that many, mostly using PWM idle control if used at all. Setting up cranking IAC PWM for all temps and conditions simply takes as long as it takes to see the full spectrum of temps where you live. Also Bosch 2 wire idle valves work better when run by MS with a 1N4004 flyback diode at the connector.

Re: PWM idle valve voltage compensation

Posted: Sun Dec 17, 2017 5:16 pm
by 142 guy
prof315 wrote:
142 guy wrote:Any thoughts on why the developers did not implement PWM voltage correction while cranking or at least make it a settable option? I am assuming that it was intentional rather than oversight. If there is some hook into another piece of code (either in the valve control or the voltage correction) that complicates matters, it would be nice to know before I end up in the Land of Unintended Consequences.
It's actually quite simple why we don't have PWM voltage correction during cranking. We have a separate PWM table for cranking. Dial that in correctly along with crank to run taper and there is no need for voltage correction. If your cranking voltage fluctuates you need to take a hard look at powers, grounds and your battery's condition and CA/CCA.
I have no problem with getting the PWM values in the cranking table to give me a fast start during cold temperatures. I set those values recognizing that my small battery results in significant voltage drop during cranking, particularly during low temperatures. The problem is that those cranking settings result in far too much air flow when the voltage recovers to typical operating values. I could take a brute force approach and use a very large battery which would reduce the voltage drop during cranking. However, even with a very large battery the voltage during cranking will always be less than 12.6 volts and more like 14 volts after the engine starts. That is still going to result in an increase in the valve position when voltage compensation gets applied after the transition from cranking.

If the voltage drops during cranking you can configure the cranking PWM settings and voltage compensation to minimize the problem; but, it does not eliminate the problem. The problem does becomes much less significant with warmer temperatures because the engine requires smaller cranking PWM values and the voltage drop during cranking is less because of changes in the battery electrochemistry as higher temperatures. Being able to make the problem smaller with configuration changes is not as good as eliminating the problem by enabling voltage compensation during cranking providing that does not create other problems.

Re: PWM idle valve voltage compensation

Posted: Tue Dec 19, 2017 2:59 pm
by 142 guy
I need a little assistance since I am not particularly proficient a coding.

I have been scrounging through the MS2 Extra (3.4.1) source code looking for the sections of code controlling the PWM idle valve. My search has been pretty cursory; but, I and have found the section of the code dealing with the calculation of the PWM voltage correction and I think I found the code for PWM idle valve control during warm-up. However, it is not clear to me where the code is that controls the PWM idle valve during cranking.

Any assistance in pointing me to the correct lines would be appreciated.