CANopen protocol with Arduino

Hi everyone.

I am looking to interface an Arduino with with a sensor that can only communicate with the CANopen communication protocol.

Does anyone know how I might do that?

Is there any libraries, can I use an ordinary CAN-BUS shield in conjunction with some code that has previously been written, and has anyone else tried using CANopen with an Ardunio.

If anyone has any advice or useful resources etc then please do feel free to share.

Note that changing to another protocol is not possible so I need to find a solution for CANopen communication with an Ardunio.

Thanks in advance for any useful posts.

Many thanks and best wishes.

David Baratheon

Please do not cross-post. Other thread removed.

No responses? Is no one aware of any way to implement CANopen communication on an Arduino?

Is no one aware of any way to implement CANopen communication on an Arduino?

I'm not. Google seems to be.

I do have experience with CANBUS. But, I have no idea what "CANopen" is.

In my CANBUS experience, communications is simple. Put stuff in a frame buffer. Tell the CANBUS controller to send the stuff. Configure the CANBUS controller to collect frames. Read stuff. Check for failures as needed.

Frames are limited to 11 or 29 bits + eight bytes. Some protocols require assembling packets from frames (breaking packets into frames). The one I used and the ones I've seen are all based on a state machine.

The cabling is two or three wires. (You're supposed to include ground but, being lazy, I often don't bother. You're supposed to include terminating resistors but ... you know the rest.)

Hi,
CanOpen is similar.
I'm getting 2 mag rotary encoders and an optical encoder going with a PLC at the moment.
Wrestling with changing ID of one of the mag encoders, even the manufacturer/distributor had some problems.
Unfortunately the PLC system I have to use doesn't use codesys, so canbus and canopen a real pain to implement with their IDE.

I haven't had any experience using arduino, did have a play with monitoring vehicle canbus but that wouldn't apply here.

The libraries that are available should have some examples in them to demonstrate their capabilities.
I would start with the examples and work toward what I want.

Getting the initial CanOpen settings can be a pain, but if all you need is the base data from it, then it not to bad as that is automatically placed on the canopen bus.

Tom...... :slight_smile: