After my last post I drank some more wine, read the comments it generated and got down to some jolly good proper thinking. I realised that I was distracting myself with standard deviation and such like, and a more empirical approach may work.
The rough pseudo code is
for each log entry that isn't filtered out by temp/RPM etc
Find the AFR in the future by doing a bilinear interpolation on a delay table
Find the actual VE by doing a bilinear interpolation on this record
Find the target AFR by doing a bilinear interpolation on this record
Work out how far out of whack the actual AFR is
For each of the 4 cells involved in the current reading, add a weighted adjustment record depending on where the bilinear interpolation lands
for each cell that has more adjustment records than the minimum number of hits required
Calculate a weighted average adjustment to apply to the cell
create a new VE table by applying the adjustments to the base table
And it seems to work. Circa a couple of hundred lines of the finest Javascript to run in your browser.
I’ve been doing more fiddling with log file and VE analysis, and I’m a little stumped as to where to go with it next.
VE analysis is basically looking at what the air/fuel ratio the car is running at at a specific load/speed, comparing that to what we think it should be, and then fiddling with the fueling to get it closer to the ideal. The authors of the original Megasquirt firmware published a PDF that went in the basic maths of this.
Two posts in two days? I’m on a roll!
The two main applications in the world of Speeduino/Megasquirt ECU logging are TunerStudio to generate log files and MegaLogViewer to examine them. Whilst they are both very useful applications (I have bought full fat licences for both), they lack position information.
When I’m driving my car and it does something weird, I tend to remember where I was (e.g. approaching the roundabout on the A1081) rahter than when I was (5m20s into the drive). TunerStudio can log GPS information if you have a serial GPS dongle (and have remembered to configure it, and then remembered to check that TS hasn’t lost the config becuase the USB to /dev/tty* mapping has changed) and obviously MSDroid does it natively being an Android application.
I’ve recently been trying to improve the efficiency of The Supid Car. Fundamentally, within the ECU is a 16 by 16 table of values. One axis is engine speed, the other is the amount of air the engine is trying to suck in. Each cell in the table contains a value that relates to how long the fuel injectors should fire for. There are a bunch of correction factors thrown in for air temperature, engine temperature, how long the engine has been running etc but simply it’s just a lookup on that table.
I recently treated myself to a Creality K1C printer with the purpose of being able to print ABS bits for the Fury. It’s a fabulous printer, much more reliable than the Ender 3 Pro I have (and we won’t even mention the Vertex K8800 that has never worked properly)
Anyway, the current mount I have is down on the transmission tunnel, and not easy to glance at. The last time I was in the car, it occured to me I could probably put my phone on the dash behind the steering wheel without blocking the view of anything important.
This was the original brake pedal fitted to the car.
More About The History Of The Stupid Car
I tinker. I can’t help it, it’s almost a compulsion. I didn’t tinker with the Elise as it was too expensive to cock up. A kit car on the otherhand was ripe for meddling with. Having bought it second hand, I kew it already worked (for some value of working) so there was a degree of ‘compare and contrast’ with each thing I did.
I’d always fancied owning a Jaaaag. I was getting older, I was now a manager, my Mazda6 daily was about to expire expensively and so I wandered over to Autotrader….
There I found a 6 year old black XF with a 5 litre V8 going for £20k. It called to me. With the Stupid Car and my wife’s Kia Picanto it would bring the average number of cyliners per car in the family to 6.66, which amused me. It was quick, it could heft it’s 2 tonnes to 60 in 5.2 seconds, which was quicker than the Lotus Elise I used to own. So off I go to Sevenoaks and I bought it.
In chasing down the issues with my car , I want to plumb in a fuel pressure sensor. The easy way to do this is to add a 10mm brass tee piece in the hose that goes to the engine from the fuel pump, so off to Amazon I go and buy a couple for less than £6.
I get it all plumbed in and boot the car so that the system pressurises. Immediately, a thin jet of fuel at 4 bar pressure shoots across the engine bay to land on the exhaust manifold. At first I think it’s a fault with the hoses, but no, there is a small pin hole in the tee piece itself.
I used to have a Lotus Elise