### ## ## ## ## ## ####
___ ___ | \/ | | . . | | |\/| | | | | | \_| |_/
_____ (_ _) | | | | | | (_)
/'\_/`\ | | | (_) | | | | | (_) (_)
## ## ## ## #### ## ## ## ##
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: It is very easy to calculate dRPM / dt, which is proportionate to torque. However, when doing tuning runs, you want to be able to compare the result after changes (like changes in ignadv). Analyzing the logged runs, in RPM-bins, in a similar way as lambda, VE and ignadvn is tuned is very helpful. Something like this (except for real data, and colored nicely): ||'''RPM'''||'''3000'''||'''3500'''||'''4000'''|| || MAP || 110 || 140 || 170 || ||ignadv || 24|| 25 || 27 || ||EGT(C)|| 552 || 603 || 612 || ||lambda || 0.82||0.81 || 0.8 || ||torque dRPM/dt || 1600 || 3100 || 3900 || ---- '''RPM => power calculation''' is very simple Some of the input parameters are often estimated though (a well known such parameter: m=mass, you can measure that too, of course) * P=F*v * F=m* (dv/dt + anull) + Fnull ** where anull = g*slopepercent (like g*0.04 for a 4% slope to keep the car climbing without deceleration) ** Fnull = some force to keep the car running without decel even on a 0 slope. Fnull=500N means that 500N * 20m/s = 10kW sounds reasonable below 100km/h (at high speed this climbs as v**2, due to air drag) * so P=v* (m* (dv/dt+anull) + Fnull) * v = RPM * const ** where, with audi in gear2: const = 1/2.13/4.11 * wheel_circumference ** wheel_circumference=1.87m (if you measure diameter and calculate 0.6m * pi, you get 1.885m, but remember the tyre is somewhat pressed in) ** so the '''audi wheelspeed at 7000 RPM and gear2''': 7000 / 60 /2.13/4.11 * 1.87 = 24.9 m/s = '''89.7 km/h''' [http://all-car-parts.net/specifications/specifications.htm gear ratios] ---- '''dRPM/dt => Nm (torque) calculation''' So (with the 1600kg audi in gear2) what is the const in the ''torque=const * dRPM/dt'' to get the result in Nm ? * dRPM / dt is given * as in the upper formula, force on the wheels: F=m* (dv/dt + anull) + Fnull * wheel torque Mwheel = F * wheelradius * motor torque Mengine = Mwheel / drivetrain = Mwheel / 2.13/4.11 ** v (in m/s) = RPM/60 / 2.13/4.11 * wheel_circumference ** m=1600kg (1400kg + spare tyre + fuel + 2 persons) ** wheelradius = 0.3m ** Fnull = 500N ** the uphill we use for tuning: anull = 0.03 * 9.81 m/ss *** this contributes to less than 10% of the power, at dRPM/dt = 1000 RPM/sec it is like 3.6 + 0.29 for the accel and the climb components octave snippet: <code> drivetrain1=3.6 drivetrain2=2.13 drivetrain3=1.36 drivetrain4=0.97 drivetrain5=0.73 drivetrainfinal=4.11 drivetraintotal2=drivetrain2 * drivetrainfinal g=9.81 m=1600 anull=0.03*g Fnull = 500 wheel_radius=0.3 wheel_circumference=2*pi*wheel_radius rpmtov=1/60/ drivetraintotal2 * wheel_circumference # the best so far, for the untuned audi was 1000 RPM / sec in gear2 dRPMdt=1000 F=m* (dRPMdt*rpmtov + anull) + Fnull Mwheel=F*wheel_radius Mengine = Mwheel / drivetraintotal2 result: with the given mass, on given uphill in gear2 at 1000 RPM/sec is 230 Nm engine torque (measured on the wheels) </code> .. ---- '''Evaluation''' [http://www.vems.hu/files/MembersPage/MarcellGal/Audi/logs/races.zip example output csv zipped] The gear can be seen very clearly. Torque 200-ish is gear2, and 300+ is gear1 (the calc is made for gear2 so these that are in fact gear1 are not real numbers). Considering the value of (dRPM/dt) / avgMAP, it could be automatically judged (unless the terrain has very tricky slopes) '''TODO-s''': * '''better filtering'''. Sometimes a +-80 RPM spike (which is otherwise harmless, eg at 5500 RPM) can cheat the calculation, because it's based on appr dRPM/dt=450 RPM in appr 0.400 sec ** for very same reason, the given run sometimes ends a bit earlier than in real (a small downspike makes the algorithm think the acceleration has ended) * '''better annotation''' of input files (the time in seconds is already seen, but we should see which file it was from) * '''parametrization of input data''': currently wired in for mass and gear2 drivetrain ratio and wheelsize of Marcell's audi200 ** also, input files currently must be c:\races\*.log and output is always c:\races.csv * colored display inside v3GUI: currently saved to csv, takes 3 click to open in spreadsheet and use "freeze-panes" * proper non-debug release. Now [http://www.vems.hu/download/v3gui/v3gui-debug.zip v3gui-debug] is not for human consumption. It contains big debug-dlls, but lacks mainframe.xrc (copy from a v3gui release). The program automatically processes c:\races\*.log upon startup to c:\races.csv output file (will be in experimental/loganalysis menu, with some widgets for input data: these data must be saved to session, so it does not need to be retyped every time) Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.