| Up | Next | Home |
If you are new to this and don't know how to upload firmware or config yet, read Section 4.3.c.
The wiki page, VerThreeFirmForDummies, is a good place for a quick start.
To understand the parameters and the details that follow, at times you will need to consult the Megasquirt MegaManual. The basic, but most important fuel related paramenters are described very well. The MegaManual is located at http://www.msefi.com/msinfo/manual/mtabcon.htm
See Section 4.3 (Basics.HexaDecimal) if you are not familiar with hexadecimal number system
See Section 2.1 (Basics.ElectronicEngineManagement) if you are horrified by the number of parameters that can be set (which is a nice feature, actually; you are not stuck with default values if you want to tinker)
How many settings are there? More than 250 variables.
"mcd" output from GenBoard matches config.txt, and config_t in global.h. If the config.txt has less (or more) variables than global.h suggests, make mtt (make_conf.pl) will warn about the differences. Large sections can often be disabled (the variables are still there, but with no effect). Eg. with ego_lean_limit and ego_rich_limit=00 the other EGO parameters take no effect at all.
"mct" shows the tables: up to about 4x16x8 table elements
There are several steps to take to modify the configuration files:
Copy and paste the output from "mcd" to a file called config.txt and the output from "mct" to a file called tables.txt.
Copy the files to the etc/ directory of your firmware directory
Open the config.txt and tables.txt and make needed changes to fit your setup
Save the changes
Open command prompt, navigate to the firmware directory and type "make mtt" (this builds config.mtt and tables.mtt and adds them to /firmware/etc)
Open your favorite terminal program
Connect (9600 baud)
Type "Man"
Send the config.mtt and/or tables.mtt file
Entire config.txt should be listed here, with good descriptions of each parameter.
NOTE: There is no "standard default" config.txt file. The shipped config and firmware is just for testing, it should not be used for production. The only value that makes sense is WBO2 1st channel pump_pw_zero that is recently calibrated according to the onboard components (for appr. 0 mA output pump-current) - but even that must be verified during testing of the WBO2 sensor. The production config will depend on trigger tooth count, trigger position, ignition advance and other factors. Don't use anything from other's config.txt without verification.
A text based file is the most common way to configure GenBoard operation and parameters and settings. Many of these variables are also available through tuning software and all will soon be available with the introduction of the latest GenBoard tuning program.
It is highly encouraged to use comments in the configuation file to explain settings and keep track of what has yet to be reviewed, determined (put the exact word "TODO:" into comment), or just keep notes.
There are a million VE calculators on the web. Some people just start from a few (approximately) points of the torque-curve (eg. bin/reqfuel.pl or a spreadsheet) .
Here is a spreadsheet that helps you fill in an initial lambdacorr (l) and VE (j) table:http://www.vems-group.org/files/ChrisGerhardt/lambdaVEconversoion_r001.xls
The tables that define the fuel and ignition requirements are held in tables.txt, The values in tables.txt are all defined in Hex.
We use the MegaSquirt VE generator to provide us with the VE table (j[]), RPM range (r[]), and MAP kPa range (k[]) values. http://www.megasquirt.info/manual/vetable.htmVE Table Generator. You will need the peak torque and power figures of your engine. Copy these tables from the webpage and save them somewhere useful.
The RPM Range table corresponds to r[], you will need to convert each value from the generated table from decimal to hex, and then put it into the r[] table.
Do the same for VE Table Load Range(MAP), and put each value into k[].
Now you have to do the same for the VE table, and copy the converted hex values to the j[] table.
Lambda-correction, or "lambdacorr". Higher value means lower lambda, see the equation below. The l[] table is used to calculate a multiplicative factor (normally 0.95 .. 1.5) for the j[] table. If you use a WideBand sensor (good idea) GenBoard will know from the l[] table values what target lambda is desired for a particular loadsite: the ego correction can correct the fuel as necessary to match the target lambda value. The formula is lambda = 256/(200+l), so the centre point is 0x38 which equates to a lamda=1.0 (AFR of 14.7:1 for gasoline). 0x00 equals a lambda=1.28 (lean AFR of 18.8:1), 0xFF is a lambda=0.56 (stupid rich for gasoline, maybe useful for methanol). If you don't use WideBand, it is possible to set a constant (usually 0x38) lambdacorr table, and have increased j[] values at loadsites where lower lambda (higher lambdacorr, or richer mixture) is desired. But it's a good idea to provide reasonable l[] table initially, so you don't need to play with spreadsheets later to update j[] and l[] when going to real lambda control.
The ignition table provides advance only: 0x00 = 0deg, 0x01 = 0.25deg 0xFF = 63.75deg. To adjust the bias point you will need to adjust config.ign_tdcdelay.
| Up | Next | Home |