AFR data-logger written for Arduino that records the throttle position sensor (TPS) and air-fuel ratio (AFR) at 20-Hz. The data is analyzed in the File_AFR_GUI.py program which converts the raw 10-bit data into readable information.
- Board - Adafruit Data Logger Shield
- RTC Clock
- IORef
- GND
- SCL
- SDA
- SD Card
- Digital 10
- VCC
- MOSI
- GND
- MISO
- SCK
- RTC Clock
- Analog Inputs
- A3 - TPS Signal
- A4 - AFR Signal
- Sensors
Generates a csv file named with the unix timestamp of when the file was created. Converting the time will provide the exact time the datalogging started.
Time(ms) | TPS | AFR | TMP |
---|---|---|---|
millis() | Raw 10-bit Value | Raw 10-bit Value | Raw 10-bit Value |
- The time column contains the current millisecond, measured from when the program started to when the measurement was made. The actual time in milliseconds isn't as important as the time difference between samples (Samplen+1 - Samplen). Ideally, the difference between Samplen+1 and Samplen should be = 50-ms.
- The TPS column contains the 10-bit value of the throttle position sensor.
- Translate the TPS 10-bit value into percent(%):
- TPS.value = TPS.raw * (100.0 / 1023.0)
- Translate the TPS 10-bit value into voltage(VDC)
- TBD
- Translate the TPS 10-bit value into percent(%):
- The AFR column contains the 10-bit value of the air-fuel ratio.
- Translate the AFR 10-bit value into AFR:
- AFR.value = AFR.raw * (10.0 / 1023.0)) + 10.0)
- Translate the AFR 10-bit value into voltage(VDC):
- TBD
- Translate the AFR 10-bit value into AFR:
- The TMP column contains the 10-bit value of the temperature.
- Translate the TMP 10-bit value into Degree C:
- TMP.value = (((TMP.raw * 5.0) / 1024.0) - 0.5) * 100;
- Translate the TMP 10-bit value into Degree C:
An interactive program designed to help review the data collect utilizing pyqtgraph and Qt5 Designer.
- pyqtgraph | Website | Github Repositoty
- Qt Designer | Manual