From 30f1b5ae11589186404adf390c1e894039a53873 Mon Sep 17 00:00:00 2001 From: Josh Stewart Date: Mon, 6 Jan 2020 12:50:51 +1100 Subject: [PATCH] Import cleanup --- Decoders.md | 54 ++++++++++++++---------- boards/tmp | 1 - configuration/tmp | 1 - dev/tmp | 1 - reference/tmp | 1 - tuning/AFR_Table.md | 21 ++++++++++ tuning/Spark_Table.md | 21 ++++++++++ tuning/Tuning.md | 74 +++++++++++++++++++++++++++++++++ tuning/tmp | 1 - wiring/Injector_wiring.md | 67 +++++++++++++++++++++++++++++ wiring/SP721_Diode_Alternate.md | 18 ++++++++ 11 files changed, 234 insertions(+), 26 deletions(-) delete mode 100644 boards/tmp delete mode 100644 configuration/tmp delete mode 100644 dev/tmp delete mode 100644 reference/tmp create mode 100644 tuning/AFR_Table.md create mode 100644 tuning/Spark_Table.md create mode 100644 tuning/Tuning.md delete mode 100644 tuning/tmp create mode 100644 wiring/Injector_wiring.md create mode 100644 wiring/SP721_Diode_Alternate.md diff --git a/Decoders.md b/Decoders.md index 74ad032..3646854 100644 --- a/Decoders.md +++ b/Decoders.md @@ -1,24 +1,36 @@ -Speeduino supports an ever growing number of crank and cam decoders and trigger wheels. This includes some of the more common OEM setups as well as those favoured in the aftermarket (Such as the missing tooth wheels). +--- +title: Decoders +description: List of supported crank/cam patterns +published: true +date: 2020-01-06T00:24:43.437Z +tags: +--- -The list below includes all those that are currently supported. They each lead to a page with details on using the decoder (These pages are a Work in Progress) +Speeduino supports an ever growing number of crank and cam decoders and +trigger wheels. This includes some of the more common OEM setups as well +as those favoured in the aftermarket (Such as the missing tooth wheels). -| Decoder | Status | Applications / Description | -|-------------------------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------| -| [Missing Tooth](Missing_Tooth "wikilink") | Complete | A crank wheel with 1 or more 'missing' teeth | -| [Missing Tooth (cam)](Missing_Tooth_(cam) "wikilink") | Complete | A camshaft or distributor wheel with 1 or more 'missing' teeth at half-crank speed | -| [Dual Wheel](Dual_Wheel "wikilink") | Complete | Two signals combined from two different wheels | -| [Basic Distributor](Basic_Distributor "wikilink") | Complete | Untimed pulses that are the equivalent of a tach or distributor pulse | -| [GM 7X](GM_7X "wikilink") | Untested | Multi tooth pulse | -| [4G63](4G63 "wikilink") | Complete | As used on many 4 cylinder Mitsubishis and NA/NB Miata / MX-5. Also supports the 6 cylinder variation of this pattern (Eg 6g72) | -| [GM 24X](GM_24X "wikilink") | Untested | Commonly used on GM LS1 V8 | -| [Jeep 2000](Jeep_2000 "wikilink") | Complete | 6 Cylinder Jeep engines from '91 to 2000 | -| [Audi 135](Audi_135 "wikilink") | Complete | Audi engines with 135 pulses-per-revolution | -| [Honda D17](Honda_D17 "wikilink") | Complete | Honda 4 cylinder D17 engine | -| [Miata 99](Miata_99 "wikilink") | Complete | 1.8L Miata/MX5 from '99 to '00 | -| [Non-360](Non-360 "wikilink") | Complete | A variation of the dual wheel decoder that can be used with tooth counts that do not divide evenly into 360 | -| [Nissan 360](Nissan_360 "wikilink") | In progress | 360 tooth cam wheel used in many 4 and 6 cylinder engines. | -| [Subaru 6/7](Subaru_6/7 "wikilink") | Testing underway | Subaru engines using the 6 tooth crank wheel + 7 tooth cam wheel arrangement | -| [Daihatsu +1](Daihatsu_+1 "wikilink") | Complete | 3+1 and 4+1 patterns used on 3 and 4 cylinder Daihatsu engines | -| [Subaru 36-2-2-2](Subaru_36-2-2-2 "wikilink") | Complete | A 30 tooth wheel with three strategically placed big gaps | +The list below includes all those that are currently supported. They +each lead to a page with details on using the decoder (These pages are a +Work in Progress) -All signals need to be conditioned to a 3.3v - 5v dc square wave before being used by the firmware. \ No newline at end of file +| Decoder | Status | Applications / Description | +| ------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| [Missing Tooth](Missing_Tooth "wikilink") | Complete | A crank wheel with 1 or more 'missing' teeth | +| [Missing Tooth (cam)](Missing_Tooth_\(cam\) "wikilink") | Complete | A camshaft or distributor wheel with 1 or more 'missing' teeth at half-crank speed | +| [Dual Wheel](Dual_Wheel "wikilink") | Complete | Two signals combined from two different wheels | +| [Basic Distributor](Basic_Distributor "wikilink") | Complete | Untimed pulses that are the equivalent of a tach or distributor pulse | +| [GM 7X](GM_7X "wikilink") | Untested | Multi tooth pulse | +| [4G63](4G63 "wikilink") | Complete | As used on many 4 cylinder Mitsubishis and NA/NB Miata / MX-5. Also supports the 6 cylinder variation of this pattern (Eg 6g72) | +| [GM 24X](GM_24X "wikilink") | Untested | Commonly used on GM LS1 V8 | +| [Jeep 2000](Jeep_2000 "wikilink") | Complete | 6 Cylinder Jeep engines from '91 to 2000 | +| [Audi 135](Audi_135 "wikilink") | Complete | Audi engines with 135 pulses-per-revolution | +| [Honda D17](Honda_D17 "wikilink") | Complete | Honda 4 cylinder D17 engine | +| [Miata 99](Miata_99 "wikilink") | Complete | 1.8L Miata/MX5 from '99 to '00 | +| [Non-360](Non-360 "wikilink") | Complete | A variation of the dual wheel decoder that can be used with tooth counts that do not divide evenly into 360 | +| [Nissan 360](Nissan_360 "wikilink") | In progress | 360 tooth cam wheel used in many 4 and 6 cylinder engines. | +| [Subaru 6/7](Subaru_6/7 "wikilink") | Testing underway | Subaru engines using the 6 tooth crank wheel + 7 tooth cam wheel arrangement | +| [Daihatsu +1](Daihatsu_+1 "wikilink") | Complete | 3+1 and 4+1 patterns used on 3 and 4 cylinder Daihatsu engines | +| [Subaru 36-2-2-2](Subaru_36-2-2-2 "wikilink") | Complete | A 30 tooth wheel with three strategically placed big gaps | + +All signals need to be conditioned to a 3.3v - 5v dc square wave bef \ No newline at end of file diff --git a/boards/tmp b/boards/tmp deleted file mode 100644 index 8b13789..0000000 --- a/boards/tmp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/configuration/tmp b/configuration/tmp deleted file mode 100644 index 8b13789..0000000 --- a/configuration/tmp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dev/tmp b/dev/tmp deleted file mode 100644 index 8b13789..0000000 --- a/dev/tmp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/reference/tmp b/reference/tmp deleted file mode 100644 index 8b13789..0000000 --- a/reference/tmp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tuning/AFR_Table.md b/tuning/AFR_Table.md new file mode 100644 index 0000000..fb2377d --- /dev/null +++ b/tuning/AFR_Table.md @@ -0,0 +1,21 @@ +### AFR Table + +AFR Table (for **A**ir:**F**uel **R**atio targets) + +*Page under construction* + +------------------------------------------------------------------------ + + + +------------------------------------------------------------------------ + +*Liability Disclaimer* + +*Information provided by the Speeduino Wiki and it's authors is general in nature and is not intended to be a substitute for professional advice, including but not limited to, mechanical, electrical, theoretical, and safety advice.* + +*All information is provided "as is." This **is** the Internet. While we try to provide accurate information, we make no claims, promises, or guarantees about the accuracy or completeness of the information provided. Information provided may be altered at any time, by anyone with access, without notice. The Speeduino Wiki and its various authors disclaim any responsibility associated with the general information provided on any of its pages.* + +*Visitors use the Speeduino Wiki content solely at their own risk. There is no requirement to use any information in any way. If you are not sure about anything, obtain professional assistance. The responsibility of any interpretation, use, or consideration and any resulting effects is strictly yours. In no event shall the Speeduino Wiki or its authors be liable to any third party for damages related to using or not using its content whether claims are advanced on contract, tort, or other legal theories.* + +*The Speeduino Wiki and its authors do not endorse any product, service, method, technique, seller, or provider mentioned in any of its articles or associated advertisements.* \ No newline at end of file diff --git a/tuning/Spark_Table.md b/tuning/Spark_Table.md new file mode 100644 index 0000000..82bc067 --- /dev/null +++ b/tuning/Spark_Table.md @@ -0,0 +1,21 @@ +### Spark Table + +Spark Table (for ignition timing targets) + +*Page under construction* + +------------------------------------------------------------------------ + + + +------------------------------------------------------------------------ + +*Liability Disclaimer* + +*Information provided by the Speeduino Wiki and it's authors is general in nature and is not intended to be a substitute for professional advice, including but not limited to, mechanical, electrical, theoretical, and safety advice.* + +*All information is provided "as is." This **is** the Internet. While we try to provide accurate information, we make no claims, promises, or guarantees about the accuracy or completeness of the information provided. Information provided may be altered at any time, by anyone with access, without notice. The Speeduino Wiki and its various authors disclaim any responsibility associated with the general information provided on any of its pages.* + +*Visitors use the Speeduino Wiki content solely at their own risk. There is no requirement to use any information in any way. If you are not sure about anything, obtain professional assistance. The responsibility of any interpretation, use, or consideration and any resulting effects is strictly yours. In no event shall the Speeduino Wiki or its authors be liable to any third party for damages related to using or not using its content whether claims are advanced on contract, tort, or other legal theories.* + +*The Speeduino Wiki and its authors do not endorse any product, service, method, technique, seller, or provider mentioned in any of its articles or associated advertisements.* \ No newline at end of file diff --git a/tuning/Tuning.md b/tuning/Tuning.md new file mode 100644 index 0000000..51ce948 --- /dev/null +++ b/tuning/Tuning.md @@ -0,0 +1,74 @@ +Fuel, Ignition, and AFR Tables +------------------------------ + +Speeduino determines the correct amount of fuel to inject during each engine cycle and when to fire the ignition with calculations. The formula basis for these calculations is known as Speed Density (SD), which uses engine *speed* and air *density* to calculate the appropriate fuel to inject. Speeduino equates intake manifold absolute pressure (MAP) to both air density (mass) for fuel calculations and engine load for ignition calculations. Speeduino then multiplies this air density factor by the Volumetric Efficiency factor at the current engine speed to estimate appropriate fuel flow to match the load and airflow. These calculations are modified by additional factors such as air temperature, fuel vaporization (coolant temperature), acceleration enrichment, target air:fuel ratio (AFR), etc. + +The lookup tables Speeduino uses to calculate these primary factors of MAP and rpm are called the VE Table (for fuel), Spark Table (for ignition timing), or AFR Table (for Air:Fuel Ratio targets). While each table is based on speed and density, the functions are separated for tuning purposes. The tables are arranged with low pressure and low rpm at the bottom-left of the table, increasing upward for pressure, and to the right for rpm. A typical production automotive engine could have perhaps 30kPa MAP at idle and roughly 100kPa (atmospheric pressure) at wide-open throttle, showing as idle in the lower-left of the table, and high-load at redline in the upper-right section. + +### The VE Table + +As engine efficiency varies by load and rpm, each of the 256 bins (cells) on the 16x16 table has an efficiency number based on the engine's ability to flow air into the cylinders at that MAP and rpm. This is known as the volumetric efficiency or simply VE. The greater the air pumping efficiency, the higher this relative VE number. Greater air flow efficiency requires greater fuel flow to maintain the same target AFR. Increases or decreases in VE may be caused by factors inherent in the engine design, or variable efficiency factors such as throttle position, camshaft timing, harmonic tuning, AFR, ignition timing, etc. + + + +Just like standard horsepower or kilowatt and torque calculations, note the generally greater VE at peak torque. Although the VE (and therefore torque) generally decreases above the peak torque area, the multiplier of rpm causes the HP or KW to increase as rpm increase, until the rate of torque reduction exceeds the increase in rpm. Typically, the maximum naturally-aspirated VE is 100%, and is located at the peak torque rpm and maximum manifold pressure (near atmospheric pressure ~101kPa). VE can be greater than 100 on the table, and is most commonly higher when increased for boost, which provides more than 100% VE. However, those numbers may be altered for any reason the tuner sees fit. + +### How is a beginning fuel VE table created? + +***NOTE:** Tuning and table creation must be made from an existing tune file which contains valid or default values. The provided basic tune file (Speeduino base tune.msq) was created for this purpose and is located in the **reference** folder of the [Stable Firmware](http://speeduino.com/wiki/index.php/Compiling_and_Installing_Firmware#Latest_Stable_Firmware%7CLatest) you downloaded; when the TunerStudio project is created and Speeduino is first connected, the basic tune file should be loaded into TS by pressing **CTRL+O** and navigating to the file, or by clicking **File > Open Tune (msq)** and selecting the file. Attempting to create tables or tune without loading a tune file will usually result in frustration and probable file corruption.* + +The fuel table should be roughly based upon the engine's torque curve as outlined above. The rpm and MAP values (Table X and Y) and relative bin VE values that create these curves can be estimated for various MAP and rpm by manual estimation, or by tools such as the Table Generator in the registered version of [TunerStudio](http://www.tunerstudio.com/index.php/tuner-studio). The use of the Table Generator function is covered in the TunerStudio section. + + + +### Manual VE Tables + +Often, a table generator is not available, or is not suited for estimating tables for certain engine types. This is where knowledge and experience can help in creating a set of tables to begin tuning. While in-depth knowledge of engine theory is very helpful for specific tuning; general guidelines can assist in creating tables that will usually allow engine start and initial running, when coupled with assistance from the operator. + +Notice the areas of interest in Figure 3. These are general areas, and can be very different sizes and shapes for various engine types, but are areas found in most automotive general, performance, and racing tables. + + + +Along the left side are MAP pressures in kilopascals (kPa), from less than idle at the bottom, to approximately maximum manifold pressure. These [absolute pressures](https://en.wikipedia.org/wiki/Pressure_measurement#Absolute.2C_gauge_and_differential_pressures_-_zero_reference) should generally be selected to cover the entire operating range, and expanded if appropriate for expected severe weather or altitudes, supercharged (including turbocharged) "boost" applications, etc. Dedicating a row to pressures below idle permits idle stabilization or recovery schemes if desired, whereas an additional row above atmospheric is generally considered unnecessary, except as listed above. + +Similarly, along the bottom of the table are increasing rpm values, from less than idle to beyond the engine's peak power rpm. The maximum normal rpm or established shift points are below this redline rpm. It is unnecessary to include rpm above the engine's redline, as it should never be operated above that rpm, although it can still rev beyond this point. Over-revving (excessive and damaging rpm) can be limited by rpm limit settings known as rev limiters. See [Rev Limits](Rev_Limits "wikilink"). + +### Building the VE Table + +In both MAP and rpm headers, attention should be paid to include more divisions where the pressures or rpm change rapidly or frequently, and greater resolution is therefore desired or required. This tends to be the lower MAP and lower rpm areas, primarily including areas 1, 2, and 5. Note in the example above that rpm divisions are in 200 rpm increases near idle, up to roughly peak torque, and larger divisions above that area. The example above ensures higher resolution and more accurate fuel, spark, and AFRs in those highly used and constantly changing areas. In this example a more linear but still bottom-weighted scheme is used for the MAP divisions. + +While VE is normally considered a percentage, Speeduino calculations simply use them as relative references, that are sized to allow a logical reference and room to adjust (0 to 255). For normally-aspirated (NA) engines, it is generally suggested to use 100 in the maximum MAP row (atmospheric) at peak torque rpm, with all other entries on the table of lower pressure being lower VE. Supercharged and other systems will simply have rows above 100 kPa (atmospheric), where VE numbers will be relatively higher. + +Don't forget that all aspects of the tuning tables are adjustable in TS, usually by clicking on the object in question, as below: + + + +### Alternative table-building techniques + +Another method used to create a basic table to tune from is called a "wedge" table. It is simply a table outlined with appropriate MAP and rpm values, and filled with a simple graduating set of cells, as below. While this method is initially simple and requires less estimation, it also requires more follow-up tuning and map smoothing for good running in all ranges of operation, as there is no torque curve estimation or 'shape' to work from. + + + +Using the 3D viewing feature in TS, the example wedge table appears like this before tuning is begun: + + + +------------------------------------------------------------------------ + +[PSIG](User:PSIG "wikilink") ([talk](User_talk:PSIG "wikilink")) 13:10, 27 September 2016 (CDT) + +------------------------------------------------------------------------ + + + +------------------------------------------------------------------------ + +*Liability Disclaimer* + +*Information provided by the Speeduino Wiki and it's authors is general in nature and is not intended to be a substitute for professional advice, including but not limited to, mechanical, electrical, theoretical, and safety advice.* + +*All information is provided "as is." This **is** the Internet. While we try to provide accurate information, we make no claims, promises, or guarantees about the accuracy or completeness of the information provided. Information provided may be altered at any time, by anyone with access, without notice. The Speeduino Wiki and its various authors disclaim any responsibility associated with the general information provided on any of its pages.* + +*Visitors use the Speeduino Wiki content solely at their own risk. There is no requirement to use any information in any way. If you are not sure about anything, obtain professional assistance. The responsibility of any interpretation, use, or consideration and any resulting effects is strictly yours. In no event shall the Speeduino Wiki or its authors be liable to any third party for damages related to using or not using its content whether claims are advanced on contract, tort, or other legal theories.* + +*The Speeduino Wiki and its authors do not endorse any product, service, method, technique, seller, or provider mentioned in any of its articles or associated advertisements.* \ No newline at end of file diff --git a/tuning/tmp b/tuning/tmp deleted file mode 100644 index 8b13789..0000000 --- a/tuning/tmp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/wiring/Injector_wiring.md b/wiring/Injector_wiring.md new file mode 100644 index 0000000..0f08463 --- /dev/null +++ b/wiring/Injector_wiring.md @@ -0,0 +1,67 @@ +Introduction +------------ + +Speeduino contains 4 injector control circuits and is capable of supporting up to 8 injectors (and cylinders) with these. + +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 +------ + +There are a number of ways that the injectors can be wired depending on your configuration and preference. + +### 1, 2 and 3 injectors + +For these configurations, each injector is wired into it's own output from the Speeduino board. + +### Up to 4 injectors + +For 4 cylinders/injectors, there are 2 ways that these can be connected to Speeduino: + +**Method 1** + +The standard method is the same as that used for 6 or 8 cylinder setups, where 2 injectors are connected to each injector channel. In this configuration, only 2 injector channels will be used. The injectors paired together must have their Top Dead Centres (TDC) 360 crank degrees apart. + +
+ + +
+**Method 2** + +This method is only available on 4 cylinder / 4 injector applications and allows you to wire 1 injector per channel. The injector channels always fire in numerical order (ie 1, 2, 3, 4) so your injectors should be wired to take your firing order into account. Within Tuner Studio, this option can be enabled by selecting: + +`Settings` `->` `Engine` `Constants` `->` `Injector` `Timing` `->` `Semi-Sequential` + +
+ + +
+### 5 injectors + +5 cylinder setups should be wired to use all 4 injector outputs with 2 injectors sharing output \#3. For the typical inline 5 cylinder firing order (1-2-4-5-3), injectors 4 and 3 would be joined together on injector 3 output. + +### More than 5 injectors + +For setups with more than 4 injectors, the number of outputs used will be equal to half the number of injectors. + +**Examples:** + +**6 Cylinder** + +
+ + +
+**8 Cylinder** + +
+ + +
+Inline with the above, this configuration requires each injector output to be connected to 2 injectors. +The injectors should be grouped in opposing pairs, that is, cylinders whose Top Dead Centres are 360 degrees apart. \ No newline at end of file diff --git a/wiring/SP721_Diode_Alternate.md b/wiring/SP721_Diode_Alternate.md new file mode 100644 index 0000000..72d0232 --- /dev/null +++ b/wiring/SP721_Diode_Alternate.md @@ -0,0 +1,18 @@ +SP721 Over-voltage Protection +----------------------------- + +Speeduino versions through v0.3.2 and v0.4.0 used Schottky diodes on each input circuit to protect the Mega from over-voltages in the 'dirty' automotive electrical systems. Through-hole boards after those versions use a single SP721 in location IC4 to protect up to six inputs in a similar way to twelve diodes. Some Speeduino users have difficulty obtaining the SP721, and so the following information is to create an alternative protection based on the previous diode circuits, using the DIP8 footprint of the SP721. + +The information can be used to assemble diodes directly to the Speeduino board, as a circuit in perf-board or strip-board, or as a PCB using [these Gerber files](http://efistuff.orgfree.com/PostHost/SP721_Alternate_GERBERS.zip) for manufacturing or by DIY PCB etching. The 1N5818 or 1N5819 are suggested, though any similar Schottky signal diode will likely work. Figure 1 shows six signal channels protected, though only the channels being used require diodes, at two per-channel. + +The diode layout is shown in Figure 1: + + + +Layout using the Gerber files above: + + + +Example layout on generic perf-board: + + \ No newline at end of file