Hello all,
I am currently having trouble reading CAN data from an external flow sensor through the Sparkfun CAN-BUS shield for Arduino. I have followed the hook-up tutorial at the link attached and will refer to the my issues in the context of this tutorial. I am able to read CAN data from the DB9 connection, which I have rewired in accordance with the jumper configuration on the schematics (pin 7 - CANH, pin 2 - CANL, pin3 - GND), however, I am not able to read any signal from raw data CAN pins (labeled under part 7 in the tutorial attached). I have also soldered the SJ4, SJ5, and SJ6 jumpers to the listed CAN configuration, as opposed to the factory issued OBD-II configuration. I have manually attached pins 2,9,10,11,12,13,GND,+5V, and RST, directly mapping from the CAN-BUS shield to the Arduino. I am stuck and do not know why I cannot read the raw CAN data from the pins, but I can if I read directly from the DB9 connector. Any help or insight into this issue would be appreciated!
Tutorial:
(https://learn.sparkfun.com/tutorials/ca … 1656431887)
Schematics:
http://cdn.sparkfun.com/datasheets/Dev/ … d_v13a.pdf
Looks like you have done everything according to the hook-up guide. But still not getting any positive results. Hope team Sparkfun will give feedback.
tepalia02:
Looks like you have done everything according to the hook-up guide. But still not getting any positive results. Hope team Sparkfun will give feedback.
That doesn’t look anything like the hookup guide to me.
I’d set all the jumpers back to factory defaults and connect the shield to your arduino with stackable headers like shown in the hookup guide rather than jumper wires.
Then use:
- DB9 pin 5 for CAN_L,
- DB9 pin 3 for CAN_H, and
- DB9 pin 2 for GND.
If you're still not seeing any data, put a 120 ohm resistor between the CAN_H and CAN_L pins for bus termination.
Thanks, dear YellowDog. Let’s hope it solves the problem.
YellowDog:
tepalia02:
Looks like you have done everything according to the hook-up guide. But still not getting any positive results. Hope team Sparkfun will give feedback.
That doesn’t look anything like the hookup guide to me.
I’d set all the jumpers back to factory defaults and connect the shield to your arduino with stackable headers like shown in the hookup guide rather than jumper wires.
Then use:
- DB9 pin 5 for CAN_L,
- DB9 pin 3 for CAN_H, and
- DB9 pin 2 for GND.
If you're still not seeing any data, put a 120 ohm resistor between the CAN_H and CAN_L pins for bus termination.
Firstly, thank you for looking into this! I have followed your advice for the most part. While I am still waiting on the stackable header to come in, I have switched back to the factory jumper settings (OBD-II pinout), swapped the DB9 pins to the pinout you described, and have connected a 110 Ohm resistor between CAN-H and CAN-L at the DB9 connector (I do not have 120 Ohm resistors but figured it would be close enough by connecting two 220 Ohm resistors in parallel). With these changes, which were what I tried in the beginning (minus the added termination resistor), I am able to read the waveforms attached from raw CAN-L and CAN-H pins respectively. These ae obviously incorrect, but now I am unsure how to proceed. Any help would be appreciated!