Skip to main content
Gerry | Vanagon
Checking account...
← vanagon.com home · Continue the discussion in the forum
Subject:Re: Arduino and Vanagons
From:JRodgers
Date:Tue, 26 Nov 2013 15:24:11 -0600

Brett,

I am really looking forward to this. I have three vans and the ISCU
doesn't work in all three.

Thanks for what you are doing and to those who are contributing support
in whatever form.

John

On 11/26/2013 1:26 PM, Brett Ne wrote:
> A manual pwm idle controller...I love it!  I know, I overthink things a
> lot.  After all, my first car just had a carb with a manual choke.  The
> only feedback mechanism is the driver: "It feels pretty chilly this
> morning, I'll pull out the choke *this* far...hmmmm not starting...I'll
> pull it out *this* much farther and try again..."  And the carburetor
> itself was little more than a tiny little straw with one end in a bowl of
> gas and the other sticking out in the middle of a narrowed tube with air
> flowing by.  It's amazing that we could actually get a car started and
> running with such a hokey system!
>
> I'm going through these tests and thought processes because I want the
> final design to be plug and play and forget about it.  I want it to work
> better than the stock unit.  And it should work fine regardless of
> variances between cars; you add an air conditioner to your car & you don't
> have to worry about the idle; maybe someone in Arizona has two air
> conditioner compressors going; maybe someone's idle control valve has a
> weak spring and 40 mA will open the valve wide open; it shouldn't matter;
> the controller just adjusts the current going to the valve until the
> airflow creates the right idle speed.
>
> Yes there are many inexpensive pwm boards available.  But the Arduino,
> doing millions of calculations per second, will be spending most of its
> time picking its nose waiting for something to do.  There is plenty of
> computing capacity to handle the pwm so there is no need to add a second
> chip to the circuit.
>
>
> Brett
>
>
> On Tue, Nov 26, 2013 at 8:56 AM, Angus Gordon <birdworks@gmail.com> wrote:
>
>>
>> Brett, great that you're working on this. I haven't had time to follow
>> closely and didn't realize the Arduino has a built-in PWM function. If it
>> lacks the resolution needed, how about using the Arduino to regulate a
>> dedicated PWM controller?
>>
>> When the ISCU quit working on my Syncro I disconnected the ISV and drove
>> that way for a couple of years. The only time I missed the ISV was on cold
>> starts, say below 40-50F. Granted, I have no AC or PS. After a cold start
>> I'd have to hold the throttle open slightly to keep it idling, until it had
>> warmed for one to two minutes.
>>
>> I added a 'manual' PWM controller so the engine would idle while I got out
>> to scrape the windshield. In stock form the PWM control was very sensitive,
>> but after swapping a potentiometer matched to the range I needed it works
>> quite well as a form of manual idle speed adjustment. Once the engine is
>> warmed somewhat I shut it off.
>>
>> As I'm sure you're aware, dedicated PWM boards are super cheap. A few
>> years back I think I paid $10 for mine. Today you could likely find a
>> suitable controller for $2.
>>
>> Thanks again for undertaking this, a computer controlled (cheap) idle
>> would be a nice thing to have again.
>>
>>
>> Angus
>>
>>
>>
>> On Tue, Nov 26, 2013 at 8:10 AM, Brett Ne <brettn777@gmail.com> wrote:
>>
>>> We have some data to work with!  One of our members has generously put in
>>> the time and effort to gather most of the readings we need.  Here is what
>>> we have so far:
>>>
>>>      *Duty Cycle Under Various Engine Conditions*
>>>
>>>
>>>
>>>
>>>
>>>
>>>   *Condition* *Duty Cycle* *Peak Voltage*
>>>
>>>    Engine Cold, Key On, Engine Off 34.0% 9
>>>   Engine Warm, Key On, Engine Off 29.4% 9 @ 157 mA  Engine Cold & Starter
>>> cranking (45 F) 55.0% 6
>>>   Engine Cold & Idling 25.0% 10.5
>>>   Engine Warm & Idling 20.5% 10.5
>>>   Engine Warm & Running 2000 RPM
>>>
>>>
>>>   Engine Warm, WOT Signal
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>   *Duty Cycle Under Various Load Conditions*
>>>
>>>
>>>
>>>
>>>
>>>
>>>   *Load* *Engine Cold* *Engine Warm*
>>>
>>>   None 23.0% 20.5%
>>>   AT in Gear 25.5% 23.0%
>>>   PS 27.0% 25.0%
>>>   AT in Gear & PS 30.0% 27.0%
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>   *Miscellaneous:*
>>>
>>>
>>>
>>>   PWM Frequency constant at 148.2 Hz
>>>
>>>
>>>
>>>
>>>   Yellow Wire (11/ST1) PWM Power to Idle Stabilizer Valve
>>>
>>>
>>>
>>>
>>>   White Wire (4/ST2) Ground Connection? (Needs to be confirmed)
>>>
>>>
>>>
>>>
>>>
>>>
>>>   From this we can conclude:
>>> **The idle air valve is very sensitive.  A 7% increase in duty cycle is
>>> able to overcome the combined loads of AT in gear and PS at full pressure.
>>> The built-in PWM output on the Arduino only has 256 settings, which would
>>> give use increments of 0.4% in the duty cycle output.  This would work,
>>> but
>>> I think that there would be a noticeable unevenness in idle speed.  Not a
>>> big deal, it just means that we will need to use a timer interrupt to gain
>>> fine control over the duty cycle(the percentage of "on" time of the pulse)
>>> of the PWM.  It's just not as fun and easy as using the built-in PWM
>>> functions.  I'll explain interrupts in more detail when we get to the
>>> programming stage, but it basically is just a way to grab the computer's
>>> attention and make it suspend its current operations while it attends to a
>>> time-critical event, like a new hall sensor pulse coming in.
>>>
>>> **Most of the time, the duty cycle is pretty low, around 25%, but that
>>> changes during starting.  While the engine is cranking, the duty cycle
>>> jumps to around 55%.  When I first saw this figure I thought, "Wow, it's
>>> really increasing the airflow a lot while the engine is cranking."  But I
>>> don't think that is true because the current draw from the starter motor
>>> drops the available battery voltage considerably.  The stock ICU output
>>> voltage drops from 9v with engine not running to 6v with starter cranking.
>>> I think the dramatic increase in duty cycle is not for increasing airflow,
>>> but rather to compensate for the expected voltage drop during cranking.
>>>
>>> **The ICU apparently makes no attempt to send a fixed voltage to the idle
>>> air valve.  With engine off, it sends 9v.  With engine running, it sends
>>> 10.5v, which matches the increase in voltage from the alternator.  With
>>> engine cranking, the output drops to 6v, reflecting the battery voltage
>>> drop under the heavy load of the starter.  For running conditions, we
>>> don't
>>> need to worry about the output voltage level because it will be
>>> automatically compensated for by the engine speed feedback.  But for
>>> starting, we could have the Arduino measure the voltage coming from the
>>> battery and calculate the appropriate duty cycle change to have better
>>> control over the airflow.
>>>
>>> **The idle air valve draws 157 mA when supplied with a 9v 29% duty cycle.
>>> This translates to a 535 mA draw @ 100% & 9v or 4.8 W of power.  The final
>>> drive transistor in our circuit should be chosen to handle 1A of current
>>> to
>>> assure durability.  Lots of options here.
>>>
>>>
>>>
>>> What we're still looking for:
>>>
>>> What happens above idle speed?  Does the idle air flow shut down, or stay
>>> at some predetermined level?
>>> What happens at Wide Open Throttle?
>>> What does the Hall sensor output signal look like?  I haven't found
>>> anything definitive on the internet.  There are hints that it is a square
>>> wave and that the peak pulses are up near battery voltage.  I would like
>>> to
>>> know peak and base voltages and confirm that it's a clean square wave.
>>> Also, has anyone taken apart an idle air valve?  Is it just a motor
>>> operating against a spring?
>>>
>>>
>>> Brett
>>>
>>>
>>>
>>>
>>> On Wed, Nov 20, 2013 at 1:41 PM, Brett Ne <brettn777@gmail.com> wrote:
>>>
>>>> Before we can go any further with this project, we need those
>>>> measurements.  I'm not interested in investing time, materials, and
>>> money
>>>> into a project if it's based on assumptions and guesswork.  My Vanagon
>>>> can't be used because it doesn't have the Digifant injection system.
>>>>
>>>> So, we need either:
>>>>
>>>> Someone with an oscilloscope or a digital multimeter w/pwm functions who
>>>> has access to a Vanagon with Digifant FI that has a healthy ICU as well
>>> as
>>>> power steering and AC.  Bonus points if it's an automatic.
>>>>
>>>> Or,
>>>>
>>>> Someone in the Portland Metro area with a van that fits the above
>>>> description who would be willing to work with me for a couple of hours.
>>>   I
>>>> do have an oscilloscope and could take the measurements.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Nov 20, 2013 at 1:23 PM, Brett Ne <brettn777@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Assuming a properly functioning engine and IS system, if one measured
>>>>>> current draw at the ISV, loads on and off, at idle, cruising speed and
>>>>>> WOT, could they get a really good idea of when the ISV is used? (valve
>>>>>> changes position). Maybe a graphing meter would be useful in this
>>>>>> regard?
>>>>>
>>>>>
>>>>> Current draw or voltage measurements would be kinda okay.  They should
>>> be
>>>>> proportional to the duty cycle, but again, knowing the duty cycle
>>> tells you
>>>>> exactly what the control unit is doing and is much preferred over
>>> indirect
>>>>> measurements.
>>>>>
>>>>>
>>>>>
>>>>>> My guess is that at idle, no loads (PS, AC) the valve is
>>>>>> closed. Or.....
>>>>>>
>>>>>
>>>>> ...or partially open.  We can all guess until we're blue in the face,
>>> but
>>>>> if we want to create a re-engineered control unit that solidly
>>> replaces the
>>>>> old one, we have to establish the behaviors of the old one first
>>>>>
>>>>>
>>>>>>
>>>>>> Isn't the ICU basically taken out of the picture any time the throttle
>>>>>> is just off idle or at WOT?  (throttle enrichment switch activated or
>>>>>> not).
>>>>>>
>>>>>
>>>>> Maybe, maybe not.  Maybe the idle throttle opens fully under full
>>>>> throttle to help the engine breathe better.  I just don't know.
>>>>>
>>>>>
>>>>>>
>>>>>> Did you find the correct "Vanagon" Digifant pro training manual
>>>>>> online? If not, can send more images. There may be some useful in
>>>>>> there for your needs.
>>>>>>
>>>>>
>>>>> No, I haven't, though to be honest, I haven't been looking.  Typically
>>>>> training or repair manuals may give enough info to identify a faulty
>>> part
>>>>> but don't give all the details on how that part interacts with all the
>>>>> other parts of the system.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Brett in Portland, OR
>>>>> "Albert" '82 VanaFox I4 Riviera
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Brett in Portland, OR
>>>> "Albert" '82 VanaFox I4 Riviera
>>>>
>>>
>>>
>>>
>>> --
>>> Brett in Portland, OR
>>> "Albert" '82 VanaFox I4 Riviera
>>>
>>
>>
>
>
> --
> Brett in Portland, OR
> "Albert" '82 VanaFox I4 Riviera
> .
>