some arbitrary plots of operation. the roadster datalogger outputs CSV files to a microSD card, i manually plot them via libre-office. hardly elegant.
a year later, the code is unsurprisingly more capable and stable. all of the outstanding problems of a year ago have been resolved (see code). remaining is some hunting especially when low temperature error. these plots are samples taken from a 400 mile drive from Los Angeles to Arizona. temperature was in the 70s F. they show only MPH, instantaneous head temperature, and the integrator. (the log from that entire day untouched except XLS format conversion, is here: 20190404 to Burro Creek.xls).
overview of run #6 for scale.
below are two plots made from two but "representative" 250-sample sets, an hour or two apart but similar conditions. red is MPH, grey (middle) the integrator, and the bottom blue line shows engine temperature minus 180 to increase displayed precision. resolution for each plot is 1. one sample per second.
i had forgotten about the oscillation even though it's sort-of visible on the instrument panel; the period is about 53 seconds, so it's not very noticable and regulation is tighter than the INT value would imply (it's not the only term).
next is the end of the day, pull off the highway into the campground. pulling off the highway (samples 28..55) produces the expected temperature spike then overshoot; highway heat production suddenly drops, the cooling system compensates. (not shown is the now-excellent overcool compensation).
samples 250 up show the result of low heat production (slow mph) but residual long-time-constant heat in the engine mass. regulation here is not great; head temp (blue) is OK, mostly plus/minus 3, but an instance of 5, degrees off set point. here the signal is partly lost in the hunting noise.
though the hunting/oscillation looks terrible here, this is about worst-case. overall it's well damped across every envionment i've put it through (mostly on the hot side of things). heat input is close to "idle".
heres a close up of above samples 300..360. this shows how the hunting isn't quite as bad as it appears.
65F ambient, dry. run from some 40 miles N up the I5 to home. recent changes were addition of DECEL OVERCOOL (O here) which seems fine, i fixed a bug whereby enthalpy correction was applied once per second instead of 10 Hz. i expect it to look better (it is) but you never know... i suspect my enthalpy multiplier is too large, so that TEMP rises i'm looking for the source of disregulation (TEMP) relative to one of the other vars. i suspect incorrect enthalpy.
40 mile run, couple thousand samples. BLUE: road speed MPH, my dynamomenter
(sic). red: cylinder head temp. yellow: radiator outlet temp. brown: pump
integrator. green: pump speed. dark green hovering near 0: decl overcool.
300 sample slice, typical ideal highway. temp varies
169..173. radiator especially steady, as is everything.
fairly typical pull off highway, then surface streets (glendale exit). the
bumps in red (temp) wants gone. enthalpy (light blue) not visible/usable here.
the last quarter mile into the driveway. here the brown plot is
enthalpy * 48, to emphasize the excursions and move it up on the plot.
now it seems to indicate temp rise (red) tracks enth (brown). enthalpy
is an open-loop correction.
enthalpy and decel overcool are numerically small.