Brushless Motor Connections and Operation Revision History Date Version Changes July 8, 2019 Extracted from main User Manual The information contained in this manual is believed to be accurate and reliable. How- ever, it may contain errors that were not noticed at the time of publication. Users are expected to perform their own product validation and not rely solely on data contained in this manual.
Refer to the Datasheet for Hardware-Specific Issues ........ 5 User Manual Structure and Use ..............5 SECTION 1 CAN Networking on Roboteq Controllers ..............7 Supported CAN Modes ................7 Connecting to CAN bus ................8 Introduction to CAN Hardware signaling ............ 9 CAN Bus Pinout ..................
Page 4
SDO Example 2: Activate emergency shutdown (EX) for node 12 ..40 SDO Example 3: Read Battery Volts (V) of node 1........40 SECTION 4 DS402 Implementation on Roboteq Motor Controllers ........43 Abbreviations ................... 43 Introduction ....................43 What is DS402 ..................43 Implementation ..................
The manual is divided in 3 sections organized as follows: SECTION 1 CAN Networking on Roboteq Controllers This section describes the RawCAN and MiniCAN operating modes available on CAN-en- abled Roboteq controllers.
Page 6
This section describes the configuration of the CANopen communication protocol and the commands accepted by the controller operating in the CANopen mode. SECTION 4 DS402 Implementation on Roboteq Motor Controllers This section will describe the implementation of CiA DS402 standard on Roboteq motor controllers. CANBus Networking Manual...
It is the mode to use if full compliance with the CANopen standard is a primary requisite. RoboCAN is a Roboteq proprietary meshed networking scheme allowing multiple Robo- teq devices to operate together as a single system. This protocol is extremely simple and lean, yet practically limitless in its abilities.
CAN Networking on Roboteq Controllers Connecting to CAN bus A CAN bus network is made of a stretch of two wires. A device can be put on a CANbus network by simply connecting it’s CAN-High and CAN-Low lines to those of other devices on the network.
Introduction to CAN Hardware signaling Introduction to CAN Hardware signaling CANbus uses differential signals, which is where CAN derives its robust noise immunity and fault tolerance. The two signal lines of the bus, CANH and CANL, are biased to around 2.5 V.
CAN Networking on Roboteq Controllers FIGURE 1-4. DB15 Connector pin locations The pins on the DB15 connector are mapped as described in the table below. TABLE 1-2. CAN Signals on DB15 connector Pin Number Signal Description CAN_L CAN bus low...
USB to CAN adapter such as the PCAN-USB from Peak Systems. Connect the adapter to the CANH and CANL and run the sniffer software with the correct bit rate selected. The figure below shows the expected received data when a Roboteq device is on the network with MiniCAN protocol enabled.
CAN Networking on Roboteq Controllers Common Configurations CAN Mode: Used to select one of the 4 operating modes. Off disables all CAN receive and transmit capabilities. Node ID: CAN Node ID used for transmission from the controller. Value may be be- tween 1 and 126 included.
Using RawCAN Mode Reading Raw Received Frames After a frame has been moved to the read buffer, the header, bytecount and data can be read with the ?CAN query. The query can be sent from the serial/USB port, or from a Mi- croBasic script using the getvalue(_CAN, n) function.
CAN Networking on Roboteq Controllers Using MiniCAN Mode MiniCAN is greatly simplified subset of CANopen. It only supports Heartbeat, and fixed map Received Process Data Objects (RPDOs) and Transmit Process Data Objects (TP- DOs). It does not support Service Data Objects (SDOs), Network Management (NMT), SYNC or other objects.
RoboCAN Networking SECTION 2 RoboCAN is a Roboteq proprietary meshed networking scheme allowing multiple Roboteq products to operate together as a single system. This protocol is extremely simple and lean, yet practically limitless in its abilities. It is the preferred protocol to use by a user who just wishes to make multiple controllers work together with minimal effort.
RoboCAN Networking Network Operation RoboCAN requires only that a controller has a unique node number (other than 0) assigned and that the RoboCAN mode is selected and enabled. All nodes must be configured to operate at the same bit rate. Each enabled node will emit a special heartbeat at a set and unchangeable rate of 128ms so that each node can create and maintain a map of all nodes alive in the network.
RoboCAN via Serial & USB Realtime Queries Queries are handled the same way but the reply to a query includes the responding node’s address. Below is a Query example: ?V 2 This is the normal query for reading the battery voltage of the local controller. The control- ler will reply V=123 @04?V 2 This will send the same query to node address 4...
RoboCAN Networking Configurations Read/Writes Configuration settings, like Amp Limit or Operating Modes can be read and changed on a remote node via the CAN bus. For example @04^ALIM 1 250 will set the current limit of channel 1 of node 4 at 25.0A @04~OVL will read the Overvoltage limit of node 4.
RoboCAN via MicroBasic Scripting Self Addressed Commands and Queries For sake of consistency commands sent to the local node number are executed the same way as they would be on a remote node. However the no CAN frame is sent to the net- work.
RoboCAN Networking Will set the overvoltage limit of all nodes to 25.0V. Note that even though the Overvoltage is set for the controller and does not normally require that a Channel, the value 1 must be put in order for the instruction to compile. Script execution is not paused when one of these function is used.
RoboCAN via MicroBasic Scripting Below is a sample script that continuously reads and print the counter value of node 4 top: FetchCANValue(4, _C, 1) ‘ request data from remote node while(IsCANValueReady = false) ‘ wait until data is received end while Counter = ReadCANValue() ‘...
Page 24
RoboCAN Networking cc is the Query code, eg _V ch is the channel number. Put 1 for queries that do not normally require a channel number tt is the scan rate in ms bb is the buffer location The scan rate can be up to 255ms. Setting a scan rate of 0 stops the automatic sending from this node.
RoboCAN via MicroBasic Scripting Checking the presence of a Node No error is reported in MicroBasic if an exchange is initiated with a node that does not ex- ist. A command or configuration sent to a non-existent node will simply not be executed. A query sent to a non existing or dead node will return the value 0.
This section describes the configuration of the CANopen communication protocol and the commands accepted by the controller using the CANopen protocol. It will help you to en- able CANopen on your Roboteq controller, configure CAN communication parameters, and ensure efficient operation in CANopen mode.
CANopen Interface Connection to a CAN bus is as simple as shown on the diagram above. 120 Ohm Termina- tion Resistors must be inserted at both ends of the bus cable. CAN network can be up to 1000m long. See CAN specifications for maximum length at the various bit rates. CAN Bus Configuration To configure communication parameters via the RoborunPlus PC utility, your controller must be connected to a PC via an RS232/RS485/TCP/USB port...
Commands Accessible via CANopen Commands Accessible via CANopen Practically all of the controller’s real-time queries and real-time commands that can be ac- cessed via Serial/USB communication can also be accessed via CANopen. The meaning, effect, range, and use of these commands is explained in detail in Commands Reference section of the manual.
PDO Mapping below. Each of the 4 TPDOs can be configured to be sent at user-defined periodic intervals. This is done using the CTPS parameter (See “CTPS - CANOpen TPDO Send Rate” in “Roboteq Controllers User Manual v2.0”). TABLE 3-1. Commands mapped on TPDOs...
CANopen Message Types RPDO Object Index-Sub Size Default Object Mapped RPDO3 0x2005-13 User VAR 13 0x2005-14 User VAR 14 RPDO4 0x2005-15 User VAR 15 0x2005-16 User VAR 16 S32: signed 32-bit word PDO Mapping The Process Data Object (PDO) service allows exchanging one or several process vari- ables in one single CAN message.
CANopen Interface In this example, we suppose that the controller has node-id 01. 1. Destroy TPDO1 by setting the invalid bit of COB-ID (0x180001): 00 18 81 01 00 C0 2. Disable TPDO1 mapping by setting number of entries mapping parameter to 00 (0x1A0000).
Object Dictionary Not supported in Roboteq controllers. In Roboteq controllers, it behaves exactly like value 255. First it is necessary to distinguish between synchronous and asynchronous PDOs: Asynchronous PDOs are event-controlled and represent the normal transmission type of PDOs. For this, the values 255 or 254 are to be entered as PDO type.
CANopen Interface Runtime Commands Index Sub (hex) Entry Name Type Access Command 0x2000 01-mm Set Motor Command CANGO 0x2001 01-mm Set Position 0x2002 01-mm Set Velocity 0x2003 01-ee Set Encoder Counter 0x2004 01-mm Set Brushless Counter 0x2005 01-vv Set User Integer Variable 0x2006 01-mm Set Acceleration...
Page 35
Object Dictionary Index Sub (hex) Entry Name Type Access Command 0x2103 01-ee(2) Read Encoder Motor Speed 0x2104 01-ee(2) Read Absolute Encoder Counter 0x2105 01-mm(1) Read Absolute Brushless 0x2106 01-vv(3) Read User Integer Variable 0x2107 01-ee(2) Read Relative Encoder Motor Speed 0x2108 01-ee(2) Read Encoder Count Relative...
Page 36
CANopen Interface Index Sub (hex) Entry Name Type Access Command 0x2125 01-mm(1) Read Destination Tracking 0x2132 01-mm(1) Read Rotor Angle 0x2133 Read Script Checksum 0x2134 Read Node Is Alive 0x2135 01-mm(1) Read FOC Angle Correction 0x2136 01-ii(9) Read AC Induction Slip 0x2137 Read Firmware Version Read Firmware Month...
Object Dictionary DS402 Profile Index Sub (hex) Entry Name Type Access PDO Command 0x6040 Control Word CH1 0x6041 Status Word CH1 0x6042 Target Velocity CH1 0x6043 VL Velocity Demand CH1 0x6044 VL Velocity Actual Value CH1 0x6046 VL Velocity Min Amount CH1 VL Velocity Max Amount CH1 0x6048 Velocity Acceleration Delta Speed CH1...
Page 38
CANopen Interface Index Sub (hex) Entry Name Type Access PDO Command 0x6861 Modes of Operation Display CH2 0x6864 Position Actual Value CH2 0x686C Velocity Actual Value CH2 0x6871 Target Torque CH2 0x6877 Torque Actual Value CH2 0x687A Target Position CH2 0x6881 Profile Velocity CH2 0x6883...
SDO Construction Details CANOpen SDO frames can easily be created manually and used to send commands and queries to a Roboteq device. The directives below are a simplified description of the CANOpen SDO mechanism. For more details please advise the CANOpen standard.
Service Data Object Torque Mode Velocity Mode Introduction This documentation will describe the implementation of CiA DS402 standard on Roboteq motor controllers. What is DS402 DS402 is an open standard, that is designed specifically for motion control. There are a...
In order to conform the above operation modes to the operation modes described, the DS402 modes of operation supported by Roboteq are shown in Table 4-1 - Operation Table 1. Any other mode described in DS402 standard is not supported by Roboteq controllers.
Implementation Supported SDOs Table 4-2 shows the SDOs described in DS402 standard and supported by Roboteq Motor Controllers. TABLE 4-2. Supported SDO Torque Roboteq Profile Profile Profile Object Description Command Position Velocity Velocity 6040 Control Word ...
Page 46
CAN Networking on Roboteq Controllers FIGURE 4-1. FSA Configuration Figure 4-2 describes The states and the transitions of the finite state machine, while Table 4-3 describes the actions and the events of the transitions. FIGURE 4-2. Power Drive System Finite State Automation TABLE 4-3.
SDO Description Transition Event(s) Action(s) Switch On Command None The drive function shall be enabled and all Enable Operation Command internal set-points cleared. Disable Operation Command The drive function shall be disabled Shutdown Command None Quick Stop or Disable Voltage Command None Shutdown Command The drive function shall be disabled...
Page 48
CAN Networking on Roboteq Controllers TABLE 4-6. Command Coding Bits of the Control Word Command Bit 7 Bit 3 Bit 2 Bit 1 Bit 0 Transition Shutdown 2,6,8 Switch On Switch On + Enable Operation Disable Voltage 7 ,9,10,12 Quick Stop...
SDO Description Velocity Mode TABLE 4-10. control word mapping in Velocity Mode Reference Unlock Enable see Table 4 Halt see Table 4 Table 4 Ramp Ramp Ramp In Velocity Mode the operation specific bits are mapped on Table 4-10. With bits 4, 5 and 6, user can configure the available ramp related options as shown in Table 4-11.
Page 50
CAN Networking on Roboteq Controllers (see commanded then bit 10 shall not alter, if bit 10 is supported Table 4-15). If bit 11 (in- ternal limit active) of the statusword is 1, this shall indicate that an current limit has been reached.
SDO Description In Profile Velocity Mode the operation specific bits are mapped in Table 4-18. With bits 10 and 12 user can acknowledge the status of the controller as shown in Table 4-15 and Table 4-19. Bit 13 is always 0. TABLE 4-19.
CAN Networking on Roboteq Controllers 0x6046 - VL Velocity Min Max Amount Table 4-23 gives a short description of the object. TABLE 4-23. Velocity Min Max Amount Sub-Index Optional N Type Access Value Range Default RoboCommand Description VL velocity min amount.
SDO Description 0x6049 - VL Velocity Deceleration Table 4-25 gives a short description of the object. TABLE 4-25. Velocity Deceleration Sub-Index Optional Type U32 Access Value Range Default MDEC(20000) RoboCommand Description Delta speed in RPM*10. Sub-Index Optional Type U16 Access Value Range Default RoboCommand...
CAN Networking on Roboteq Controllers 0x606C - Velocity Actual Value (PV) Table 4-29 gives a short description of the object. TABLE 4-29. Velocity Actual Value Sub-Index Optional Type S32 Access Value Range Default RoboCommand Description This object shall provide the actual velocity value, in RPM, derived either from the velocity sensor or the position sensor.
SDO Description 0x6081 - Profile Velocity (PP) Table 4-33 gives a short description of the object. TABLE 4-33. Profile Velocity Sub-Index Optional CND Type Access RW Value Range Default MVEL(1000) RoboCommand Description This object shall indicate the configured velocity, in RPM, normally attained at the end of the acceleration ramp during a profiled motion and shall be valid for both directions of motion.
CAN Networking on Roboteq Controllers 0x60FF - Target Velocity (PV) Table 4-37 gives a short description of the object. TABLE 4-37 . Target Velocity Sub-Index Optional Type U32 Access Value Range Default RoboCommand Description This object shall indicate the configured target velocity, in RPM, and shall be used as input for the trajectory generator.
Need help?
Do you have a question about the CANBus Series and is the answer not in the manual?
Questions and answers