Go Down

Topic: OBD II Bike Connector - Pass via bluetooth (Read 84258 times) previous topic - next topic

TriB

Hi,
I watched the manufacturer video about the AQ-1.
This is made to be connected directly to the ECU via CAN-Bus or OBD II connector.
OBD II is the way to go!

What have I done:
I connected the Kawa-ECU with an Arduino and transfer the Data OBD II compatible via Bluetooth.
Within that, I had to convert the requests and calculations, to be within the official OBD II ranges.

What you need:
Connect the Kawa-ECU with an Arduino and the OBD II AQ-1 on the other side, both via (Software-)Serial.
And you also need to translate between both parties.

Hardware:
So you need to create an adapter, which has an L9637D on both sides, which converts the K-Line (OBD II connector) to a serial signal.
Instead of my Bluetooth-module, you have to use the second L9637D.

Software:
Instead of receiving AT-commands (control commands for OBD II dongles), you will now get the whole initialization sequences and messages.
I´d ignore the initialization request (some high and low on the Serial port) and concentrate on the messages.
After receiving the first request, you can do the initialization yourself.

The requests itself are now with header, length and checksum. My code expects only the SID and PID via bluetooth. So you have to rewrite that part and process that stuff and extract SID & PID.


From my point of view, it´s possible!
Change the hardware layout, delete the bluetooth & AT stuff and optimize the method, which receives the OBD requests to process or ignore the format, header, length and checksum.

Good luck  :)

budzioq

Hi, I have a problem with connecting to the 2013 Kawasaki ER-6F ECU. When the engine is off, I can connect without any problem, but as soon as I start the engine, communication is interrupted and I cannot re-establish it. The connection is established in the standard way. First, to start communication, after fastInit procedure I send 0x81,0x11,0xF10x81,0x04, after a positive response I send a request to start a diagnostic session (0x80,0x11,0xf1,0x02,0x10,0x80,0x14) again I get the correct answer and then I can query the ECU about information that interests me. However, if at this time I start the engine, the ECU breaks the current connection and no longer responds to the start communication message. I checked different times (2s to 13s) between repeating the startup procedure with no results. What could be the reason for the ECU breaking communication ? I attach a graph from a logic analyzer - opened in Saleae Logic Software (free) - the engine starts in 12.27 seconds of recording.


TriB

How did you design/connect the board?
I expect the ERna (How we call it in germany), will give some inteferences on the power, with the alternator running.
Are you sure, the Arduino is still running? When it´s powered with more then 12V for a longer time, it will overheat.

So, I guess it will be related to the powersupply.

budzioq

I don't use Arduino, but STM32. For power supply I use 7805 stabilizer with 100 uF capacitors on the input and output. Then 5V supplies directly the LCD TFT and the 3.3V stabilizer of the STM32 module. STM works for sure, I have messages on the display informing about subsequent connection attempts.

Go Up