Problems with reading with Arduino OBD-II Logger Kit #3
Problems with reading with Arduino OBD-II Logger Kit #3
Hi,
I've received the logger a few days ago but I am still struggling to read out a single car. I've successfully uploaded the firmware and after connecting the kit to the OBD port I get the screen stating the following:
- ACC check
- GPS check (searching)
- OBD error/cross
I've tried to connect with the following cars with either no key, key to acc2 and with a running engine:
- Alfa 156 1.6 2003 (EOBD/OBD2 certified CAN 500 kbit (29 or 11), with and without adapter cable to switch pin 6 to 1 and 14 to 9 pin 7 to 12, the rest was unmodified)
- Fiat Punto 2005 (EOBD/OBD2 certified CAN 29 /500 kbit with and without previous adapter cable)
- Fiat Panda 2003 (with and without previous adapter cable)
- Toyota Prius 1.5 (EOBD/OBD2 certified CAN 11 / 500 kbit no adapter cable).
Any reason why this might not work? I can image some of these cars not working due to strange pinout but I find it odd that none of these work so far.
Kind Regards,
Gobla
I've received the logger a few days ago but I am still struggling to read out a single car. I've successfully uploaded the firmware and after connecting the kit to the OBD port I get the screen stating the following:
- ACC check
- GPS check (searching)
- OBD error/cross
I've tried to connect with the following cars with either no key, key to acc2 and with a running engine:
- Alfa 156 1.6 2003 (EOBD/OBD2 certified CAN 500 kbit (29 or 11), with and without adapter cable to switch pin 6 to 1 and 14 to 9 pin 7 to 12, the rest was unmodified)
- Fiat Punto 2005 (EOBD/OBD2 certified CAN 29 /500 kbit with and without previous adapter cable)
- Fiat Panda 2003 (with and without previous adapter cable)
- Toyota Prius 1.5 (EOBD/OBD2 certified CAN 11 / 500 kbit no adapter cable).
Any reason why this might not work? I can image some of these cars not working due to strange pinout but I find it odd that none of these work so far.
Kind Regards,
Gobla
Re: Problems with reading with Arduino OBD-II Logger Kit #3
Are you using I2C version or UART version adapter?
Re: Problems with reading with Arduino OBD-II Logger Kit #3
Please check if config.h has correct setup.
Re: Problems with reading with Arduino OBD-II Logger Kit #3
My config looks like this:
Code: Select all
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/**************************************
* Choose model of OBD-II Adapter
**************************************/
// OBD_MODEL_I2C for I2C version
// OBD_MODEL_UART for UART version
#define OBD_MODEL OBD_MODEL_I2C
#define OBD_PROTOCOL 0 /* 0 for auto */
/**************************************
* Data logging options
**************************************/
// enable(1)/disable(0) data logging (if SD card is present)
#define ENABLE_DATA_LOG 1
#define SD_CS_PIN SS
/**************************************
* Data streaming options
**************************************/
// enable(1)/disable(0) data streaming
#define ENABLE_DATA_OUT 1
// uses software(1)/hardware(0) serial for data streaming
#define USE_SOFTSERIAL 0
// this defines the format of data streaming
// FORMAT_BIN is required by Freematics OBD iOS App
#define STREAM_FORMAT FORMAT_CSV
/* Default streaming baudrates:
9600bps for BLE
38400bps for BT 2.1
*/
#define STREAM_BAUDRATE 9600
// outputs debug information
#define VERBOSE 0
/**************************************
* GPS configuration
**************************************/
#define USE_GPS 1
#define GPSUART Serial2
#define MAX_GPS_PROCESS_TIME 50 /* ms */
#define GPS_BAUDRATE 38400 /* bps */
//#define GPS_OPEN_BAUDRATE 4800 /* bps */
/**************************************
* Accelerometer & Gyro
**************************************/
#define USE_MPU6050 1
#define ACC_DATA_RATIO 160
#define GYRO_DATA_RATIO 256
/**************************************
* Timeout/interval options
**************************************/
#define OBD_MIN_INTERVAL 20 /* ms */
#define ACC_DATA_INTERVAL 200 /* ms */
#define GPS_DATA_TIMEOUT 2000 /* ms */
/**************************************
* LCD module (uncomment only one)
**************************************/
LCD_SSD1289 lcd; /* 3.2" SSD12389 based TFT LCD */
//LCD_ILI9325D lcd; /* 2.8" ILI9325 based TFT LCD */
//LCD_ILI9341 lcd; /* 2.4" ILI9341 based SPI TFT LCD */
//LCD_Null lcd;
#endif
Re: Problems with reading with Arduino OBD-II Logger Kit #3
Looks all good. Since ACC has tick, the MPU6050 onboard is connected via I2C. Can you try any newer cars?
Re: Problems with reading with Arduino OBD-II Logger Kit #3
I have no newer car available to test this on right now. So I have to get back at this in a few days/weeks.
In the meanwhile is there an option to show the RAW commands that are send and received with the car?
In the meanwhile is there an option to show the RAW commands that are send and received with the car?
Re: Problems with reading with Arduino OBD-II Logger Kit #3
You can modify the code and outputs anything you want to know via Serial.
Re: Problems with reading with Arduino OBD-II Logger Kit #3
I've figured it out!
Using your latest code and some modifications I got it working like a charm.
First of all the protocol was KWP2000Fast so in config.h I used:
Futhermore the init is slightly different (obd.cpp)
And I added the following code in obd.cpp after the first "while (available()) read();" in bool COBD::init(byte protocol)
Source on these init codes: http://www.mp3car.com/engine-management ... p2000.html
So this works for the alfa 156, but possible ALL ECU's in Fiat, Alfa, Lancia with the ECU: Bosch M1.5.5
Using your latest code and some modifications I got it working like a charm.
First of all the protocol was KWP2000Fast so in config.h I used:
Code: Select all
#define OBD_PROTOCOL PROTO_KWP2000_FAST
Futhermore the init is slightly different (obd.cpp)
Code: Select all
const char *initcmd[] = {"ATZ\r","ATE0\r","ATL0\r"};
And I added the following code in obd.cpp after the first "while (available()) read();" in bool COBD::init(byte protocol)
Code: Select all
write("ATSH");
write('08110F1');
write('\r');
receive(buffer);
delay(50);
while (available()) read();
Source on these init codes: http://www.mp3car.com/engine-management ... p2000.html
So this works for the alfa 156, but possible ALL ECU's in Fiat, Alfa, Lancia with the ECU: Bosch M1.5.5
Re: Problems with reading with Arduino OBD-II Logger Kit #3
Do you think you could post the OBD.cpp file you used?