Who is running MS with a Bosch ISV?

Discussion in 'Throttle bodies & non-OEM ECUs' started by Trev16v, Apr 12, 2008.

  1. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    Anyone running a Bosch ISV, either the type fitted with Digifant or the K-Jetronic one, with Megasquirt? Here's my problem, if anyone can help.

    I've been trying both the Digifant type and the 16V type ISVs; both with similar results. I know the G60 ISV operates at 147Hz and so, to try to get a sensible resolution, I've gone for 100Hz.

    Now I've actually operated a number of these ISVs on the bench using a PIC controlled ISV tester I knocked together. With it I can control the duty cycle to the ISV and I can see the plunger moving back and forth with varying DC. I can see that with all ISVs I tested, the plunger starts to move when the duty cycle is above 20%. The plunger continues to move further back in proportion as the duty cycle is increased towards 100%. I did this just because I wanted to see what the useful DC range was for these valves. So that's fine then; they start to open at around 20% (yep, I know that the Digifant ones are supposed to be fully open at 0, close at 25, etc) and from then on the useful DC range is quite large.

    So I put one of these ISVs on my 16V G60 and I first of all have the ISV disconnected so that I can make the engine behave as best as I can get it using the VE table alone. I turn off the acceleration enrichment and so on, ensure that the engine is fully warmed up, and I find that I have to enrich the VE bins around the idle RPM/kPa quite a bit to stop it hunting. The best kPa I can manage is about 42, 43kPa during idle and the AFR tends to be pretty rich at idle, say 12.5 maybe (can't quite remember). What I have done here is to tune the VE amounts for the lowest kPa and highest idle, as per the MS manual. After doing this, the engine no longer hunts badly, and I have to wind the throttle screw in pretty far.

    Now I connect the ISV and (finally getting to the point here - thanks for bearing with me) I find that a duty cycle of, say, 30 revs the balls off the engine (say 2500rpm) and a value of 24 will stall it. So just a few % goes from engine stall to like the clappers. It's almost like the engine needs little air to rev highly. I also have the throttle screw almost fully in, too. Probably only half a turn out from fully in. At 100Hz, I am seriously lacking duty cycle resolution for this valve. I think that it should be possible to have a cranking value of something like 50 to 60% according to the MS manual (testing a G60 ECU on the bench made the ISV go to 80% during cranking). But there's no way I can have the DC that high.

    I know that the real duty cycle is what I expected it to be at the ISV because I've had an oscilloscope on it.

    It's almost like I need to have a restrictor on the end of the ISV, like a cap with a little hole. But I've not seen anyone else have to do this.

    I could go for a lower frequency to achieve higher resolution but you get to a point where the plunger in the valve no longer "suspends" at a certain point, but rather the solenoid just bangs back and forth, so this is no good.

    Any thoughts anyone? Engine is a KR with G60, 8.2:1 CR, 1.9L, lightened crank and flywheel.

    Thanks

    Trev
     
    Last edited: Apr 12, 2008
  2. Ess Three Forum Member

    Joined:
    Oct 28, 2003
    Likes Received:
    84
    Location:
    Aberdeenshire, UK.
    Hmm...it's been a long time since I had my MS plugged in and working...but I seem to think I ended up running 50-60 Hz and with an audible buzzing noise.
    Noisy, but it runs and operates.

    I really struggled with getting a good stable idle with MS...

    I can't remember the settings I ended up with..and I'd have to really think hard now if I were to delve back into it again.
     
  3. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    That's exactly what I did originally - I had mine running at 50Hz. And at one point I did get it to idle reasonably well. But it sounded like a machine gun, and aside from that, I didn't like it because it's not the proper mode of operation for the solenoid to be simply banging back and forth.

    You know, just looking at a picture of a standard KR engine setup, I see that the ISV takes its intake air from just above the K-Jet metering head. At idle the plate will obviously be closed, so does this mean that the 16V ISV is working off a 'restricted' air supply?

    Mine is just open to air at the moment. So this is what I'm beginning to wonder now, if I should partially block up the inlet on the ISV.

    On the other hand, on the G60, people just run the ISV open to air when they remove the boost return. Maybe it's just something the G60 ECU is able to cope with.

    Martyn, KeithMac - any of you guys reading this? How'd you deal with this?
     
  4. Ess Three Forum Member

    Joined:
    Oct 28, 2003
    Likes Received:
    84
    Location:
    Aberdeenshire, UK.
    Mine's an ABF and it takes the air from the filtered air part of the airbox...not restricted.
    I currently run a small K&N on mine...so no restriction there.

    If you get good results restricting the air available to the ISV, I'd be keen to hear about it.
    I May have to try it myself...
     
  5. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    The ABF has the ISV fed from the airbox itself from factory, does it?

    Trev
     
  6. Ess Three Forum Member

    Joined:
    Oct 28, 2003
    Likes Received:
    84
    Location:
    Aberdeenshire, UK.
    Yeah, comes from the side of the airbox lid above the filter, via a rubber hose, to the ISV.
    Approx 20mm ID from the airbox lid to the ISV, no restriction.
     
  7. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    Another method I thought of would be to stick a sufficiently rated wirewound resistor in line with the ISV. I'll probably try this first
     
  8. Ess Three Forum Member

    Joined:
    Oct 28, 2003
    Likes Received:
    84
    Location:
    Aberdeenshire, UK.
    Interesting...
    May work. Please let me know!
     
  9. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    After quite a bit of investigation, I think I have come to a solution.

    Now the first idea I was going to try, as I already suggested above, was to simply put a wirewound resistor in series with the ISV in order to limit the opening amount. This would have probably solved the problem, as limiting the ISV coil current reduces the opening for a given PWM duty. But, I'd never have been completely happy to do this, because I still wanted to answer a question that was bugging the hell out of me: Why is it that the Digifant I controller can operate the ISV at around 40% duty at idle, and yet if I apply anything near that duty from the MegaSquirt controller, the engine revs far too highly?

    A friend up the road (Scruffydubber - another G60 Syncro owner!) allowed me to put the oscilloscope onto his ISV, which surely enough confirmed that the ISV sits at around 40% duty at idle, and goes down to about 28% duty in order to shut off the valve when the throttle is operated. (Additional info: The Digifant ISV is apparently slightly open when zero duty is applied, and is fully shut at around 25%. The purpose of this is to allow 'limp home' idle if the PWM signal to the ISV is lost for any reason.)

    So what I decided to do was reverse engineer the ISV control circuitry in both the Digifant II (8V GTI MK2) and Digifant I (G60) controllers. And I found the answer. The Digifant controller is not simply PWMing the ISV solenoid coil fully on and fully of. In actual fact, the controller is providing a controlled current ramp to the ISV.

    When you scope the voltage across the ISV, you have a reasonably square waveform that looks like the ISV is just being switched on and off (G60 ECU PWM rate is 147Hz). But it isn't. For each PWM cycle during the 'on' period, the current in the ISV starts at some low value, and linearly ramps up. Then obviously during the dead time the current snaps to zero.

    Why have Bosch controlled the ISV like this? Well, I have built a copy of the Bosch G60 ECU ISV circuit to fit into my MegaSquirt. When testing it on the bench, I've realised the following things:

    1. The method of controlling the current through the ISV means that the ISV opening amount won't be affected by fluctuating battery voltage. Now initially I thought this wouldn't be important because surely the ISV closed loop control is going to compensate for supply voltage changes. But the problem comes when you apply throttle, which is the time when you want the ISV to be fully closed. At this time the ISV is no longer being closed-loop controlled; it has a fixed duty cycle applied (28%) in order to fully close it. If changing battery voltage (i.e. increased voltage from the alternator when you floor it) is able to affect the ISV opening then I suppose you could start losing boost through the ISV.

    2. I've built an ISV tester board that allows me to vary the PWM to the ISV using up / down buttons. Now when I originally used this board to control the ISV by simply using on / off action using nothing more than a MOSFET, the ISV opening amount varied linearly with PWM duty. But, using the Bosch circuit, it's now more logarithmic. What I am finding is that the ISV is quite slow to open for up to 50 or 60% duty, but above that, it starts to open more and more. So why is this good? Well, I think that it means that for most of the duty cycle range, a wide duty range gives only a small ISV opening, with finer steps. This gives more precise ISV control and will give the MegaSquirt greater resolution to play with. But why is this better than simply shoving a resistor in series with the ISV? Well, the ISV is able to start opening by larger amounts if you swing the duty up to 80%. A large ISV opening is required during cranking. So: the ISV can be opened wide for cranking, but at the same time we have a great resolution of control around the point where the ISV just starts to open, allowing higher resolution of idle control. This important on the MegaSquirt where the PWM resolution starts to become pretty poor when you start using frequencies like 150Hz.


    The circuit is simple to build. It consists of a MOSFET or NPN transistor that you'd typically chuck into the MegaSquirt in order to have ISV control. But we're no longer simply banging the device on and off. What the circuit introduces is a small value wirewound resistor in series with the transistor. This small value resistor (less than an ohm) and the FET/transistor now sit within the feedback loop of an operational amplifier. This means that whatever voltage is input into this op-amp determines the current flow through the ISV. The second bit is an op-amp integrator. This integrator provides a voltage ramp which controlled by the digital on/off PWM from the CPU.

    So the circuit is quite simply a dual op-amp, a couple of capacitors, a few resistors, a little wirewound resistor that I stole from a scrap Digifant II ECU, and whatever MOSFET I could find amongst all my crap. The circuit fits onto a little 1.5" square bit of Veroboard.

    I'm looking forward to giving it a go tomorrow - hopefully will be able to achieve decent control of the Bosch ISV using MegaSquirt now!

    Will report more after I've tried it out and I'll provide a schematic if it works.

    Trev
     
    Last edited: May 2, 2008
  10. moretorque Forum Member

    Joined:
    Aug 26, 2007
    Likes Received:
    0
    Location:
    Reading
    :clap:

    bloody hell trevor.
    I'm officially impressed.
    If you could knock up a schematic i'd be very greatfull.

    I'm waiting with baited breath to see how it goes tomorrow 4 u.
    I need some fine warm up idle control in my life.


    fingers x'd.
     
  11. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    [​IMG]

    This is the circuit installed into my MS unit. It works very well, providing good control of the ISV. I need to properly tweak the ISV settings but I think it's almost there. Not only can I start the car from cold without having to sit on the throttle for a while, I can also operate the power steering from lock to lock while stationary - with somewhat under-inflated tyres - and the idle speed doesn't fluctuate too much.

    I'll stick up a diagram soon.

    By the way, to use it the MegaSquirt MUST be set to operate the ISV at a similar frequency that the Bosch ECU uses (147Hz). Otherwise component changes will be required from those I used. Robert, did you say that with MS2 you are more limited to what ISV frequencies you can use?

    Trev
     
    Last edited: May 5, 2008
  12. moretorque Forum Member

    Joined:
    Aug 26, 2007
    Likes Received:
    0
    Location:
    Reading

    I will double check the megamanual but I'm pretty sure it had to be multiples of 80 hz from 80 to 800.

    EDIT:

    taken from
    http://www.megamanual.com/mt28.htm#sd

     
    Last edited: May 5, 2008
  13. Toyotec

    Toyotec CGTI Committee - Happy helper at large Admin

    Joined:
    Jul 26, 2006
    Likes Received:
    3,320
    Location:
    Creating Pfredstarke
    Great work there Trev.
    I am assuming the hum is gone from the ISCV with this little attachment.
    Sounds like you need to put this up on "MS it runs".
    It would be interesting to see how this little circuit compares with the bog standard MS circuit on my 8v which has a fully functional closed loop ISC running off the TIP122.
    After a lot of testing in the "idle closed loop section" and working out which parameters where P I and D, my std MS system works quite well.
    You would find that if your crank, afterstart , cold accel enrichment and warm up tables are not set properly this may result in starting an cutting out on first start as the ISCV tries to accelerate the engine speed and adjust for more air the fuel quantity may not be enough to form a combustable mix.
    I would be interested to test this circuit back to back on my car. Perhaps this unit could solve in why my fast idle does not return requested target fast idle. If set at 1500, actual 1350ish. Idle request is fine though target 930r/min and this is 922-940 ish regardless of lights, blower PS on full lock etc. I also have included some idle torque reserve by setting idle advance spark to a lower spark angle than MBT spark.
     
    Last edited: May 5, 2008
  14. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    Right, sorry for the wait gents.

    First of all here's the PDF schematic:

    http://www.introspectiv.eclipse.co.uk/16vg60/msISV_r0_1.pdf

    Also to go with the image above, here's the underside of the board. Hopefully you can use both images to copy my Veroboard layout if you want to. Shout if you need more detailed pictures or any other information.

    [​IMG]


    Eddie:- How you've achieved to make an ISV work properly using nothing but the simple on/off action will always mystify me I think! Assuming you use MS2, does MS2 have finer PWM resolution? Because as already explained above, with that method I found that you have an almost impossibly small band of PWM range to work with. I can only see it working if (a) you minimise the voltage supply to the ISV; (b) have an air restrictor on the ISV, (c) have an inline resistor. I'd be interested to know more about the settings used. But yes, it'd be great if you could compare the use of this circuit back to back!

    Trev
     
    Last edited: May 14, 2008
  15. Toyotec

    Toyotec CGTI Committee - Happy helper at large Admin

    Joined:
    Jul 26, 2006
    Likes Received:
    3,320
    Location:
    Creating Pfredstarke
    ^^MS1-extra. The key settings are in "idle closed loop"
     
  16. Trev16v

    Trev16v Paid Member Paid Member

    Joined:
    Oct 22, 2003
    Likes Received:
    451
    Location:
    Oxfordshireland
    Hmm, but I understand how the closed loop settings work and I am already using them. Manipulation of those settings could never resolve the basic fact that the useful PWM range was simply too narrow. For instance if the throttle screw was set so that, if, say 25% duty gave a closed valve and 800RPM; 27% duty would give 2000+RPM.

    The only way around it was to have the ISV running at a very low frequency, like 50Hz. Which was horrible and far too noisy! But this was the only way to get any resolution. Or run the ISV at lower supply voltage. Surely you must be doing either of those?
     
  17. moretorque Forum Member

    Joined:
    Aug 26, 2007
    Likes Received:
    0
    Location:
    Reading
    thnks trevor.Much appreciated.I'm hoping that this will work at 160 hz?!!!
     
  18. Toyotec

    Toyotec CGTI Committee - Happy helper at large Admin

    Joined:
    Jul 26, 2006
    Likes Received:
    3,320
    Location:
    Creating Pfredstarke
    No I actually run 10000/75 or 133HZ. I had previously ran tests from 200 to where I am now to reduce "hum". In all cases I could still get the car to do what was required by tweaking the cranking flare frequency, idle and closed loop PID settings. The noise was the problem.
    I have a video clip with my current set up running under the conditions of free idle, + blower on, +lights, + PAS full lock attempting to target 930rpm @95C engine temp . I got your pdf diagram so the circuit will be built then compared to my present hardware response and settings.
     
    Last edited: May 15, 2008
  19. moretorque Forum Member

    Joined:
    Aug 26, 2007
    Likes Received:
    0
    Location:
    Reading
    trevor what are the specs for q1 so I can see if maplins have something similar.
    I take it I can use any general purpose op-amp in place of u1?


    cheers
     
  20. moretorque Forum Member

    Joined:
    Aug 26, 2007
    Likes Received:
    0
    Location:
    Reading
    also does q1 need diode flyback protection?
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice