CAN bus termination issue

Discussion in 'General Electronics Chat' started by TheReelMuhcoy, Jan 19, 2013.

  1. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    I am working on a CAN bus using an Axiomatic ECU and an actuator which has a built in CAN controller. When I first wired up the network and components, I was not aware that the a 120ohm termination was required at the Axiomatic ECU. When I opened communication to the bus I was not able to connect to the Axiomatic unit, but I did connect to the actuator controller. It was suggested to me that the controller had a built in termination resistor.

    Now I have spliced in a 120ohm resistor between the H&L just past the connector of the Axiomatic ECU, now when I try to open the communication to the bus i get an error and cannot open the network unless I unplug the actuator controller. This is my first time working with CAN and I honestly have no idea what I am doing, but I want and need to learn in order to complete this project, does anyone have any suggestions where to go from here?

    As of now I do not have a CAN ground between the Axiomatic ECU and the actuator controller, but I will try that for the heck of it before the end of the weekend.

    Thanks everyone!
     
  2. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    I just tried tried to ground the CAN, and still come up with the same error. I receive the same error I received when I did not have the Axiomatic ECU terminated properly.

    I have read that 60ohm resistors may be used to termination in certain situations, could that be used in the actuator controller? therefore giving me an issue when i use a 120ohm at the other end of the network?

    I also just wanted to mention this is roughly a 5 foot run.
     
    Last edited: Jan 19, 2013
  3. JohnInTX

    Moderator

    Jun 26, 2012
    2,347
    1,029
    Assuming you are using a hardwired, non-isolated bus:

    120 OHM is pretty common between CANH/L. You shouldn't need 60.

    I like to bias my CAN bus by pulling H up and L down with 22K-68K to ensure that when nobody is transmitting, the bus goes to the passive state. Many but not all CAN drivers provide this bias. Measure the voltage between H and L when the bus is idle to ensure that H is more positive than L.

    As far as grounding, it depends on your drivers. Most industrial CAN physical layers that I've seen use a simple differential driver so a dedicated ground line is usually not necessary BUT, you must respect the common mode voltages between the nodes. Usually this is accomplished internally when the logic ground is strapped to earth in each node. In some cases, a node is not referred to earth (I've seen it happen when a CAN host was a laptop running on battery, floating from earth) so a logic ground connection between nodes is necessary to keep the signal voltages within the common mode voltage range.

    All of this assumes that you have both nodes set up with the same CAN timings of course and that the bus is wired properly (all H to H and all L to L, etc).

    Good luck!
     
  4. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    I have double, and triple checked all of my wiring is correct. H-H and L-L. As I said before, before the 120ohm resistor was installed I was able to connect to the actuators CAN controller. Then when I installed the resistor I am able to connect to the Axiomatic ECU, but only if i remove the actuator CAN controller from the network (unplug it).

    From what I can tell, the installation of the 120ohm resistor to terminate the Axiomatic ECU is disrupting the connection/comunication to the actuators CAN controller.
     
  5. crutschow

    Expert

    Mar 14, 2008
    13,028
    3,237
    Typically a CAN network has 120 ohm resistors across the connection at each end of the bus. Any stub connections to controllers a short distance from the bus are left unterminated. See this for more info.
     
  6. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    So it sounds like you're saying I may have the resistor connected to the network wrong?
     
  7. MrChips

    Moderator

    Oct 2, 2009
    12,447
    3,363
  8. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    Much of the information in the links provided is way above my knowledge in this topic and I am having a hard time determining my next step.

    If the actuator controller has an internal terminating resistor, and I add one to the other end before the Axiomatic ECU, I would think I have both ends terminated properly, no? Or do I still need to put a terminating resistor at the other end by the actuator controller?

    Im sorry for being ignorant about this matter, this is not my profession, but I am very driven to learn what I can to make this work.
     
  9. Papabravo

    Expert

    Feb 24, 2006
    10,148
    1,791
    Simple Rules of Thumb for a CAN network:
    1. Get the terminators out of the products!! They do not belong there!!!!
    2. 120 Ohms on each end for a "long" network cable
    3. CAN is NOT RS-485. Dont pull up the bus lines UP or DOWN; that makes a dominat bit, not a recessive bit.
    4. If you bring the pair of 120 Ohm terminators close together you can repalce the pair with a single 60 Ohm resistor.
     
  10. TheReelMuhcoy

    Thread Starter New Member

    Aug 13, 2012
    8
    0
    Papabravo,
    If i preferred not to modify the product which has a terminating resistor inside of it, is there any other way I could work around it to get things working properly?

    Thanks for everything so far guys.
    -Jon
     
  11. Papabravo

    Expert

    Feb 24, 2006
    10,148
    1,791
    No. Unless there are jumpers inside the product to "remove" the terminating resistor -- it is "death to Smotchie", and the idiot who designed the product should get a pink slip in his next envelope.

    If you put that device at one end of the network you might have a chance assuming there are no other devices with a "helpful" terminating resistor.
     
Loading...