##### ## ## ## ## ##### ## ##
# ### ## # # # #
_______ ( ____ \ | ( \/ | | | | | | | (____/\ (_______/
____ / ___| \___ \ ___) | |____/
##### ## ## ## ## ## ## ## ##
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: '''Subpage of GenBoard/UnderDevelopment/FirmWare related to coolant temp''' The temperature range was traditionally -40 .. 215F (internally and in config 0..255) inherited from the procariotic ECM (megasquirt); This is a problem, because it rails when you are most interested in the temp (101..110C remember the coolant is usually pressurizable to 60..200kPa above athmosphere). Also, aircooled engines like higher head-temp. '''Proposed range: celsius based, starting at -50C''' * internal values 1..210 for -49 .. 160C (0 and engine.clt >210 values reserved for error conditions and future whatever) '''Checklist to achieve this''' * thermfactor.c (thermfactor.inc): remap. This is very simple, apply linear transformation and 255 (215F = 101C) will become 151 => not rail ! * with the above simple change, we have the extended range for coolant. To match the new range, all coolant related variables must be updated (with simple conversion) in any config to match the new range. Maybe a name change is appropriate, so ''make mtt'' warns about the fact that using old-scale values: ** warmup_clt_range[] ... this might go to flash, since noone ever tweakes them. Maybe the highest bin should be 80C or 75C instead of 71C ? ** fan_temp / fan_hyst ** ego_coolant ** ve_learn_coolant ** water_pump_temp / water_pump_hyst ** iac_cold_idle_temp / iac_warm_idle_temp ** some compile time constants ** ... ? * fix LCD functions that display temp * fix MegaTune formulas for temp display * fix MegaTune formulas for the relevant config variables ---- By: MembersPage/SteenAndersen I used easytherm.exe to generate the ADC values to temperature correlation, for the 2.45Kohm bias resistor and values for a BOSCH standart temp sensor. The ADC values in the high range af temperatures is making some drastic jumps, so 1 bit change in ADC raw value represent a 10°C jump at 150°C because the value off the NTC becomes very low (below the 100ohm range) making readings somewhat unprecise. But OK the jumps just above 100°C is 2-3 degree per bit, thats good enough for monitoring if your cooleant is overheated, or as in my case with air cooled, to se if the oil is reaching craking point temperature at 130-135°C. I think the suggested range -49 .. 160C is OK. I was about to experiment myself with -100 .. 155C by just adding 100 to actually value. 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.