Today the weather is nice, so I decided to have a ride and test the display visualization of the new software for data logger. This is my motorcycle: Honda CBR125R.
Since I also modified some parameters of the ECU software, I first had to flash it on the Arduino Micro. In contrast with the data logger, which can be easily removed and connected to the desktop PC, for the ECU it takes much time to remove all cables, so I flashed the new software directly on the motorcycle. I used my laptop for this purpose (I have Arduino IDE installed on it).
Then, I positioned the data logger under the seat, and started the engine. The data logger shows on the display, in real time, the injection time (microseconds), engine rotations per minute (rpm), and throttle position (%). At idle, the injection time was 2708 μs (microseconds). This is the original ECU injection time (before correction).
The rotation speed, at idle, in cold engine condition, was 1680 rpm. After some seconds, when engine temperature rises, it stabilized to about 1500 rpm.
The actual throttle position was 0% (I did not open the gas), but the value visualized was 1%. The reason is that the TPS (Throttle Position Sensor) outputs a signal inside 0-5V range, but in a specific subrange (example: 0.5V - 4.5V). The signal is sampled by the Aduino Micro A0 analog input, and converted to a 10bit value (0-1023). Since I still have to verify the correct subrange of the TPS, I tentatively supposed a value subrange between 100 to 900. I need to further adjust the lower threshold so that the value displayed is 0% at idle, and adjust the higher threshold so that the value displayed is 100% when the gas is completely opened.