Page 5 of 5 FirstFirst 12345
Results 101 to 125 of 125

Thread: E32 735 hard starting, bad cylinder identification sensor?

  1. #101
    Join Date
    Jul 2007
    Location
    Oldham UK
    Posts
    3,262
    My Cars
    '00 330i Sprt '92 525i
    Great video by Timm explaining how resistances in plug leads and plugs affects the CIS:

    https://www.youtube.com/watch?v=bCctewUmVP0

  2. #102
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    It is very good video how the strangest ignition system works I am looking for set of ignition wires for M30B35. Spark plug I already found with suppression of obstacles 1 kOhms NGK BKR6EK.
    Last edited by Annddrriy; 11-21-2024 at 12:38 PM. Reason: Spark plug NGK

  3. #103
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Good afternoon ! Anyone knows if Engitech ENT910224 Ignition each wire has resistance 6000 Ohms ? Thanks !

  4. #104
    Join Date
    Jan 2005
    Location
    Japan
    Posts
    56,282
    My Cars
    11/88 E32 750iL
    I do not know Engitech + country they are made, price is lowest compared to others, have not seen 6000 ohms in offers, for M30 engine, so it should fit, copied: OE # BMW 12121705718 12121716939 12121722253, BorgWarner BERU ZE 721 ZE755 ZEF 1402, BOSCH 0986356383 0986356324 0986356327, BREMI 520 100,571 100, DELCO REMY DRL345, DRL133, DRL303,DRL305, EFI 9 512 9226, FACET 4 8578 4 8580 4 8581 JANMOR HR8,KAGER 64 1060, NGK RC BW223. Material:Silicone, Core Dimensions COPPER, Outer Diameter 7mm, Ignition Coil Connector Type M4, Distributor/ Rotor:Connector Type M4, Ignition Cable Connector Type SAE, Brand class:Budget Manufacturer:ENGITECH Manufacturer P/N: ENT910224 for BMW E28, E34, E24, E23, E32
    Shogun tricks and tips for the E32 series are HERE!

  5. #105
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Those wire set comes with cylinder identification sensor BERU ZE 721 ZE755 ZEF 1402, BOSCH 0986356383 0986356383 0986356324 0986356324 0986356327 0986356327 , BREMI 520 100,571 100, DELCO REMY DRL345, DRL133, DRL303,DRL305, EFI 9 512 9226 512 9226, FACET 4 8578 4 8580 4 8581 JANMOR HR8,KAGER 64 1060, NGK RC BW223 I need wire set without cylinder identification sensor because I purchased original BMW cylinder identification sensor is ready for installation to new set of ignition wires which has resistance 6000 Ohms.
    Last edited by shogun; 11-26-2024 at 08:33 AM. Reason: corrected p/n's

  6. #106
    Join Date
    Jan 2005
    Location
    Japan
    Posts
    56,282
    My Cars
    11/88 E32 750iL
    JANMOR HR8 is without cylinder identification sensor, made in Poland and it has 6000 ohms https://www.janmor.pl/en/product/HR8
    Shogun tricks and tips for the E32 series are HERE!

  7. #107
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Thanks ! I will try to order it.

  8. #108
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Is there boot one end removable in the ignition wire for installation cylinder identification sensor ?

  9. #109
    Join Date
    Jan 2005
    Location
    Japan
    Posts
    56,282
    My Cars
    11/88 E32 750iL
    Connector Type is mentioned M4 = should be wood screw type. The "wood" screw type connector is traditional type, if you are looking at the top of the screw inside the boot it is clockwise on counter clockwise off. Righty tighty lefty loosey. I assume both side boots are wood screw type.
    Shogun tricks and tips for the E32 series are HERE!

  10. #110
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Thanks ! That will be good and easy to install CID sensor.

  11. #111
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    It will be difficult to find spark plug with 1000 ohms resistance which fits to the old type ignition wire spark plug end. All new type of the spark plug comes with different end top fit to it. M4 type ignition spark plug wire will not fit to new type spark plug top end. Needs to find out M4 type spark plug with 1000 ohms resistance. M4 type spark plug is on the picture NGK R.
    IMG_1162.jpgIMG_1163.jpegIMG_1164.jpegIMG_1165.jpeg
    Last edited by Annddrriy; 12-04-2024 at 01:24 PM. Reason: M4 angle on the picture goes to the distributor cap and long boot goes to the spark plug on top of NGK R.

  12. #112
    Join Date
    Jan 2005
    Location
    Japan
    Posts
    56,282
    My Cars
    11/88 E32 750iL
    the part shown in your pictures is the angled boot which goes into the distributor, not on the spark plug. The one for the M30 spark plug is a straight, long boot, see here the ignition wire set M30
    https://www.autohausaz.com/catalog?v...34&c=14&page=1
    Shogun tricks and tips for the E32 series are HERE!

  13. #113
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    You are correct the part shown in my pictures is the angled boot which goes into the distributor cap not on the spark plug. This is just a sample. The spark plug long boot is different of boots distributor cap.

  14. #114
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    M4 type ignition spark plug long boot will not fit to new type of the spark plug. NGK R spark plug will fit to M4 ignition spark plug long boot on the picture.
    IMG_1165.jpegIMG_1164.jpegIMG_1163.jpeg
    Last edited by Annddrriy; 12-04-2024 at 01:05 PM. Reason: Spark plug type M4. The long boot looks short on the picture because was screenshot and cropped to make image smaller.

  15. #115
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Do you have any spark plug part number with 1 kohm resistance ? The engine will run with those spark plugs Bosh W8LCR/W8LPR+ but injector timing will not run with those spark plugs. Thanks !
    Last edited by Annddrriy; 12-04-2024 at 07:23 AM. Reason: Bosh spark plug

  16. #116
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    If would not so important resistance in spark plug then Tim ignition expert would not explain about the strangest ignition system in the world. If spark plug Bosh W8LCR or W8LPR+ has 6000 ohms and ignition wire with two ends has also 6000 ohms then total resistance becomes 12000 ohms which is over 6000 ohms then the engine ECU might not see the signal from cylinder identification sensor of different resistance in ignition wire plus spark plug.
    Tim was explained about the strangest ignition system in the world in M70 engine and he said M30 engine has same working principle.
    Last edited by Annddrriy; 12-04-2024 at 12:49 PM. Reason: Ignition system

  17. #117
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    To bring up the importance of resistance in the ignition system. The interaction between components like spark plugs ignition wires and sensors such as the cylinder identification sensor CIS is critical for the proper functioning of the engine.
    Key Points About Resistance in Ignition Systems:
    Total Resistance and Signal Integrity:
    When the spark plug Bosch W8LCR or W8LPR+ has 6000 ohms resistance and the ignition wire also has 6000 ohms the total resistance becomes 12000 ohms.
    Recommended Resistance: As we pointed out Bosch W8LCR or W8LPR+ spark plugs typically have about 6000 ohms resistance. However for accurate CIS signal detection the ignition wire should be limited to 6000 ohms and the spark plug should ideally have 1000 ohms. This keeps the total resistance at 7000 ohms ensuring a strong distinct signal for the cylinder identification sensor CIS.
    Such high resistance can attenuate the high frequency signal required for the ECU to detect the cylinder firing event via the CIS. If the ECU cannot detect this signal it might fail to adjust injector timing or misfire detection accurately.
    M30 and M70 Engine Similarities:
    As Tim explained the M70 engine with its unique dual ECU setup for the V12 has an intricate ignition system where resistance plays a pivotal role in signal clarity.
    The M30 engine though simpler shares a similar reliance on the interplay between the cylinder identification sensor CIS spark plug and ignition wire resistance for proper injector bank sequencing.
    Strangest Ignition System:
    The strangest ignition system likely refers to how BMW’s Motronic system integrates the ignition with the injector timing and how it uses the ignition coil and cylinder identification sensor CIS signals to maintain synchronization.
    Any mismatch in resistance can disrupt the expected waveforms leading to potential errors or signal loss.
    Practical Considerations:
    Non Resistor Spark Plugs: The M30 engine typically works better with non resistor spark plugs W8LCR and lower resistance ignition wires.
    Diagnostics: If we’re troubleshooting an issue like injector banks firing simultaneously or erratic signals from the cylinder identification sensor CIS measuring resistance at each component spark plug wire and cylinder identification sensor CIS is crucial.
    Tim’s Observation: Tim’s explanation emphasizes the sensitivity of the Motronic system to resistance mismatches. It underscores why BMW recommended specific spark plugs and ignition wires to maintain signal integrity.





    Last edited by Annddrriy; 12-04-2024 at 01:13 PM. Reason: CIS

  18. #118
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    The relationship between the cylinder identification sensor CIS spark plugs and ignition wires is indeed critical especially in engines like the M30 and M70 which rely on precise signal processing for proper operation.
    Resistance in Spark Plugs and Wires:
    Recommended Resistance:
    As we pointed out Bosch W8LCR or W8LPR+ spark plugs typically have about 6000 ohms resistance. However for accurate cylinder identification sensor CIS signal detection the ignition wire should be limited to 6000 ohms and the spark plug should ideally have 1000 ohms. This keeps the total resistance at 7000 ohms ensuring a strong distinct signal for the CIS.
    Why Resistance Matters:
    The cylinder identification sensor CIS detects the voltage fluctuation caused by the ignition event. If the combined resistance of the spark plug and wire is too high 12000 ohms instead of 7000 ohms the signal’s amplitude and clarity may degrade leading to:
    Missed or weak signals detected by the engine ECU.
    Loss of synchronization in injector timing.
    Potential misfires or reduced efficiency.
    BMW’s Approach to Ignition Resistance:
    BMW designed these systems to operate within specific resistance parameters. For the M30 engine:
    Non resistor spark plugs W8LCR paired with lower resistance ignition wires help preserve signal strength.
    Excessive resistance disrupts the waveforms necessary for proper engine ECU interpretation as Tim described.
    M70 and M30 Similarities:
    Both engines utilize a signal based system where the cylinder identification sensor CIS relies on ignition coil feedback to synchronize injector timing.
    Tim’s explanation about the M70 engine’s strangest ignition system in the world refers to its complexity:
    The M70 uses dual ECUs and dual ignition systems for its V12 configuration making resistance matching even more critical.
    The M30 engine though simpler with a single engine ECU shares the same principle of requiring a clear cylinder identification sensor CIS signal for injector timing.
    Correct Setup:
    To maintain a reliable cylinder identification sensor CIS signal:
    Spark Plug Resistance: Use spark plugs with 1000 ohms resistance or non resistor plugs if specified like W8LCR.
    Ignition Wire Resistance: Ensure the wires are 6000 ohms end to end.
    Total Resistance: Limit to 7000 ohms plug + wire.
    This setup ensures that the signal strength remains strong enough for the engine ECU to detect the voltage differences required for proper operation.



    Last edited by Annddrriy; 12-04-2024 at 01:56 PM. Reason: CIS

  19. #119
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    In case if cylinder identification sensor is not going to work then the engine ECU fall in limited operating strategy LOS mode. The Arduino will handle it.
    I’m trying to program Arduino uno to control injector banks in petroleum engine which has two injector banks. Each injector bank has 3 injectors wired together and controlled by ground terminal pin 16 and 17 by the engine ECU. The original engine ECU injector banks not working anymore and I am going to disconnect those two wires and get connected to the Arduino uno microcontroller to control injector banks in the engine. The original engine ECU all the injectors powered from the main relay 12 volts and each bank of 3 injectors wired together to control negative terminal by the engine ECU pin 16 and pin 17. The Arduino uno should get power from the main relay but through the LM2596 D-D to lower voltage from 12 volt to 5 volt and negative two pins must be cut it or disconnected pins 16 and 17 from the original engine ECU and connected to the Arduino Uno pin 9 and pin 10. How this will affect original engine ECU if the engine ECU will have no circuit load on negative two pins which grounds the all injectors because the two wires will be cut it and connected to the Arduino Uno pins 8 and 9 ?To answer your question cutting the negative control pins pin 16 and pin 17 from the BMW E32 M30B35 engine ECU and connecting them to Arduino Uno pins 9 and 10 will affect the Motronic 1.3 ECU‘s control of the injectors. Here’s a breakdown of what this will mean and how to address it:
    How the Motronic 1.3 ECU Controls the Injectors:
    The Motronic 1.3 ECU controls each injector bank by switching the ground negative side for each bank. The ECU uses pin 16 and pin 17 to switch the ground for the two injector banks each controlling three injectors. These pins are low-side switches meaning the ECU applies a low signal ground to activate the injectors.
    The main relay provides the 12V power to the injectors while the ECU provides the ground to complete the circuit and trigger fuel injection.
    What Happens If You Disconnect Pin 16 and Pin 17:
    If you disconnect the negative injector control pins 16 and 17 from the engine ECU and connect them to the Arduino Uno pins 9 and 10:
    The engine ECU will lose its control over the injectors because it won’t be able to ground the injectors no current flow path through the injectors.
    The Arduino Uno will then be responsible for switching the injector banks sequentially on and off via these pins 9 and 10 effectively replacing the ECU’s role in controlling injector banks.
    Possible Effects on Motronic 1.3 ECU:
    Loss of Injector Control: The ECU will still be powered and functioning but it will not be able to control the injectors. The injector ground switching will no longer be handled by the ECU which may cause the ECU to behave unexpectedly as it is designed to control those pins.
    ECU Fault Detection: The Motronic 1.3 may expect to see specific current and resistances on these pins when the injectors are being fired. If the pins are disconnected or not drawing the expected current the ECU may register a fault code or trigger a Check Engine Light even though you mentioned that the CEL bulb is missing on Euro versions the ECU can still detect some issues.
    Signal Interference: If the Arduino Uno outputs the ground signal and controls the injectors the voltage levels from the Arduino pins 5V logic level and the voltage on the ECU’s control pins 12V for the injectors may not align properly. If the Arduino’s pins 9 and 10 are directly controlling 12V circuits they could get damaged because they are not designed to handle high current or voltages.
    Suggested Approach:
    Use Optocouplers: The best way to interface the Arduino Uno with the Motronic 1.3 ECU is to use optocouplers PC817 to safely isolate the Arduino from the ECU. The optocoupler will allow the Arduino to control the injector ground signals without directly connecting to the ECU’s pins preventing damage to both the Arduino and the ECU.
    The Arduino would control the LED side of the optocoupler using pins 9 and 10. The phototransistor side of the optocoupler would switch the ground pins 16 and 17 for the injector banks mimicking the ECU’s behaviour but isolating the two circuits.
    Use MOSFETs for Injector Switching: Since the injectors require high current switching around 12V the optocouplers can then drive MOSFETs IRLZ44N to switch the injectors on and off. The MOSFETs will handle the high current required by the injectors while the Arduino and optocouplers control the timing and sequencing.
    Voltage Regulation: For powering the Arduino Uno you can use the LM2596 to step down the 12V from the main relay to 5V for the Arduino’s power supply. Make sure to add proper filtering capacitors on the output of the LM2596 to ensure stable power for the Arduino.
    Summary:
    Disconnecting the ECU control pins and directly connecting them to the Arduino could disrupt the engine ECU’s control over the injectors causing it to behave unpredictably.
    Optocouplers should be used to interface between the Arduino and the ECU for safe signal transmission.
    Use MOSFETs to switch the injectors with the Arduino controlled signals.
    Power the Arduino through a voltage regulator LM2596 from 12V.
    By following this method you can maintain the integrity of the Motronic 1.3 ECU and safely control the injectors using the Arduino Uno.

    1. Your idea involves intercepting and modifying the control of the fuel injectors by the Arduino Uno while maintaining the proper functionality of the Motronic 1.3 ECU. Let’s break this down and analyse the impacts and solutions.

    System Overview
    Motronic 1.3 Injector Control:
    Injectors are powered through the main relay positive terminal.
    Each injector bank has 3 injectors is controlled by the engine ECU pins 16 Bank 1 and 17 Bank 2 which act as ground switches.
    Proposed Setup:
    The Arduino Uno is powered through the main relay using an LM2596 step-down regulator to ensure a stable 5V supply.
    The injector banks’ ground control wires are disconnected from the engine ECU pins 16 and 17 and routed to the Arduino pins 9 and 10.
    The Arduino will handle injector control instead of the engine ECU.
    Potential Issues with Removing the load from the ECU
    ECU Fault Detection:
    Motronic 1.3 may monitor the load on pins 16 and 17.
    If the engine ECU detects no load it may register an error or fail to operate other functions dependent on injector feedback.
    Timing and Signal Interference:
    By removing the direct connection the engine ECU may experience timing discrepancies as it no longer controls the injectors.
    Electrical Noise and Stability:
    Open or unterminated circuits on the ECU pins 16 and 17 could introduce electrical noise leading to unpredictable behaviour.
    Proposed Solution: Dummy Load for the engine ECU
    To trick the engine ECU into thinking it still controls the injectors:
    Connect Dummy Injectors:
    Use resistors to simulate the load of the actual injectors on pins 16 and 17.
    Typical injector resistance: 14-16 ohms. For 3 injectors per one bank and 3 injectors per another bank.
    Use a 5.6-ohm resistor rated for at least 10 watts to handle heat on each pin.
    Connect one end of the each resistor to the ECU pin 16 and pin 17 and the other end to the ground.
    This keeps the engine ECU operational while letting the Arduino take over injector control.
    How the Arduino Will Work
    Power Supply:
    Use the LM2596 to step down from 12V to 5V and power the Arduino safely.
    Injector Control:
    Connect the injector banks 1 and 2 to Arduino pins 9 and 10 configured as outputs.
    Program the Arduino to switch the injectors ground connection sequentially based on the engine timing signal from the engine ECU pin 6. The engine ECU pin 6 is the engine speed output which is connected to the dashboard cluster tachometer gauge. The RPM gauge is to show driver what the engine speed are at idle and also driver can watch the engine RPM when vehicle speed is above 100km/h.
    Timing:
    Use input from the engine RPM signal which is contact number 6 to calculate injection intervals.
    Ensure precise synchronisation to avoid misfires or poor engine performance.
    Wiring Diagram Overview
    Main Relay:
    12V to LM2596 → Arduino 5V.
    Injector Grounds:
    ECU pins 16 and 17 → Dummy load resistors → Ground. Also possible to connect another used 6 injectors and mount it somewhere in the engine bay to keep the original engine ECU happy running as should. What do you think guys about this new project ? Any answer always will be appreciated and thanks a lot !
    Actual injectors → Arduino pins 9 and 10 controlled by Arduino program.
    ECU Signal:
    Input from ECU pin 6 RPM signal to Arduino for timing.
    Considerations
    Reliability:
    Ensure dummy resistors are properly rated to avoid overheating.
    Test Arduino code extensively to ensure accurate injector control.
    Failsafe:
    Design a bypass or fallback to the ECU’s original control in case of Arduino failure.
    Legal/Regulatory Compliance:
    Modifying the engine ECU systems may have legal implications in some regions especially for on-road vehicles.
    The vehicle has two injector banks which has to be switched every engine revolution is 360 degrees rotation of the engine crankshaft which takes 80 ms and pulse width modulation takes 5 milliseconds at the engine speed RPM750.
    Yes. I would like assistance in designing the Arduino code or further clarification on specific steps ?
    Let’s start with designing the Arduino code and clarifying any specific steps involved in the setup. Here’s how we can break it down:
    Arduino Code Design Overview
    The Arduino program will need to:

    1. Read the RPM Signal:

    Input from the engine ECU pin 6 a square wave proportional to the engine RPM. The engine RPM at idle speed is RPM750.

    1. Calculate Timing:

    Based on RPM determine when to toggle injector banks.

    1. Switch Injector Banks:

    Each injector bank has 3 injectors wired together to be controlled by ground terminal with the Arduino program. The vehicle has two injector banks. Each injector bank has to be switched ON every engine revolution which is 360 degrees rotation of the engine crankshaft and takes 80 milliseconds for one engine revolution. If one injector bank ON then another injector bank should be OFF. Fuel Injection time takes 5 milliseconds including 80 milliseconds per one engine revolution.
    Control injector banks connected to pins 9 and 10 on the Arduino.
    Step 1: Reading the RPM Signal
    The Arduino UNO microcontroller will pickup signal from the engine ECU pin 6. The engine crankshaft reluctor wheel has 60 teeth and 2 teeth missing for to inform the controller that the engine crankshaft is at top dead centre TDC. Every time when crankshaft reluctor wheel passes the two missing teeth at that time second injector bank is injected fuel into combustion chamber just for 5 milliseconds while the first injector bank delays for 80 milliseconds at the engine speed RPM750. The process should work ON and OFF. One injector bank is ON and another injector bank is OFF. If to program Arduino UNO to connect all 6 injectors individually that would be great deal but more complicated for Arduino UNO to control.
    The RPM signal is a square wave with a frequency proportional to the engine RPM. For example:
    At 750 RPM idle the frequency is 35 Hz and injector bank switching time every 80 milliseconds per one engine revolution including pulse width modulation time 5 milliseconds.
    At 1500 RPM the frequency is 70 Hz and injector bank switching time every 40 milliseconds per one engine revolution including pulse width modulation time 2.5 milliseconds or 5 or 10 milliseconds. If the injector banks time decrease of the engine crankshaft speed then injector bank switching time decreases and not sure if pulse width modulation time should be increased or decreased ? At idle engine speed RPM750 fuel injection takes 5 milliseconds only. Injector bank switching time decreased when the engine speed increased.
    Motronic 1.3 has output digital square wave signal from PIN number 6 is the engine speed output goes to the cluster RPM gauge. To skip connecting comparator to the Arduino microcontroller we can take digital output signal from pin number 6 of the engine ECU then connected to the Arduino ?
    Yes. We can connect pin number 6 of the Motronic 1.3 ECU engine speed output signal directly to the Arduino microcontroller as it already outputs a digital square wave signal. Here’s why this approach works and how we can implement it:
    Why We Can Use Pin 6 Directly:
    Digital Signal: Pin 6 of the engine ECU provides a digital square wave signal with a frequency proportional to the engine RPM. This eliminates the need for an analog to digital conversion or a comparator circuit.
    Voltage Compatibility: Verify that the voltage level of the signal from Pin 6 is within the input tolerance of the Arduino microcontroller. Most Arduinos microcontroller operate at 5V logic and if Pin 6 outputs a 5V square wave it can be connected directly. If the voltage is higher 12V you will need a voltage divider or a level shifter.
    Simplifies Circuit Design: By using the ECU’s digital output you bypass the need to condition the analog signal from the crankshaft position sensor.
    Steps to Connect Pin 6 to the Arduino microcontroller:
    Measure Pin 6 Output: Use an oscilloscope or multimeter to check the signal voltage level. Ensure the square wave does not exceed 5V.
    If the voltage is 5V: You can connect it directly to the Arduino microcontroller.
    If the voltage is higher 12V: Use a voltage divider or a logic level shifter.
    Example voltage divider for 12V to 5V:
    Use two resistors R1=6.8 Kohms and R2=3.3Kohms where:
    V out = V in x R2:R1+R2
    This will safely bring the 12V signal to approximately 5V.
    Connect Pin 6 to Arduino microcontroller Input:
    If using a voltage divider connect Pin 6 engine speed output to the input pin of the voltage divider.
    Then connect the output of the voltage divider to a digital input pin on the Arduino microcontroller Pin 2.
    Key Notes:
    Pin Voltage: Always ensure the voltage from Pin 6 is safe for the Arduino microcontroller. If in doubt use a voltage divider.
    Square Wave Frequency: The signal frequency corresponds to the engine RPM. For example if the engine produces 2 pulses per revolution:
    RPM=Frequency in Herz multiply 60 and divide pulse per engine revolution.
    Signal Conditioning: If noise is present in the signal you can add a small capacitor 100nF between the input pin and ground to stabilise the signal.
    By connecting the digital output from Pin 6 directly to the Arduino microcontroller you simplify the system and avoid additional hardware like a comparator.

    1. What next should we connect to the Arduino microcontroller for controlling injector banks sequentially ?

    To control the injector banks sequentially using the Arduino microcontroller we need to implement a system that synchronises the injector operation with the engine speed signal and crankshaft position. Here’s what to do step by step:
    Injector Control Pins
    Injectors in Motronic 1.3 are grouped into two banks:
    Bank 1: Cylinders 1-5-3
    Bank 2: Cylinders 6-2-4
    The injectors are ground switched meaning the ECU controls the ground side of each injector bank to complete the circuit.
    Use the Arduino microcontroller to control MOSFETs or transistors that switch the ground of each injector bank.
    Components Needed for Injector Control
    N-channel MOSFETs IRLZ44N: To switch the injectors on and off. These MOSFETs can handle high current and are logic level meaning they are directly driven by the Arduino’s microcontroller 5V digital output.
    Flyback Diodes 1N4007: Place these across each injector to protect the MOSFETs from voltage spikes caused by the inductive nature of injectors.
    Pull down Resistors: To ensure the MOSFET gates are off when no signal is sent.
    Circuit Diagram
    MOSFET Setup for Each Bank:
    Gate of MOSFET Connected to an Arduino microcontroller digital pin 8 for Bank 1 Pin 9 for Bank 2.
    Drain of MOSFET Connected to the ground pin of the injector bank.
    Source of MOSFET Connected to the car’s ground.
    Flyback Diodes:
    Connect the diode anode to the injector’s ground pin drain of MOSFET.
    Connect the diode cathode to the positive power supply of the injectors 12V.
    Diagram Overview:
    Injector Bank +12V Injectors Drain MOSFET --Source Ground Diode Anode → Drain Cathode → +12V
    Gate MOSFET Arduino microcontroller Digital Pin Pin 8 or Pin 9

    1. Program the Arduino for Injector Sequencing

    The Arduino will:
    Use the engine speed signal from ECU Pin 6 already connected to measure RPM.
    Use this RPM value to calculate timing intervals for injector firing.
    Sequentially control Bank 1 and Bank 2 based on the firing order.
    Example Code for Bank Switching:
    const int bank1 Pin = 8 MOSFET control pin for Bank 1
    const int bank2 Pin = 9 MOSFET control pin for Bank 2
    volatile int pulseCount = 0
    unsigned long lastTime = 0
    float rpm = 0
    void pulse ISR
    pulse Count++
    void setup
    pin Mode bank1 Pin OUTPUT
    pin Mode bank2 Pin OUTPUT
    attach Interrupt digital Pin To Interrupt 2 pulse ISR RISING Engine speed input
    Serial.begin 9600
    void loop
    unsigned long current Time = milliseconds
    if current Time last Time = 1000
    detach Interrupt digital Pin To Interrupt 2 Temporarily stop interrupts
    rpm = pulse Count 60.0 2.0 Adjust based on engine signal pulses per revolution
    pulse Count = 0 lastTime = current Time
    attach Interrupt digital Pin To Interrupt 2 pulse ISR RISING Restart interrupts
    Serial.print RPM:
    Serial.print ln rpm
    Bank Switching Logic at 750 RPM
    if rpm 0
    digital Write bank1 Pin HIGH Turn Bank 1 ON
    digital Write bank2 Pin LOW Turn Bank 2 OFF
    delay 40 Adjust timing based on RPM 40ms half revolution at 750 RPM

    digital Write bank1 Pin LOW Turn Bank 1 OFF
    digital Write bank2 Pin HIGH Turn Bank 2 ON
    delay 40 Adjust timing

    1. How It Works
      RPM Measurement: The Arduino calculates RPM using the engine speed signal from Pin 6 of the ECU.
      Timing Calculation: At 750 RPM one crankshaft revolution takes 80 ms. The two injector banks alternate roughly every 80 ms.
      Sequential Switching: The Arduino microcontroller turns the MOSFETs controlling Bank 1 and Bank 2 ON and OFF in sequence:
      Bank 1 ON → Bank 2 OFF
      Bank 2 ON → Bank 1 OFF
    2. Testing and Calibration
      Use an oscilloscope to verify the timing of injector switching. Ensure it matches the crankshaft position signal.
      Adjust the delay times in the code based on measured RPM to synchronise injector firing with engine cycles.

    Final Notes:
    By using Pin 6 for engine RPM you avoid complex signal conditioning.
    Use the Arduino microcontroller to generate sequential control signals for the MOSFETs driving the injector banks.
    Ensure proper flyback diode protection for the injectors to prevent damage to the MOSFETs.
    Fine tune the timing intervals based on actual engine speed and injector response.
    What type of the Arduino microcontroller will fit to this purpose ?
    For controlling injector banks sequentially while processing signals like the engine speed output from the ECU and possibly crankshaft signals the choice of Arduino microcontroller depends on the following requirements:
    Key Requirements:
    Input Handling: Needs to handle square wave signals interrupts and RPM calculations accurately.
    Pulse Width Modulation PWM Digital Outputs:
    Multiple digital pins for driving MOSFETs or relays controlling the injectors.
    Processing Speed: Fast enough to manage timing-critical tasks like sequential injector switching millisecond precision.
    Timers Interrupts:
    Requires hardware timers and interrupt capabilities to measure RPM and control outputs in real time.
    Power Supply:
    Must operate reliably in a 12V automotive environment via voltage regulators.
    Recommended Arduino Microcontrollers:
    Arduino Uno ATmega328P
    Pros:
    Simple and widely available.
    14 digital I/O pins 6 pulse width modulation PWM capable.
    Interrupt support 2 external interrupts: pins 2 and pin 3.
    More than sufficient for two banks of injectors.
    Well documented and affordable.
    Cons:
    Limited memory 2 KB SRAM 32 KB flash.
    Slower clock speed 16 MHz.
    Fit for Purpose:
    The Uno can handle the engine speed signal calculate RPM and control injector banks using basic timers and delays. It’s a perfect choice for simpler sequential injector control projects.
    Arduino Mega 2560
    Pros:
    54 digital I/O pins 15 pulse width modulation PWM capable plenty of room for future expansions.
    4 hardware timers and multiple external interrupts.
    More memory 8 KB SRAM 256 KB flash.
    16 MHz clock speed same as Uno.
    Cons:
    Larger form factor.
    Slightly more expensive.
    Fit for Purpose:
    If you plan to add more features later additional sensors displays CAN bus communication the Mega provides extra pins and memory.

    1. Arduino Nano (ATmega328P)
      Pros:
      Small and compact ideal for tight spaces in automotive projects.
      Same features as the Uno ATmega328P.
      Breadboard friendly.
      Cons:
      Limited I/O same as Uno.
      Slightly trickier to connect to MOSFET drivers compared to larger boards.

    Fit for Purpose:
    The Nano is essentially a smaller Uno perfect if space is a constraint under the dashboard or engine bay.

    1. Arduino Due
      Pros:
      32-bit ARM Cortex-M3 processor running at 84 MHz much faster processing.
      54 digital I/O pins and 12 analog inputs.
      4 hardware timers.
      Cons:
      3.3V logic level requires careful interfacing with 5V signals like those from the ECU.
      Slightly more expensive.

    Fit for Purpose:
    If you need higher precision or additional processing speed advanced injector timing with more cylinders the Due is ideal but requires level shifting for 5V signals.
    Final Recommendation:
    For controlling injector banks sequentially in your BMW E32:
    Start with the Arduino Uno: It is reliable affordable and more than capable for two injector banks.
    Upgrade to the Mega 2560 if you need additional I/O pins or features.
    Use the Nano for a compact solution in tight spaces.
    For advanced applications requiring ultra precise timing or high speed processing consider the Arduino Due but ensure you properly handle its 3.3V logic compatibility.
    How many pins has Arduino Uno ? Injectors bank has two negative pins for bank one and bank two. Each bank negative wire must be disconnected and Uno has to be connected in series to control injector banks sequentially ?
    Arduino Uno Pin Count
    The Arduino Uno has 14 digital I/O pins 0–13 of which 6 can provide PWM outputs Pulse Width Modulation. Additionally it has 6 analog input pins A0–A5.
    Sequential Control of Injector Banks
    To control two injector banks negative pins where each bank must alternate on/off we need:
    Two Digital Output Pins:
    Pin 1 for Bank 1 control transistor or MOSFET switching.
    Pin 2 for Bank 2 control.
    Connection in Series:
    The negative wire of each injector bank will connect to a switching circuit transistor or MOSFET.
    Arduino pins will drive the transistors/MOSFETs to connect/disconnect the injector banks to ground sequentially.
    Why Use Transistors or MOSFETs ?
    The injectors are high-current components and draw several amps when operating. The Arduino Uno pins cannot directly handle high current they can only provide about 40 mA per pin.
    Thus:
    Use NPN transistors TIP120 or logic-level MOSFETs IRLZ44N).
    The injector negative wires connect to the transistors/MOSFETs which are then controlled by Arduino’s digital pins.
    Wiring Diagram Concept
    Here’s a simplified breakdown:
    Injectors Bank 1 Negative Pin → Transistor/MOSFET Source/
    Emitter.
    Injectors Bank 2 Negative Pin → Second Transistor/MOSFET Source/Emitter.
    Arduino Digital Pins:
    Pin 9 → Transistor/MOSFET
    Bank 1 Control.
    Pin 10 → Transistor/MOSFET Bank 2 Control.
    Drain/Collector of each MOSFET/Transistor → Connected to Ground GND.
    Arduino Pins switch the transistors/MOSFETs to sequentially ground the banks.
    Example Control Logic
    Detect the engine position from the crankshaft position signal.
    Use timing logic to activate:
    Bank 1 injectors ON → Pin 9 HIGH → Bank 2 OFF.
    After the appropriate delay one crankshaft revolution:
    Bank 2 injectors ON → Pin 10 HIGH → Bank 1 OFF.
    Summary
    The Arduino Uno has 14 digital pins of which we only need 2 pins for controlling injector banks.
    Connect the negative injector wires to MOSFETs/Transistors.
    Control the MOSFETs/Transistors via Arduino pins to sequence the banks ON/OFF.
    Ensure proper grounding and power handling for the injectors.
    Would you like more details on wiring the MOSFETs or writing the control code for this logic ? Yes. We would like more details on wiring the transistor.
    If we wiring injector one bank negative terminal wire then one end of the wire connected to the Arduino input pin 9 for the injector bank 1 and Arduino pin 10 connected to the injector bank 2. Here is the question where we should connect output another end of the wire to the Arduino to control injector banks sequentially ?
    In our setup the injector negative terminal wire ground side should not be connected directly to the Arduino output pins Pin 9 and 10. Let me explain why and where the connections should go.
    Understanding Injector Control:
    Injectors are typically low-side switched meaning:
    The positive terminal of the injector receives constant 12V power from the battery or relay.
    The negative terminal is connected to a transistor or MOSFET that switches it ON/OFF by connecting it to ground.
    An Arduino digital output pin cannot directly handle the current needed to control the injector around 1-5 Amps. Instead the Arduino controls MOSFETs or relays which then complete the circuit to ground for each injector bank.
    Correct Wiring Plan:
    To sequentially control injector banks we need to wire the setup as follows:
    Injector Positive Terminal:
    Connect this to a 12V power source battery or fuel injection relay.
    Injector Negative Terminal:
    Connect this to the Drain of an N-channel MOSFET one MOSFET per injector bank.
    MOSFET Gate:
    Connect the Gate of the first MOSFET to Arduino Pin 9 for Bank 1.
    Connect the Gate of the second MOSFET to Arduino Pin 10 for Bank 2.
    MOSFET Source:
    Connect the Source of both MOSFETs to the common ground of the power system battery ground and Arduino GND.
    Arduino GND:
    Connect the Arduino GND pin to the vehicle ground.
    How It Works:
    The Arduino sends a HIGH signal 5V to Pin 9 or Pin 10.
    This signal turns ON the corresponding MOSFET which connects the injector’s negative terminal to ground allowing current to flow and the injector to fire.
    When the Arduino pin goes LOW the MOSFET turns OFF stopping the current and turning the injector OFF.
    Simplified Diagram:
    [Injector Bank 1]
    +12V --------- Injector Positive Terminal
    |
    Injector Negative Terminal ----- DRAIN (MOSFET 1)
    |
    SOURCE (MOSFET 1) ------ GND
    |
    GATE <-- Arduino Pin 9
    [Injector Bank 2]
    +12V --------- Injector Positive Terminal
    |
    Injector Negative Terminal ----- DRAIN (MOSFET 2)
    |
    SOURCE (MOSFET 2) ------ GND
    |
    GATE <-- Arduino Pin 10
    Arduino GND ----- Vehicle Ground
    Required Components:
    N-Channel MOSFETs: Use robust MOSFETs like IRFZ44N or IRLZ44N which can handle high current and are logic-level 5V compatible.
    Flyback Diodes 1N4007: Place across each injector positive to negative terminal to prevent voltage spikes when the MOSFET switches OFF.
    Why MOSFETs ?
    The Arduino cannot directly handle the high current of injectors. MOSFETs act as switches that allow the Arduino to safely control the injectors by switching the ground path.
    Where and how many volts should Arduino get power from ?
    The Arduino requires a regulated voltage to operate safely. Depending on our specific model of Arduino Arduino UNO MEGA or NANO here is how and where we can power it safely in our vehicle setup:
    Voltage and Power Requirements:
    Operating Voltage: The Arduino runs on 5V internally.
    Input Power Range recommended:
    7-12V through the VIN pin or the barrel jack.
    5V directly to the 5V pin only when using an external regulated power source.
    In a vehicle the voltage of the battery is typically 12-14.5V depending on the alternator output which cannot directly connect to the 5V pin of the Arduino. Instead we must regulate the voltage to a safe level.
    Powering the Arduino Safely in a Vehicle:
    Here are two methods to power the Arduino:

    1. Powering through the VIN Pin or Barrel Jack:
      Use a 12V to 7-9V DC-DC Buck Converter to step down the vehicle’s 12V to a stable voltage 7-9V.
      Connect the output of the converter:
      Positive terminal → VIN Pin or barrel jack if using a barrel plug.
      Negative terminal → Arduino GND.
      Why 7-9V ?: The Arduino has an onboard voltage regulator linear that converts input voltage to 5V. Feeding 7-9V ensures the regulator does not overheat or waste energy as heat.

    Wiring Example:
    Vehicle Battery (12V) ------ DC-DC Converter (7-9V) ------ VIN Pin on Arduino
    |
    Vehicle Ground -------- GND on Arduino

    1. Powering through the 5V Pin Advanced Option:
      If we already have a 5V regulated power source from a DC-DC step-down converter connect:
      Positive output → 5V Pin on Arduino.
      Negative output → GND.
      Caution: When using the 5V pin bypass the Arduino’s onboard voltage regulator so you must ensure the power source is a stable 5V. Do not exceed 5.5V or we risk damaging the Arduino.

    Wiring Example:
    Vehicle Battery (12V) ------ DC-DC Converter (5V) ------ 5V Pin on Arduino
    |
    Vehicle Ground -------- GND on Arduino
    Recommendations for Stability:
    Use a DC-DC Buck Converter: A step-down converter ensures that the voltage supplied to the Arduino is stable regardless of battery fluctuations. Popular options include:
    LM2596-based modules: Inexpensive and widely available.
    Adjustable or Fixed Step-Down Converters.
    Add Protection:
    A fuse 1A or 2A on the power input line to protect against short circuits.
    A capacitor 470 µF on the input and output of the buck converter to stabilise the voltage.
    Key Notes:
    Never connect 12V directly to the 5V Pin of the Arduino. This will damage it.
    Always connect the Arduino GND to the vehicle’s ground to ensure a common ground reference.
    Can Arduino control injector banks negative terminal showing on the oscilloscope frame ? The injector positive spike reaches 45 volts and negative spike -15 goes to ground at the idle engine speed RPM750 ?
    No. The Arduino cannot directly control the injector banks as shown in the oscilloscope image due to the following reasons: If someone wants to look at the oscilloscope injector wave form I can send it image to.
    High Voltage Spikes
    The injector circuit shows positive spikes up to 45V and negative spikes as low as -15V when switching.
    An Arduino’s digital pins are designed to work with 5V logic levels 0–5V and can only tolerate a maximum of 5.5V.
    Exposing the Arduino to these high voltage spikes would immediately damage or destroy the microcontroller.
    Current Requirements
    Fuel injectors typically require several amps of current to operate 2–5A per injector while Arduino pins can only supply or sink about 20–40mA.
    The Arduino cannot provide sufficient current to switch the injectors directly.
    Solution: Using a Driver Circuit to control the injectors safely we need an intermediate driver circuit to:
    Isolate the Arduino from the high-voltage spikes.
    Switch high current through the injectors.
    Recommended Components for the Driver Circuit:
    MOSFET or IGBT: Use a high-power MOSFET IRLZ44N IRF540N or an IGBT to control the injectors. These can handle high voltage and current switching.
    Flyback Diode: Place a flyback diode 1N4007 or 1N5819 across the injectors to suppress voltage spikes caused by inductive loads.
    Optocoupler Optional: For added isolation you can use an optocoupler to protect the Arduino from voltage transients.
    Basic Working Principle:
    The Arduino will send a LOW-voltage control signal 0-5V to the gate of a MOSFET or IGBT.
    The MOSFET/IGBT will act as a switch connecting the injector’s negative terminal to ground when the control signal is HIGH.
    The flyback diode will suppress any inductive voltage spikes when the injector turns off.
    Wiring Diagram Concept:
    Injector Positive Terminal: Connect to the 12V supply.
    Injector Negative Terminal:
    Connect to the drain/collector of the MOSFET or IGBT.
    MOSFET Source or IGBT Emitter: Connect to ground.
    Flyback Diode: Place across the injector terminals cathode to positive anode to negative.
    MOSFET Gate or IGBT Gate: Connect to the Arduino output pin through a current-limiting resistor 220 ohms.
    Arduino GND: Must be connected to the vehicle ground for a common reference.
    Final Note:
    Using an MOSFET-based driver circuit with a flyback diode allows us to safely control the injectors using the Arduino without exposing it to dangerous voltage spikes.
    Should we need a detailed schematic ? Yes we need detailed schematic to make sure that everything works correctly.
    Should we connect by using an MOSFET-based driver circuit with a flyback diode allows us to safely control the injectors using the Arduino without exposing it to dangerous voltage spikes ?
    Yes. Using an MOSFET-based driver circuit with a flyback diode is the correct and safe approach to control the injectors with an Arduino without exposing it to dangerous voltage spikes.
    Here’s why this method works:
    MOSFET-based Driver Circuit:
    The MOSFET serves as a switch that is controlled by the Arduino.
    The Arduino outputs a low-voltage signal 0-5V to the gate of the MOSFET which switches the high current needed to activate the injector.
    The MOSFET allows the injector’s negative terminal to be connected to ground when the MOSFET is turned on.
    The positive terminal of the injector is already connected to 12V vehicles main relay.
    Flyback Diode:
    Injectors are inductive loads which means when the current flowing through them is suddenly interrupted when the MOSFET turns off it can create a high-voltage spike.
    The flyback diode is connected in parallel with the injector cathode to positive anode to negative. When the MOSFET turns off the diode provides a path for the current to flow through thus clamping the high-voltage spike and preventing it from reaching the Arduino or damaging the MOSFET.
    Why This Works:
    The MOSFET controls the injector’s current without exposing the Arduino to high voltages or currents.
    The flyback diode prevents voltage spikes generated by the inductive nature of the injectors from reaching and damaging the components.
    How to Connect It:
    MOSFET IRF540N:
    Drain: Connect to the injector’s negative terminal.
    Source: Connect to ground.
    Gate: Connect to the Arduino output pin pin 9 or pin 10 through a current-limiting resistor 220Ω.
    Flyback Diode 1N4007:
    Connect the cathode to the positive terminal of the injector 12V.
    Connect the anode to the negative terminal of the injector MOSFET drain.
    Injector Positive Terminal:
    Connect to the 12V power supply.
    Arduino Power:
    Power the Arduino using a stable 5V supply from a regulated source.
    This setup ensures that the Arduino controls the injector banks safely without risking damage from the high-voltage spikes generated by the injectors.
    How to program Arduino UNO for this task may vary depending on code ?
    Thank you in advance for your answer !


    Last edited by Annddrriy; 12-19-2024 at 11:40 PM. Reason: CID

  20. #120
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    BMW E32 M30B35 engine is running at idle speed RPM750 and what speed of the fuel pump motor ? Thanks !

  21. #121
    Join Date
    Jan 2005
    Location
    Japan
    Posts
    56,282
    My Cars
    11/88 E32 750iL
    Your E32 fuel pump runs at constant speed. They are specced to deliver the maximum amount of fuel the engine can need, plus a bit safety margin, there is no difference for the fuel pump motor speed in idle, medium or top RPM = always the same speed. Your M30 fuel pump always produces the same volume and pressure and the excess is returned to the fuel tank via the fuel return line, fuel is controlled by the fuel pressure regulator. The M30B30/B35 fuel pump is originally Bosch 0 580 464 995 , operating pressure is 3 bar, conveying capacity at 12 V 1.9 liter/minute, conveying capacity against counter pressure 875 ccm/30 seconds, power consumption is 5A, 1.9 ltr/min x 60 minutes = 114 liter/minute.
    A fuel pressure regulator's main function is to maintain a consistent fuel pressure for the fuel injectors across a range of driving conditions. It does this by controlling how much fuel is returned to the fuel tank.

    I have unpacked a Bosch fuel pump for you, there is no information about the fuel pump speed.
    A typical fuel pump runs at a speed of 5,000–6,000 rotations per minute (RPM). However, the speed can range from 3,000–10,000 RPM depending on the type of fuel pump.
    Our standard fuel pump system is a return style system, the pump runs at a constant speed. Excess fuel is returned by the pressure regulator back to the tank.
    Shogun tricks and tips for the E32 series are HERE!

  22. #122
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Thank you !

  23. #123
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Do you know what is fuel injection pulse width at maximum RPM that the engine ECU cuts power to all injectors ? What is pulse width at the engine speed RPM2250 approximately ? Thanks in advance for your answer !
    Last edited by Annddrriy; 01-19-2025 at 04:53 AM. Reason: Fixed Pulse Width at RPM

  24. #124
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    To obtain the most accurate pulse width at RPM 2250 we must rely on real time data from an engine control system scanner or oscilloscope which records the actual signals.
    Why Real Data is Crucial:
    Dynamic Variations: The pulse width is affected by factors such as engine load temperature and the engine ECU logic which may cause deviations from the theoretical linear calculations.

    ECU Strategy: Modern engine control modules often implement complex algorithms that adapt fuel injection timing affecting pulse width.
    Verification: Real world data provides the exact values avoiding potential errors from assumptions in theoretical calculations.

    Process:
    Connect a Scanner:
    Use a diagnostic scanner or data logging tool that can monitor injector pulse width in real time.
    Select parameters such as RPM and Injector Pulse Width.

    Test at RPM 2250:
    Gradually increase engine speed to 2250 RPM while ensuring the engine operates under normal conditions no misfires steady load..
    Record the corresponding pulse width.

    Verify Against Theory:
    Compare the recorded pulse width to the theoretical value calculated using the linear model 13 ms in this case. 13 milliseconds pulse width is just an example it might be not accurate.
    If discrepancies exist refine the theoretical model.

    Example Adjustment:
    If the real world data shows a pulse width of 12.8 ms at 2250 RPM update the slope:
    This recalibrated slope will better match real world behaviour.
    Hypothetical Estimation
    If we assume:
    At 750 RPM the pulse width is 5 ms.
    At 2250 RPM the pulse width increases linearly or based on demand.

    Under load at 2250 RPM the pulse width could exceed the no load example of 13 ms depending on how much fuel is required to maintain power.
    A Rough Estimate:
    If under heavy load the engine demands 30-40% more fuel the pulse width might increase proportionally:
    No-load pulse width: ~12.8-13 ms.
    Under load pulse width: ~16-18 ms.

    Why Real Data is Needed:
    The real value can vary significantly because of how the ECU compensates for:
    Boost in turbocharged engines.
    Sudden throttle changes.
    Air density variations altitude temperature Why Real Data is Needed:

    The real value can vary significantly because of how the ECU compensates for:
    Boost in turbocharged engines.
    Sudden throttle changes.
    Air density variations altitude temperature.

    Would you like a step by step guide to collect live pulse width data using a scanner or oscilloscope?
    That would give us the precise value under load at RPM 2250.
    Would you like a step by step guide to collect live pulse width data using a scanner or oscilloscope? That would give us the precise value under load at RPM 2250.

  25. #125
    Join Date
    May 2013
    Location
    Canada
    Posts
    1,828
    My Cars
    1990 BMW E32 735iA M30
    Ordered JANMOR HR8 is without cylinder identification sensor, made in Poland and it has 6000 ohms.
    Spark plugs 1Kohm left to ordered and all set will be ready to install and check it with new original BMW CID sensor.

Page 5 of 5 FirstFirst 12345

Similar Threads

  1. Doughnut,ie, cylinder identification sensor
    By joeblue in forum 8 Series (E31)
    Replies: 0
    Last Post: 01-02-2011, 12:56 PM
  2. Replies: 13
    Last Post: 07-23-2008, 02:11 PM
  3. car starts without the cam sensor ? is it bad
    By skanders in forum 1991 - 1999 (E36)
    Replies: 0
    Last Post: 02-02-2008, 08:58 AM
  4. Would a bad cam position sensor prevent the car from starting?
    By triggrhaapi in forum 1992 - 1999 M3 (E36)
    Replies: 4
    Last Post: 07-23-2007, 09:52 PM
  5. 1994 740 IL (E32) hard starting
    By bosx406 in forum 1988 - 1994 (E32)
    Replies: 2
    Last Post: 01-20-2006, 04:47 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •