Difference between revisions of "CAN Protocol"

From Wiki
(Created page with "Commonplace Robotics uses the can field bus to send position set point values from the robot controller to the joint modules. The applied protocols are custom, but quite simp...")
 
Line 12: Line 12:
 
'''Resources:'''
 
'''Resources:'''
 
* Documentation: [http://www.cpr-robots.com/download/CAN/UserGuide_ProtocolCPRCAN_V04.pdf CAN protocol documentation]
 
* Documentation: [http://www.cpr-robots.com/download/CAN/UserGuide_ProtocolCPRCAN_V04.pdf CAN protocol documentation]
* Linux examples: C sources can be downloaded at [http://www.github.com/CPR-Robots]
+
* Linux examples: C sources can be downloaded at [http://www.github.com/CPR-Robots www.github.com/CPR-Robots]
 
* C# demo: [http://www.cpr-robots.com/download/CAN/CPRMoverDemoCSharp.zip Source code] for Visual Studio Express 2012  
 
* C# demo: [http://www.cpr-robots.com/download/CAN/CPRMoverDemoCSharp.zip Source code] for Visual Studio Express 2012  
  
 
Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.
 
Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.

Revision as of 10:36, 30 November 2016

Commonplace Robotics uses the can field bus to send position set point values from the robot controller to the joint modules. The applied protocols are custom, but quite simple.

Two version are used:

  • CPRCAN: 16 bit position data used for Mover4 and Mover6 robots and slider platforms
  • CPRCANV2: 32 bit position data used for SRA and Mover6-2016 (understand both, CPRCAN and CPRCANV") robots.

The position set point messages have to be send in a loop with e.g. 20 Hz. The application has to verify that this loop has a constant cycle time. If the jitter is too big the motion control modules might get into a communication loss error state. Additionally the application has to send state change messages like reset-all-errors and enable-motors.

The joint modules answer with an error code that provides the current state.

Resources:

Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.