# Difficulty connecting to Curtis 1238E CAN bus



## schmidtbag (Aug 7, 2019)

I've been wanting to connect an OBDII adapter to the motor controller so I can read sensor values and also replace the function of the check-engine light in case the controller sees any errors. I can't seem to figure out why it isn't working. There is currently _nothing _else connected to the motor controller's CAN bus.

If I check the resistance between CANH and CANL, I get 60 ohms.
If I check the voltage of CANH + CANL, I get 5v.
I have 12v and ground hooked up to the OBDII port.
I have connected the CANH wire (pin 23) to CANH on the OBDII port, and CANL (pin 35) to CANL.
I'm using the "Torque" Android app to do the readings, but it fails to connect, even though the adapter is receiving power. This app and adapter work fine on other vehicles and connects almost immediately. I tried using another app (I forget what it's called) and that didn't work either.

What am I doing wrong here? According to this, it seems that this should work. I even have the same Bluetooth adapter (and yes, I am using a HPEVS motor):




__





OBDII Support with HPEVS Drive System






www.hpevs.com




Annoyingly, they don't really explain if there is anything additional you have to do.


----------



## cricketo (Oct 4, 2018)

Do you know if there is a specific CAN baudrate ODBII adapter expects, or it probes the bus at different speeds when initialized ?


----------



## schmidtbag (Aug 7, 2019)

cricketo said:


> Do you know if there is a specific CAN baudrate ODBII adapter expects, or it probes the bus at different speeds when initialized ?


When using the Torque app, it does appear to check various baud rates. As mentioned earlier, I have the same adapter that is shown in the HPEVS link, so to me that suggests the adapter isn't the problem.


----------



## cricketo (Oct 4, 2018)

I understand that part, but I was wondering if that adapter only works with specific bauds, and HPEVS ships their kits with baud defaulted to that one... but for some reason yours is set to a different one. Sounds like you don't have any other tools to diagnose the controller ? Do you do any Arduino development ? It would be easy to build a CAN receiver using MCP2515 module to see what's up with that bus.


----------



## remy_martian (Feb 4, 2019)

Do you have the Curtis CAN protocol documentation that says it speaks basic OBD-II CAN messaging? it might be a proprietary CAN, in which case you'll need to write some software...


----------



## cricketo (Oct 4, 2018)

remy_martian said:


> Do you have the Curtis CAN protocol documentation that says it speaks basic OBD-II CAN messaging? it might be a proprietary CAN, in which case you'll need to write some software...


HPEVS says it should work with their stuff like the OP pointed out, whether it's based on the core Curtis functionality, or their VCL. Since it's not likely to be a wiring issue (unless H and L are swapped ), my only hunch is it could be a CAN speed issue.


----------



## cricketo (Oct 4, 2018)

Oh, one more thing... Curtis has a separate pin called I/O ground, it's definitely the one used with the serial interface, but I wonder if the CAN interface is also isolated from the battery thus I/O ground is the one that should be tied to the ground on the ODBII adapter. Does ODBII adapter have more than one ground, i.e. power- and signal ground ?


----------



## remy_martian (Feb 4, 2019)

So you're saying Torque Pro understands the PIDS without identifying the manufacturer so it hits the right lookup table?

Can you verify that with the CAN bridge you've open sourced?


----------



## cricketo (Oct 4, 2018)

remy_martian said:


> So you're saying Torque Pro understands the PIDS without identifying the manufacturer so it hits the right lookup table?
> 
> Can you verify that with the CAN bridge you've open sourced?


Torque seems to have the distinct behaviors between being unable to find the CAN and being unable to understand the protocol. I've used a similar ODBII adapter with Torque on my diesel van, and I while I couldn't get it to decode vehicle-specific info, it was certainly seeing the data bus.

I could have replicated OPs setup, but... it's wet and cold outside today, plus plenty of other things to work on (inside)


----------



## schmidtbag (Aug 7, 2019)

I do have experience with Arduinos, but I figured a pre-made already-functioning device would be more likely to yield useful results than trying to hobble something together. It seems the default settings are non-standard CAN bauds, but I assume HPEVS would have modified this if there is an android app that works with the ELM327. Perhaps that app lets you customize the baud, though, HPEVS doesn't specify what it is



cricketo said:


> Oh, one more thing... Curtis has a separate pin called I/O ground, it's definitely the one used with the serial interface, but I wonder if the CAN interface is also isolated from the battery thus I/O ground is the one that should be tied to the ground on the ODBII adapter. Does ODBII adapter have more than one ground, i.e. power- and signal ground ?


I do not share any of the Curtis grounds or 12v with the rest of the 12v system. I have the OBDII port using the 12v and ground provided by the controller. The adapter does have a power and signal ground, though, wouldn't my voltage readings be wrong if grounding was the issue?



remy_martian said:


> So you're saying Torque Pro understands the PIDS without identifying the manufacturer so it hits the right lookup table?
> 
> Can you verify that with the CAN bridge you've open sourced?


For what it's worth, I'm not using Torque Pro (just the free version) and it fails to connect entirely. I don't really care if Torque doesn't know what it's reading so long as I can listen in on the bus.

But, if going with an Arduino is my only option, I think I'd be ok with that. I just don't want to put in the time only to find that won't work either.


----------



## cricketo (Oct 4, 2018)

schmidtbag said:


> I do not share any of the Curtis grounds or 12v with the rest of the 12v system. I have the OBDII port using the 12v and ground provided by the controller. The adapter does have a power and signal ground, though, wouldn't my voltage readings be wrong if grounding was the issue?


I think then you should hookup controller's I/O ground (pin 7) to the adapter's signal ground, while leaving the power ground as it is. CAN is differential, absolute voltages don't matter, what matters is shift in relation to the signal ground.


----------

