How and why I built I built a library of functions in matlab that interacts with a vehicle calibration software to automate engine testing
About me
I am an automotive engineer with close to ten years of experience who loves scripting.
The problem I wanted to solve
Misfire monitor, as the name implies, monitors missed combustion cycles as a California Air & Resources (C.A.R.B.) regulatory requirement. For their approval of sale they require verification of adequate detection of engine misfiring at all engine operating points. For the 4 cylinder engine I was working on, this came out to be 308 speed load points total (since there are 7 types of misfire) that required tuning and verification for. This can become quite the headache and requires two people for testing - one to set the override switches in the calibration software to each engine speed / torque, name/start/stop the data recorders, and finally post process the data.
What is I built a library of functions in matlab that interacts with a vehicle calibration software to automate engine testing?
I built a library of scripts called by the main script which does all of the above without human involvement. I used to have to go to a test track with an intern when they were available to record misfire data. Now I could collect data on my way to and from work.
Tech stack
I used Matlab and our calibration software ATI Vision
The process of building I built a library of functions in matlab that interacts with a vehicle calibration software to automate engine testing
Initially i tried for many months to get a function to work to no avail. It was too complicated to be done in one long script. Then I had the brilliant idea to make smaller building blocks that i could call that would do things like start the recorder or set the engine speed and this was a game changer.
Challenges I faced
Initially keeping the code organized before I created a library of Blackbox functions
Key learnings
Everything is easier when you start with simple tasks and build complexity