diff --git a/Configuring_TunerStudio.md b/Configuring_TunerStudio.md index 903fa0a..3885954 100644 --- a/Configuring_TunerStudio.md +++ b/Configuring_TunerStudio.md @@ -2,7 +2,7 @@ title: Configuring TunerStudio project options description: published: true -date: 2020-01-16T11:08:57.820Z +date: 2020-01-16T15:21:09.539Z tags: TunerStudio --- @@ -52,3 +52,5 @@ An optional Speeduino specific boot loader is available that has different metho CAN options are currently under development, but settings are available on this tab for testing if you have supported hardware. ![CAN Devices](/img/TunerStudio/TS_CAN_settings.png){.align-center width=400} + +Configuration of CAN devices is currently unsupported \ No newline at end of file diff --git a/Connecting_to_TunerStudio.md b/Connecting_to_TunerStudio.md index bb7c2ad..908a059 100644 --- a/Connecting_to_TunerStudio.md +++ b/Connecting_to_TunerStudio.md @@ -2,10 +2,12 @@ title: Setting up TunerStudio description: How to create and connect to your ECU within TunerStudio published: true -date: 2020-01-16T11:32:43.137Z +date: 2020-01-16T15:28:01.635Z tags: --- +# Connecting to Tuner Studio + Tuner Studio is the tuning interface software used by Speeduino. It runs on Windows, Mac and linux and provides configuration, tuning and logging capabilities. Once you have the firmware compiled and uploaded to your Arduino, you're ready to setup Tuner Studio in order to configure and monitor it. If you haven't yet compiled and uploaded the firmware, refer to the [Installing Firmware](/Installing_Firmware) page. @@ -59,8 +61,4 @@ In the Speeduino reference directory, you will find the base tune file to be ope ![TS_7.png](/img/TunerStudio/TS_7.png){.align-center width=400} -And that's it! Tuner Studio should now attempt to connect to the Arduino and show a realtime display of the ECU. - ------------------------------------------------------------------------- - ------------------------------------------------------------------------- \ No newline at end of file +And that's it! Tuner Studio should now attempt to connect to the Arduino and show a realtime display of the ECU. \ No newline at end of file diff --git a/Installing_Firmware.md b/Installing_Firmware.md index f6897c5..2eeef74 100644 --- a/Installing_Firmware.md +++ b/Installing_Firmware.md @@ -2,10 +2,11 @@ title: Speeduino Firmware setup description: Setting up the Speeduino firmware on your board published: true -date: 2020-01-14T14:06:47.340Z +date: 2020-01-16T15:46:57.263Z tags: --- +# Loading the Speeduino firmware ## Overview The Speeduino firmware is the code that powers the hardware and must be installed onto your board prior to using the ECU. New firmware releases are made regularly (Approximately every 2 months) that bring new features, bug fixes and performance improvements so staying up to date is highly recommended. @@ -52,7 +53,7 @@ There are two methods for obtaining the Speeduino firmware: - Start the IDE, select *File > Open*, navigate to the location you downloaded Speeduino to and open the **speeduino.ino** file. - Set the board type: *Tools > Board > Arduino Mega 2560* or Mega ADK (This is the only board currently supported) -- Click the **Verify** icon in the top left corner (Looks like a tick) +- Click the **Verify** icon in the top left corner (Looks like a tick) At this point you should have a compiled firmware! If you experienced a problem during the compile, see the [Troubleshooting](http://speeduino.com/wiki/index.php?title=Compiling_and_Installing_Firmware&action=edit§ion=4#Troubleshooting) section below. @@ -86,29 +87,15 @@ Once you've successfully compiled the firmware, installation on the board is tri - Plug in your Mega 2560 to a free USB port - If you're running an older version of **Windows** and this is the first time you've used an Arduino, you may need to install drivers for the Arduino serial chip (USB-UART or "USB adapter chip"). - - Most official boards and many non-official versions use the ATMega16U2 or 8U2, whereas many of the Mega2560 clone boards utilize the CH340G IC. Both types work well. The serial chips can generally be identified by appearance: -ATMega16U (square IC) - drivers included in Windows, MacOS and Linux: - - - -or - -WCH CH340G (Rectangular IC) - uses "CH341" drivers from [WCH](http://www.wch.cn/downloads/file/65.html) for Windows: - - - -WCH-original CH340/CH341 drivers for other systems (Mac, Linux, Android, etc) may be found [here](http://www.wch.cn/downloads/CH341SER_ZIP.html). +* **ATMega16U** - This has a square IC near the USB connector - drivers are included in Windows 7+, MacOS and Linux. +* **WCH CH340G** - This has a rectangular IC near the USB connector- uses "CH341" drivers from [WCH](http://www.wch.cn/downloads/file/65.html) for Windows + * WCH-original CH340/CH341 drivers for other systems (Mac, Linux, Android, etc) may be found [here](http://www.wch.cn/downloads/CH341SER_ZIP.html). - In Arduino IDE; select the Mega2560: *Tools > Board* - Select your system's serial port to upload: *Tools > Serial Port* -- Hit the *Upload* button from the top left corner (Looks like an arrow point to the right) - -Assuming all goes well, you should see the IDE message that avrdude is done, similar to this: - - +- Hit the *Upload* button from the top left corner ### Older firmware releases @@ -148,4 +135,6 @@ The following can occur if you have only opened the speeduino.ino file rather th Make sure all the files are contained within the same directory, then select File->Open and find the speeduino.ino file. If you have opened the project correctly, you should have multiple tabs along the top: - \ No newline at end of file +![speeduinoIDE.png](/img/TunerStudio/speeduinoIDE.png){.align-center width=500} + +If you see only a single file or a small number of files then you haven't opened the entire project. \ No newline at end of file diff --git a/boards/MX5_PNP.md b/boards/MX5_PNP.md index 3e66a23..212ab8e 100644 --- a/boards/MX5_PNP.md +++ b/boards/MX5_PNP.md @@ -2,7 +2,7 @@ title: Miata/MX5 89-95 NA6 PNP description: Plug and Play board for the NA Miata/MX5 model years '89 through to early '95 published: true -date: 2020-01-08T01:53:01.609Z +date: 2020-01-16T11:54:38.899Z tags: boards, PNP --- @@ -13,7 +13,7 @@ The Speeduino Miata / MX5 Plug N Play (PNP) box is designed for easy installatio The stock ECU for these vehicles have a 2 plug loom connection and look like the below: -![OEM_ECU.png](/img/MX5/OEM_ECU.png =600x){.align-center} +![OEM_ECU.png](/img/MX5/OEM_ECU.png){.align-center width=500} > **WARNING:** Note that some changes to the stock hardware configuration are required with this unit. In particular, please see below in the fuel pump section for details that must be understood prior to starting {.is-danger} @@ -33,7 +33,7 @@ For a load reference, it is strongly recommended to run a manifold pressure line The 1.6L cars typically come with a suitable MAP port near the throttle body that is capped off in stock form and is generally the easiest place to take the manifold pressure reference. -![MAP_orig.png](/img/MX5/MAP_orig.png =600x){.align-center} +![MAP_orig.png](/img/MX5/MAP_orig.png){.align-center width=500} 5mm or 6mm vacuum hose should be used and there are multiple original holes in the firewall where this can be run. @@ -41,7 +41,7 @@ The 1.6L cars typically come with a suitable MAP port near the throttle body tha Manual NA6s come with a switch only TPS that provides limited feedback to the ECU. It is highly recommended to replace this with a Variable TPS (VTPS) that provides a signal indicating the current throttle position. The original wiring can be used with any 3 wire VTPS -![TPS_wiring.png](/img/MX5/TPS_wiring.png =600x){.align-center} +![TPS_wiring.png](/img/MX5/TPS_wiring.png){.align-center width=500} > **Note:** If a VTPS is **NOT** being fitted, the stock TPS should be disconnected and a 1k resistor placed between the signal line and ground to prevent erratic acceleration enrichment at full throttle. {.is-warning} @@ -53,7 +53,7 @@ In the stock configuration, inlet air temperature is provided by a sensor in the The 2 wires from this sensor can be pinned directly into the AFM connector on pins 1 and 6 (It does not matter which wire goes to which pin): -![IAT_connector.png](/img/MX5/IAT_connector.png =600x){.align-center} +![IAT_connector.png](/img/MX5/IAT_connector.png){.align-center width=500} ### Wideband O2 Sensor @@ -67,7 +67,7 @@ The stock ECU does not perform any fuel pump control as this is taken care of by The fuse to be removed is found in the engine bay fuse block: -![ST_SIG_fuse.png](/img/MX5/ST_SIG_fuse.png =600x){.align-center} +![ST_SIG_fuse.png](/img/MX5/ST_SIG_fuse.png){.align-center width=500} #### Alternative control methods @@ -75,7 +75,7 @@ If the above method of fuel pump control is either not desirable or not availabl To do this, a jumper wire is required on the AFM connector per the below: -![AFM_fuel_pump.png](/img/MX5/AFM_fuel_pump.png =600x){.align-center} +![AFM_fuel_pump.png](/img/MX5/AFM_fuel_pump.png){.align-center width=500} Once the above jumper is in place, the fuel pump pin in TunerStudio should be set to A9. @@ -97,4 +97,4 @@ The stock sensors can use preset calibrations within TunerStudio. The following **Stock Coolant Sensor (CLT)** - RX-7_CLT(S4 & S5) **Stock inlet air sensor (IAT)** - RX-7_AFM(S5 in AFM) -![sensor_calibrations.PNG](/img/MX5/sensor_calibrations.PNG =500x){.align-center} +![sensor_calibrations.PNG](/img/MX5/sensor_calibrations.PNG){.align-center width=420} diff --git a/boards/V03.md b/boards/V03.md index d9da310..231bc16 100644 --- a/boards/V03.md +++ b/boards/V03.md @@ -2,7 +2,7 @@ title: V0.3 Board description: Usage and details of the v0.3 series of boards published: true -date: 2020-01-14T07:02:06.686Z +date: 2020-01-16T11:53:24.022Z tags: --- @@ -27,7 +27,7 @@ The v0.3 boards includes the following features: ## Physical Layout -![v0_3_2_board_annotated.jpg](/img/boards/v0_3_2_board_annotated.jpg =60%x){.align-center} +![v0_3_2_board_annotated.jpg](/img/boards/v0_3_2_board_annotated.jpg){.align-center width=450} ## Proto area @@ -38,7 +38,7 @@ The proto area can be used for adding your own circuits on to Speeduino if requi - SPI pins (MOSI, MISO, SCK and SS). Alternatively these can be used as generic digital IO (Arduino pins 50-53) - 3 generic analog inputs (13-15) -![v0_3_2_proto_annotated.jpg](/img/boards/v0_3_2_proto_annotated.jpg =60%x){.align-center} +![v0_3_2_proto_annotated.jpg](/img/boards/v0_3_2_proto_annotated.jpg){.align-center width=460} ## Board Assembly @@ -50,7 +50,7 @@ Assembly of a complete board is relatively straightforward with all components b 2. All diodes (Including LEDS) 3. All capacitors * Take note that C14 and C16 are polarised capacitors, meaning that they must be put in the correct way around. The capacitors should be marked with a + sign on one side. On the PCB, the positive side is indicated by a line on the capacitor symbol. - * ![capacitor_orientation.png](/img/hardware/capacitor_orientation.png){.align-center} + * ![capacitor_orientation.png](/img/hardware/capacitor_orientation.png){.align-center width=180} Correct capacitor orientation 4. All jumper headers (JP\*) diff --git a/boards/V04.md b/boards/V04.md index 217f850..db03b05 100644 --- a/boards/V04.md +++ b/boards/V04.md @@ -2,7 +2,7 @@ title: V04 description: published: true -date: 2020-01-14T14:47:05.616Z +date: 2020-01-16T11:52:16.617Z tags: --- @@ -40,7 +40,7 @@ Physical Layout Note that there are some differences between the various versions of the board, however the pinouts on the main IDC40 connector remain the same. -![v0_4_board_annotated_1.jpg](/img/boards/v0_4_board_annotated_1.jpg =50%x){.align-left} +![v0_4_board_annotated_1.jpg](/img/boards/v0_4_board_annotated_1.jpg){.align-left width=50%} | Pin \# | Function | @@ -97,7 +97,7 @@ Assembly of a complete board is virtually identical to the v0.3 and remains rela > Take note that C14 and C16 are polarised capacitors, meaning that they must be put in the correct way around. The capacitors should be marked with a + sign on one side. On the PCB, the positive side is indicated by a line on the capacitor symbol. {.is-warning} -![capacitor_orientation.png](/img/hardware/capacitor_orientation.png){.align-center} +![capacitor_orientation.png](/img/hardware/capacitor_orientation.png){.align-center width=180} 1. All jumper headers (JP\*) 2. Arduino pins: @@ -147,7 +147,7 @@ If using a VR crank sensor, the board will require the addition of a VR conditio #### SP721 Over-voltage Protection -For users having difficulty obtaining the SP721 used in some versions, see info on the [SP721 Diode Alternate](/wiring/SP721_Diode_Alternate) page. +For users having difficulty obtaining the SP721 used in some versions, see info on the [SP721 Diode Alternate](/wiring/SP721_Diode_Alternate) page ### Jumper Configs diff --git a/configuration/Acceleration_Wizard.md b/configuration/Acceleration_Wizard.md index cf96552..0c8f965 100644 --- a/configuration/Acceleration_Wizard.md +++ b/configuration/Acceleration_Wizard.md @@ -2,12 +2,11 @@ title: Acceleration Wizard description: Tuning the acceleration enrichment published: true -date: 2020-01-16T11:33:20.998Z +date: 2020-01-16T13:15:47.463Z tags: TunerStudio --- -Overview --------- +# Acceleration Enrichment Acceleration Enrichment (AE) is used to add extra fuel during the short transient period following a rapid increase in throttle. It performs much the same function as an accelerator pump on a carbureted engine, increasing the amount of fuel delivered until the manifold pressure reading adjusts based on the new load. @@ -19,8 +18,8 @@ Acceleration Enrichment (AE) is used to add extra fuel during the short transien Tuning of acceleration enrichment is based on the rate of change of the throttle position, a variable known as TPSdot (TPS delta over time). This is measured in %/second, with higher values representing faster presses of the throttle and values in the range 50%/s to 1000%/s are normal. Eg: -- 100%/s = pressing the throttle from 0% to 100% in 1 second -- 1000%/s = pressing the throttle from 0% to 100% in 0.1s +- 100%/s = pressing the throttle from 0% to 100% in 1 second +- 1000%/s = pressing the throttle from 0% to 100% in 0.1s TPSdot forms the X axis of the acceleration curve, with the Y axis value representing the % increase in fuel. diff --git a/configuration/Boost_Control.md b/configuration/Boost_Control.md index 95dcc47..d5bbebf 100644 --- a/configuration/Boost_Control.md +++ b/configuration/Boost_Control.md @@ -2,7 +2,7 @@ title: Boost Control description: Open and closed loop boost control settings published: true -date: 2020-01-07T03:05:38.368Z +date: 2020-01-16T11:43:18.702Z tags: --- @@ -17,11 +17,11 @@ Settings -------- Speeduino's boost control uses a PID algorithm with 2 modes of operation, Simple and Full. Each has their own advantages and disadvantages, as outlined below -![boost_settings.png](/img/accessories/boost_settings.png =80%x){.align-center} +![boost_settings.png](/img/accessories/boost_settings.png){.align-center width=400} In Simple mode, the PID values themselves are controlled by the ECU itself and a sensitivity slider is used to adjust how aggressive the output duty cycle will be set. The simple mode can be easy and fast to setup, however has the downside that to avoid overboost, the sensitivity may need to be set low, which can increase lag. ### Target table -![boost_map.png](/img/accessories/boost_map.png){.align-center} +![boost_map.png](/img/accessories/boost_map.png){.align-center width=450} The boost map function varies depending on whether open or closed loop boost control has been selected. diff --git a/configuration/Cranking.md b/configuration/Cranking.md index c73f38f..8b7f1e7 100644 --- a/configuration/Cranking.md +++ b/configuration/Cranking.md @@ -2,7 +2,7 @@ title: Cranking description: published: true -date: 2020-01-07T01:57:30.177Z +date: 2020-01-16T11:40:55.664Z tags: --- @@ -15,7 +15,7 @@ Settings -------- -![cranking.png](/img/warmup/cranking.png =70%x){.align-center} +![cranking.png](/img/warmup/cranking.png){.align-center width=450} - **Cranking RPM** - This sets the threshold for whether Speeduino will set its status to be cranking or running. Any RPM above 0 and below this value will be considered cranking and all cranking related adjustments will be applied. It's generally best to set this to be around 100rpm higher than your typical cranking speed to account for spikes and to provide a smoother transition to normal idle - **Flood Clear level** - Flood clear is used to assist in removing excess fuel that has entered the cylinder/s. Whilst flood clear is active, all fuel and ignition events will be stopped and the engine can be cranked for a few seconds without risk of starting or further flooding. To trigger flood clear, the RPM must be **below** the above Cranking RPM setting and the TPS must be **above** the threshold of this setting. diff --git a/configuration/Dwell.md b/configuration/Dwell.md index e548c80..ebac1f7 100644 --- a/configuration/Dwell.md +++ b/configuration/Dwell.md @@ -2,33 +2,29 @@ title: Dwell description: published: true -date: 2020-01-07T01:48:38.837Z +date: 2020-01-16T12:14:06.860Z tags: --- -Overview -======== - +# Dwell Control +## Overview The dwell control dialog alters the coil charging time (dwell) for Speeduino's ignition outputs. Care should be taken with these settings as igniters and coils can be permanently damaged if dwelled for excessive periods of time. From the April 2017 firmware onwards, dwell will automatically reduce when the configured duration is longer than the available time at the current RPM. This is common in single channel ignition configurations (Eg 1 coil with a distributor) and in particular on higher cylinder count engines. -Settings -======== +## Settings +![dwell.png](/img/ignition/dwell.png){.align-center width=400} -![dwell.png](/img/ignition/dwell.png =60%x){.align-center} **Note:** Both the running and cranking dwell times are nominal values, assumed to be at a constant voltage (Usually 12v). Actual dwell time used will depend on the current system voltage with higher voltages having lower dwell times and vice versa. See section below on voltage correction -- Cranking dwell - The nominal dwell time that will be used during cranking. Cranking is defined as being whenever the RPM is above 0, but below the 'Cranking RPM' values in the [Cranking](Cranking "wikilink") dialog -- Running dwell - The nominal dwell that will be used when the engine is running normally. -- Spark duration - The approximate time the coil takes to fully discharge. This time is used in calculating a reduced dwell when in time limited conditions, such as mentioned above on single coil, high cylinder count engines. The limited dwell time is calculated by taking the maximum revolution time at the given RPM, dividing by the number of spark outputs required per revolution and subtracting the spark duration. Outside of those conditions, this setting is not used. -- Over dwell protection - The over dwell protection system runs independently of the standard ignition schedules and monitors the time that each ignition output has been active. If the active time exceeds this amount, the output will be ended to prevent damage to coils. This value should typically be at least 3ms higher than the nominal dwell times configured above in order to allow overhead for voltage correction. - -Voltage correction ------------------- +- Cranking dwell - The nominal dwell time that will be used during cranking. Cranking is defined as being whenever the RPM is above 0, but below the 'Cranking RPM' values in the [Cranking](Cranking "wikilink") dialog +- Running dwell - The nominal dwell that will be used when the engine is running normally. +- Spark duration - The approximate time the coil takes to fully discharge. This time is used in calculating a reduced dwell when in time limited conditions, such as mentioned above on single coil, high cylinder count engines. The limited dwell time is calculated by taking the maximum revolution time at the given RPM, dividing by the number of spark outputs required per revolution and subtracting the spark duration. Outside of those conditions, this setting is not used. +- Over dwell protection - The over dwell protection system runs independently of the standard ignition schedules and monitors the time that each ignition output has been active. If the active time exceeds this amount, the output will be ended to prevent damage to coils. This value should typically be at least 3ms higher than the nominal dwell times configured above in order to allow overhead for voltage correction. +## Voltage correction As the system voltage rises and falls, the dwell time needs to reduce and increase respectively. This allows for a consistent spark strength without damaging the coil/s during high system voltage conditions. It is recommended that 12v be used as the 'nominal' voltage, meaning that the Dwell % figure at 12v should be 100%. The correction curve in the base tune file should be suitable for most coils / igniters, but can be altered if required. -![dwell_correction.png](/img/ignition/dwell_correction.png =60%x){.align-center} +![dwell_correction.png](/img/ignition/dwell_correction.png){.align-center width=450} diff --git a/configuration/Engine_Constants.md b/configuration/Engine_Constants.md index efb5504..2ecdfd0 100644 --- a/configuration/Engine_Constants.md +++ b/configuration/Engine_Constants.md @@ -2,39 +2,43 @@ title: Engine Constants description: published: true -date: 2020-01-16T11:22:51.218Z +date: 2020-01-16T16:09:59.854Z tags: TunerStudio --- +# Engine Constants ## Overview From the Settings menu, select Constants -![TS_8.png](/img/TS_8.png){.align-center width=300} +![TS_8.png](/img/TunerStudio/TS_8.png){.align-center width=300} Here you need to setup the engine constants. Fill out the fields in the bottom section before calculating the Required Fuel. ## Settings Description ![engine.png](/img/constants/engine.png){.align-center width=400} -- **Control Algorithm:** The load source that will be used for the fuel table -- **Squirts per Engine Cycle:** How many squirts will be performed over the duration of the engine cycle (Eg 720 degrees for a 4 stroke). most engines will not require values greater than 4. For sequential installations, this should be set to 2 with the injector staging set to 'Alternating'(Internally Speeduino will adjust the squirts to 1) - - Note that for 3 and 5 squirts, you must have a cam signal in addition to the crank. -- **Injector Staging:** This configures the timing strategy used for the injectors - - Alternating (Recommended for most installs) - Injectors are timed around each cylinders TDC. The exact closing angle can be specific in the Injector Characteristics dialog. - - Simultaneous - All injectors are fired together, based on the TDC of cylinder 1. -- **Engine stroke:** Whether the engine is 2 stroke or 4 stroke -- **Number of cylinders:** Number of cylinders in the engine. For rotary engines, select 4. -- **Injector Port Type:** Option isn't used by firmware. Selection currently does not matter -- **Number of injectors:** Usually the same as number of cylinders (For port injection) -- **Engine Type:** Whether the crank angle between firings is the same for all cylinders. If using an Odd fire engine (Eg Some V-Twins and Buick V6s), the angle for each output channel must be specific. -- **Injector Layout:** Specifies how the injectors are wired in - - **Paired:** 2 injectors are wired to each channel. The number of channels used is therefore equal to half the number of cylinders. - - **Semi-Sequential:** Semi-sequential: Same as paired except that injector channels are mirrored (1&4, 2&3) meaning the number of outputs used are equal to the number of cylinders. Only valid for 4 cylinders or less. - - **Sequential**: 1 injector per output and outputs used equals the number of cylinders. Injection is timed over full cycle. Only available for engines with 4 or fewer cylinders. -- **Board Layout:** Specifies the input/output pin layout based on which Speeduino board you're using. For specific details of these pin mappings, see the utils.ino file -- **MAP Sample Method:** How the MAP sensor readings will be processed: - - **Instantaneous:** Every reading is used as it is taken. Makes for a highly fluctuating signal, but can be useful for testing - - **Cycle Average:** The average sensor reading across 720 crank degrees is used. This is of Event average are the recommended options for 4 of more cylinders - - **Cycle Minimum:** The lowest value detected across 720 degrees is used. This is the recommended method for less than 4 cylinders or ITBs - - **Event Average:** Similar to Cycle Average, however performs the averaging once per ignition event rather than once per cycle. Generally offers faster response with a similar level of accuracy. \ No newline at end of file + +- **Control Algorithm:** The load source that will be used for the fuel table +- **Squirts per Engine Cycle:** How many squirts will be performed over the duration of the engine cycle (Eg 720 degrees for a 4 stroke). most engines will not require values greater than 4. For sequential installations, this should be set to 2 with the injector staging set to 'Alternating'(Internally Speeduino will adjust the squirts to 1) + - Note that for 3 and 5 squirts, you must have a cam signal in addition to the crank. +- **Injector Staging:** This configures the timing strategy used for the injectors + - **Alternating** (Recommended for most installs) - Injectors are timed around each cylinders TDC. The exact closing angle can be specific in the Injector Characteristics dialog. + - **Simultaneous** - All injectors are fired together, based on the TDC of cylinder 1. +- **Engine stroke:** Whether the engine is 2 stroke or 4 stroke +- **Number of cylinders:** Number of cylinders in the engine. For rotary engines, select 4. +- **Injector Port Type:** Option isn't used by firmware. Selection currently does not matter +- **Number of injectors:** Usually the same as number of cylinders (For port injection) +- **Engine Type:** Whether the crank angle between firings is the same for all cylinders. If using an Odd fire engine (Eg Some V-Twins and Buick V6s), the angle for each output channel must be specific. +- **Injector Layout:** Specifies how the injectors are wired in + - **Paired:** 2 injectors are wired to each channel. The number of channels used is therefore equal to half the number of cylinders. + - **Semi-Sequential:** Semi-sequential: Same as paired except that injector channels are mirrored (1&4, 2&3) meaning the number of outputs used are equal to the number of cylinders. Only valid for 4 cylinders or less. + - **Sequential**: 1 injector per output and outputs used equals the number of cylinders. Injection is timed over full cycle. Only available for engines with 4 or fewer cylinders. +- **Board Layout:** Specifies the input/output pin layout based on which Speeduino board you're using. For specific details of these pin mappings, see the utils.ino file +- **MAP Sample Method:** How the MAP sensor readings will be processed: + - **Instantaneous:** Every reading is used as it is taken. Makes for a highly fluctuating signal, but can be useful for testing + - **Cycle Average:** The average sensor reading across 720 crank degrees is used. This is of Event average are the recommended options for 4 of more cylinders + - **Cycle Minimum:** The lowest value detected across 720 degrees is used. This is the recommended method for less than 4 cylinders or ITBs + - **Event Average:** Similar to Cycle Average, however performs the averaging once per ignition event rather than once per cycle. Generally offers faster response with a similar level of accuracy. + +The Oddfire angles should only be used on oddfire engines (Primarily some specifica V6s) \ No newline at end of file diff --git a/configuration/Flex_Fuel.md b/configuration/Flex_Fuel.md index 9fcfb62..59f863f 100644 --- a/configuration/Flex_Fuel.md +++ b/configuration/Flex_Fuel.md @@ -2,19 +2,19 @@ title: Flex Fuel description: Setting up the flex fuel / ethanol content sensor published: true -date: 2020-01-07T01:46:18.138Z +date: 2020-01-16T12:09:30.179Z tags: --- -Overview --------- +# Flex Fuel + +## Overview Speeduino has the ability to modify fuel and ignition settings based on the ethanol content of the fuel being used, a practice typically known as flex fuelling. A flex fuel sensor is installed in the feed or return fuel lines and a signal wire is used as an input on the Speeduino board. As ethanol is less energy dense, but also has a higher equivalent octane rating, adjustments to the fuel load and ignition timing are required. -Hardware --------- +## Hardware Speeduino uses any of the standard GM/Continental Flex fuel sensors that are widely available and were used across a wide range of vehicles. These were available in 3 different units, all of which are functionally identical, with the main difference being only the physical size and connector. The part numbers for these are: @@ -38,9 +38,8 @@ All units are wired identically and have markings on the housing indicating what On boards earlier to these, you will need to add a pullup resistor of between 2k and 3.5k Ohm. Recommended value is 3.3k, however any resistor in this range will work. Note that this is a relatively strict range, more generic values such as 1k or 10k DO NOT WORK with these sensors. -Tuning ------- -![flex_settings.png](/img/flex/flex_settings.png =80%x){.align-center} +## Tuning +![flex_settings.png](/img/flex/flex_settings.png){.align-center width=450} - **Sensor frequency -** The minimum and maximum frequency of the sensor that represent 0% and 100% ethanol respectively. For standard GM/Continental flex sensors, these values are 50 and 150 - **Fuel multiplier% -** This is the additional fuel that should be added as ethanol content increases. The Low value on the left represents the adjustment to the fuel map at 0% ethanol and will typically be 100% if the base tune was performed with E0 fuel. If the base tune was made with E10 or E15 however, this value can be adjusted below 100%. The high value represents the fuel multiplier at 100% ethanol (E100) and the default value of 163% is based on the theoretical difference in energy density between E0 and E100. Tuning of this value may be required diff --git a/configuration/Fuel_pump.md b/configuration/Fuel_pump.md index 218eb22..17f45e0 100644 --- a/configuration/Fuel_pump.md +++ b/configuration/Fuel_pump.md @@ -2,15 +2,15 @@ title: Fuel pump description: Setting the on/off conditions of the fuel pump published: true -date: 2020-01-14T06:24:04.641Z +date: 2020-01-16T14:17:07.764Z tags: aux outputs, tuning --- -# Header -Fuel pump ontrol is a simple but important function performed by the ECU. Currently Speeduino does not perform variable (PWM) pump control, but +# Fuel pump +Fuel pump control is a simple but important function performed by the ECU. Currently Speeduino does not perform variable (PWM) pump control, but ## Settings -![fuel_pump.png](/img/accessories/fuel_pump.png =500x){.align-center} +![fuel_pump.png](/img/accessories/fuel_pump.png){.align-center width=480} * **Fuel pump pin** - The Arduino pin that the fuel pump output is on. In most cases this should be left to `Board Default` unless you have a specific reason to change this. * **Prime duration** - How long (In seconds) the fuel pump should run when the system is first powered up. Note that this is triggered **when the ECU is powered on**, which will not always be the same as when the ignition is turned out. If you have a USB cable connected then the ECU is already powered up. \ No newline at end of file diff --git a/configuration/IAT_Density.md b/configuration/IAT_Density.md index 36ddb77..f8cf3f9 100644 --- a/configuration/IAT_Density.md +++ b/configuration/IAT_Density.md @@ -2,14 +2,16 @@ title: IAT Density description: published: true -date: 2020-01-16T11:26:59.803Z +date: 2020-01-16T16:05:09.541Z tags: --- -Overview --------- +# IAT Density +## Overview -The IAT density curve represents the change in oxygen density of the inlet charge as temperature rises. The default curve approximately follows the ideal gas law and is suitable for most installations, however if you are seeing very high inlet temperatures (Either due to heat soak in the engine bay or from turbocharging) the you may need to adjust the hot end of this curve. +The IAT density curve represents the change in oxygen density of the inlet charge as temperature rises. -## Curve +## Example Curve ![iatDensity.png](/img/constants/iatDensity.png){.align-center width=400} + +This default curve approximately follows the ideal gas law and is suitable for most installations, however if you are seeing very high inlet temperatures (Either due to heat soak in the engine bay or from turbocharging) the you may need to adjust the hot end of this curve. \ No newline at end of file diff --git a/configuration/IAT_Retard.md b/configuration/IAT_Retard.md index 264d3f4..5e5f800 100644 --- a/configuration/IAT_Retard.md +++ b/configuration/IAT_Retard.md @@ -2,7 +2,7 @@ title: Temperature based timing changes description: published: true -date: 2020-01-14T00:30:56.331Z +date: 2020-01-16T11:40:27.486Z tags: tuning --- @@ -11,4 +11,4 @@ Changes in Inlet Air Temperature (IAT), in particular significant increases whil ## Example Exact settings will be engine dependant, but pulling of ignition timing beyond 100\*C is a common scenario. -![iat_retard.png](/img/ignition/iat_retard.png =500x){.align-center} \ No newline at end of file +![iat_retard.png](/img/ignition/iat_retard.png){.align-center width=500} \ No newline at end of file diff --git a/configuration/Idle.md b/configuration/Idle.md index 745367e..53045c8 100644 --- a/configuration/Idle.md +++ b/configuration/Idle.md @@ -2,12 +2,13 @@ title: Idle description: published: true -date: 2020-01-07T02:56:36.908Z +date: 2020-01-16T13:18:37.502Z tags: --- -Overview --------- +# Idle Control +## Overview +The idle control outputs are used to alter the state of an idle control valve to increase the amount of air entering the engine at idle. These come in multiple types (Described below) and each is configured and tuned differently. ### Compatible Idle Valve Types diff --git a/configuration/O2.md b/configuration/O2.md index bbd5a5b..d754538 100644 --- a/configuration/O2.md +++ b/configuration/O2.md @@ -2,12 +2,11 @@ title: O2 description: published: true -date: 2020-01-07T01:37:08.065Z +date: 2020-01-16T16:03:52.330Z tags: --- -AFR/O2 ------- +# AFR/O2 (Closed loop fuel) AFR/O2 (for **A**ir:**F**uel **R**atio), dialog controls the closed loop fuel control, used for adjusting injector load based on input from an exhaust oxygen sensor (O2 sensor). In conjunction with the AFR Table, the closed loop AFR system will compare the actual O2 reading with the current target fuel ratio and make adjustments accordingly. @@ -15,28 +14,30 @@ Use of a wideband sensor and controller is **strongly** recommended, however bas Note that closed loop fuel control is not a replacement for a poor tune. Many good configurations do not used closed loop control at all or only allow it very small adjustment authority. -Settings --------- +## Settings Speeduino supports 2 closed loop algorithms, each intended for different configurations: -1. Simple - A time based 'target chasing' algorithm where the amount of fuel adjustment is dependant on how long the reading has been lean or rich compared to the current target. This algorithm is best suited to narrowband sensors where only basic rich/lean information is available. In particular, this algorithm performs poorly if you have a fuel map that is not close to complete. If you have this enabled and are seeing oscillations in the pulse width and/or AFRs, even when cruising, then you should disabled closed loop control until the base fuel MAP is better tuned. -2. PID - This is the preferred closed loop algorithm and will provide better results when combined with a wideband sensor and tuned correctly. +1. **Simple** - A time based 'target chasing' algorithm where the amount of fuel adjustment is dependant on how long the reading has been lean or rich compared to the current target. This algorithm is best suited to narrowband sensors where only basic rich/lean information is available. In particular, this algorithm performs poorly if you have a fuel map that is not close to complete. If you have this enabled and are seeing oscillations in the pulse width and/or AFRs, even when cruising, then you should disabled closed loop control until the base fuel MAP is better tuned. +2. **PID** - This is the preferred closed loop algorithm and will provide better results when combined with a wideband sensor and tuned correctly. ### Common variables ![o2_simple.png](/img/tuning/o2_simple.png){.align-center} -- **Sensor type** - Narrowband or wideband, depending on hardware configuration. Narrowband sensor should be of the 0-1v type, wideband sensors should have a 0-5v signal. Wideband sensors need to be calibrated in the Tools->Calibrate AFR Table dialog -- **Algorithm** - See above for description of each algorithm available -- **Ignition events per step** - The AFR adjustment calculation will be performed every this many ignition cycles. Changes to closed loop adjustment typically have some lag before their impact is registered by the O2 sensor and increasing this value can take this lag into account. Typical values are 2-5. -- **Controller step size** - -- **Controller Auth** - The maximum % that the pulse width can be changed through this closed loop adjustment. Recommended value is no more than 20%. -- **Correct above/below AFR** - The AFR range that closed loop adjustments will be applied within. This range is typically limited by the sensor and controller in use. -- **Active above Coolant** - Closed loop should only operate once engine is up to operating temperature. This value should be set to match the engines standard operating temp. -- **Active above RPM** - Closed loop adjustments should genrally not be made at idle. Use this value to specify when adjustment should begin being made. -- **Active below TPS** - Above this TPS value, closed loops adjustments will be disabled -- **EGO delay after start** - All O2 sensors require a warmup period before their readings are valid. This varies based on the sensor in use, but 15s is a safe value in most cases. + +* **Sensor type** - Narrowband or wideband, depending on hardware configuration. Narrowband sensor should be of the 0-1v type, wideband sensors should have a 0-5v signal. Wideband sensors need to be calibrated in the Tools->Calibrate AFR Table dialog +* **Algorithm** - See above for description of each algorithm available +* **Ignition events per step** - The AFR adjustment calculation will be performed every this many ignition cycles. Changes to closed loop adjustment typically have some lag before their impact is registered by the O2 sensor and increasing this value can take this lag into account. Typical values are 2-5. +* **Controller step size** - +* **Controller Auth** - The maximum % that the pulse width can be changed through this closed loop adjustment. Recommended value is no more than 20%. +* **Correct above/below AFR** - The AFR range that closed loop adjustments will be applied within. This range is typically limited by the sensor and controller in use. +* **Active above Coolant** - Closed loop should only operate once engine is up to operating temperature. This value should be set to match the engines standard operating temp. +* **Active above RPM** - Closed loop adjustments should genrally not be made at idle. Use this value to specify when adjustment should begin being made. +* **Active below TPS** - Above this TPS value, closed loops adjustments will be disabled +* **EGO delay after start** - All O2 sensors require a warmup period before their readings are valid. This varies based on the sensor in use, but 15s is a safe value in most cases. ### PID only variables ![o2_pid.png](/img/tuning/o2_pid.png){.align-center} -- **P/I/D** - PID Proportional Gain, Integral and Derivative percentages. +* **P/I/D** - PID Proportional Gain, Integral and Derivative percentages. + +These options are in addition to the Simple conditions and specify the parameters of the closed loop operation diff --git a/configuration/Sensor_Calibration.md b/configuration/Sensor_Calibration.md index 44840b9..5f04d43 100644 --- a/configuration/Sensor_Calibration.md +++ b/configuration/Sensor_Calibration.md @@ -2,7 +2,7 @@ title: Sensor Calibration description: Steps for calibrating all analog sensor inputs published: true -date: 2020-01-07T03:13:01.249Z +date: 2020-01-16T11:45:03.850Z tags: --- @@ -16,11 +16,11 @@ This should be completed after completing the Settings for your engine. Your com Open the **Tools** menu: tools_menu -![tools_menu.png](/img/tuning/tools_menu.png =50%x){.align-center} +![tools_menu.png](/img/tuning/tools_menu.png){.align-center width=400} Select **Calibrate Pressure Sensors**, the window below will open: -![MAP_calibration.png](/img/tuning/MAP_calibration.png =60%x){.align-center} +![MAP_calibration.png](/img/tuning/MAP_calibration.png){.align-center width=400} Select your MAP Sensor from the drop down list. If you used the MAP sensor in the bill of materials, this will be the MPX4250A. If you are using another MAP or one from the engine manufacturer, select it from the list. Click **Burn** to send the information to your Speeduino. @@ -35,11 +35,11 @@ The sensor selected will be the **Coolant Temperature Sensor**. Select your sens Note that the standard Speeduino build is to have a 2490 ohm bias resistor, which is standard for sensors used by most manufacturers. If your sensor requires another value, you may need to change resistor R3 to the correct value for your sensor. You can try overriding the Bias Resistor Value with 2490 ohms, but check to be sure your sensor reads correctly in TS. -![CLT_calibration.png](/img/tuning/CLT_calibration.png =70%x){.align-center} +![CLT_calibration.png](/img/tuning/CLT_calibration.png){.align-center width=450} The same calibration can then be performed for the Inlet Air Temperature (IAT) sensor by changing the **Sensor Table** to **Air Temperature Sensor**: -![IAT_calibration.png](/img/tuning/IAT_calibration.png =70%x){.align-center} +![IAT_calibration.png](/img/tuning/IAT_calibration.png){.align-center width=450} Select your sensor from the **Common Sensor Values** drop-down list. This will place the correct values into the temperature and resistance charts and the Bias resistor value. Click **Write to Controller** to send this information to your Speeduino. If your sensor is not listed, see [Entering Custom Values](#Entering_Custom_Values "wikilink") below. @@ -59,7 +59,7 @@ Note that his procedure can also be used to enter the values of resistance on si Open the **Tools** menu again and select **Calibrate AFR Table**: -![O2_calibration.png](/img/tuning/O2_calibration.png =60%x){.align-center} +![O2_calibration.png](/img/tuning/O2_calibration.png){.align-center width=400} Select your **Oxygen Sensor sensor** from the **Common Sensor Values** drop-down list. If you are using a custom Oxygen Sensor controller, select **Custom Linear WB** and then you can enter the values for **Volts** and **AFR** at two points (should be published in the controller manual). @@ -73,7 +73,7 @@ This will set up your Speeduino so that you can also run simulations to check yo Before Speeduino can work correctly with your engine, you will also need to Calibrate the Throttle Position Sensor. This must be done using the throttle body and TPS used on the engine. It is best to do this while the throttle body is installed on the engine. Open the **Tools** menu and select **Calibrate TPS**: -![TPS_calibration.png](/img/tuning/TPS_calibration.png =50%x){.align-center} +![TPS_calibration.png](/img/tuning/TPS_calibration.png){.align-center width=480} With the throttle closed, click the **Get Current** button beside the Closed Throttle ADC count field. Then move the throttle to full open and hold it there. Then click the **Get Current** button beside the Full Throttle ADC count field. Click **Accept** to save the information to Speeduino. \ No newline at end of file diff --git a/configuration/Spark_Settings.md b/configuration/Spark_Settings.md index 048bef6..8820810 100644 --- a/configuration/Spark_Settings.md +++ b/configuration/Spark_Settings.md @@ -2,34 +2,32 @@ title: Spark Settings description: Configuration options for the ignition outputs published: true -date: 2020-01-07T00:24:16.790Z +date: 2020-01-16T12:12:49.688Z tags: --- -Overview --------- - +# Spark Settings +## Overview The Spark settings dialog contains the options for how the ignition outputs will function, including which of the 4 IGN outputs are used and how. They are critical and incorrect values will result in an engine not starting and in some cases damage to hardware is possible. This dialog also contains a number of options for fixing the ignition timing for testing and diagnosis. Please ensure you have reviewed these settings prior to attempting to start your engine. -Settings --------- +## Settings +![spark_settings.png](/img/ignition/spark_settings.png){.align-center width=500} -![spark_settings.png](/img/ignition/spark_settings.png){.align-center} -- **Spark Output mode** - Determines how the ignition pulses will be outputted and is very specific to your ignition wiring. **Note that no matter which option is selected here, ignition signals ALWAYS fire in numerical order (ie 1->2->3->4) up to the maximum number of outputs**. The firing order of the engine is accounted for in the wiring order. - - **Wasted Spark** - Number of ignition outputs is equal to half the number of cylinders and each output will fire once every crank revolution. One spark will therefore take place during the compression stroke and the other on the exhaust stroke (aka the 'wasted' spark). This method is common on many 80s and 90s vehicles that came with specific wasted spark coils, but can also be used with individual coils that are wired in pairs. Wasted spark will function with only a crank angle reference (Eg a missing tooth crank wheel with no cam signal) - - **Single Channel** - This mode sends all ignition pulses to IGN1 output and is used when the engine contains a distributor (Typically with a single coil). The number of output pulses per (crank) revolution is equal to half the number of cylinders. - - **Wasted COP** - This is a convenience mode that uses the same timing as the 'Wasted Spark' option, however each pulse is sent to 2 ignition outputs rather than one. These are paired IGN1/IGN3 and IGN2/IGN4 (ie When IGN1 is high, IGN3 will also be high). As this is still a wasted spark timing mode, only crank position is required and there will be 1 pulse per pair, per crank revolution. This mode can be useful in cases where there are 4 individual coils, but running full sequential is either not desired or not possible (Eg when no cam reference is available). - - **Sequential** - This mode is only functional on engines with 4 or fewer cylinders. - - **Rotary** - See below for full detail -- **Cranking advance** - The number of absolute degrees (BTDC) that the timing will be set to when cranking. This overrides all other timing advance modifiers during cranking. +- **Spark Output mode** - Determines how the ignition pulses will be outputted and is very specific to your ignition wiring. **Note that no matter which option is selected here, ignition signals ALWAYS fire in numerical order (ie 1->2->3->4) up to the maximum number of outputs**. The firing order of the engine is accounted for in the wiring order. + - **Wasted Spark** - Number of ignition outputs is equal to half the number of cylinders and each output will fire once every crank revolution. One spark will therefore take place during the compression stroke and the other on the exhaust stroke (aka the 'wasted' spark). This method is common on many 80s and 90s vehicles that came with specific wasted spark coils, but can also be used with individual coils that are wired in pairs. Wasted spark will function with only a crank angle reference (Eg a missing tooth crank wheel with no cam signal) + - **Single Channel** - This mode sends all ignition pulses to IGN1 output and is used when the engine contains a distributor (Typically with a single coil). The number of output pulses per (crank) revolution is equal to half the number of cylinders. + - **Wasted COP** - This is a convenience mode that uses the same timing as the 'Wasted Spark' option, however each pulse is sent to 2 ignition outputs rather than one. These are paired IGN1/IGN3 and IGN2/IGN4 (ie When IGN1 is high, IGN3 will also be high). As this is still a wasted spark timing mode, only crank position is required and there will be 1 pulse per pair, per crank revolution. This mode can be useful in cases where there are 4 individual coils, but running full sequential is either not desired or not possible (Eg when no cam reference is available). + - **Sequential** - This mode is only functional on engines with 4 or fewer cylinders. + - **Rotary** - See below for full detail +- **Cranking advance** - The number of absolute degrees (BTDC) that the timing will be set to when cranking. This overrides all other timing advance modifiers during cranking. - **Spark output triggers** - **THIS IS A CRITICAL SETTING!**. Selecting the incorrect option here can cause damage to your igniters or coils. Specifies whether the coil will fire when the ignition output from Speeduino goes HIGH or goes LOW. The VAST majority of ignition setups will require this to be set **GOING LOW** (ie the coil charges/dwells when the signal is high and will **fire** when that signal goes low). Whilst GOING LOW is required for most ignition setups, there are some configurations that perform the dwell timing on the ignition module and fire the coil only when they receive a HIGH signal from the ECU. - **Fixed Angle** - This is used to lock the ignition timing to a specific angle for testing. Setting this to any value other than 0 will result in that exact angle being used (ie overriding any other settings) at all RPMs/load points, except during cranking (Cranking always uses the above Cranking Advance setting). This setting should be set to 0 for normal operation. ### Rotary modes +![rotary_settings.png](/img/ignition/rotary_settings.png){.align-center width=450} -![rotary_settings.png](/img/ignition/rotary_settings.png){.align-center} Speeduino currently only supports the ignition configuration used on FC RX7 engines. Support for FD and RX8 ignition setups is in development. The leading / trailing split angle can be set as a function of the current engine load. - **FC** - Outputs are configured for the Leading/Trailing setup that was used on FC RX7s. Wiring is: diff --git a/configuration/Staged_Injection.md b/configuration/Staged_Injection.md index 4b274ec..1c8126d 100644 --- a/configuration/Staged_Injection.md +++ b/configuration/Staged_Injection.md @@ -2,38 +2,33 @@ title: Staged Injection description: Configuring multi-stage fuel injection published: true -date: 2020-01-07T01:47:42.658Z +date: 2020-01-16T12:36:25.977Z tags: --- -Staged Injection ----------------- - +# Staged Injection +## Overview Speeduino has the ability to control a secondary fuel stage for engines that have 2 sets of injectors, typically of different capacities. There are few stock engines that come with secondary injectors, the notable exception being many Mazda rotaries. Secondary staged injection is also a common modification, used whenever large injectors are required, but where it is desirable to keep smaller injectors for smoother low RPM performance. ### Configuration - No matter which control strategy is chosen, you must enter the sizing of the primary and secondary injectors in order to allow Speeduino to know the split in the overall fuelling. > **CRITICAL** - The req-Fuel value in the [Engine Constants](Engine_Constants "wikilink") MUST be updated when staged injection is turned on. **When staging is in use, the value entered in the req_fuel calculator MUST be equal to the sum of both the primary and secondary injector sizes** > Failure to set these values correctly will result in excessive rich or lean conditions. {.is-danger} - **Eg:** -**Primary Injectors :** 300cc -**Secondary Injectors :** 700cc -**Value entered into the req_fuel calculator :** 1000cc +* **Primary Injectors :** 300cc +* **Secondary Injectors :** 700cc +* **Value entered into the req_fuel calculator :** 1000cc -![staging_settings.PNG](/img/staging/staging_settings.PNG =60%x){.align-center} -![staging_settings.PNG](/img/staging/staged_reqfuel.PNG =60%x){.align-center} +![staging_settings.PNG](/img/staging/staging_settings.PNG){.align-center width=400} +![staging_settings.PNG](/img/staging/staged_reqfuel.PNG){.align-center width=400} ### Control methods - Speeduino provides 2 staging control modes, each with their own strengths and weaknesses. In most cases it is recommended to start with the Automatic mode, which only requires tuning of the standard VE table, and reviewing to see if you get the desired outcome. Only if this can't be tuned to give a satisfactory fuel split would changing to the manual table tuning be recommended. #### Table control - Table control allows the use of a manual 8x8 map that indicates what percentage of the fuel load will be performed by the **secondary** injectors - 0% = Secondary injectors disabled - 100% = Primary injectors disabled @@ -43,9 +38,8 @@ It is important to note that the values in this table do NOT correspond directly One disadvantage of the table tuning method is that it does not allow for the full fuel load of the primary and secondary injectors to be used simultaneously. As the table is a split of the total fuel load, as one set of injectors performs more, the other will perform less. #### Automatic staging - Speeduino has an automatic staging method that takes into account the full capacity of the injectors (ie the sum of the 2 injector stages) and will perform a split of these itself. With this method, the user can simply tune the VE table in the same manner as if only a single set of injectors were used and the system takes care of the rest. -In this mode, Speeduino will attempt to use the primary injectors up to their 'Injector Duty Limit' (As configured in the [Injector Characteristics](Injector_Characteristics "wikilink") dialog. When staging is being used, it is recommend that this limit should be no higher than 85%. Once the primary injectors reach this duty limit, Speeduino will begin to perform any further fueling from the secondary injectors. In this way, the VE table is all that is required for tuning as the system will take care of allocating the current fuel load to the best injectors. +In this mode, Speeduino will attempt to use the primary injectors up to their 'Injector Duty Limit' (As configured in the [Injector Characteristics](Injector_Characteristics) dialog. When staging is being used, it is recommend that this limit should be no higher than 85%. Once the primary injectors reach this duty limit, Speeduino will begin to perform any further fueling from the secondary injectors. In this way, the VE table is all that is required for tuning as the system will take care of allocating the current fuel load to the best injectors. Note that the dead time of the 2 sets of injectors is currently assumed to be the same. This may be altered in future firmwares if required (Post a feature request if needed). \ No newline at end of file diff --git a/configuration/Thermo_fan.md b/configuration/Thermo_fan.md index 5aeca62..8b497ad 100644 --- a/configuration/Thermo_fan.md +++ b/configuration/Thermo_fan.md @@ -2,8 +2,8 @@ title: Thermo fan description: Control of a cooling fan relay published: true -date: 2020-01-14T02:17:03.743Z -tags: tuning, aux outputs +date: 2020-01-16T11:42:04.261Z +tags: aux outputs, tuning --- # Thermo fan @@ -13,7 +13,7 @@ Control of a cooling (thermo) fan is available through the Thermo fan dialog. {.is-info} ## Settings -![fan.png](/img/accessories/fan.png =500x){.align-center} +![fan.png](/img/accessories/fan.png){.align-center width=450} * **Fan mode** - Currently only `On/Off` mode is supported * **Output pin** - The arduino pin that the fan control will use. In most cases this should be left as `Board Default` diff --git a/configuration/Warmup.md b/configuration/Warmup.md index 713f5a0..ef262a9 100644 --- a/configuration/Warmup.md +++ b/configuration/Warmup.md @@ -2,16 +2,17 @@ title: Warmup description: published: true -date: 2020-01-07T01:58:36.229Z +date: 2020-01-16T13:16:44.197Z tags: --- +# Warmup Enrichment ## Overview - The Warm Up Enrichment (WUE) dialog contains settings related to the period after start (ie not cranking) but before the engine has reached normal operating temperature. It allows for modifications to fueling during this time to ## Settings -![warmup.PNG](/img/warmup/warmup.PNG =80%x){.align-center} +![warmup.PNG](/img/warmup/warmup.PNG){.align-center width=450} + ### Warmup curve This curve represents the additional fuel amount to be added whilst the engine is coming up to temperature (Based on the coolant sensor). The final value in this curve should represent the normal running temperature of the engine and have a value of 100% (Representing no modification of the fuel from that point onwards). diff --git a/decoders/Daihatsu_+1.md b/decoders/Daihatsu_+1.md index a2e89c0..90b3124 100644 --- a/decoders/Daihatsu_+1.md +++ b/decoders/Daihatsu_+1.md @@ -2,7 +2,7 @@ title: Daihatsu +1 trigger description: published: true -date: 2020-01-07T03:54:13.568Z +date: 2020-01-16T11:48:01.703Z tags: --- @@ -29,4 +29,4 @@ In 3 cylinder engines, there are 3 evenly spaced teeth at 0, 240 and 480 crank d The 4 cylinder is the same, except with 4 evenly spaced teeth. The 5 teeth are therefore located at 0, 30, 180, 360 & 540 (Crank degrees, ATDC) -![daihatsu_3_1.png](/img/decoders/daihatsu_3_1.png =75%x){.align-center} +![daihatsu_3_1.png](/img/decoders/daihatsu_3_1.png){.align-center width=80%} diff --git a/decoders/Dual_Wheel.md b/decoders/Dual_Wheel.md index fee5769..6dc5e82 100644 --- a/decoders/Dual_Wheel.md +++ b/decoders/Dual_Wheel.md @@ -1,5 +1,12 @@ -Overview --------- +--- +title: Dual Wheel +description: +published: true +date: 2020-01-17T00:44:09.513Z +tags: trigger +--- + +## Dual Wheel A dual wheel trigger is one where there is a primary multi-tooth wheel combined with a secondary single pulse to provide location information. The primary input should contain no missing teeth. Both pulses can run at either cam or crank speed, but sequential operations requires that the secondary pulse is located on the cam. The design of the secondary trigger can vary (Eg a single short tooth, half-moon wheel etc), provided it only provides a single pulse per revolution. @@ -7,13 +14,12 @@ As with other arbitrary tooth count wheels, the number of teeth must evenly divi Tooth \#1 is defined to be the first tooth on the primary wheel AFTER the pulse on the secondary wheel. -Applications ------------- +### Applications Dual wheel triggers are standard fitment on a number of Euro make cars, particularly those from VW and Audi. They are also a popular aftermarket fitment due to their simplicity and ease of fitment. -Tuner Studio Configuration --------------------------- +### Tuner Studio Configuration +
@@ -31,7 +37,7 @@ Fields: The trigger angle can be found by placing the engine at TDC, then calculating how far it must be rotated until the first primary tooth after the secondary pulse. -### Sequential operation +#### Sequential operation The missing tooth decoder supports sequential operation if the secondary input is running at cam speed. If Sequential mode is selected for either the fuel timing or spark timing, the system will expect that the secondary input is running at cam speed and will only provide half the output pulses if this is not the case. diff --git a/decoders/Missing_Tooth.md b/decoders/Missing_Tooth.md index 80c1999..36fd0e1 100644 --- a/decoders/Missing_Tooth.md +++ b/decoders/Missing_Tooth.md @@ -2,12 +2,13 @@ title: Missing Tooth description: Information about the missing tooth decoder pattern published: true -date: 2020-01-07T04:53:01.240Z +date: 2020-01-17T00:41:27.503Z tags: --- -# Missing Tooth Pattern -## Overview +# Supported trigger patterns +## Missing Tooth Pattern +### Overview A missing tooth crank trigger is used as standard equipment by a number of OEMs, most notably Ford, but is also very popular as an aftermarket fitment. @@ -17,11 +18,11 @@ It is comprised of crank wheel with a given number of evenly spaced teeth, and o {.is-warning} -## Applications +### Applications Missing tooth crank wheels can be used on virtually any engine and is one of the more popular aftermarket options. It provides very good resolution in the higher tooth count versions (Eg 36-1 and 60-2) without being CPU intensive to decode. -## Tuner Studio Configuration +### Tuner Studio Configuration ![missingtooth_triggerconfig.png](/img/decoders/missingtooth_triggerconfig.png){.align-center} **Fields:** @@ -40,5 +41,5 @@ The missing tooth decoder supports sequential operation if an additional cam inp This cam signal should take the form of a single pulse every complete cycle. This can be a short tooth or a half moon type arrangement, provided that electrically there is only a single rising (or falling) pulse per cycle. -## Trigger Pattern +### Trigger Diagram ![missingtooth_trace1.png](/img/decoders/missingtooth_trace1.png){.align-center} diff --git a/decoders/Missing_Tooth_(cam).md b/decoders/Missing_Tooth_(cam).md index d0273bd..50c183a 100644 --- a/decoders/Missing_Tooth_(cam).md +++ b/decoders/Missing_Tooth_(cam).md @@ -2,23 +2,23 @@ title: Missing Tooth (Cam speed) description: published: true -date: 2020-01-07T05:01:47.638Z +date: 2020-01-17T00:42:59.489Z tags: decoder --- -## Overview +## Missing tooth (Cam speed) The missing tooth cam-speed trigger is a Speeduino innovation, that permits function similar to a dual-wheel setup, thereby allowing sequential or wasted spark operation from cam-mounted or distributor wheels. The operation is based on both [Missing Tooth](Missing_Tooth "wikilink") and [Dual Wheel](Dual_Wheel "wikilink"). It is suggested to read those sections first for familiarization as this section will only highlight the fundamental differences to those common decoders. This decoder is comprised of a single cam-speed wheel in the same configuration as a crank-mounted missing-tooth wheel. The number of teeth ***must*** be evenly divisible into 720°. As it rotates at half crank speed, the sensor reads half the wheel teeth on each 360° crank revolution, and the remaining teeth on the next crank rotation. A single missing tooth will appear on only one of the two crank rotations, and is then used as a phase indicator, much as the dual-wheel system uses the cam signal. -## Applications +### Applications Missing tooth cam or distributor wheels can be used with cam or distributor wheel modification or fabrication as no OEM systems use it originally. The wheel ***must*** have at least as many teeth as cylinders, ***not*** including the missing tooth. This generally requires double the number of teeth as cylinders or more. As many teeth, slots, or other readable features (sensor targets) as possible in the limited space is recommended in order to satisfy this requirement, and to maximize resolution. The sensor must be capable of reliably reading smaller or closely-spaced teeth. Due to typically limited teeth, only half the teeth being read on each revolution, and the potential for reduced accuracy due to timing drive wear; the timing accuracy may be reduced in comparison to crank wheel systems. A figure of error cannot be predicted here as the wear or 'slop' of a given engine will be unique. However, it should be reasonable to assume the timing error will not exceed the accuracy of an OEM-equivalent cam-driven system such as typical distributor systems, or possibly better due to more sensor targets. -## Tuner Studio Configuration -![missingtooth_cam_triggerconfig.png](/img/decoders/missingtooth_cam_triggerconfig.png =80%x){.align-center} +### Tuner Studio Configuration +![missingtooth_cam_triggerconfig.png](/img/decoders/missingtooth_cam_triggerconfig.png){.align-center width=450} **Fields:** - Primary base teeth: This is the number of teeth the wheel would have if there were none missing, e.g. a 36-1 wheel has only 35 actual teeth, but you would enter 36 into this field. @@ -30,6 +30,6 @@ Due to typically limited teeth, only half the teeth being read on each revolutio The trigger angle is set in CRANK degrees, not cam. -## Trigger Pattern +### Trigger Pattern -![missingtooth_cam_trace.jpg](/img/decoders/missingtooth_cam_trace.jpg =75%x){.align-center} +![missingtooth_cam_trace.jpg](/img/decoders/missingtooth_cam_trace.jpg){.align-center width75%} diff --git a/decoders/Subaru_36-2-2-2.md b/decoders/Subaru_36-2-2-2.md index acc0ee9..f81e8f2 100644 --- a/decoders/Subaru_36-2-2-2.md +++ b/decoders/Subaru_36-2-2-2.md @@ -2,7 +2,7 @@ title: Subaru 36-2-2-2 description: published: true -date: 2020-01-07T03:52:13.677Z +date: 2020-01-16T11:48:52.741Z tags: --- @@ -17,6 +17,6 @@ The 3 sets of 2 missing teeth are located such that one group is on its own and Cylinder 1 TDC compression happens on the fourth tooth after the single gap. Speeduino watches for any missing tooth period, then waits to confirm whether it is followed by another. Sync can therefore be determined in this manner at 2 points in a single crank revolution. -![36-2-2-2.png](/img/decoders/36-2-2-2.png =90%x){.align-center} +![36-2-2-2.png](/img/decoders/36-2-2-2.png){.align-center width=90%} **Note:** Many diagrams and trigger wheel images available online show the wheel from the backside, making it show as rotating counter clockwise. For the correct orientation, when looking at the front of the engine, the wheel spins clockwise. \ No newline at end of file diff --git a/home.md b/home.md index ea0d7a4..7ba0e6d 100644 --- a/home.md +++ b/home.md @@ -1,12 +1,18 @@ --- -title: Speeduino wiki -description: The Speeduino documentation wiki +title: Speeduino Manual +description: The Speeduino documentation manual published: true date: 2020-01-10T06:08:13.463Z -tags: +tags: home +titlepage: true +titlepage-rule-height: 2 +titlepage-rule-color: "360049" +titlepage-background: "offline/background1.pdf" +logo: "offline/logo.png" +logo-width: 350 --- -# Speeduino Manual +# Introduction This manual covers the hardware (sensors, wiring etc), software configuration and tuning elements related to running a Speeduino unit. When beginning with Speeduino, particularly if it is your first time installing and configuring an engine management system, this manual will assist in understanding Speeduino's capabilities and how it should be installed, both in terms of hardware and software/firmware. Whilst this document will assist in providing information related to Speeduino's configuration, it does not cover advanced engine tuning, fuel / ignition strategies etc. As with any changes to engine management, the possibility of damage to hardware is very real should a system be configured incorrectly. @@ -14,9 +20,10 @@ Whilst this document will assist in providing information related to Speeduino's ### Getting Started In terms of starting out with Speeduino, it can help to understand the various compnents that make up the system: -1. **A Speeduino board** - This is the muscle of the Speeduino ECU and contains all the drivers and IO circuits. This maybe one of the generic boards (Such as the v0.4) or a PNP board for a specific model car -2. **An Arduino** - This is the brains of Speeduino and contains the processor, memory and storage. It plugs into the Speeduino board in order to interface with the vehicle wiring -3. **Firmware** - This is the system software that runs on the Arduino board and powers its operation. New firmware is released regularly with updates, performance improvements and bug fixes. + +1. **A Speeduino board** - This is the muscle of the Speeduino ECU and contains all the drivers and IO circuits. This maybe one of the generic boards (Such as the v0.4) or a PNP board for a specific model car +2. **An Arduino** - This is the brains of Speeduino and contains the processor, memory and storage. It plugs into the Speeduino board in order to interface with the vehicle wiring +3. **Firmware** - This is the system software that runs on the Arduino board and powers its operation. New firmware is released regularly with updates, performance improvements and bug fixes. As a starting point, it is generally recommended to first upload the firmware to your Arduino and get it connecting to the tuning software (Tuner Studio) before moving on to hardware assembly or wiring etc. Software setup and configuration on Speeduino can be completed without the need for any additional hardware to be present (Beyond the arduino itself) and this allows exploration of the software and options available before either an outlay of significant funds or a significant investment of time. @@ -24,4 +31,4 @@ As a starting point, it is generally recommended to first upload the firmware to As an open source project, this documentation is growing continually and this means that you may come across gaps in the documentation where little information is currently provided. Please do not hesitate to post on the forum if there is something missing that you need critically (or even not so critically). -Additionally, if you would like to contribute to the Speeduino documentation, we would love to hear from you! The preferred method to request wiki access is either via Slack (https://speeduino.com/forum/app.php/page/slack) \ No newline at end of file +Additionally, if you would like to contribute to the Speeduino documentation, we would love to hear from you! The preferred method to request wiki access is either via Slack (https://speeduino.com/forum/app.php/page/slack) diff --git a/make_pdf.sh b/make_pdf.sh index b3d0da4..63a3b01 100755 --- a/make_pdf.sh +++ b/make_pdf.sh @@ -1,25 +1,47 @@ #!/bin/bash - -BUILD=build +PANDOC_PATH=/home/pi/pandoc_src/bin/ MAKEFILE=Makefile OUTPUT_FILENAME='offline/Speeduino_manual.pdf' -METADATA=metadata.yml +METADATA='offline/metadata.yaml' DEFINITION='offline/std_manual.md' -CHAPTERS=`cat ${DEFINITION}` +BUILD='/home/pi/book/tmp' +CHAPTERS=`tail -n +8 ${DEFINITION}` IMAGES_FOLDER="img" IMAGES=${IMAGES_FOLDER}/* COVER_IMAGE=${IMAGES_FOLDER}/Speeduino\ logo.png TEMPLATE=offline/eisvogel.tex -TEMPLATE_OPTIONS='--top-level-division=chapter --listings --toc' -#METADATA_ARG=--metadata-file=${METADATA} -ARGS="${TEMPLATE_OPTIONS} --template=${TEMPLATE} ${METADATA_ARG}" -PDF_ARGS="-V book --pdf-engine=xelatex" +TEMPLATE_OPTIONS='--listings --toc --toc-depth=2' +METADATA_ARG=--metadata-file=${METADATA} +ARGS="${TEMPLATE_OPTIONS} --template=${TEMPLATE}" +#ARGS="${TEMPLATE_OPTIONS}" +#PDF_ARGS="--pdf-engine=xelatex" +PDF_ARGS="-f markdown-markdown_in_html_blocks --pdf-engine=xelatex --metadata date=`date +%D`" #This contains all the fonts that might be needed #sudo apt-get install texlive-fonts-extra -mkdir -p ${BUILD}/pdf -echo pandoc ${ARGS} ${PDF_ARGS} -o ${OUTPUT_FILENAME} ${CHAPTERS} -pandoc ${ARGS} ${PDF_ARGS} -o ${OUTPUT_FILENAME} ${CHAPTERS} +CUR_PATH=`pwd` +mkdir -p ${BUILD} +cd ${BUILD} +git clone --depth=1 https://github.com/speeduino/wiki.js.git +cd wiki.js + +#Add a blank line on the top of each file to prevent issues with pandoc concatenation +for f in ${CHAPTERS} +do + sed -s -i '1i\\' $f +done + + +echo ${PANDOC_PATH}pandoc ${ARGS} ${PDF_ARGS} -o ${OUTPUT_FILENAME} ${CHAPTERS} +${PANDOC_PATH}pandoc ${ARGS} ${PDF_ARGS} -o ${OUTPUT_FILENAME} ${CHAPTERS} + +#Copy the produced PDF back to the main directory +cp ${OUTPUT_FILENAME} ${CUR_PATH}/offline # @echo "$@ was built" + +#Cleanup +cd ${BUILD}/.. +#rm -rf ./tmp +cd ${CUR_PATH} diff --git a/offline/background1.pdf b/offline/background1.pdf new file mode 100644 index 0000000..c0850b1 --- /dev/null +++ b/offline/background1.pdf @@ -0,0 +1,70 @@ +%PDF-1.5 +% +3 0 obj +<< /Length 4 0 R + /Filter /FlateDecode +>> +stream +xeA@Es +. #.OѤiؐ* cw]B#X;\~JMb}j: {1mB +endstream +endobj +4 0 obj + 162 +endobj +2 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +5 0 obj +<< /Type /Page + /Parent 1 0 R + /MediaBox [ 0 0 595.275574 841.889771 ] + /Contents 3 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 2 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 5 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Creator (cairo 1.14.8 (http://cairographics.org)) + /Producer (cairo 1.14.8 (http://cairographics.org)) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000000576 00000 n +0000000276 00000 n +0000000015 00000 n +0000000254 00000 n +0000000348 00000 n +0000000641 00000 n +0000000768 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +820 +%%EOF diff --git a/offline/eisvogel.tex b/offline/eisvogel.tex index 0db6c5f..1f505f1 100644 --- a/offline/eisvogel.tex +++ b/offline/eisvogel.tex @@ -871,6 +871,12 @@ $if(titlepage-background)$ \setstretch{2} \vfill \vskip -8em + + $if(logo)$ + \noindent + \includegraphics[width=$if(logo-width)$$logo-width$$else$100$endif$pt, left]{$logo$} + $endif$ + \vskip 2em \noindent {\huge \textbf{\textsf{$title$}}} $if(subtitle)$ \vskip 1em @@ -892,14 +898,13 @@ $else$ \vskip 2em \noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$}} \vfill + $if(logo)$ + \noindent + \includegraphics[width=$if(logo-width)$$logo-width$$else$100$endif$pt, left]{$logo$} + $endif$ } $endif$ -$if(logo)$ -\noindent -\includegraphics[width=$if(logo-width)$$logo-width$$else$100$endif$pt, left]{$logo$} -$endif$ - $if(titlepage-background)$ $else$ \textsf{$date$} diff --git a/offline/logo.png b/offline/logo.png new file mode 100644 index 0000000..7408481 Binary files /dev/null and b/offline/logo.png differ diff --git a/offline/std_manual.md b/offline/std_manual.md index 7ea4198..a101cad 100644 --- a/offline/std_manual.md +++ b/offline/std_manual.md @@ -2,11 +2,11 @@ title: std_manual description: published: true -date: 2020-01-16T06:28:52.838Z +date: 2020-01-17T01:03:46.600Z tags: --- -./Overview.md +./home.md ./Installing_Firmware.md ./Connecting_to_TunerStudio.md ./Configuring_TunerStudio.md diff --git a/offline/wiki.js.css b/offline/wiki.js.css new file mode 100644 index 0000000..cd8231f --- /dev/null +++ b/offline/wiki.js.css @@ -0,0 +1,51 @@ +.v-content .contents blockquote.is-info { + background-color:#e3f2fd; + border-color:#64b5f6; + color:#0d47a1 +} +.v-content .contents blockquote.is-info code { + background-color:#e3f2fd; + color:#1565c0 +} +.theme--dark .v-content .contents blockquote.is-info { + background-color:#0d47a1; + color:#e3f2fd; + border-color:#2196f3 +} +.is-warning { + background-color:#fff3e0; + border-color:#ffb74d; + color:#b33f00 +} +.v-content .contents blockquote.is-warning code { + background-color:#fff3e0; + color:#ef6c00 +} +.v-content .contents blockquote.is-danger { + background-color:#ffebee; + border-color:#e57373; + color:#b71c1c +} +.v-content .contents blockquote.is-danger code { + background-color:#ffebee; + color:#c62828 +} +.theme--dark .v-content .contents blockquote.is-danger { + background-color:#b71c1c; + color:#ffcdd2; + border-color:#f44336 +} +.v-content .contents blockquote.is-success { + background-color:#e8f5e9; + border-color:#81c784; + color:#1b5e20 +} +.v-content .contents blockquote.is-success code { + background-color:#e8f5e9; + color:#2e7d32 +} +.theme--dark .v-content .contents blockquote.is-success { + background-color:#1b5e20; + color:#e8f5e9; + border-color:#4caf50 +} diff --git a/wiring/Ignition_wiring.md b/wiring/Ignition_wiring.md index 0d10b52..f5906bc 100644 --- a/wiring/Ignition_wiring.md +++ b/wiring/Ignition_wiring.md @@ -2,11 +2,11 @@ title: Ignition Wiring description: published: true -date: 2020-01-16T11:21:51.013Z +date: 2020-01-16T12:42:32.994Z tags: ignition, wiring --- -# Header +# Ignition Wiring ## Overview Ignition output configuration can be one of the most difficult areas of ECU wiring and one that often causes the most confusion. A large part of this complexity comes from the huge number of different ignition types that are available, with there being significant changes in the hardware used in the late 80s and throughout the 90s compared to newer designs. @@ -31,8 +31,8 @@ There are many dual pole, wasted spark coil packs available both with and withou ### Coil on Plug As an alternative to a dual pole wasted spark coil, individual coil on plug units can be used in a wasted spark configuration. -![ign_4Cyl_COP_wasted-spark.png](/img/wiring/ign_4Cyl_COP_wasted-COP.png){.align-center width=500} +![ign_4Cyl_COP_wasted-spark.png](/img/wiring/ign_4Cyl_COP_wasted-COP.png){.align-center width=500} > Note: The above examples use 'smart' coils with built in igniters. Do NOT attach dumb COPs (2 pins) without adding an igniter {.is-warning} diff --git a/wiring/Injector_wiring.md b/wiring/Injector_wiring.md index 10fc3a2..d052dab 100644 --- a/wiring/Injector_wiring.md +++ b/wiring/Injector_wiring.md @@ -2,25 +2,20 @@ title: Injector wiring description: Wiring description and diagrams for fuel injectors published: true -date: 2020-01-16T07:24:23.488Z +date: 2020-01-16T12:41:06.829Z tags: wiring --- -Introduction ------------- - +# Injector wiring +## Overview Speeduino contains 4 injector control circuits and is capable of supporting up to 8 injectors (and cylinders) with these. -Supported Injectors -------------------- - +## Supported Injectors Speeduino supports High-Z (aka 'high-impedance' or 'saturated') injectors natively. Low-Z injectors are supported with the addition of resistors wired in series with the signal wires. High-Z injectors are typically those with a resistance greater than 8 Ohms. If "Low-Z" ("peak and hold" or PWM-controlled) injectors that are lower impedance are used, the wiring will require series resistors on each injector to avoid damaging the board with excessive current. The resistor ohms and watt rating can be calculated by Ohm's Law, or use an Internet calculator page such as the [Speeduino Injector Resistor Calculator](http://efistuff.orgfree.com/InjectorResistorCalculator.html). -Layout ------- - +## Layouts There are a number of ways that the injectors can be wired depending on your configuration and preference. ### 1, 2 and 3 injectors @@ -53,13 +48,10 @@ This method is only available on 4 cylinder / 4 injector applications and allows For setups with more than 4 injectors, the number of outputs used will be equal to half the number of injectors. -**Examples:** - -**6 Cylinder** +#### 6 Cylinder ![inj_6Cyl_semi-seq.png](/img/wiring/inj_6Cyl_semi-seq.png){.align-center width=75%} -**8 Cylinder** - +#### 8 Cylinder ![inj_8Cyl_semi-seq.png](/img/wiring/inj_8Cyl_semi-seq.png){.align-center width=75%} Inline with the above, this configuration requires each injector output to be connected to 2 injectors. diff --git a/wiring/system.md b/wiring/system.md index 1086eda..64d6309 100644 --- a/wiring/system.md +++ b/wiring/system.md @@ -2,18 +2,12 @@ title: System Wiring Diagram description: A high level master system wiring diagram published: true -date: 2020-01-16T06:11:54.153Z +date: 2020-01-16T12:45:31.555Z tags: --- # High level wiring guide + Speeduino can be configured in many ways depending on the engine, sensors, ignition and fuel hardware being used. For this reason it is impossible to provide 1 single diagram that will cover all scenarios, however the below is provided as a high level guide that can be used as a starting point. -![wiring_overview.png](/img/wiring/wiring_overview.png){.align-center} - -# Function specific diagrams -More detailed wiring guides for specific areas can be found below - -- [Injector Wiring](/wiring/Injector_wiring) -- [Ignition Wiring](/wiring/Ignition_wiring) -- [Sensor Wiring](/wiring/Sensor_wiring) \ No newline at end of file +![wiring_overview.png](/img/wiring/wiring_overview.png){.align-center} \ No newline at end of file