Hello everyone, I am using a SparkFun CAN Bus Shield along with an Arduino Mega 2560. My goal is to be able to transmit messages over CAN to another a motor controller over CAN. I soldered the three jumpers on the CAN bus shield and mounted it on the Arduino, and also rerouted the SPI pins to the correct ones since it is different on the Mega (10-13 goes to 50-53). I am also using coryjfowler’s MCP2515 library to initialize the CAN Bus, and have been able to do so successfully. The issue is when I try to send messages, I get an error: I have tried loopback which has worked successfully, meaning the CAN bus itself seems functional. I am wondering if it is a wiring issue. I probed the CAN Bus shield with a multimeter and it seems like there is a terminal resistor built in, so I did not add an additional one to that side. I have a CAN-H and a CAN-L cable coming out of pins 7 and 2 of the DB9 connector. I then run this into the CAN-H and CAN-L pins of the motor controller. There is an additional CAN-H and CAN-L pins on the motor controller, which I have a 120 ohm terminal resistor attached to. Is there any issues with this setup which might cause my issue to occur?
Matching measured ohms/resistance is the main key I believe; maybe share a diagram of the setup so it’s a bit more clear but it looks alright to me (term resistors @ each termination, matched ohms)
Circle back and report if it gave you any issues
There is no termination resistor on the shield, you will need to add your own 120 ohm resistor across can l and can h.