PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 26 Apr 2015 12:18 PM by  Reanimotion
Precheck notes
 0 Replies
You are not authorized to post a reply.
Author Messages
System Designer
Basic Member
Basic Member

26 Apr 2015 12:18 PM
    CIS-There were millions of cars produced with CIS(mostly European), many of which are still running today. There are a few Bosch FI books on the market which cover all the models which used CIS. It is a very simple system to adapt and maintain. If you do have problems with it, a CIS fuel pressure gauge set will track down what the problem is. There are essentially four CIS systems.

    K-Jetronic or CIS basic - this is a pressure based only system, no computer controls any of the components(common on cars from the early 70s to early 80s). The only 'electronics' are a relay which kicks the fuel pump on when it gets a signal from the ignition when it fires. As described above, individual fuel lines to each injector are routed to a central fuel distributor which has a piston in the middle of it. When the throttle body opens, an arm attached to the piston raises the piston allows more fuel to spray into each cylinder. The injector is constantly spraying, varying only the rate it sprays at, constant injection system(CIS). A warm up regulator (WUR) is attached to the engine block which leans the mixture out from startup as the engine warms up. Some WURs have manifold vacuum and pressure adjustment capability as well as temp

    K-Jetronic or CIS basic with lambda - This setup does have a computer which utilizes an oxygen sensor(lambda) to make tuning adjustments throughout the rev. range of the engine(early 80s to late 80s). This system is very similar to CIS basic though a little more integrated. These systems are also very adaptable to most any engine as the system is still based on air flow. The same two adjustments of mixture and idle are all that is needed. The systems are better than CIS basic as more hp and better fuel mileage can be achieved as the computer compensates and adjusts the return line pressure based upon input from the oxy sensor as the engine speeds up. These early versions of CIS used an iron(black) distributor with a modified fuel injector to control return pressure.

    KE-Jetronic or CIS-E, later versions used an aluminum(silver) distributor with an integrated control valve known as the DPR or Differential Pressure Regulator replacing the WUR. These systems look similar to CIS-M externally, although the computer is less capable. Fuel pressure is controlled by the ECU via the DPR using internal programmed maps, mapa adjustment for sonditions is more traditionally controlled by engine sensors, fuel pressure feedback is not considered. DPR is supposedly grey.

    KE-Motronic or CIS-M (Motronic) - (late 80s to early 90s). These systems look similar to CIS-E externally, although the computer is much more integrated. DPR should be black.

    CIS System pressure: 68-78 psi/4.69-5.38 bar (K-Jetronic).

    CIS-E System pressure 75-82 psi (I assume KE-Jetronic)

    CIS-E Motronic sys. pressure 89-95 psi/6.14-6.55 bar (KE-Motronic)

    Quick Tips/Info:

    Inspect and clean screens in WUR and FD inlets (don't try to remove screens). Also there are small screens on top of the FD under the 8 barrel bolts - remove them or replace with new.

    For consistent hot-start operation, it's important for system leak-down pressure to be within spec. If below spec, check fuel accumulator, FP check valve, small oring on FPR piston, or injectors for fuel bypass.

    To perform cold control pressure tests when engine is hot, remove bimetallic strip from WUR.

    To lower control pressure, drive down pin on top of WUR. To raise pressure, disassemble WUR and drive up pin.

    Baseline for AF screw adjustment is approx 1/4-turn CW from when injector valves crack (audible sound).

    Baseline for idle screw adjustment is 1 1/2-turn CCW from full CW.

    Baseline System Pressure for 928 K-Jetronic basic
    5.3 - 5.5 bar (tolerance range 5.2 - 5.8)
    # base system pressure on KE-Jetronic diaphragm pressure regulator keeps system pressure at 84 psi (5.8 bar)
    Baseline Control Pressures
    Cold 10c 1.0-1.4
    20c 1.4-1.8
    30c 1.8-2.2
    40c 2.2-2.6 with test vac
    Warm 2.8 - 3.2 bar no vacuum
    3.4 - 3.8 bar with test vac

    AFR 14 to 14.3 at idle and down to 12.5 at WOT
    Idle: 14.5-15.2
    WOT: 12.9-13.2
    Cruising (80mph - 3k RPMS - 2.54 gear ratio) - 14.4ish
    (ducman with Megasquirt EFI runs up to 17 at cruise)

    1) Instead of entering control pressure, it should use a wideband 02 sensor in a closed loop system. That way you enter AFRs instead of control pressures (which is ultimately what we are trying to control)

    2) The control pressure should be measured at the DWUR and electrically sent to the "brain" (Mine has a thin fuel line that can be easily kinked)

    3) Random loss of programmed values should be fixed.

    4) Output a warning signal whenever AFR is say 0.5 points above the requested value.

    5) Let the software import/export the maps as excel or csv or text files that way it is much easier to optimize your map

    6) Let it auto-tune itself, given the AFRs of point #1

    duration should directly translate to pwm duty
    in MS, VE*other factors > req_pw1
    in KJet, CP in bar is roughly translatable to warm up %

    so (x)bar/kPa == (y)duty given xMS = 100% VE

    so I'm thinking change PWMTimeThreshold to be kpa per %VE

    Using an Injector is more reliable than the stepper motor, and, if something does go wrong, has better fail safe characteristics.
    Here's the scoop:
    If an injector fails it will fail either fully open or fully closed. They don't get stuck in between (unlike a stepper motor which could get stuck anywhere in its range)
    If the injector fails at fully open position, it will give you such low CP that the engine will run extremely rich. So rich that it may or may not actually continue running.
    If it fails at fully closed the engine will have extremely high CP and therefore no fuel almost instantly and the engine will simply coast to a stop.
    So in case of failure, the engine basically stops running and there's no lasting damage to it.
    You curse away, just like you would if your factory WUR failed, then fix it and drive away smiling on an undamaged engine.

    apparently Bosch spec 160 to 240 cc/minute through WUR

    Technical Specification:
    Brand new pressure transducer. 316 Stainless steel body.
    Input: 0-100 psi(Gauge Pressure);
    Output: 0.5-4.5V linear voltage output. 0 psi outputs 0.5V, 50 psi outputs 2.5V, 100 psi outputs 4.5V.
    Works for oil,fuel,diesel,gas,air pressure,can be used in oil tank,gas tank,diesel tank etc,but can not for water,
    Accuracy: +/-1%FS;
    Thread: 1/8” NPT;
    Wiring Connector: Packard plug-in unit is included;
    Wiring: Red: +5V; Black: ground; Blue: signal output;
    It's an advance pressure sender than traditional mechanical pressure sender;

    wish list
    PWM 0-100 on Inj 1 for K-Jet
    PWM 50-100 on Inj 1 / 49-0 on Inj 2 for KE-Jet
    DPR 19ohms (19.5 to 19.7 measured) pwm (at 100hz?) 0-140ma ohms law at 12 give 600ma at 13.8 gives 720ma so starting duty to get 40ma would be 40/720=0.055556 or around 5.5% duty
    Programmable on/off outputs to CAN
    SpareADC for WUR CP > 5 Bar
    Barometric correction not required as system is naturally MAF in air plate
    Injector at constant duty with variable PWM referenced to CP linear table
    use cranking plse percent (also rotary split table if needed)
    cranking pulse for temp C to Bar (KJetCPbase) temp_table_p5 crankPctTable

    format as per TPS WOT curve or better EAE adhere to walls coefficient in accel enrich menu

    PWM from cranking or better
    check uses new PWM setting instead of INJ1()
    Soft Cut
    Fuel Cut
    Flood Clear


    TunerStudio Changes and Settings
    page4_data.InjType, 0 = port injection / throttle body (TunerStudio injType) requires power cycle
    1 = K-Jetronic/CIS
    # Basic Laod Settings -- Engine and Sequential Settings
    Injector Port Type = K-Jetronic/CIS
    ~ additional settings
    Injector Staging = Simultaneous

    page4_data.InjPWMTim, // 200 // Time (.1 ms units) after Inj opening to start pwm
    (TunerStudio injPwmT) {InjType}
    page4_data.InjPWMPd, // 66 // Inj PWM period (us) - keep between 10-25 KHz (100-40 us)
    (TunerStudio injPwmPd) {InjType}
    page4_data.InjPWMDty, // 75 // Inj PWM duty cycle (%)
    (TunerStudio injPwmP) {InjType}

    # Microsquirt implementation
    *done* InjPWMPd = 100 is now Hz - need to adjust by TotalCor for INJ1 & activate INJ2 on fuel cut for KE-Jet (PT1 PT3)
    also cater for KE-Jet +- duty swing INJ1+ INJ2- on H-Bridge output with option for pin selection too (if possible Stepper idle?)

    Code main changes
    Main.c 89 : added but disabled !(flash4.InjType) to block injector prime if needed

    ini main changes
    ;subMenu = KJETBar2Duty, "K-Jetronic Bar to Duty map", 0
    field = "K-Jetronic RE-WUR Base"
    field = "Fuel Min kPa", kJetPwmT, { injType && injctl == 0 }
    field = "Fuel Max kPa", kJetPwmT2, { injType && injctl == 0 }
    field = "Control Min Duty Cycle", kJetPwmP, { injType && injctl == 0 }
    field = "Control Max Duty Cycle", kJetPwmP2, { injType && injctl == 0 }
    field = "Control kPa to VE", kJetPwmPd, { injType && injctl == 0 }

    kJetPwmT = "The lower limit of control pressure in kPA.\nTypically 120 or more.\n (kPa = bar x 100)"
    kJetPwmT2 = "The top limit of control pressure in kPA.\nTypically 360 or less.\n (kPa = bar x 100)"
    kJetPwmP = "The minimum allowed PWM duty cycle for the Digital WUR.\nTypically 30%."
    kJetPwmP2 = "The maximum allowed PWM duty cycle for the Digital WUR.\nTypically 80%."
    kJetPwmPd = "The kPa to VE factor.\nhow many kPA to 1 point (0.1%) of VE.\nThe system converts a desired VE change to target kPA change using this multiplier"

    kJetPwmT = scalar, U08, 613, "kPa", 2.00000, 0.00000, 0.00, 500.00, 0 ; * ( 1 byte)
    kJetPwmT2 = scalar, U08, 638, "kPa", 2.00000, 0.00000, 0.00, 500.00, 0 ; * ( 1 byte)
    kJetPwmP = scalar, U08, 615, "%", 1.00000, 0.00000, 0.00, 100.00, 0 ; * ( 1 byte)
    kJetPwmP2 = scalar, U08, 640, "%", 1.00000, 0.00000, 0.00, 100.00, 0 ; * ( 1 byte)
    kJetPwmPd = scalar, U08, 614, "kPa", 1.00000, 0.00000, 1.00, 200.00, 0 ; * ( 1 byte)

    GPIOADC6 = INJ1 CP Duty
    GPIOADC7 = INJ2 CP Duty
    GPIOADC5 = kPaTarget (K/Klambda)

    adc6, "System Pressure", int, "%d"
    adc7, "Control Pressure", int, "%d"

    /usr/bin/make --makefile

    ** EAE Transient Enrichment Section:
    BF = Basic Fuel amount
    P = MAP value
    EXC = EGO correction factor
    TCC = Corrections for temperature, barometric pressure, etc...
    DFC = Desired Amount of Fuel
    WF = total amt of fuel adhering to walls
    eae_AWC = Adhere to wall coefficient: proportion of the fuel injected in next pulse which will adhere.
    AWA = actual amount that'll adhere in the next pulse
    SOC = proportion of fuel injected in next pulse which will be sucked off the walls
    SOA = actual amt of fuel injected in next pulse which will be sucked off the walls
    SQF = actual amt of fuel squirted for this pulse
    AFC = time that injector is commanded to be open
    DT = injector opening time
    BAWC = eae_AWC but only with reference to manifold pressure.
    BSOC = same as BAWC but for SOC
    AWW = correction to eae_AWC based on CLT
    SOW = correction to SOC based on CLT
    AWN = correction to eae_AWC based on engine speed
    SON = correction to SOC based on engine speed
    AWF = correction to eae_AWC based on air velocity
    SOF = correction to SOC based on air velocity


    SOA = SOC * WF
    SQF = (DFC - SOA)/(1-eae_AWC)
    AWA = SQF * eae_AWC

    if (fuelcut)
    WF = WF - SOA
    WF = WF + AWA - SOA

    AFC = SQF + DT

    calculation of WF should be done in ISR, the rest can and will be done
    in main loop.

    Before I begin, I'd like to apologise for owning a 928 and posting here but I see that the UTCIS and similar modifications to the K-Jet seem to be most frequently discussed here.

    A properly adjusted and serviced K-Jetronic / CIS system is the preferred and cheapest way to go. The BL WUR seems to be the best adjustable option so far and still requires little modification to the rest of the car.

    If you are crazy or there is a valid reason such as originality or historic racing classes etc. then this [U]might[/U] be an option for you.

    Why FankenCIS?, I'm not really sure other than it seemed like a cool but oddball way of getting programmable EFI in the old beast.

    I've had a MicroSquirt in the car for a couple of years now with custom firmware to control the 996 instrument cluster and S4 fans amongst other things like the ClimaTronic head and Audi RNS-E. I've been following the MegaSquirt install threads on rennlist with interest and even collected most of the required bits to do the changeover when I pull the engine for a seal and hose refresh.

    Then I started thinking the existing system is a bit crude but working well and VERY reliable, so what would I lose by changing to real EFI.
    1. The existing base tune - I'd need to completely retune the car from scratch.
    2. the almost atom bomb proof reliability
    3. the factory look in the engine bay
    Plus I'm quite OCD when it comes to a factory built look to things, meaning a lot of work to do it properly and "if it aint broke don't fix it!" should apply wherever possible.

    Well after some research, I then chickened out and shelved the EFI plan as the CIS system is working fine, but the silly side of me then thought "Hey, what about a digital WUR?"
    A few weeks of internet research later and it appears the small number of previous attempts by others have either had flaws in control or execution or failed to kick off.

    I then looked at the wish list from one of the ex-users of the UTCIS
    1) Instead of entering control pressure, it should use a wideband 02 sensor in a closed loop system. That way you enter AFRs instead of control pressures (which is ultimately what we are trying to control)

    2) The control pressure should be measured at the DWUR and electrically sent to the "brain" (Mine has a thin fuel line that can be easily kinked)

    3) Random loss of programmed values should be fixed.

    4) Output a warning signal whenever AFR is say 0.5 points above the requested value.

    5) Let the software import/export the maps as excel or csv or text files that way it is much easier to optimize your map

    6) Let it auto-tune itself, given the AFRs of point #1

    and the penny dropped - use the MegaSquirt family to control a properly engineered digital WUR.

    I own a software company and an engineering firm so voila, we have a little side project

    Now as this is a MegaSquirt based project, the firmware for the MS is being written to be basically hardware independent and the project is being run in the spirit of the MegaSquirt family i.e. semi open source / hobbyist. So DIY from junkyard or parts bin bits will certainly be possible, and even reviving a non-stepper UTCIS if you have one, therefore I will be posting this as a make-it-yourself type thread even though we will be producing and selling a really nice modular anodised metering block elsewhere.

    The FrankenCIS concept works and is now operational on the bench, so what is it?

    FrankenCIS is a software and hardware project to allow the MegaSquirt family of engine controllers to replace the Bosch WUR.

    [INDENT]In its simplest implementation - mimicking the WUR by a temperature to bar map and closed loop pressure control. With optional interceptor like +- control of fuel mixture using the full mapping abilities of the MegaSquirt family.

    More advanced implementations - the sky is the limit really. Spark and Idle control. Full fuel mapping. Closed loop wideband O2 control. Boost enrichment and or pressure control. and so on.

    How are we doing it?

    MS2Extra firmware has been modified to change a "Squirt per Rev" to mapped fuel pressure control on Injector1. The target pressure is taken from a new map representing the WUR basic bar/temp curve and then modified by percentage according to changes in the remaining tuning options.

    What it needs:
    - a pretty anodised metering block - or some hardware bits if you are going the boneyard / parts bin DIY route.
    - sense the actual fuel control pressure, we do that with a digital pressure sensor in the metering block, but a simple bosch oil pressure sensor or similar will do the trick. (Boneyard bit #1) Do make sure whatever you use is rated for fuel, as a massive fuel leak under the hood is a very a bad thing.
    - control the pressure bleed and therefore the control pressure, we do that with a standard side feed fuel injector in the metering block by modifying the open time at a set frequency in response to the difference between the actual and target fuel pressures, the longer it's open per pulse the more the fuel pressure bleeds of then the lower the control pressure. again an alternative would probably be a fuel pressure frequency valve from an early CIS vehicle with O2 sensor control (CIS-lambda and Boneyard bit #2)
    from an early 80s VW something like this could be adapted too
    - Engine Temp - a temp sensor bolted to the block or tapping into the engine coolant temp to will do nicely.
    - Engine revs rpm output from the CDI to the Tach
    - MAP sensor - 1 bar rated for NA - 3 or more for turbo or charged applications

    What would be nice:
    - RPM and Position - the good old green wire if you want to take over basic spark control, over that any of the available crank sensor options up to the 60 tooth flywheel would allow silly levels of resolution and control for spark and fuel. I'm personally going for a modified distributor with 24-1-1 VR as a compromise with a single coil.
    - O2 sensor - narrow or wideband, for AFR target control. a wideband unit would obviously be better for range and to use the Tuner Studio semi-self tuning option. We will be using the LC-2 as it's one of the ones MegaSquirt already knows how to talk to.
    - PWM Idle valve to allow the system to control idle speed
    - TPS - basically the more sensors available to the system the better the control and tuning options become

    A MicroSquirt or MegaSquirt II is the sensible minimum needed to control it.
    MS3 or MS3Pro if you are willing to do your own software mods and testing will give you a wider range of advanced toys including the CEL warning light option asked for.

    The good news is almost everything carries over to a full EFI system if you ever decide to crossover to the dark side (or is that leave the dark side)

    from pelican
    As we speak about CP behavior, I made an interesting measurement during my several investigation.

    It takes a fraction of second for the FV and WUR to drop the the CP from 4.5 bar to 1.2 bar. However , from CP at 1.2bar , it takes about 4 to 6 sec to bring the CP back to 4.5 bar .... This is certainly due to the "damping" restriction inside the CIS head... interesting.

    "This is certainly due to the "damping" restriction inside the CIS head..."

    There is a small orifice restricing the flow of gas from the lower chamber containing "system fuel pressure" to the cavity above the control plunger which is where we have "control pressure". Thats why it takes a few moments to restore the fuel pressure there after it has been bled off quickly by your WUR or andial fuel valve.

    Does anyone know if there is any flow difference between the andial pulse valve and the origonal lambda pulse valve? I'm not using the lambda system on mine anymore and my lambda pulse valve is just sitting in a drawer...

    Maybe you could use the oem lambda valve for this application.
    It has the right size small banjo fittings on it already, just need one longer banjo eye bolt to piggyback it onto the control pressure fitting on the top of the fuel head, or Tee it into the control pressure line going to the WUR.
    The return line from the lambda pulse valve already goes to the same return port/banjo bolt on the fuel head.

    I've seen in pictures the andial FV has a larger banjo fitting that piggybacks directly onto the large metal return line banjo fitting on the fuel head, but thats connected internally directly to the small banjo fitting return port right next to it so that wouldn't make any difference.

    If it won't work, where do you get one of these andial pulse valves?
    It's just an inline electronic fuel injector made by bosch so it could probably be bought for less than andial sells it for, if they still sell it.

    from jimsbasement workshop
    The Lambda system does its job by adjusting the duty cycle of the frequency valve, which is plumbed into the lower portion of the fuel distributor control pressure circuit. A new version of the Fuel Distributor was required for this change. If the O2 sensor determines the mixture is too rich, it signals the frequency valve to reduce the duty cycle, which leans the mixture from the fuel distributor. If it is too lean, it increases the duty cycle.
    If the mixture is spot on (14.7:1 air-to-fuel), the duty cycle to the frequency valve is 50%. Note that the default duty cycle mode for a disconnected or non-operational O2 sensor is also 50%.
    valve Bosch part # 0 280 150 300 flows 214cc @ 4.7 bar (~190cc @ 3 bar)

    The O2 electronics box also has an enrichment function controlled through the throttle switch. This enrichment task is taken over from the vacuum operated WUR in the earlier CIS engines. The O2 sensor was installed with the '80 cars, and the vacuum operated WUR was discontinued. In '81, the O2 electronics were slightly changed from '80 and provided additional enrichment features. The electronics box also provides cold starting warm up enrichment in addition to the cold engine enrichment provided by the WUR.

    The cold start enrichment by the Lambda system sets the frequency valve at 65% , overriding the input from the O2 sensor, until the engine temperature reaches 15°C. At temperatures in excess of 15°C, closed loop operation begins and the oxygen sensor takes over. The throttle valve switch also provides enrichment at WOT.

    part# cc bar lpm lambda vehicle
    0 438 100 013 276 5.9-6.4 150 no Porsche 911 turbo 75-77
    0 438 100 016 276 5.9-6.4 150 no Porsche 911 turbo 75-77
    0 438 100 037 276 5.7-6.4 150 no Porsche 911 turbo 76-79
    0 438 100 047 256 5.5-6.2 140 no Porsche 924 turbo 79-80
    0 438 100 048 220 5.5-6.2 140 yes Porsche 924 turbo 81-
    0 438 100 076 208 4.5-5.2 120 yes Volvo 260 GLE
    0 438 100 093 272 5.2-5.9 140 no Volvo 240 GLT
    0 438 100 094 236 5.2-5.9 140 no Volvo 240 GLT
    0 438 100 096 270 5.5-6.2 140 no Porsche 924 turbo
    0 438 100 098 204 5.6-6.3 140 no Audi quattro
    0 438 100 109 202 4.8-5.5 140 yes De lorean
    0 438 100 114 236 5.2-5.9 140 yes Volvo GLT
    0 438 100 115 248 5.2-5.9 140 no Volvo 240 turbo
    0 438 100 123 200 5.6-6.3 140 yes Audi quattro 120kw 82-89
    0 438 100 144 258 5.9-6.6 160 yes Lotus Esprit Turbo
    0 438 100 145 262 6.1-6.8 140 yes Porsche 911 turbo 86-94
    0 438 100 147 202 5.6-6.3 140 yes Audi quattro 86-88
    0 438 100 153 202 6.1-6.2 140 yes Audi quattro 147kw 87-89
    You are not authorized to post a reply.