MembersPage/BillHart/ProblemHistory

Learning curve historical record of prevous problems or wiki interactions

Looks like bins change but Megatune displayed is fixed and must be edited to reflect the new bins.....I guess I am one of the crazy ones that wants to alter the Warmup Coolant Bins. These have not (yet?) moved to flash, if they do not respond to Config File Changes, than it's a megatune issue. Configure outside megatune:

Confirmed: Use config to update bins, edit Megatune init file to reflect the proper new bins. The Warmup active configuration page does not need to be edited as it properly reflects the actual temperature.

For those of you that like to understand what you are doing, I have another DUH for you. The criptic I259 and P259 stand for Ignition 259 and Power 259 (I think). The ignition 74HC259 logic level latch which is capible of sourcing output current through a 10K current limiting resistor the the Gate of the Ignition IGBT (Isolated Gate Bipolar Transistor, I think). The Power 259 is not capible of sourcing output current but does have open collector outputs capible of sinking 350 mamps of current. This is how they sink to ground one side of a fan or fuel pump relay coil.


on 12-1 crank trigger only

For a single cylinder four stroke, we could desire spark every other crankrev. This would need camsync. With only crank trigger, the best we can do is fire every crankrev, a sortof wasted spark.

To generate a spark (normally before TDC) for every revolution, set another_trigger_tooth=24 (decimal 36), since another_trigger_tooth=00 or FF might not get what you want.

another_trigger_tooth=0c (decimal 12) could actually work, but without camsync it would have the same effect as anything above decimal 12 (1 event for every crankrev, timed from the tooth trigger_tooth teeth after the missing tooth).

Decimal 36 has the advantage over decimal 12 that it does not add an (unnecessary, wasted) spark when (maybe finally) you configure camsync.

If you like experimenations, try another_trigger_tooth=0,12 and random values above 12 (I think they will work the same way with only cranktrigger). another_trigger_tooth was made for multiple cylinder engines, where several (2 for a 4cyl) events are needed for every crankwheel missing tooth. For a single-cyl, it's just a disturbing value that is to be kept out of the way, that's all.

wiki docs state ignchmax should be "cyl-s (-1) but says "Resist the temptation to set ignchmax=00". The warning is for multiple-cyl engine (and only takes effect when knock-retard is used: individual cylinder-based). For a single cylinder engine, the formula yields zero and ignchmax=00 is perfect.

GenBoard/UnderDevelopment/AlphaN says-

pw = req_fuel * MAP * VE(RPM, MAP) / lambda(RPM,MAP) * gammae * ego_corr (speed density: config13 bit2=0)

pw = req_fuel * VE(RPM,TPS) / lambda(RPM,TPS) * gammae * ego_corr (with alphaN, without MAP: config13 bit2=1)

Notes:

Why does MegaTune 2.25b not fetch ecu values from the constants page. I set the batt_cal to 165, close Megatune then reopen without loading a MegaTune config file, goto constants and try to fetch data. Batt_cal remains at 0 even though it must be 165 as voltage is being displayed correctly. This is not a big problem, just a curiosity.

A: possible version mismatch. Megatune 2.25b is not enough version info to know that you have a matching vemsv3.ini and firmware. We have the complete megatune packages to get rid of confusion problems here. 1.0.30 release package is unfortunately delayed, will upload tonight. Stand by and download that as soon as the new non-rc package is up. //Emil Thanks for the heads up. I believe I downloaded the complete MegaTune package and uploaded the included firmware. I am mostly sure of this as it is the only version of MegaTune and firmware I have.

Summary of problem: Megatune reads RPM and MAP correctly but battery voltage is zero. Megatune will write configuration values but only after accepting the low voltage write anyway error warning. Configuration values varified using terminal, however, config can not be written in terminal (probably blocked by low voltage error. A/D must be functional as MAP is correct.

Further... put varriable supply into TPS with TPSL=0 and TPSH=ff zero volts is 0% throttle while 4.3V is 100%. Two A/D channels are working while a third attached to a voltage divider is not.

Hardware: The top of R13 is at Vin (13Vdc), the middle of the divider is about 2.9V. The 2.9V is present on processor pin 61, ADC0 in. TPS is reading correctly and thus I believe Vref is ok. I believe the hardware is functioning just fine.

Is there a way to reflash firmware over riding the low input voltage lockout (which I assume is why I can not flash it the normal way)? The board deffinitely does not have a low input voltage problem. Has this problem occure with other boards?

History on Current Problem: I was working with correctly scaling RPM late yesterday. Returned this morning and assembled V3.3 does not communicate well. Under Megatune the voltage is zero while correctly reading the RPM. I can dump tables in terminal but can not reflash firmware. The unit has not been opened (for that matter, it was not even moved on the bench) and thus I do not suspect we did anything to the hardware. Has anyone seen this problem?

More Information: I can not update the configuration via terminal. However, I can update values using Megatune (like RPMK(0) and RPMK(1)) and they are reflected in a terminal dump of the configuration registers. Megatune gives a voltage too low to flash, flash anyway message. I let it rewrite anyway and the write was successful.

A: Have you changed vbatt calibration? I dont remember exactly the name but you'll find it in the menus. If you have any more config related problems, please upload whole mcd and mct output, or msq file from megatune (dont forget to also write megatune version) //Emil I was playing with config and thus could have changed vbatt cal. I used review to look at ALL configuration under MegaTune. There is no reference to Vbatt calibration. I have added my config via a link below. If I find a fouled Vbat cal in config, how can I change it (as I can only write config values in MegaTune and MegaTune does not give access to Vbatt calibraiton values)? Batt_Cal=0!! so somehow I screwed it up. Please advise on how to write Batt_Cal from MegaTune or other method that allows for writing with low (perceived) battery voltage. I will look to released firmware for a starting value.



Solution: I was trying to set RPM calibration in MegaTune. The fetch ecu data function in the constants page does not work and thus when I Fetched, Changed RPM Calibration, and ReSent? new data, I wrote a zero to Batt_Cal. The voltage then reads zero which prevents updating values in terminal. Moral- Be carefull in writing just one value in a setup page as the others may not have been fetched from the VEMS unit correctly and thus will be corrupted when you rewrite the page to the VEMS unit.

Trigger Question

12-1 Wheel single cylinder VR primary trigger

Signal being generated by parallel port to op-amp

Signal is zero to -3 to +4 to zero

Total pulse is 1/20 of the pulse to pulse period

single pulse spacing is .794 msec

RPM=[1/(.000794*12)]*60 or 6297rpm

Dump from V3.3

primary_trigger=01 #

secondary_trigger=02 #02 is disabled says Megatune and one configuration example while another configuration example says it is disabled if 0FF?????

tooth_wheel=0B # wiki says actual number of teeth 12 -1 or 11 decimal 0B hex

trigger_tooth=01 #left at one for now as "timing" not yet important

another_trigger_tooth=06 # with 12-1, 06 means 2 events per crankrot, that is 4 events per camrot (4cyl) OK so is another_trigger_tooth=18 or 24 dec acceptable for a one cylinder 4-stroke?????

crank_minper=9C #entered 2000 for now wiki says this should be 60sec / max RPM / number of engine events * 2 which would be 60/8000/1*2 or 15,000 usecs this number was not accepted by Megatune

tooth_wheel_twidth1=0A #wiki says dec=255/(2*imag teeth) or 255/(2*12)=10.xxx phase 240 for 12-1 and twidth1=phase/(imag teeth * 2) or 240/(12*2) or 10 dec/ 0A hex

tooth_wheel_twidth2=14 #wiki says (missing teeth +1)* dec or (1+1)*10 =20 dec or 14 hex

I beleive I have followed the wiki examples and my VR pulse input looks ok. Can anyone provide some guidance.

Solution: Problem solved... Answers to follow'

Pulse Width Calculation Does the V3.3 firmware calculate base injector pulse width using VE and Required Fuel only or does it factor in A/F values from the A/F table? Put differently, is the A/F table only for autotune or is it also used for open loop injector pulse width calculations? Is there a detailed explanation of exactly how the injector pulse width is calculated apart from trying to decipher the C code?

A: The lambda target table is always in use in the calcs, i dont know where to find the description though //Emil

Please advise on what is connected to the flying green jacketed wire protruding from the front cover with white and green wires.

A: Exhaust Temp sensor (( I will look to Wiki fof hookup info, page GenBoard/Manual/ExhaustGasTemp)), just wire the sensor in and do the calibration described on that page

We usually call "reverse an existing ignition advance curve" as "alien" logging. Searching for alien on SiteIndex, I found OnlineCourse/AlienIgnitionLogging. Secondary_trigger can still (in recent firmwares) be configured for alien measurements (except for 5cyl), but the alien variables seem to have been ripped from comm.c. Even if they show up on LCD, only useful if they are sent to the PC (like MegaTune) for analysis. Fortunately not difficult to get comm.c send the variables related to alien measurements.