A new version of Fuelino Calibration Tool is available on the Fuelino Project page. From a graphical point of view, this new "1.0 beta 2" version is similar to the previous one. Some modifications have been implemented to adapt it to the most recent software for Fuelino Proto3.
After opening the EXE file "SimpleSerial.exe", the following window appears. First of all, you need to choose the COM port of your Arduino Nano, and then click on "Connect".
In order to test the communication with Fuelino, you can click on "Start Polling" and see if the data changes in real time. At least, you should see Time [ms] continuously growing (this is the time expired since Power On). In case the communication is not happening, try pressing the Arduino Nano "reset" button, it should work.
There are 2 calibration maps, each one defines the percentage of injection time increment: one defines the increment depending on the engine speed (rpm), the other defines the increment depending on the throttle position sensor voltage (V). Each map has 8 indexes (breakpoints). For any input value (rpm, throttle) between 2 breakpoints, Fuelino calculates the increment to be actuated by using interpolation.
The following screenshot shows the test performed using Pico DrDaq. Fuelino was fed with a predefined injection pattern with variable frequency (rpm) and injection time pulse-width [us]. At the same time, Fuelino injection time output was measured.
The following blue circles show the injection time percentage which Fuelino actually performed. Red points correspond to the calibrated values inside incrementi_rpm map. The light blue lines connecting red points are the interpolation lines.
As visible in the graph below, in case of small injection timings (<600us) and high rpm, there might be a relatively big error in the injection time percentage. But in case of normal injections (>1000us), there is no strange behavior. I performed a study about this time accuracy error, and found out that it is basically caused by 2 reasons: Arduino Nano timer accuracy (4 microseconds), and interrupt execution time delay (about 28 microseconds). In case of small injection timings, these errors are not negligible. I am working on the software to solve these issues.