It is common for the CAN-Bus to display incorrect
information (reference Example of Bad Output #1-3, below). The data is not incorrect, rather it is being
displayed incorrectly. For example, if
you tell the CAN-Bus to retrieve data for Engine RPM, it may instead retrieve
data from the MAF Sensor. I am not sure
if this is a flaw of CAN-Bus communication or a sign of limitation in the
hardware being used. I found that
although the CAN-Bus occasionally retrieves incorrect information. The frequency of this error can be reduced
by:
A)
Reducing the amount of information being called
for. If you call for all vehicle
diagnostic data at the same time, the information will surely be presented
incorrectly. If instead you only call
for one piece of vehicle diagnostics, such as Engine RPM, then you will see
less errors in the output data.
Reference Example of Bad Output #1, below.
B)
Calling for data several times before printing it. If you call for Engine RPM data once, it has
a chance of being incorrect and printing other data like Speed. If you call for Engine RPM data ten times per
second and only print Engine RPM data once every second, then you call for it
ten times before printing it once. By
having a high ratio (times called : times printed), you decrease the frequency
of printing incorrect data. Reference
Example of Bad Output #3, below.
EXAMPLE
OF BAD OUTPUT #1:
Vehicle Speed: 0 V
Engine RPM: 0 V
Throttle: 701 rpm
Engine Coolant Temp: 701 rpm
O2 Voltage: 701 rpm
MAF Sensor: 701 rpm
EXAMPLE
OF BAD OUTPUT #2:
Vehicle Speed: N/A
Vehicle Speed: N/A
Vehicle Speed: 0 km / hr
Engine RPM: N/A
Engine RPM: N/A
Engine RPM: 678 rpm
Throttle: 690 rpm
Throttle: 0 V
Throttle: 12 %
Engine Coolant Temp: 0 V
Engine Coolant Temp: -36 degC
Engine Coolant Temp: 85 degC
O2 Voltage: 0 V
MAF Sensor: 0 V
EXAMPLE
OF BAD OUTPUT #3:
Vehicle Speed: N/A
Vehicle Speed: 0 km
Vehicle Speed: 0 km
Vehicle Speed: 670 km
Vehicle Speed: 670 km
Engine RPM: 0 km
Engine RPM: 0 km
Engine RPM: 701 rpm
Engine RPM: 701 rpm
Throttle: 693 rpm
Throttle: 693 rpm
Throttle: 12 %
Throttle: 12 %
Engine Coolant Temp: 12 %
Engine Coolant Temp: 87 degC
O2 Voltage: 87 degC
O2 Voltage: 87 degC
O2 Voltage: 87 degC
O2 Voltage: 87 degC
MAF Sensor: 87 degC
MAF Sensor: 87 degC
MAF Sensor: 87 degC
MAF Sensor: 87 degC
MAF Sensor: 1 g/s
MAF Sensor: 1 g/s
MAF Sensor: 2 g/s
MAF Sensor: 2 g/s
NOTE: There may be some fundamental limitations of
the CAN-Bus exchange OR the computer’s capacity to process data. Since data can slow at two locations (vehicle
to Arduino and Arduino to computer) lets focus on one hurdle at a time.
I originally had a video on this slide. But the video was too large to send via email. The video
demonstrated my ability to gather real-time vehicle data and project it onto the App that I created.
If the engine is running, oil maintenance required, ABS active, AC control status, driver is breaking, parking break is on, cruise control, lights are on, turn signal is on, airbags are on, vehicle is in sports mode, gear position, pedal position %
wheel speed → this can be used to identify which tire is flow on air pressure
If the engine is running, If oil maintenance is required, if driver is breaking, if the parking break is on, if cruise control is on, if lights are on, if turn signal is on, if airbags are on, if vehicle is in sport mode, gear position, pedal position %, AC and temp control status, Alerts – maintenance, oil required, ABS active
No comments:
Post a Comment