

| 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 > . >
Have something to add on this topic today? Revive this thread in the forum »