GenBoard V3.0 serial #19.
Mar-10-06
I investigated the Ford ECU's and found that they use 20K pullup with their sensors. I took 5 sensors and wired them up and stuck them first in the freezer and then in the oven, then room temp. Used thermocouple thermometer to measure actual sensor temp. The wires got around the freezer and oven door seals no problem. I plugged a consensus of values into easytherm and then perl inc2tbl. Plugged the .c files into my IAR C compiler and made airXfactor.hex and cltfactor.hex files. I can now compile or patch with equal ease. I use 4x16 LCD. I will need to compile. ( Marcell, can I get svn access? )
Compiled 1.0.23 with new therm data, verified correct data in hex file.
I ran the upload-firmware.bat . It seems that DOS on my machine does not recognise the if()else() construct. I just runs everything, like this:\nÿ1ÿ
I edited the bat file to be like this: it now works as expected.\n
@echo off echo Remember to save your config + tables.txt with mcd/mct echo _before_ running this program, press ctrl-c to abort echo also run make mtt and upload these after this upgrade echo Precompiled version: 12x12 Standard boost echo ----------------------------------------------------- pause if not exist firmware\vems.hex goto else tools\megaloader.exe firmware\vems.hex -wtE goto end :else echo Something went really wrong with your package :end pause
Mar-8-06
Looking at air and coolant temperature tables. The Ford sensors that I have are much higher in value than standard.\n
degrees C ohms 120 1180 110 1550 100 2070 90 2800 80 3840 70 5370 60 7600 50 10970 40 16150 30 24270 25 30785 (interpolated!) 20 37300 10 58750
These are about 13 times higher than the standard thermistor.
- using 30785 Ohm (nominal, at 25C) sensor with 32.4 kOhm pullup is same as
- using 2565 Ohm sensor with the standard 2700 pullup (voltage divider output is same, since *12 applied in both upper and lower resistor)
- EasyTherm page has a simple procedure to make the tables.
- the old one was to run easytherm, run perl inc2tbl.pl on the xxx.inc file and recompile the firmware. The last step was asking too much from most of the installers.
- so the new, simple method is to hexpatch (or text-edit replace) vems.hex with a selected an ntc curve (pre-generated with propertherm, which users don't need to run themselves) with
- aref=256 or 287 (for AREF>4.8V and AREF<4.5V, respectively)
- resistance close to 2565 ohm (2700 Ohm should be very close, but we can generate an even closer table if you install that and make some more measurements)
Mar-2-06 PM
Successfully re-complied 1.0.23 for 4x16 LCD. After being away from genbd stuff for a year and now having a different computer, getting the compile setup correct is a good step towards getting back up to speed. I may need more changes, they can be made later. I'll have to study own notes. I read them now and it is as though I'm reading them for the first time!
Mar-2-2006 AM
tried to compile ver 1.0.30 so I can get 4x16 LCD support. timing.c file missing. will try to compile 1.0.23 later.
Is 4x16 the only change in my_make or you have some other special setting as well ? We should have it in the release script so a vems.hex for the given settings is always compiled and included in the release.
- Questions
Torque curve approximation (initial VE table)
Q. I can't get the VE table generator to work at http://www.megasquirt.info/manual/vetable.htm . I enter in all of the information and click on the button, nothing happens. I have tried turning off the Norton pop-up blocker, no difference. Is there another way to get this information or could someone run it for me?
A.Check bin/req_fuel.pl.
When you have the torque-curve from 2 points:
- max-torque
- max power
M(RPM) = a + b * RPM + c * RPM^2
hint: the derivate is 0 at the max-torque point:
dM / dRPM = 0 = b + 2*c*RPMmaxTorque
( I once had it in 10 lines of perl, dunno where ). Yes, I remember, it gets even easier - say trivial - if written this way:
M(RPM) = Mmax - z * (RPM-RPMmaxTorque)^2
- ( Thanks, I will save the formulas. I took the easy path and tried a number of different computers until I found one where the VE table generator worked. -Dana )
Increasing ign_tdcdelay issues
Q. looks like I will need more ign_tdcdelay than what is presently available. My engine produces a single trigger at 10 degrees BTDC. I will need 190 degrees delay. Re-clocking the 'rotor phase' of the distributor is not an option as this is supposed to be 'plug and play'. It seems the easiest way to get more range would be to add an entry to my_make that would change the ign_tdcdelay units from 0.5 degrees to 1 degree. I grep'd thru the code, that value is only used in a couple of places. Before I go editing in some IFDEF's, does anybody have a better idea of how to get more range for ign_tdcdelay?
A. It's only used in trig2spark IIRC, but there are problems with that. With the improved EventQueue we can time to max 131 msec to the future (not 262msec), which is down to 127 RPM with reasonable timing to max 100 crankdegrees. You'd have starting problems timing to about 180 degrees if your engine cranks at low RPM in cold.
The events could be stored in userspace first, of course; and entered into the heap later.
- I can live with 131 msec no problem. The Ford TFI module will automatically make the ignition coil fire at 10 degrees BTDC if the SPark OUT (SPOUT) signal is missing. Check it yourself, but timing.c line 180 ensures that DummyIgnition output (SPOUT) is shut off below certain RPM.
- Diary
GenBoard/Manual/InitialTesting/VerThree
- Aug 4-04 - Finally have time to get my GenBoard3.0 running.
installed barrel inductor.
soldered thin strand of wire for a fuse.
removed about 8mm from the to220 end of the board with a hacksaw. I can shoehorn it into a Ford EEC-IV case now! I can easily patch around the damage with a few pieces of wire. The pictures I see show nothing mounted in those end holes anyway.
I need to go thru GenBoard/VerThree/Installation and GenBoard/Manual/InitialTesting/VerThree to get everything installed.
I assume that DDFlyBack, low voltage 0.7+0.7 is what I want to use. Because the typical failure mode of diodes is to short, putting 2 in series will help reliability. The stock ECU(and car) is wired for 2 injector drivers.(4cyl, 2 injectors per driver) I will wire the car for 4 injector drivers later. For now, I want to be able to switch back easily to the stock ECU.
I can drive 2 LowZ injectors in the same fashion from GenBoard.
I will want to mount the MAP sensor off the board. Looks like I need to make a small PC board to hold the sensor, some filter caps and a connector. Will go to my local electronics supply store and see what they have for off-the-shelf boxes.
GenBoard/VerThree/Installation says "solder the other 2 FETdrivers (from rescue1 kit)." My board came with no FETdrivers installed and 2 34151's in kit. If I was planning on running a V8, I would be 2 FETDrivers short.
I was wondering if there was a 3.0 assembly drawing available. I know it is more fun to use the wrong rev documents, but I'm in the mood to be bored!!! Seems like the docs at the top of GenBoard/Manual/InitialTesting/VerThree are all that I get.
Question: My board seems to have more components installed for WideBand channel 2 than it does for WideBand channel 1. Is it a better idea to use channel 2?
A: No, it's just because in the early times noone helped completing the instructions, so it stayed that way. Especially in the early days, when there were not enough confidence in the best values, the wbo2 section was meant to be completed by the user.
Question: Is there a bill of materials available? For instance there is nothing on the schematic to show the mfg. part numbers of the heater transistors or the injector FETs
(A: if you have the Eagle Sch, you go into FILE RUN BOM.ulp It is not complet with all the part # but its a start.) - I will have to download Eagle I guess.
Went to add the r-c on the input of the WB opa. The 1uF and 2.2uF caps in the rescue kit are identical in size. I received 4 of each in my rescue kit. (note: they are keyed by their number in the GenBoard/VerThree/RescueKit). Will measure value (that's the safest way, true. Either will do for the 0..5V lowpass filter though. The only place it matters is the 14V traces, where the 2u2 is not suitable.)
I am wiring a 9 pin d-sub connector for the LCD, same as for GenBoard2. Also again using a 3.5mm audio cable for the serial port. Tip of the audio cable is GenBoard transmitted data.
- Aug 5-04
Finished the install of the r-c input of the WB opa. Did both channels. Put parts on the back side, needed a little trimming of the ground plane to keep things from shorting.
Downloaded eagle. Can't read either the sch or the brd file. Get an error 289 in both cases.
trying to build firmware. Using MembersPage/JohanEriksson/VerThreeFirmForDummies. get error messages with paths to another compiler I have on my computer. Made a .bat file that clears all of the environment variables used by the other compiler.
Compile with NO_IGN is not supported (but ign can be disabled runtime).
- Aug 9-04
Installed D9.
Soldered a piece of wire across SJ1 to put +12V to FETdriver power rail. Added C20 and C24.
Can't find SIL-5 pin resistor packs in my parts kit. Soldered 0805 10K's to backside of board. Earlier SIL5 were only in PWMing kit, now 2xSIL5 are in the rescue1 kit.