As alot of modern ecus are doing alot of this fuel tuning for us now what we realy need is ignition timing vs RPM derivative analised this awesome software i would imagine will help me create some good comparative equations to optimize ignition timing thanks Andy great video..
Thanks for uploading all this info, is there any way we can create tables on this software to calculate the ve adjustments necessary? Like input your target afr and then create the actual afr table as you have shown - then add a formula to calculate the difference without using excel etc? Cheers! Charlie
Hi Andy.I'm just starting MS and was hoping you had a video dealing with 3d maps of fuel mixture and ignition timing.What should they look like? How to diagnose problems using a 3d map. Other info we could learn from them. thanks
I personally tune AE to get the best throttle response when shifting and downshifting. The transients filter is what filters out all data when the AE is active. Here is what my actual transients filter that I use looks like. [Engine]>1 or [Engine-1]>1 or [Engine-2]>1 or [Engine-3]>1 or [Engine-4]>1 or [Engine-5]>1 or [Engine-6]>1 or [Engine-7]>1 or [Engine-8]>1 or [Engine-9]>1 or [Engine-10]>1 or [Engine-11]>1 or [Engine-12]>1 or [Engine-13]>1 or [Engine-14]>1 or [Engine-15]>1 or [Engine-16]>1 or [Engine-17]>1 or [Engine-18]>1 or [Engine-19]>1 or [Engine-20]>1 In the Megasquirt world, having the engine code active (something other than 0) means AE, or DE or warmup or some other thing is happening on that record. With this formula, I throw out all data for 20 records after the Engine code is set to anything other than 1 or "Engine running" Note that I data log on my ECU at 200 hz. The default Transients filter looks like this. (abs([Field.RPM] - [RPM-4]) > ([Field.RPM] * 0.10) ) || (abs([Field.TP] - [TP-4]) > 5 ) || (abs([Field.MAP] - [MAP-4]) > ([Field.MAP] * 0.15) ) Where for example [RPM-4] is read RPM 4 records back. Hope this helps
Here is some of the info under Help and Math Parcer > deltaRPM=[RPM]-[RPM-1] interpreted as: deltaRPM = (Current RPM)-(RPM 1 record back) You can reference previous records by incuding the -x inside the []. As seen above [RPM] references the current RPM, where [RPM-1] now references the RPM 1 record previous. You can reference back further, i.e [RPM-2] will reference 2 records back, [RPM-3] is 3 back, and so on. All references are relative. Math is executed from left to right, operation hierarchy is not recognized. If you need to insure execution order parenthesis are honored. calcValu = [RPM]/([RPM]*1.2) the [RPM]*1.2 will be executed first. Advanced Math functions: Supported Advanced Math functions are: Function Definition Usage Smoothing Smooths a field by averaging over the smoothingFactor number of records. smoothBasic( field, smoothingFactor) sine Standard Sine of a value. sin(val) cosine Standard Cosine of a value. cos(val) arcsine Standard arcsine of a value. asin(val) arccosine Standard arccosine of a value. acos(val) tangent Standard Tangent of a value. tan(val) arc tangent Standard Arc Tangent of a value. atan(val) square root Standard Square Root, same as pow(val, 0.5) of a value. sqrt(val) absolute Changes any negative values to the same magnitude in the positive direction. abs(val) log Natural log of a value. log(val) log base 10 Base 10 log of a value of a value. log10(val) recipricol The recipricol of a value, or 1/val recip(val) exponent Exponent of a value. pow(val, exponent) round Rounds the value of a value to the nearest integer value. round(val) floor Returns the largest (closest to positive infinity) integer value that is greater than or equal to the argument. floor(val) ceiling Returns the smallest (closest to negative infinity) integer value that is greater than or equal to the argument. ceil(val) exponent Returns Euler's number e raised to the power of a double value. exp(val) isNaN Checks the output of an expression to result in a invalid number isNaN(val) smoothFiltered Smooth a field using a matrix filter for less lag smoothFiltered(val) accelHp Calculates HP based on Acceleration rate. accelHp( velocity (MPH), deltaVelocity(MPH), deltaTime(s), weight(lb) ) Aero Drag Calculates the Aerodynamic Drag aerodynamicDragHp( velocity (m/s), airDensity (kg/m^-3), dragCoefficent, frontalArea (m^2) ) Rolling Drag Calculates estimated rolling resistence rollingDragHp( speed (MPH), tirePressure (psi), weight (lbs) )
@@AndyWhittle_HowEFIworks Hi Andy, when applying the first formula to my log it filters out nearly all of my total records (original 59,510 - filtered 59,436). The second formula Filters down to 57026. How can i change the formula to suit my needs or is all my data from road logging that bad. The RPM change one seems to filter the least amount of data (4040 records) is 'abs([Field.RPM] - [RPM-4]) > ([Field.RPM] * 0.05)' . Can i rely on this data to apply your processes? Cheers for any help. Charlie