Advanced Brushed and Brushless Digital Motor Controllers User Manual V2.1, December 3, 2020 visit www.roboteq.
Brushless Motor Connections and Operation Revision History Date Version Changes December 3, 2020 2.1 Miscellaneous updates in order to conform to firmware v2.1 July 8, 2019 2.0 Separated CAN functionality (“CAN Networking Manual”) Separated Microbasic (“Microbasic Scripting Manual”) Separated Roborun+ Utility (“Roborun+ Utility User Manual”) Miscellaneous updates in order to conform to firmware v2.0 August 28, 2017 1.8 Added AC Induction Sections Extended command set October 15, 2016 1.
Revision History.......................................................................................... 2 Introduction............................................................................................... 17 Refer to the Datasheet for Hardware-Specific Issues............................... 17 User Manual Structure and Use................................................................ 17 SECTION 1 Connecting Power and Motors to the Controller...................
Safe Torque Off (STO) on Roboteq Controllers.......................................... 40 Soft-STO inputs......................................................................................... 40 Activating STO.......................................................................................... 40 Deactivating STO...................................................................................... 40 Constraints when using STO....................................................................
Use of Pulse Input..................................................................................... 67 Digital Outputs Configurations and Triggers.............................................. 68 Encoder Configurations and Use.............................................................. 68 SSI Configuration and Use........................................................................ 69 Hall and other Rotor Sensor Inputs...........................................................
Global Power Configuration Parameters................................................... 88 PWM Frequency....................................................................................... 88 Overvoltage Protection............................................................................. 88 Undervoltage Protection........................................................................... 88 Temperature-Based Protection.................................................................
Sensor Error Detection........................................................................... 130 Speed Measurement using the angle feedback Sensors....................... 131 Distance Measurement using Hall, SSI or other Sensors....................... 131 SECTION 9 AC Induction MotorOperation................................................................. 133 Introduction to AC Induction Motors....................................................... 133 Asynchronous Rotation and Slip.................
Operating in Closed Loop Relative Position Mode.................................. 158 Operating in Closed Loop Tracking Mode................................................ 160 Position Mode Relative Control Loop Description.................................. 160 PID tuning in Position Mode................................................................... 161 PID Tuning Differences between Position Relative and Position Tracking.162 Loop Error Detection and Protection........................................
Raw Redirect Mode................................................................................ 183 Configuration.......................................................................................... 183 Checking Received Frames..................................................................... 183 Reading Received Frames...................................................................... 184 Transmitting Frames................................................................................
DS402 Runtime Commands................................................................... 209 Velocity Mode..........................................................................................211 Other Modes...........................................................................................211 FEW - Following Error Window (DS402)................................................. 212 FET - Following Error Time Out (DS402).................................................
CSS - Read Absolute SSI Sensor Counter.............................................. 239 D - Read Digital Inputs............................................................................ 240 DDT - Read Raw Redirect Received Frame............................................ 240 DI - Read Individual Digital Inputs........................................................... 241 DO - Read Digital Output Status............................................................. 242 DPA - Read DC/Peak Amps ............
VAR - Read User Integer Variable............................................................ 267 SL - Read Slip Frequency........................................................................ 268 DS402 Runtime Queries......................................................................... 268 AOM – Modes of Operation Display (DS402)......................................... 269 CW – Control Word (DS402)...................................................................
SLD - Script Load.................................................................................... 293 STIME - Set Time.................................................................................... 293 UK - Unlock Configuration Access.......................................................... 294 Set/Read Configuration Commands ....................................................... 294 Setting Configurations............................................................................
DOL - Digital Outputs Active Level......................................................... 323 PCTR - Pulse Input Center...................................................................... 323 PDB - Pulse Input Deadband................................................................... 324 PINA - Pulse Input Use........................................................................... 324 PLIN - Pulse Input Linearity....................................................................
MXTRN - Position Turns Min to Max....................................................... 354 OVH - Overvoltage hysteresis................................................................. 355 OVL - Overvoltage Limit.......................................................................... 356 OTL - Over Temperature Limit ................................................................ 356 SED - Sensor Error Detection.................................................................
IRR - Rotor Resistance............................................................................ 388 MPW - Minimum Power......................................................................... 388 MXS - Optimal Slip Frequency................................................................ 389 RFC - Rotor Flux Current......................................................................... 390 VPH - AC Induction Volts per Hertz.........................................................
Refer to the Datasheet for Hardware-Specific Issues Introduction Refer to the Datasheet for Hardware-Specific Issues This manual is the companion to your controller’s datasheet. All information that is specific to a particular controller model is found in the datasheet.
Introduction SECTION 3 Connecting Sensors and Actuators to Input/Outputs This section describes all the types of inputs that are available on all controller models and describes how to attach sensors and actuators to them. This section also describes the connection and operation of optical encoders. SECTION 4 I/O Configuration and Operation This section details the possible use of each type of Digital, Analog, Pulse or Encoder inputs, and the Digital Outputs available on the controller.
User Manual Structure and Use SECTION 12 Closed Loop Count Position Mode This section describes how to configure and operate the controller in Closed Loop Count Position mode. Position command chaining is provided to ensure seamless motor motion. SECTION 13 Closed Loop Torque Mode This section describes how to select, configure and operate the controller in Closed Loop Torque mode.
Introduction 20 Advanced Digital Motor Controller User Manual V2.
Power Connections SECTION 1 Connecting Power and Motors to the Controller This section describes the controller’s connections to power sources and motors. This section does not show connector pin-outs or wiring diagram. Refer to the datasheet for these. Important Warning The controller is a high power electronics device. Serious damage, including fire, may occur to the unit, motor, wiring, and batteries as a result of its misuse. Please follow the instructions in this section very carefully.
Connecting Power and Motors to the Controller Controller Power The controller uses a flexible power supply scheme that is best described in Figure 1-1. In this diagram, it can be seen that the power for the Controller’s internal microcomputer is separate from this of the motor drivers. The microcomputer circuit is connected to a DC/DC converter which takes power from either the Power Control input or the VMot input.
Controller Powering Schemes increases by around 20V the low voltage threshold at which the controller will start operating when powered from VMot alone. The table below shows the state of the controller depending on the voltage applied to Power Control and VMot. TABLE 1-1. Controller Status depending on Power Control and VMot Power Control input is connected to And Main Battery Voltage is Ground Any Voltage Controller is Off. Required Off Configuration. Floating 0V Controller is Off.
Connecting Power and Motors to the Controller F2 1A SW1 Main On/Off Switch 1A PwrCtrl/Yellow Note 1 U White/U Ground/Black Motor Backup Battery Green/V Note 2 F1 + Hall Sensors Hall sensor Connector VMot/Red HA/HB/HC GND/+5V SW2 Emergency Contactor or Cut-off Switch Ground/Black - W Blue/W Resistor 100 Ohm 5W Note 3 V Earth Tab Note 4 I/O Connector Main Battery Note 5 Do not Connect! FIGURE 1-2.
Controller Powering Schemes Connection for Safe Operation with Discharged Batteries (note 1) The controller will stop functioning when the main battery voltage drops below 7V. To ensure motor operation with weak or discharged batteries, connect a second battery to the Power Control wire/terminal via the SW1 switch. This battery will only power the controller’s internal logic.
Connecting Power and Motors to the Controller Important Warning Do not rely on cutting power to the controller for it to turn Off if the Power Control is left floating. If motors are spinning because the robot is pushed or because of inertia, they will act as generators and will turn the controller On, possibly in an unsafe state. ALWAYS ground the Power Control wire terminal to turn the controller Off and keep it Off.
Power Fuses The single channel version of the controller incorporates a hardware setting inside the controller which ensures that both channels switch in a synchronized manner and respond to commands sent to channel 1. Important Warning Before pairing the outputs, attach the motor to one channel and then the other. Verify that the motor responds the same way to command changes.
Connecting Power and Motors to the Controller • • • Twisting the power and ground wires over the full length of the wires Use the vehicle’s metallic chassis for ground and run the positive wire along the surface Add a capacitor (10,000uF or higher) near the controller Electrical Noise Reduction Techniques As discussed in the above section, the controller uses fast switching technology to control the amount of power applied to the motors.
Motor Off Measured and Calculated Currents On Off I mot Avg I bat Avg FIGURE 1-4. Instant and average current waveforms The relation between Battery Current and Motor current is given in the formula below: Motor Current = Battery Current / PWM Ratio Example: If the controller reports 10A of battery current while at 10% PWM, the current in the motor is 10 / 0.1 = 100A.
Connecting Power and Motors to the Controller Power Regeneration Considerations When a motor is spinning faster than it would normally at the applied voltage, such as when moving downhill or decelerating, the motor acts as a generator. In such cases, the current will flow in the opposite direction, back to the power source. It is therefore essential that the controller is connected to rechargeable batteries.
Using the Controller with a Power Supply • • • Avoid deceleration that is quicker than the natural deceleration due to the friction in the motor assembly (motor, gears, load). Any deceleration that would be quicker than natural friction means that braking energy will need to be taken out of the system, causing a reverse current flow and voltage rise. Place a battery in parallel with the power supply output. This will provide a reservoir into which regeneration current can flow.
Connecting Power and Motors to the Controller 32 Advanced Digital Motor Controller User Manual V2.
Possible Failure Causes SECTION 2 Safety Recommendations In many applications, Roboteq controllers drive high power motors that move parts and equipment at high speed and/or with very high force. In case of malfunction, potentially enormous forces can be applied at the wrong time and/or wrong place causing serious damage to property and/or harm to a person. While Roboteq controllers operate very reliably, and failures are rare, a failure is possible as with any other electronic equipment.
Safety Recommendations • • Errors or oversights in user MicroBasic scripts Controller hardware failure Motor Deactivation in Normal Operation In normal operation, the controller is always able to turn off the motor if it detects faults or if instructed to do so from an external command. In case of wiring problem, sensor malfunction, firmware failure or error in user Microbasic scripts, the controller may be in a situation where the motors are turned on and kept on as long as the controller is powered.
Motor Deactivation in Case of Output Stage Hardware Failure + + + + + + 2 + - + 2 1 - + 5 + 4 - - 1 - 5 + + 7 7 4 3 6 - + + 3 6 + 2 FIGURE 2-1. MOSFET Failures resulting in no motor activation - + 1 4 + - + + - 6 + + 7 + - 3 5 + - + + 8 + 9 - + 8 + 9 - 10 + 10 + 10 8 + 9 - 12 + + + 12 + + 11 13 13 - - 11 11 - - - + 12 + + 14 14 - 14 - 13 - FIGURE 2-2.
Safety Recommendations Manual Emergency Power Disconnect In systems where the operator is within physical reach of the controller, the simplest safety device is the emergency disconnect switch that is shown in the wiring diagram inside all controller datasheets, and in the example diagram below.
Remote Emergency Power Disconnect Remote Emergency Power Disconnect In remote controlled systems, the emergency switch must be replaced by a high power contactor relay as shown in Figure 2-6. The relay must be normally open and be activated using an RC switch on a separate radio channel. The receiver should preferably be powered directly from the system’s battery.
Safety Recommendations Controller On/Off Switch PwrCtrl Ground PC, PLC or Microcomputer VMot Digital Output I/O Connector RS232 + Ground Main Battery FIGURE 2-7. Example of safety disconnect via supervisory system Self Protection against Power Stage Failure If the controller processor is still operational, it can self detect several, although not all, situations where a motor is running while the power stage is off. The figure below shows a protection circuit using an external contactor relay.
Safe Torque-Off (STO) The controller must have the Power Control input wired to the battery so that it can operate and communicate independently of the power stage. The controller’s processor will then activate the contactor coil through a digital output configured to turn on when the “No MOSFET Failure” condition is true. The controller will automatically deactivate the coil if the output is expected to be off and the battery current is above 500mA to 2.
Safety Recommendations Safe Torque Off (STO) on Roboteq Controllers Two digital inputs on the user IO connector can be used to put the controller in a state where the motor is deprived of energy. The two inputs, labeled STO1 and STO2 must both be brought and maintained at a logic level 1 for the controller to be active. If any one or both of these lines are at 0, the output is de-energized. The STO circuit operates independently of the MCU.
Safe Torque-Off (STO) STO Failure Messages In case a failure is detected in the STO circuit the following failure message will be visible according on how the user operates the controller. 1. Status LED on Controller The status LED pattern will be the below in case of STO failure FIGURE 2-9. STO fault status LED pattern 2. STO Fault LED at Roborun+ utility in failure FIGURE 2-10. STO fault position in Fault Flags This failure can have several internal and external reasons.
Safety Recommendations 2. The STO inputs are monitored continuously every 1ms. If one or both STO inputs are at level zero and the MOSFET driver supply voltage has not dropped, an STO fault is detected. The STO fault flag is set. A user digital output can be activated to indicate the fault. Installation – Maintenance The STO circuit needs to be tested before first installation and at least every 3 months according to the below sequence: 1. Activate STO (both logic level 0) 2.
Safe Torque-Off (STO) Technical Data TABLE 2-2. STO technical data Specification Value STO Input High Level 6V to 30V STO Input Low Level 0V to 1V STO Response Time < 5msec Operating Temperature -20°C to 55°C Storage Temperature -20°C to 70°C IP degree IP40 Humidity 5% to 95% non-condensing Maximum altitude 2000m STO cable length ≤ 3m (1) EMC immunity According to IEC 61800-3:2017 and IEC 61800-5-2:2007 Annex E CE Declaration of conformity Available at www.roboteq.
Safety Recommendations 44 Advanced Digital Motor Controller User Manual V2.
Controller Connections SECTION 3 Connecting Sensors and Actuators to Input/Outputs This section describes the various inputs and outputs and provides guidance on how to connect sensors, actuators or other accessories to them. Controller Connections The controller uses a set of power connections DSub and plastic connectors for all necessary connections. The power connections are used for connecting to the batteries and motor, and will typically carry large current loads.
Connecting Sensors and Actuators to Input/Outputs Controller’s Inputs and Outputs The controller includes several inputs and outputs for various sensors and actuators. Depending on the selected operating mode, some of these I/Os provide command, feedback and/or safety information to the controller. When the controller operates in modes that do not use these I/Os, these signals are ignored or can become available via the RS232/RS485/TCP/USB port for user application.
Connecting devices to Digital Outputs Connecting devices to Digital Outputs Depending on the controller model, 2 to 8 Digital Outputs are available for multiple purposes. The Outputs are Open Drain MOSFET outputs capable of driving over 1A at up to 24V. See datasheet for detailed specifications. Since the outputs are Open Drain, the output will be pulled to ground when activated. The load must therefore be connected to the output at one end and to a positive voltage source (e.g.
Connecting Sensors and Actuators to Input/Outputs Important Warning Overvoltage spikes induced by switching inductive loads, such as solenoids or relays, will destroy the transistor unless a protection diode is used. Connecting Switches or Devices to Inputs shared with Outputs On HDCxxxx and HBLxxxx controllers, Digital inputs DIN12 to DIN19 share the connector pins with digital outputs DOUT1 to DOUT8.
Connecting a Voltage Source to Analog Inputs A pull up resistor must be installed when using a pull down switch. 5V Out 1K to 10K Ohm 20kOhm 33kOhm DIN Ground FIGURE 3-5. Pull down (Active Low) switch wirings to DIN pins Connecting a Voltage Source to Analog Inputs Connecting sensors with variable voltage output to the controller is simply done by making a direct connection to the controller’s analog inputs. When measuring absolute voltages, configure the input in “Absolute Mode” using the PC Utility.
Connecting Sensors and Actuators to Input/Outputs +5V +/-10V 10kOhm 5kOhm Internal Resistors and Converter 20kOhm A/D 10kOhm 33kOhm Ground FIGURE 3-8. External resistors circuit for -10V to 10V capture range Important Notice On newer motor controllers models, activating the pulse mode on input will also enable a pull up resistor on that input. If the input is also used for analog capture, the analog reading will be wrong. Make sure the pulse mode is disabled on that input.
Connecting a Voltage Source to Analog Inputs +5V Internal Resistors and Converter 20kOhm A/D 1K to 10K Ohm Pot 33kOhm Ground FIGURE 3-9. Potentiometer wiring Because the voltage at the potentiometer output is related to the actual voltage at the controller’s 5V output, configure the analog input in “Relative Mode”. This mode measures the actual voltage at the 5V output in order to eliminate any imprecision due to source voltage variations. Configure using the PC Utility.
Connecting Sensors and Actuators to Input/Outputs The controller’s analog channels are configured by default so that the min and max command range is from 0.25V to 4.75V. These values can be changed using the PC configuration utility. This ensures that the full travel of the pot is used to generate a command that spans from full min to full max. If the Min/Max safety is enabled for the selected analog input, the command will be considered invalid if the voltage is lower than 0.1V or higher than 4.9.
Connecting External Thermistor to Analog Inputs Important Warning The tachometer’s polarity must be such that a positive voltage is generated to the controller’s input when the motor is rotating in the forward direction. If the polarity is inverted, this will cause the motor to run away to the maximum speed as soon as the controller is powered and eventually trigger the closed loop error and stop.
Connecting Sensors and Actuators to Input/Outputs Volts 4.5 4 3.5 3 2.5 2 1.5 1 0.5 90 10 0 11 0 12 0 13 0 14 0 15 0 80 70 60 50 40 30 20 10 0 0 0 0 -1 -2 -3 -4 0 0 oC FIGURE 3-13. Voltage reading by Controller vs NTC temperature Note: The voltage values in this chart are provided for reference only and may vary based on the Thermistor model/brand and the resistor precision. It is recommended that you verify and calibrate your circuit if it is to be used for safety protection.
Connecting SSI Sensors Connecting Sensors to Pulse Inputs The controller has several pulse inputs capable of capturing Pulse Length, Duty Cycle or Frequency with excellent precision. Being a digital signal, pulses are also immune to noise compared to analog inputs. Important Notice On newer motor controllers models, activating the pulse mode on input will also enable a pull up resistor on that input. If the input is also used for analog capture, the analog reading will be wrong.
Connecting Sensors and Actuators to Input/Outputs Connecting the SSI Sensor SSI Sensors connect directly to pins present on the controller’s connector. The connector provides 5V power to the sensors and has inputs for the two data and the two clock signals for each sensor. The figure below shows the connection to the SSI Sensor. FIGURE 3-16.
Connecting Optical Encoders The figure below shows the typical construction of a quadrature encoder. As the disk rotates in front of the stationary mask, it shutters light from the LED. The light that passes through the mask is received by the photo detectors. Two photo detectors are placed side by side at so that the light making it through the mask hits one detector after the other to o produces the 90 phased pulses. LED light source Rotating encoder disk Stationary mask Photodetector FIGURE 3-18.
Connecting Sensors and Actuators to Input/Outputs Example: a motor spinning at 10,000 RPM max, with an encoder with 200 Pulses per Revolution would generate: 10,000 / 60 * 200 * 4 = 133.3 kHz which is well within the 1MHz maximum supported by the encoder input. An encoder with 200 Pulses per Revolutions is a good choice for most applications. A higher resolution will cause the counter to count faster than necessary and possibly reach the controller’s maximum frequency limit.
Connecting the Encoder Ferrite Core Encoder Controller FIGURE 3-20. Use ferrite core on cable length beyond 2’ or 60cm Important Warning Excessive cable length will cause electrical noise to be captured by the controller and cause erratic functioning that may lead to failure. In such a situation, stop operation immediately.
Connecting Sensors and Actuators to Input/Outputs 60 Advanced Digital Motor Controller User Manual V2.
Basic Operation I/O Configuration and Operation SECTION 4 This section discusses the controller’s digital and analog inputs and output and how they can be used.
Safety Recommendations Practically all operating configurations and parameters can be changed by the user to meet any specific requirement. This unique architecture leads to a very high number of possibilities. This section of the manual describes all the possible operating options. Input Selection As seen earlier in the controller’s simplified internal operating diagram on Figure 4-1, any input can be used for practically any purpose.
Analog Inputs Configurations and Use Configuring the Digital Inputs and the Action to use can be done very simply using the PC Utility. Wiring instructions for the Digital Inputs can be found in “Connecting Switches or Devices to Inputs shared with Outputs” onpage 44 Analog Inputs Configurations and Use The controller can do extensive conditioning on the analog inputs and assign them to a different use. Each input can be disabled or enabled.
Safety Recommendations Analog Min/Max Detection An analog input can be configured so that an action is triggered if the captured value is above a user-defined Maximum value and/or under a user-defined Minimum value. The actions that can be selected are the same as these that can be triggered by the Digital Input. See the list and description in Table 4.1, “Digital Input Action List” on page 58.
Analog Inputs Configurations and Use Setting the center value to be the same as the min value makes the input capture only commands in a positive direction. For example if Min = Center = 200 and Max = 4500, the input will convert into 0 when 200 and below, and 1000 above 4500. The Min, Max, and Center values are defined individually for each input. They can be easily entered manually using the Roborun PC Utility.
Safety Recommendations Command Correction An optional exponential or a logarithmic adjustment can then be applied to the signal. The exponential correction will make the commands change less at the beginning and become stronger at the end of the joystick movement. The logarithmic correction will have a stronger effect near the start and lesser effect near the end. The linear selection causes no change to the input. There are 3 exponential and 3 logarithmic choices: weak, medium and strong.
Pulse Inputs Configurations and Uses TABLE 4-3.
Safety Recommendations Digital Outputs Configurations and Triggers The controller’s digital outputs can individually be mapped to turn On or Off based on the status of user-selectable internal status or events. The table below lists the possible assignment for each available Digital Output. TABLE 4-4. Digital Outputs action modes Action Output activation Typical Use No action Not changed by any internal controller events.
SSI Configuration and Use The count information is also used to measure rotation speed. Using the Encoder Pulse Per Rotation (PPR) configuration parameter, the output is a speed measurement in actual RPM that is useful in closed loop speed modes where the desired speed is set as a numerical value, in RPM, using a serial command. Configuring the encoder parameters is done easily using the PC Configuration Utility.
Safety Recommendations Hall and other Rotor Sensor Inputs On brushless motor controllers, the Hall or other Rotor position sensor that is used to switch power around the motor windings, are also used to measure speed and distance traveled. Speed is evaluated by measuring the time between transition of the Hall Sensors. A 32 bit up/down counter is also updated at each Hall Sensor transition.
Brake Release FIGURE 4-11. Brake drive circuit and connection The configuration is similar since the brake outputs are shared with digital outputs. For more details see product’s datasheet.
Safety Recommendations 72 Advanced Digital Motor Controller User Manual V2.
Introduction to MGS1600 Magnetic Guide Sensor Roboteq Products Connection and Operation SECTION 5 This section discusses how to interface one or more Roboteq’s products to the motor controller. For the moment the supported products are: • • • Magnetic or Optical Sensor (MGS(W)1600, MSW3200, MGSW4800, OTS1600), FlowSensor (FLW100), Battery Management System (BMS10X0). Details of each of the above products’ operation can be found in the products’ datasheets.
Magnetic Guide Sensor Connection and Operation Introduction to FLW100 Flowsensor Roboteq’s FLW100 is a high-resolution sensor especially designed for accurate contactless X-Y motion sensing over a surface. The FLW100 is intended as a navigation sensor for a wheeled mobile robot. The sensor works similarly to an optical mouse, but with higher resolution, accuracy and at a greater distance from the reference surface.
Enabling MultiPWM Communication Any of the controller’s pulse input can be configured as a MultiPWM input. The diagram below shows how simple this one-wire interfacing is. Motor Controller Pulse Input GND 5V Out or 7-30V Supply MultiPWM Sensor FIGURE 5-1. One-wire interfacing using MultiPWM Enabling MultiPWM Communication Magnetic Sensor and Flow Sensor are set to MultiPWM mode in its factory default configuration, while the Battery Management System needs to be explicitly configured.
Magnetic Guide Sensor Connection and Operation Accessing Sensor Information Once enabled, the pulses are sent continuously by the sensor 100 times per second. The pulses are captured and parsed by the motor controller as they arrive. A real time mirror image of sensor data is then present inside the controller. From there the sensor information can be read using serial, USB, CAN or MicroBasic scripts like any other of the controller’s operational parameters.
Connecting Multiple Similar Sensors Accessing Multiple Sensor Information Sequentially Two methods are available for accessing each sensor’s data when multiple sensors are connected. The first method is to only have one sensor enabled at any one time. This is done by enabling and disabling pulse inputs via serial commands or MicroBasic scripting.
Magnetic Guide Sensor Connection and Operation ?MGM 3 : Returns the Left Marker Detect state of Sensor at input 2 ?MGM 4 : Returns the Right Marker Detect state of Sensor at input 2 Reading Track Positions ?MGT 3*(x-1)+1 or GetValue(_MGT, 3*(x-1)+1) Returns the Left Track Position of Sensor at input x ?MGT 3*(x-1)+2 or GetValue(_MGT, 3*(x-1)+2) Returns the Right Track Position of Sensor at input x ?MGT 3*(x-1)+3 or GetValue(_MGT, 3*(x-1)+3) Returns the Active (Left or Right) Track Position of Sensor at in
Input Command Modes and Priorities Command Modes SECTION 6 This section discusses the controller’s normal operation in all its supported operating modes. Input Command Modes and Priorities The controller will accept commands from one of the following sources • • • • • • Serial data (RS232, RS485, TCP, USB) Pulse (R/C radio, PWM, Frequency) Analog signal (0 to 5V) Spektrum Radio (on selected models) CAN Interface Microbasic Script One, many or all command modes can be enabled at the same time.
Brushless Motor Connections and Operation Pulse tes eR t eS Serial/USB Analog FIGURE 6-1. Controller’s possible command modes In the Serial mode, the mode is considered as active if commands • • • • • • !G - Go to Speed or to Relative Position !MS - Stop in all modes !S - Set Motor Speed !TC - Target Torque !GIQ - Set Torque Amps !GID - Set Flux Amps arrive within the watchdog timeout period via the RS232, RS485, TCP or USB ports.
Input Command Modes and Priorities TABLE 6-1. Priority resolution example Microcomputer Sending commands Valid Pulses Received Analog joystick within safe Min/Max Command mode selected Yes Don’t care Don’t care Serial No Yes Don’t care RC mode No No Yes Analog mode No No No User selectable default value Note that it is possible to set a priority level to “None”. For example, the priority table 1 - Serial 2 - RC Pulse 3 - None will only arbitrate and use Serial or RC Pulse commands.
Brushless Motor Connections and Operation Operating the Controller in RC mode The controller can be directly connected to an R/C receiver. In this mode, the speed or position information is contained in pulses whose width varies proportionally with the joysticks’ positions. The controller mode is compatible with all popular brands of RC transmitters.
Operating the Controller in RC mode control available from a higher quality RC radio, although it will work fine with lesser expensive radios as well. Input RC Channel Selection The controllers feature several inputs that can be used for pulse capture. See product datasheet for an actual number of pulse input. Any RC input can be used as a command for any motor channels. The controller’s factory default defines two channels for RC capture (one input on single channel products).
Brushless Motor Connections and Operation If no valid RC pulses reach the controller for more than 500ms, the controller no longer considers it is in the RC mode and a lower priority command type will be accepted if present. Important Warning Some receivers include their own supervision of the radio signals and will move their servo outputs to a safe position in case of signal loss. Using these types of receiver, the controller will always be receiving pulses even with the transmitter off.
Operating the Controller In Analog Mode Input Analog Channel Selection The controller features 4 to 11 inputs, depending on the model type, that can be used for analog capture. Using different configuration parameters, any Analog input can be used as command for any motor channel. The controller’s factory default defines two channels as Analog command inputs. Which channel and which pin on the input connector depends on the controller model and can be found in the controller’s datasheet.
Brushless Motor Connections and Operation Safety Switches Any Digital input can be used to add switch-activated protection features. For example, the motor(s) can be made to activate only if a key switch is turned On, and a passenger is present on the driver’s seat. This is done using by configuring the controller’s Digital inputs. See “Digital Inputs Configurations and Uses” page 58.
Power Output Circuit Operation Motor Operating Features and Options SECTION 7 This section discusses the controller’s operating features and options relating to its motor outputs. Power Output Circuit Operation The controller’s power stage is composed of high-current MOSFET transistors that are rapidly pulsed on and off using Pulse Width Modulation (PWM) technique in order to deliver more or less power to the motors.
Motor Operating Features and Options Global Power Configuration Parameters PWM Frequency The power MOSFETs are switched at 16kHz. Overvoltage Protection The controller includes a battery voltage monitoring circuit that will cause the output transistors to be turned Off if the main battery voltage rises above a preset Over Voltage threshold. The value of that threshold is set by default and may be adjusted by the user. The default value and settable range is given in the controller model datasheet.
Global Power Configuration Parameters Short Circuit Protection The controller has got two levels of short circuit protection software and hardware protection. Some Roboteq controllers includes a circuit that will detect very high current surges that are consistent with short circuits conditions. Check with controller datasheet for details. The firmware utilizes the current sensors in order to detect short circuit.
Motor Operating Features and Options TABLE 7-1.
Motor Channel Parameters The limitation is performed on the Motor current and not on the Battery current. See “Battery Current vs. Motor Current” on page 28 for a discussion of the differences. Selectable Amps Threshold Triggering The controller can be configured to detect when the Amp on a motor channel exceeds a user-defined threshold value and trigger an action if this condition persists for more than a preset amount of time. The list of actions that may be triggered is shown in the table below.
Motor Operating Features and Options Furthermore, by by-passing command ramp the controller cannot protect itself from high currents. Forward and Reverse Power Adjustment Gain This parameter lets you select the scaling factor for the power output as a percentage value. This feature is used to connect motors with a voltage rating that is less than the battery voltage.
Selecting the Motor Control Modes Closed Loop Speed Position Control In this mode, the controller computes the position at which the motor must be at every 1ms. Then a position loop compares that expected position with the current position and applies the necessary power level in order for the motor to reach that position. This mode is especially effective for accurate control at very slow speeds. Details on this mode can be found in Closed Loop Speed and Speed-Position Modes on page 133.
Motor Operating Features and Options Closed Loop Count Position In this mode, an encoder is attached to the motor as for the Speed Mode of Figure 7-7. Then, the controller can be instructed to move the motor to a specific number of counts, using a user-defined acceleration, velocity, and deceleration profile. Details on how to configure and use this mode can be found in “Closed Loop Count Position Mode” on page 151. On brushless motors, the hall sensors can be also be used for position measurement.
Motion Control Modes Overview Torque Command - PWM PID A Motor Current Sensor Current Feedback FIGURE 7-10. Closed Loop Torque mode Motion Control Modes Overview In the figure 7-11, the block diagram of the whole motion control modes architecture supported in RoboteQ controllers. The motion control mechanism utilizes a cascaded PID control technique for position, speed and current control modes.
Motor Operating Features and Options Below is the description of the parameters illustrated in Figure 7-11.
Introduction to Brushless Motors SECTION 8 Brushless Motor Connections and Operation This section addresses installation and operating issues specific to brushless motors. It is applicable only to brushless motor controller models. Important Warning This Manual refers to Firmware 2.x of Roboteq Motor Controllers. Many of the described features are either not available or do not work the same way (PID gains in particular) than in Firmware 1.x or prior. Refer to Manual v1.8 for earlier Firmware.
Brushless Motor Connections and Operation U N W S V FIGURE 8-1. Permanent Magnet Synchronous Motor construction As the name implies, Brushless motors differ from traditional DC motors in that they do not use brushes for commutating the electromagnets. Instead, it is up to the motor controller to apply, in sequence, current to each of the 3 motor windings in order to cause the rotor to spin.
Trapezoidal Switching The number must be entered using the Number of Pole Pairs menus in the in the Roborun PC utility.. FIGURE 8-2. Number of pole pairs configuration Or by sending the configuration command: ^BPOL channel nn See “BPOL” in the command reference section for details. This parameter is not needed for basic trapezoidal motor operation with Hall Sensor feedback and can be left at its default value.
Brushless Motor Connections and Operation Hall Sensor Wiring Hall sensors connection requires 5 wires on the motor: • Ground • Sensor A Output • Sensor B Output • Sensor C Output • +5V power supply Sensor outputs are generally Open Collector, meaning that they require a pull up resistor in order to create the logic level 1. Pull up resistor of 4.7K ohm to +5V are incorporated inside all controllers.
Trapezoidal Switching erence section). Note that in the case where digital inputs are configured as Hall inputs, pull-up resistor from the input pin to the +5V must be added externally. Use 4.7K resistors wired as shown in Figure 8.4. Important Warning Keep the Hall sensor wires away from the motor wires. High power PWM switching on the motor leads will induce spikes on the Hall sensor wires if located too close.
Brushless Motor Connections and Operation V. See figure 8-5. The sine wave voltage will be inverted when turning the motor in the opposite direction. Va Vb Vc Vu-w Vv-u Vw-v FIGURE 8-5. Relation between hall sensor and U V W windings Determining the Wiring Order Empirically While probing with an oscilloscope gives the definite order, a simpler and quicker way is to find the correct combination by trial and error.
Trapezoidal Switching Important Notice It is not possible to change the motor direction by changing the Hall/Phase order. If the motor is not turning in the desired direction, chose “Inverted” in the “Motor Direction” configuration menu in the PC Utility. Hall Sensor Alignment It is very important that the hall sensors be precisely aligned vs the electromagnets inside the motor so that commutation be done exactly at the right time. Bad alignment will cause the motor to run inefficiently.
Brushless Motor Connections and Operation Rotate shaft clockwise Motor W V U Probe Vw-u GND Clip +5V HA HB HC Probe Va GND 2-10k 2-10k 5V GND Clip 2-10k Hall Sensor Power and Pull-ups FIGURE 8-7. Use an oscilloscope and the circuit in figure to place the probes and generate these signals Important Warning Hall Sensor misalignment cannot be corrected by the controller. Contact the motor manufacturer for remedy.
Sinusoidal Commutation Sinusoidal Commutation In sinusoidal commutation, all three wires are permanently energized with a sinusoidal current that is 120 degrees apart on each phase as shown in figure 8-9. V 1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 251 261 271 281 291 301 311 321 331 341 351 361 371 381 391 401 411 421 431 441 451 461 471 481 491 501 511 521 531 541 551 561 571 581 591 601 611 621 631 641 651 661 671 681 691 701 711 U W FIGURE 8-9.
Brushless Motor Connections and Operation The principle benefit of sinusoidal commutation is the quiet, rumble-free, motor operation resulting from the smoothly rotating and always aligned magnetic field. However, sinusoidal commutation is more complex to configure, calibrate, tune and operate.
Sinusoidal Commutation 337.5 0 22.5 315 45 270 292.5 315 0 45 90 225 67.5 135 180 180 Electrical Degrees 135 225 270 90 247.5 45 90 112.5 270 315 0 135 225 202.5 180 157.5 Mechanical Degrees FIGURE 8-13. Mechanical vs electrical degrees See “Determining the Number of Poles” on page 92 for details on how to determine the number of pole pairs and configuring the controllers. The number must be entered using the Number of Pole Pairs menus in the in the Roborun PC utility..
Brushless Motor Connections and Operation When used on motors with a high number of pole pairs, single pole sensors will measure the electrical angle with degrading resolution as the number of motor poles is higher. For example, a single pole sensor with 1o resolution on a 10 pole motor will produce an electric angle evaluations with 10o resolution, which will result in less than optimal operation. To resolve this problem, some absolute sensors are available in multiple pole versions.
Sinusoidal Commutation FIGURE 8-16. Encoder Sinusoidal configuration Or by sending the configuration command: ^BFBK ch mode Where mode: 0: Encoder 1: Hall 2: Hall+Encoder 3: SSI sensor 4: Sin/Cos Sensor 5: Resolver Each mode requires a various amount of additional setup and/or calibration as described in the following sections. Incremental Encoder-Only A quadrature encoder can be used to determine the rotor position. Enter the Encoder PPR using the PC Utility. FIGURE 8-17.
Brushless Motor Connections and Operation Since encoders do not give an absolute position, a reference search sequence is performed automatically by the controller at every power up or when the controller switches from a different mode to sinusoidal mode with encoder feedback The search can also be forced manually by pressing the Sensor Setup button on the Diagnostic tab of the PC utility, or by sending the following maintenance command from the console or the serial/USB port %CLMOD 2 (for channel 1) or %C
Sinusoidal Commutation Hall + Encoder If the motor is fitted with Hall sensors and an Incremental Encoder, the controller can be configured to use both sensors together. The Encoder’s PPR must be configured as described above. In this mode, the controller’s operation is identical to when an Encoder alone is used for feedback, except that there is no need for the reference search sequence described above.
Brushless Motor Connections and Operation Or using the following queries. ?ASI [channel] Sin/cos sensors require a one-time setup and calibration. See “Automatic Sensor Setup” on page 107. Important Warning The Tuning Fault LED will be on in the Roborun screen and the motor will NOT start if the Sin/Cos has not been setup/calibrated. Important Notice Electrical noise on the sensor output will cause wrong angle readings. Shield the wires and keep them as far as possible from the motor wires.
Sinusoidal Commutation Digital Absolute Encoder (SSI) Feedback Some advanced motors, incorporate an absolute position sensor with a high speed serial interface based on the SSI protocol. Controllers support SSI encoders with resolution from 12 to 15bits. SSI encoders give the angle’s absolute position. Nevertheless, a calibration of the zero-angle reference must be done once in order to capture the mechanical offset of the sensor vs the actual 0 degrees position.
Brushless Motor Connections and Operation Preparation for Automatic Sensor Setup The rotor’s angle sensor is a critical element for good sinusoidal commutation. Wrong or unstable angle reading can cause excessive current consumption, vibration, or even damage. The sensor must be correctly and firmly attached to the motor so that it never slips during operation. The table below shows the setup and calibration steps required for each sensor type. TABLE 8-1.
Sinusoidal Commutation Important Warning Do not select an amperage value that is above the maximum nominal value published in the motor’s datasheet. Important Warning Calibration data is specific to a motor+sensor set. Changing the motor and/or sensor requires recalibration. Sensor Min/Max Range Analog sensors like Sin/Cos and Resolvers have voltage output swings that can vary from one sensor to another.
Brushless Motor Connections and Operation Reported Position by Sensor 360 Linear Non-Linear 0 0 Actual Mechanical Position 360 FIGURE 8-22. Sensor non-linearity correction Windings and Sensor Order. The wiring order of the U, V, W motor cable, the A, B, C Hall Sensors inputs, the A, B Encoder inputs and/or the Sin, Cos signals are all related to each other. Swapping any of the motor wires will make the motor turn in the opposite direction.
Sinusoidal Commutation FIGURE 8-23. Diagnostic Tab with Auto Setup Select which motor channel to setup. Then click on the Motor/Sensor Setup button to launch the Automatic process. The process can also be initiated using the serial commands %CLMOD 2 for Channel 1 and %CLMOD 3 for Channel 2. The motor will rotate at a RPM speed of 60/Number of Pole pairs. It will perform a full turn in each direction and then stop.
Brushless Motor Connections and Operation Perform the Setup a few times to verify that it produces the same values. If the Zero Reference in particular varies significantly, increase the Adjust the Reference Search Current and try again. See “Reference Search Power” on page 108. The reference search will settle on a given electrical angle location. On a two pole motor, this electrical angle value exists in 2 mechanical locations for that motor.
Sinusoidal Commutation Parameter Description Sense W Sensed voltage level at output W BEMF U BEMF voltage on floating phase U (sesorless-only) BEMF V BEMF voltage on floating phase V (sesorless-only) BEMF W BEMF voltage on floating phase W (sesorless-only) BEMF Integrator BEMF Integrator (sesorless-only) Important Notice All angles values entered or displayed by the controller are in 0-511 value where 0 = 0 degrees or radians, and 511 is 360o or 2r radians.
Brushless Motor Connections and Operation The linearity of the sensor will be displayed on the screen. If the graph is flat at around zero value, the sensor is linear and no correction is needed. If the shape is not a flat line and is clean (i.e. without random noise and glitches), press “Apply Correction” button. It can be beneficial to capture the linearity curve a few times and verify that it is consistent, before applying it.
Sinusoidal Commutation put voltage amplitude) and phase angle applied to each motor phase in order to eliminate the wasted Flux current. iq Desired Torque Current Desired Flux Current - vα vq Inverse Park Iq PI Regulator - id Id PI Regulator vd SVPWM vβ iq iα Park id θ MOSFET Bridges Angle Capture ia iβ Clarke Sensor ib Motor FIGURE 8-26. FOC operation Field Oriented Control is available on most models of Roboteq motor controllers.
Brushless Motor Connections and Operation Or by sending the configuration command for dual Channel Controllers: ^KPF 1 nn ^KPF 2 nn ^KPF 3 nn ^KPF 4 nn ^KIF 1 nn ^KIF 2 nn ^KIF 3 nn ^KIF 4 nn = Proportional Gain for Channel 1 Flux = Proportional Gain for Channel 2 Flux = Proportional Gain for Channel 1 Torque = Proportional Gain for Channel 2 Torque = Integral Gain for Channel 1 Flux = Integral Gain for Channel 2 Flux = Integral Gain for Channel 1 Torque = Integral Gain for Channel 2 Torque Where nn = Ga
Sinusoidal Commutation FOC Testing and Troubleshooting Verify that FOC is operating correctly by monitoring the following values with the PC Utility: FIGURE 8-27. FOC performance monitoring Optimal performance is achieved when: • • • FOC Quadrature Amps are close to 0. Motor Amps and FOC Torque Amps values are close. FOC Angle Correction is stable for stable motor Power (output voltage amplitude). Check also when changing motor power how fast FOC Flux Amps is corrected to zero. Tune FOC PI as necessary.
Brushless Motor Connections and Operation if (FluxSetpoint > 100) then FluxSetpoint = 100 ‘ Cap to 10.
Interior Permanent Magnet Motor Operation FIGURE 8-30. IPM motor required Iq, Id with produced electromagnetic torque.
Brushless Motor Connections and Operation Example: Consider the IPM motor with the following characteristics provided from manufacturer: R (phase resistance) = 85 mOhm Ld (d-axis inductance) = 580 uH Lq (q-axis inductance) = 850 uH The FOC gains for 50 Hz current loop bandwidth are calculated as follows: Torque proportional gain = D-axis inductance (H) * Bandwidth = 0.000850 * 314 = 0.267 Torque integral gain = Phase resistance (Ohm) * Bandwidth = 0.085 * 314 = 26.
Sensorless Trapezoidal Commutation The figure above shows the state of the transistor switches during one of the six commutations phases. The current flows from the battery through the U winding, then through the V winding to ground. The W winding is floating. Since no current is flowing through W, the W terminal has the voltage potential of the BEMF that is induced in the W winding, added to the voltage at the motor’s center point.
Brushless Motor Connections and Operation very slow speed. Nevertheless, there are many applications (e.g., fans, pumps, watercraft thrusters) that do not require high torque at very low speed. Important Notice Do not use sensorless commutation if torque is required at start or at very low speed. Always use sensored motors when driving wheels. Sensorless works best for driving propellers or fans. Sensorless Parameters The following parameters need to be tuned for trapezoidal sensorless to work optimally.
Operating Brushless Motors After the setup is complete, the motor will stop, BECC and SVT values will be printed on the console and saved in the controller’s configurations flash memory.
Brushless Motor Connections and Operation • • • 250ms at 10% power 500ms at 25% power 1s at 50% power If the power applied is higher than the selected value and no motion is detected for the corresponding amount of time, the power to the motor is cut until the motor command is returned to idle. This function is controlled by the BLSTD - Brushless Stall Detection parameter (see “BLSTD - Brushless Stall Detection” in Command Reference section). Do not disable the stall protection.
Operating Brushless Motors Speed Measurement using the angle feedback Sensors Information from Hall, SPI/SSI, sin/cos sensors, (and even Sensorless) is used by the controller to compute the motor’s rotation speed. When Hall sensors are used, speed is determined by measuring the time between Hall sensor transitions. This measurement method is very accurate, but requires that the motor be well constructed and that the placement between sensors be accurate.
Brushless Motor Connections and Operation 132 Advanced Digital Motor Controller User Manual V2.
Introduction to AC Induction Motors SECTION 9 AC Induction MotorOperation This section discusses the controller’s operating features and options when using three phase AC Induction motors. Introduction to AC Induction Motors Three phase induction motors are the most common types of electrical motors. They have a very simple construction composed of a stator covered with electromagnets, and a rotor composed of conductors shorted at each end, arranged as a “squirrel cage”.
AC-induction-Motor-Operation • They are maintenance free motors unlike dc motors due to the absence of brushes, commutators and slip rings. • Induction motors can be operated in polluted and explosive environments as they do not have brushes which can cause sparks Asynchronous Rotation and Slip AC Induction motors are Asynchronous Machines meaning that the rotor does not turn at the exact same speed as the stator’s rotating magnetic field.
Selecting and Connecting the Encoder Connecting the Motor An AC Induction motors have just 3 power wires which must be connected to the controller’s U V and W terminals. The connection order is not important. However, swapping any two motor connections will make the motor turn in the opposite direction. Selecting and Connecting the Encoder A speed sensor must be used to measure and control the motor’s slip when running in Constant Slip mode and Torque/Speed FOC mode.
AC-induction-Motor-Operation Apply a positive motor command. Verify that the motor shaft is moving in the desired direction. If the motor moves in the opposite direction, swap any two of the three motor cables, or change the motor direction to Inverted in the motor configuration. If the motor moved in the desired direction, then verify that the encoder counter increments when a positive motor command is applied.
Closed Loop Speed Mode with Constant Slip Control Watt V Amps RPM Nm 3500 48Bat 100 1450 23 50Hz V fase 3 x 27 Encoder 64 Pulses FIGURE 9-5. ACIM label For this motor, the VPH can be determined by dividing the 48 V phase to phase motor voltage amplitude by the 50Hz frequency. In this case 0.96 Volts per Hertz. It is worth mentioning that the rated voltage in the calculated VPH is related to the amplitude of the phase to phase voltage (not RMS value).
AC-induction-Motor-Operation To configure this mode, first set the controller in open loop mode as described in the previous section. Verify that the encoder is working and is counting with the correct polarity. Once the encoder is verified to work and the motor spins in the open loop, follow these steps. Using the Roborun PC utility: • Select Close Loop Constant Slip Mode • Set the PID gains found in the Motor Output, Closed Loop Speed Parameters menus (do not use the FOC PID gains).
Field Oriented Control (FOC) mode Operation The challenge in induction motors is that the rotor flux’s absolute position cannot be measured physically. It is determined mathematically using known speed, voltage and current, and a model representation of the motor’s main parameters shown in the figure below. Rs Stator Resistance Lls Stator Leakage Inductance Rr Rotor Resistance Llr Rotor Leakage Inductance Lm Mutual Inductance FIGURE 9-7.
AC-induction-Motor-Operation increased for low speed/high torque requirement and can be decreased (Field Weakening) for high speed/ low torque requirement. • Set the operating mode to FOC torque. Set Amps limit according to the application’s need but do not exceed the motor specifications. • Save the settings to the controller. • Next step is to tune FOC (Flux and Torque) PID. Start with low proportional gain e.g. 0.1, and then set some Integral gain. Integral gain is more important in this case.
Induction Motor Parameters Calculation to set motor RPM to 800 on channel 1 when MaxSpeed is set to 1000 RPM. Corresponding if MaxSpeed is set to 2000 RPM, any value on the slider will give 2 times RPM. Speed can be also set as an absolute RPM value using the S command from Serial, USB, CAN or Microbasic. Speed Limiting in FOC Torque Mode AC Induction Controllers provide a way of smoothly limiting the speed in FOC torque mode to prevent motor runaways.
AC-induction-Motor-Operation formed by applying balanced rated voltage on the stator windings at the rated frequency. The small power provided to the motor is due to core losses, friction and winding loses. The motor will consume the necessary flux Id current in order to establish the appropriate magnetic field. Motor will rotate at almost a synchronous speed, which makes slip nearly zero (s≈0). Therefore, the motor equivalent circuit is expressed as follows: FIGURE 9-9.
Induction Motor Parameters Calculation Example: The following data have been given from the induction motor manufacturer: P = 400 W (nominal power) IN = 23 A (nominal stator current) Vdc = 24 V (Input dc voltage at controller) fs = 90 Hz (Nominal stator frequency) ns = 2700 rpm (Synchronous speed) p= 2 (pole pairs) Therefore, the Volts per Hertz ratio introduced in configuration tab is Vdc 24 = =0.
AC-induction-Motor-Operation Locked rotor testing The locked rotor test, like short circuit test on a transformer, provides the information about leakage impedances and rotor resistance. Rotor is at the stand still, while low voltage is applied to stator windings up to rated current. Due to the fact that the magnetizing inductance Lm is much higher that leakage phase inductances Lls, Llr, it can be assumed that there is no current is floating to Lm parallel branch.
Induction Motor Parameters Calculation • • • • Configure the Volt per Hertz setting according to five times lower the motor nominal voltage (peak value of stator voltage according to manufacturer) and frequency (1/5 of nominal V/f). The reason for configuring lower V/f ratio than in no-load test is to appropriately weaken the induced field and reduce the produced torque at startup, in order to be easier to lock the rotor for the test.
AC-induction-Motor-Operation Therefore, the motor stator and rotor resistances are Rs = Rr = 24 mΩ according to equations (9.5) and (9.7) and the leakage inductances according to equation (9.6) are: L ls +Llr Z sin 0.081x0.81 152uH 2067 2 2 fs 2 60 It is noted that the synchronous frequency in locked rotor test is different to the synchronous frequency in no-load test. Finally, the Lls = Llr = 76 uH according to equation (9.8).
Modes Description Closed Loop Speed and Speed-Position Modes SECTION 10 This section discusses the controller’s Closed Loop Speed modes. Modes Description Close loop speed modes ensure that the motor(s) will run at a precisely desired speed. If the speed changes because of changes in load, the controller automatically compensates the output votlage so that the motor maintains a constant speed.
Closed Loop Speed Mode Speed Command Trajectory Expected Position - FOC Current Control PID PWM Motor Position Feedback Position Counter FIGURE 10-2. Closed Loop Speed Position Mode The controller incorporates a full-featured Proportional, Integral, Differential (PID) control algorithm for quick and stable speed control. The closed loop speed mode and all its tuning parameters may be selected individually for each motor channel.
Tachometer wiring Tachometer wiring The tachometer must be wired so that it creates a voltage at the controller’s analog input that is proportional to rotation speed: 0V at full reverse, +5V at full forward, and 0 when stopped. Connecting the tachometer to the controller is as simple as shown in the diagram below. 5V Out 1kOhm Zero Adjust 100 Ohm pot Internal Resistors and Converter Max Speed Adjust 10kOhm pot Tach Ana In A/D 20kOhm 33kOhm 1kOhm Ground FIGURE 10-4.
Closed Loop Speed Mode Important Warning The speed sensor polarity must be such that a positive voltage is generated to the controller’s input when the motor is rotating in the forward direction. If the polarity is inverted, this will cause the motor to run away to the maximum speed as soon as the controller is powered and eventually trigger the closed loop error and stop.
Controlling Speed in Closed Loop Controlling Speed in Closed Loop When using encoder feedback or Hall Sensor (brushless motor) feedback, the controller will measure and report speed as the motor’s actual RPM value. When using analog or pulse as input command, the command value will range from 0 to +1000 and 0 to -1000. In order for the max command to cause the motor to reach the desired actual max RPM, an additional parameter must be entered in the encoder or brushless configuration.
Closed Loop Speed Mode Propor tional Gain x Desired Speed or Position Sensor Measured Speed or Position Integrator Limit - E= Error dE dt Σ x Integral Gain dE dt Output (Reference Current or Voltage commands) x Differential Gain FIGURE 10-5.
PID Tuning in Speed Position Mode values that will work in both conditions. If the disparity between minimal and maximal possible loads is large, it may not be possible to find satisfactory tuning values. In this case, consider changing the PID gains on the fly during motor operation with serial/CAN commands of with a MicroBasic script In slow systems, use the integrator limit parameter to prevent the integrator to reach saturation prematurely and create overshoots.
Closed Loop Speed Mode Error Detection and Protection The controller will detect large tracking errors due to mechanical or sensor failures, and shut down the motor in case of problem in closed loop speed or position system. The detection mechanism looks for the size of the tracking error (desired position vs. actual position for the close loop speed position and the desired speed vs. actual speed for the close loop speed mode) and the duration the error is present.
Modes Description SECTION 11 Closed Loop Relative and Tracking Position Modes This section describes the controller’s Position Relative and Position Tracking modes, how to wire the motor and position sensor assembly and how to tune and operate the controller in these modes. Modes Description In these two position modes, the axle of a geared-down motor is coupled to a position sensor that is used to compare the angular position of the axle versus a desired position.
Closed Loop Relative and Tracking Position Modes Selecting the Position Modes The two position modes are selected by changing the Motor Control parameter to Closed Loop Position. This can be done using the corresponding menu in the Power Output tree in the Roborun utility. It can also be done using the associated serial (RS232/RS485/TCP/ USB) command. See “MMOD” on page 310. The position mode can be set independently for each channel.
Feedback Sensor Range Setting A gear box is necessary to greatly increase the torque of the assembly. It is also necessary to slow down the motion so that the controller has the time to perform the position control algorithm. If the gearing ratio is too high, however, the positioning mode will be very sluggish. A good ratio should be such that the output shaft rotates at 1 to 10 rotations per second (60 to 600 RPM) when the motor is at full speed.
Closed Loop Relative and Tracking Position Modes Determining the right polarity is best done experimentally using the Roborun utility (see “Roborun+ Utility User Manual”) and following these steps: 1. 2. 3. 4. 5. 6. 7. 8. Configure the controller in Open Loop Speed mode. Configure the position sensor input channel as position feedback for the desired motor channel. Click on the Run tab. Enable the Feedback channel in the chart recorder.
Operating in Closed Loop Relative Position Mode and decelerates at a controlled rate to stop precisely at the end position. The graph below shows the speed and position vs. time during a position move. Position End Position Start Position Time Speed Position Mode Velocity Acceleration Deceleration Time FIGURE 11-2. Position Mode Functionality When turning the controller on, the default acceleration, deceleration and velocity are parameters retrieved from the configuration EEPROM.
Closed Loop Relative and Tracking Position Modes Beware not to use accelerations and max velocity that are beyond the motor’s physical reach at full load. This would result in a loop error which will stop the system if growing too large. Operating in Closed Loop Tracking Mode In this mode, the controller makes no effort to compute a smooth, millisecond by millisecond position trajectory.
PID tuning in Position Mode Propor tional Gain x Integrator Limit Desired Position Sensor - E= Error Measured Position dE dt Σ x Integral Gain dE dt Speed or Power (Voltage) command x Differential Gain FIGURE 11-3. PID algorithm used in Position Mode The Differential component of the algorithm computes the changes to the error from one ms time period to the next.
Closed Loop Relative and Tracking Position Modes The Roborun PC utility makes this experimentation easy by providing one screen for changing the Proportional, Integral and Differential gains and another screen for running and monitoring the motor. When tuning the motor, first start with the Integral and Differential Gains at zero, increasing the Proportional Gain until the motor overshoots and oscillates. Then add Differential gain until there is no more overshoot.
Loop Error Detection and Protection Loop Error Detection and Protection The controller will detect large tracking errors due to mechanical or sensor failures, and shut down the motor in case of problem in closed loop speed or position system. The detection mechanism looks for the size of the tracking error (desired position vs. actual position) and the duration the error is present.
Closed Loop Relative and Tracking Position Modes 164 Advanced Digital Motor Controller User Manual V2.
Mode description Closed Loop Count Position Mode SECTION 12 In the Closed Loop Position mode, the controller can move a motor a precise number of counts, using a predefined acceleration, constant velocity, and deceleration. This mode requires that an encoder be mounted on the motor. Mode description The desired position is given in the number of counts.
Closed Loop Count Position Mode Sensor Types and Mounting In position mode, best results are achieved with encoders directly mounted on the motor shaft. Encoders can be: • Quadrature encoders • Hall Sensors built-in brushless motors • Other rotor sensors built-in brushless motors It is not advised to mount encoders at the output of a geared motor as the gear box often introduces backlash.
Count Position Commands While in Open Loop, enable the Speed channel in the Roborun Chart Recorder. Move the slider in the positive direction and verify that the measured speed polarity is also positive. If a negative speed is reported, swap the two encoder wires to change the measured polarity, or swap the motor leads to make the motor spin in the opposite direction. Then use the PC Utility to select the Closed Loop Position Mode.
Closed Loop Count Position Mode Example: !PX 1 -50000 will cause the motor to move to that new destination once the previous destination is reached. !PRX -10000 will cause the motor to move 10000 count back from the previous end destination. If the next acceleration, next deceleration or next velocity are not entered, the value(s) used for the previous motion will be used.
PID Tunings Beware that the Destination Reached flag will become true when the result of the trajectory computation equals the desired destination. In most practical situations, the motor will still be on its way to actually reach that destination.
Closed Loop Count Position Mode 170 Advanced Digital Motor Controller User Manual V2.
Torque Mode Description SECTION 13 Closed Loop Torque Mode This section describes the controller’s operation in Torque Mode. Torque Mode Description The torque mode is a special case of closed loop operation where the motor command controls the current that flows through the motor regardless of the motor’s actual speed. In an electric motor, the torque is directly related to the current. Therefore, controlling the current controls the torque. Command PID Output Driver Motor Motor Amps FIGURE 13-1.
Closed Loop Torque Mode Torque Mode Selection, Configuration and Operation Use the PC utility and the menu “Operating Mode” to select Torque Mode. The controller will now use user commands from RS232, RS485, TCP, USB, Analog or Pulse to command the motor current. Torque commands can be given: • • • • G command, with range -1000 to +1000. The command for brushed controllers is then scaled using the amps limit configuration value.
Torque Mode Limitations Speed Limiting All Controllers provide a way of smoothly limiting the speed in torque mode to prevent motor runaways. The method for limiting the speed is based on PID speed over-ride control which provides very smooth motor output but requires PID tuning.
Closed Loop Torque Mode 174 Advanced Digital Motor Controller User Manual V2.
Use and benefits of Serial Communication Serial (RS232/ RS485/USB/TCP) Operation SECTION 14 This section describes how to communicate to the controller via the RS232, RS485, USB or TCP Interface. This information is useful if you plan to write your own controlling software on a PC or microcomputer. The full set of commands accepted by the controller is provided in “Commands Reference” on page 169.
Serial (RS232/USB) Operation Serial Port Configuration The controller’s default serial communication port is set as follows: • 115200 bits/s • 8-bit data • 1 Start bit • 1 Stop bit 14 25 • No Parity Communication is done without flow control, meaning that the controller is always ready to receive data and can send data at any time. 1 13 Connector RS232 Pin Assignment 14 25 1 8 15 13 1 9 FIGURE 14-1.
Setting Different Bit Rates 0: 115200 1: 57600 2: 38400 3: 19200 4: 9600 10: 230400 Make sure that the controller respond to this command with a +. Check that the value has been accepted by sending ~RSBR. Send %EESAV from the console to store the new configuration to flash. Cable configuration The RS232 connection requires the special cabling as described in Figure 14-2. The 9-pin female connector plugs into the PC (or other microcontroller). The 15-pin or 25-pin male connector plugs into the controller.
Serial (RS232/USB) Operation Extending the RS232 Cable RS232 extension cables are available at most computer stores. However, you can easily build one using a 9-pin DB9 male connector, a 9-pin DB9 female connector and any 3-conductor cable. DO NOT USE COMMERCIAL 9-PIN TO 25-PIN CONVERTERS as these do not match the 25-pin pinout of the controller. These components are available at any electronics distributor. A CAT5 network cable is recommended, and cable length may be up to 100’ (30m).
Connecting to Arduino and other TTL Serial Microcomputers FIGURE 14-4. Simplified TTL to RS232 connection The data sent from the TTL serial port are 0-3V and can be directly connected to the controller’s RS232 input where it will be captured as valid 0-1 levels. The data at the output of the controller is +/-10V. At the other end of the resistor, the voltage is clamped to around 0-3.3V by the protection diodes that are included in the Arduino MCU.
Serial (RS232/USB) Operation RS485 Configuration Consult your controller’s datasheet in order to know whether RS485 communication is supported. There are controller models whose pins related to RS485 communication are shared with other functionalities (check the controller’s datasheet). For this reason for these controllers only, the RS485 functionality is by default disabled. In order to enable it the RS485 configuration command (RS485 enable) should be set to 1 (^RS485 1). FIGURE 14-5.
Command Priorities FIGURE 14-6. TCP configuration All TCP/IP configuration changes will be applied within one second after activation and communication via TCP, Modbus TCP or Modbus TCP over RTU will be available as long as the TCP mode is enabled.
Serial (RS232/USB) Operation CAN Commands Commands arriving via CAN have bigger priority than serial commands and will not conflict with motor command arriving via serial, TCP or USB. CAN commands are also subject to the serial Watchdog timer. Motors will be stopped and command input will switch according to the Priority table if the Watchdog timer is allowed to timeout.
Raw Redirect Mode If the controller issues the “-” character, it should be assumed that the command was not recognized or lost and that it should be repeated.
Serial (RS232/USB) Operation Syntax: ?CD Reply: CD=number of frames pending Reading Received Frames After a frame has been moved to the read buffer, the byte size and the data can be read with the ?DDT query. The query can be sent from the serial/USB port, or from a MicroBasic script using the getvalue(_DDT, n) function or getvalue(_SDT, n) function for ASCII mode. The query usage is as follows: Syntax: ?DDT [ee] Reply: DDT=byte size:data0:data1: ....
Raw Redirect Mode 3 to 18 = data0 to data15 nn = value Examples: !CS 1 0 Enter 0 in outport (RS232) !CS 3 49 Enter 49 in Data 0 !CS 4 50 Enter 50 in Data 1 !CS 4 51 Enter 51 in Data 2 !CS 2 3 Enter 2 in frame length.
Serial (RS232/USB) Operation 186 Advanced Digital Motor Controller User Manual V2.
Commands Types Commands Reference SECTION 15 This section lists all the commands accepted by the controller. Commands are typically sent via the serial (RS232, RS485, TCP or USB) ports (See “Serial (RS232/RS485/TCP/ USB) Operation” on page 161) Except for a few maintenance commands, they can also be issued from within a user script written using the MicroBasic language (See “MicroBasic Scripting Manual”).
Commands Reference Configuration commands These start with “~” for read and “^” for write when called via the serial communication (RS232, RS485, TCP or USB), or using the getconfig() and setconfig() MicroBasic functions. They are used to read or configure all the operating parameters of the controller (e.g. set or read amps limit). See “Set/Read Configuration Commands” on page 259 for the full list and description of these commands.
Runtime Commands Command Arguments Description R [Option] MicroBasic Run RC Channel Value Set Pulse Out S Channel Value Set Motor Speed SFT Channel Value Safety Stop STT None STO Self-Test SX Channel Value Next Velocity VAR VarNbr Value Set User Variable AC - Set Acceleration Alias: ACCEL HexCode: 07 CANOpen id: 0x2006 Description: Set the rate of speed change during acceleration for a motor channel.
Commands Reference AX - Next Acceleration Alias: NXTACC HexCode: 14 CANOpen id: 0x2012 Description: This command is used for chaining commands in Position Count mode. It is similar to AC except that it stores an acceleration value in a buffer. This value will become the next acceleration the controller will use and becomes active upon reaching a previous desired position. If omitted, the command will be chained using the last used acceleration value.
Runtime Commands Where: nn = Variable number mm = 0 or 1 Note: The total number of user variables depends on the controller model and can be found in the product datasheet. BND - Spectrum Bind Alias: BIND HexCode: 1C CANOpen id: Description: When used on controllers with Spektrum RC radio interface the BND command is used to pair the receiver with its transmitter.
Commands Reference Argument 2: Value Type: Signed 32-bit Min: -2147M Max: +2147M Where: cc = Motor channel nn = Counter value Example: !C 2 -1000 : Loads -1000 in encoder counter 2 !C 1 0 : Clears encoder counter 1 CB - Set Brushless Counter Alias: SBLCNTR HexCode: 05 CANOpen id: 0x2004 Description: This command loads the brushless counter with the value contained in the command argument. Beware that changing the controller value while operating in closed-loop mode can have adverse effects.
Runtime Commands Syntax Scripting: setcommand(_CG, cc, nn) setcommand(_CANGO, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Value Type: Signed 32-bit Min: -1000 Max: +1000 Where: cc = Motor channel nn = Command value CS - CAN Send Alias: CANSEND HexCode: 18 CANOpen id: Description: This command is used in CAN-enabled controllers to build and send CAN frames in the RawCAN mode (See RawCAN section in manual).
Commands Reference CSS - Set SSI Sensor Counter Alias: - HexCode: 6C CANOpen id: 0x201F Description: This command loads the SSI Sensor counter with the value contained in the command argument. Beware that changing the controller value while operating in closed-loop mode can have adverse effects. This command is not applicable if the respective sensor’s use has been set as absolute feedback.
Runtime Commands Argument 2: Value Type: Unsigned 8-bit Min: 0 Max: 255 Where: ee = frame element 1 = outport (0 for RS232 and 6 for RS485) 2 = frame length 3 to 18 = data0 to data15 nn = value Examples: !CS 1 0 Enter 0 in outport (RS232) !CS 3 49 Enter 49 in Data 0 !CS 4 50 Enter 50 in Data 1 !CS 4 51 Enter 51 in Data 2 !CS 2 3 Enter 2 in frame length.
Commands Reference D1 - Set Individual Digital Out bits Alias: DSET HexCode: 0A CANOpen id: 0x2009 Description: The D1 command will activate the single digital output that is selected by the parameter that follows.
Runtime Commands Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Deceleration Type: Signed 32-bit Min: 0 Max: 500000 Where: cc = Motor channel nn = Deceleration value in 0.1 * RPM/s Example: !DC 1 2000 : Reduce Motor 1 speed by 200 RPM every second if speed is measured by encoder !DC 2 20000 : Time from full power to stop is 0.
Commands Reference decceleration the controller will use and becomes active upon reaching a previous desired position. If omitted, the command will be chained using the last used decceleration value. This command is not applicable if either of the acceleration (MAC) or deceleration (MDEC) configuration values is set to 0 (bypass command ramp).
Runtime Commands EX - Emergency Stop Alias: ESTOP HexCode: 0E CANOpen id: 0x200C Description: The EX command will cause the controller to enter an emergency stop in the same way as if hardware emergency stop was detected on an input pin. The emergency stop condition will remain until controller is reset or until the MG release command is received.
Commands Reference Argument 2: Value Type: Signed 32-bit Min: -1000 Max: 1000 Where: cc = Motor channel nn = Command value Example: !G 1 500 : In Open Loop Speed mode, applies 50% power to motor channel 1 !G 1 500 : In Closed Loop Speed mode, assuming that 3000 is contained in Max RPM parameter (MXRPM), motor will go to 1500 RPM !G 1 500 : In Closed Loop Relative or Closed Loop Tracking modes, the motor will move to 75% position of the total -1000 to +1000 motion range !G 1 500 : In Torque mode, assumi
Runtime Commands GID - Go to Torque Amps Alias: - HexCode: 7B CANOpen id: - Description: GID is the command for the flux amps in closed loop torque mode only for brushless controllers in sinusoidal mode. In other cases it is void. The value is set in Amps*10.
Commands Reference Number of Arguments: 1 Argument 1: Channel Min: 1 Type: Unsigned 8-bit Max: Total Number of Encoders Where: cc = Motor channel Example: !H 1: Loads encoder counter 1, SSI sensor counter 1 and brushless counter 1 with their preset home values. MG - Emergency Stop Release Alias: MGO HexCode: 0F CANOpen id: 0x200D Description: The MG command will release the emergency stop condition and allow the controller to return to normal operation.
Runtime Commands P - Go to Absolute Desired Position Alias: MOTPOS HexCode: 02 CANOpen id: 0x2001 Description: This command is used in the Position Count mode to make the motor move to a specified feedback sensor count value.
Commands Reference Where: cc = Motor channel nn = Relative count position Example: !PR 1 10000 : while motor is stopped after power up and counter = 0, motor 1 will go to +10000 !PR 2 10000 : while previous command was absolute goto position !P 2 5000, motor will go to +15000 Note: Beware that counter will rollover at counter values +/-2’147’483’648.
Runtime Commands Syntax Serial: !PX [nn] cc Syntax Scripting: setcommand(_PX, nn, cc) setcommand(_NXTPOS, nn, cc) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Delta Type: Signed 32-bit Min: -2147M Max: +2147M Where: cc = Motor channel nn = Absolute count position Example: !P 1 5000 followed by !PX 1 -10000 : will cause motor to go to count position 5000 and upon reaching the destination move to position -10000.
Commands Reference Syntax Serial: !RC cc nn Syntax Scripting: setcommand(_RC, cc, nn) setcommand(_RCOUT, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Number or Pulse Outs Argument 2: Value Type: Signed 16-bit Min: -1000 Max: 1000 Where: cc = Channel number nn = Value S - Set Motor Speed Alias: MOTVEL HexCode: 03 CANOpen id: 0x2002 Description: In the Closed-Loop Speed mode, this command will cause the motor to spin at the desired RPM speed.
Runtime Commands SFT - Safety Stop Alias: HexCode:8D CanOpen id: 0x202C Description: With this command the motor speed decelerates to zero according to the fault deceleration speed ramp. This command can be used when the user wants to decelerate the motor speed to zero at all modes. A safe stop flag will be generated during the deceleration and it will be reseted when the motor command will be zero.
Commands Reference SX - Next Velocity Alias: NXTVEL HexCode: 17 CANOpen id: 0x2014 Description: This command is used in Position Count mode. It is similar to S except that it stores a velocity value in a buffer. This value will become the next velocity the controller will use and becomes active upon reaching a previous desired position. If omitted, the command will be chained using the last used velocity value. See Position Command Chaining in manual.
Runtime Commands DS402 Runtime Commands Runtime commands created to support DS402 specification are described below: TABLE 15-2.
Commands Reference TABLE 15-4. Command Coding Bits of the Control Word Command Transition Bit 7 Bit 3 Bit 2 Bit 1 Bit 0 Shutdown 0 X 1 1 1 2,6,8 Switch On 0 0 1 1 1 3 Switch On + Enable Operation 0 1 1 1 1 3+4 Disable Voltage 0 X X 0 X 7,9,10,12 Quick Stop 0 X 0 1 X 7,10,11 Disable Operation 0 0 1 1 1 5 Enable Operation 0 1 1 1 1 4,16 Fault Reset 0->1 X X X X 15 Bits 9, 6, 5, and 4 of the ControlWord are operation mode specific.
Runtime Commands TABLE 15-7. Definition of Bits 4, 5, 6, and 9 in Profile Position Mode Bit 9 Bit 5 Bit 4 Definition 0 0 0->1 Positioning shall be completed (target reached) before the next one gets started.
Commands Reference TABLE 15-11.
Runtime Commands FET - Following Error Time Out (DS402) Alias: FET HexCode:9A CanOpen id: 0x6066 Description: This command shall indicate the configured time for a following error condition, after that the bit 13 of the statusword shall be set to 1. When the following error occurs, the controller goes to quick stop operation mode. The value is given in ms.
Commands Reference Argument 2: Value Type: Unsigned 8-bit or Signed 8-bit Where: ee = 1: Interpolation time base channel 1 2: Interpolation time index channel 1 3: Interpolation time base channel 2 4: Interpolation time index channel 2 … 2 × (m - 1) + 1: Interpolation time base channel m. 2 × (m - 1) + 2: Interpolation time index channel m.
Runtime Commands Syntax Scripting: SetCommand(_PAC, cc, nn) Arguments: 2 Argument 1: Channel Min: 1 Type: Unsigned 8-bit Max: Total number of motors Argument 2 Value Type: Unsigned 32-bit Where: cc = Motor channel nn = Profile acceleration in 10×RPM/second PDC – Profile Deceleration (DS402) Alias: PDC HexCode: 5F CANOpen id: 0x6084 Description: This command is used to set the configured deceleration in 10×RPM/second.
Commands Reference Syntax Scripting: SetCommand(_PLT, ee, nn) Arguments: 2 Argument 1: Element Min: 1 Argument 2: Value Type: Unsigned 8-bit Max: 2 × Total number of motors Type: Unsigned 8-bit or Signed 8-bit Where: ee = 1: Minimum Position Limit channel 1 2: Maximum Position Limit channel 1 3: Minimum Position Limit channel 2 4: Maximum Position Limit channel 2 … 2 × (m - 1) + 1: Minimum Position Limit channel m. 2 × (m - 1) + 2: Maximum Position Limit channel m.
Runtime Commands Where: cc = Motor channel nn = Target position PSP – Profile Velocity (DS402) Alias: PSP HexCode: 5D CANOpen id: 0x6081 Description: This command is used to set the velocity in RPM, normally attained at the end of the acceleration ramp during a profiled motion and is valid for both directions of motion.
Commands Reference S16 – Target Velocity (DS402) Alias: MOTVEL HexCode: 61 CANOpen id: 0x6042 Description: Sets the required velocity of the system in RPM. Positive values shall indicate forward direction and negative values shall indicate reverse direction. It is applicable to velocity mode.
Runtime Commands 3: Delta speed in 10×RPM for channel 2 4: Delta time in seconds for channel 2 … 2 × (m - 1) + 1: Delta speed in 10×RPM for channel m. 2 × (m - 1) + 1: Delta time in seconds for channel m. nn = Delta speed/time SDC – Velocity Deceleration (DS402) Alias: SDC HexCode: 59 CANOpen id: 0x6049 Description: This command configures the velocity deceleration.
Commands Reference Syntax Serial: !SPC cc nn Syntax Scripting: SetCommand(_SPC, cc, nn) Arguments: 2 Argument 1: Channel Type: Unsigned 8-bit Min: 1 Max: Total of motors Argument 2: Value Type: Signed 32-bit Where: cc = Motor channel nn = Speed command in RPM SPL – Velocity Min/Max Amount (DS402) Alias: SPL HexCode: 57 CANOpen id: 0x6046 Description: This command configures the minimum and maximum amount of velocity in RPM.
Runtime Commands Argument 2: Value Type: Unsigned 32-bit Where: ee = 1: Min amount for channel 1 2: Max amount for channel 1 3: Min amount for channel 2 4: Max amount for channel 2 … 2 × (m - 1) + 1: Min amount for channel m. 2 × (m - 1) + 2: Max amount for channel m. nn = Velocity max/min amount TC – Target Torque (DS402) Alias: TC HexCode: 5B CANOpen id: 0x6071 Description: This command configures the input value in 100×Nm for the torque where the controller in torque mode.
Commands Reference Arguments: 2 Argument 1: Channel Min: 1 Type: Unsigned 8-bit Max: otal number of motors Argument 2: Value Type: Unsigned 32-bit Where: cc = Motor channel nn = Torque slope Runtime Queries Runtime queries can be used to read the value of real-time measurements at any time during the controller operation. Real-time queries are very short commands that start with “?” followed by one to three letters. In some instances, queries can be sent with or without a numerical parameter.
Runtime Queries TABLE 15-12.
Commands Reference TABLE 15-12.
Runtime Queries Where: cc = Motor channel aa = Amps *10 for each channel Example: Q: ?A R: A=100:200 Q: ?A 2 R: A=200 Note: Single channel controllers will report a single value. Some power board units measure the Motor Amps and calculate the Battery Amps, while other models measure the Battery Amps and calculate the Motor Amps. The measured Amps is always more precise than the calculated Amps. See controller datasheet to find which Amps is measured by your particular model.
Commands Reference Argument: InputNbr Min: 1 Max: Total Number of Analog Inputs Syntax Scripting: result = getvalue(_AIC, cc) result = getvalue(_ANAINC, cc) Reply: AIC=nn Type: Signed 16-bit Min: -1000 Max: 1000 Where: cc = Analog Input number nn = Converted analog input value +/-1000 range ANG - Read Rotor Angle Alias: ANG HexCode: 42 CANOpen id: 0x2132 Description: On brushless controller operating in sinusoidal mode, this query returns the real time value of the rotor’s electrical angle o
Runtime Queries Reply: ASI=nn Type: Unsigned 16-bit Min: 0 Max: 65535 Where: cc = 1 : Sin input 1/SSI input 1 2 : Cos input 1 3 : Sin input 2/SSI input 2 4 : Cos input 2 nn = ADC value B - Read User Boolean Variable Alias: BOOL HexCode: 16 CANOpen id: 0x2115 Description: Read the value of boolean internal variables that can be read and written to/from within a user MicroBasic script. It is used to pass boolean states between user scripts and a microcomputer connected to the controller.
Commands Reference Reply: BA=aa Type: Signed 16-bit Min: 0 Where: cc = Motor channel aa = Amps *10 for each channel Example: Q: ?BA R: BA=100:200 Note: Some controller models measure the Motor Amps and Calculate the Battery Amps, while other models measure the Battery Amps and calculate the Motor Amps. The measured Amps is always more precise than the calculated Amps. See controller datasheet to find which Amps is measured by your particular model.
Runtime Queries BMC - Read BMS State Of Charge in AmpHours Alias: - HexCode: 4C CANOpen id: 0x2141 Description: When one or more BMS10X0 are connected to the controller, this query reports the Battery’s State Of Charge in AmpHours, which is connected to the respective BMS10X0. If only one BMS10X0 is connected to any pulse input this query will report the data of that device, regardless which pulse input it is connected to.
Commands Reference Syntax Scripting: result = getvalue(_BMF, cc) Reply: BMF = f1 + f2*2 + f3*4 + ... + fn*2^n-1 Type: Unsigned 8-bit Min: 0 Max: 255 Where: cc = (When only one sensor enabled) None or 1 : Current BMS10X0 cc = (When several sensors enabled) 1 : BMS10X0 at pulse input 1 2 : BMS10X0 at pulse input 2 ...
Runtime Queries Reply: BMC = f1 + f2*2 + f3*4 + ... + fn*2^n-1 Type: Unsigned 8-bit Min: 0 Max: 255 Where: cc = (When only one sensor enabled) None or 1 : Current BMS10X0 cc = (When several sensors enabled) 1 : BMS10X0 at pulse input 1 2 : BMS10X0 at pulse input 2 ...
Commands Reference BSC - Read BMS State of Charge in percentage Alias: - HexCode: 50 CANOpen id: 0x213A Description: When one or more BMS10X0 are connected to the controller, this query reports the Battery’s State Of Charge in percentage, which is connected to the respective BMS10X0. If only one BMS10X0 is connected to any pulse input this query will report the data of that device, regardless which pulse input it is connected to.
Runtime Queries Argument: Channel Min: 1 Max: Total Number of Motors Syntax Scripting: result = getvalue(_BSR, ) result = getvalue(_BLRSPEED, ) Reply: BSR=nn Type: Signed 16-bit Min: -1000 Max: 1000 Where: nn = Speed relative to max Example: Q: ?BSR R: BSR=500: speed is 50%of the RPM value stored in the Max RPM configuration C - Read Encoder Counter Absolute Alias: ABCNTR HexCode: 04 CANOpen id: 0x2104 Description: Returns the encoder value as an absolute number.
Commands Reference Argument: Element Min: 1 Max: 10 Syntax Scripting: result = getvalue(_CAN, ee) Reply: CAN = dd1:dd2:dd3: ...
Runtime Queries accessed using the ?DDT or ?SDT queries. Sending ?CD again, copies the next frame into the read buffer.
Commands Reference Min: 1 Max: 4 Syntax Scripting: result = getvalue(_CHS, cc) Reply: CIA=nn Type: Unsigned 8-bit Min: 0 Max: 127 Where: cc = Heartbeat channel nn = Heartbeat Status: 0: Not configured 1: Pending (waiting for the first heartbeat message from node) 2: Active (node is sending heartbeat regularly) 127: Inactive (node stopped sending heartbeat) CIA - Read Converted Analog Command Alias: CMDANA HexCode: 1A CANOpen id: 0x2117 Description: Returns the motor command value that is computed
Runtime Queries CIP - Read Internal Pulse Command Alias: CMDPLS HexCode: 1B CANOpen id: 0x2118 Description: Returns the motor command value that is computed from the Pulse inputs whether or not the command is actually applied to the motor. The Pulse input must be configured as Motor Command.
Commands Reference CL - Read RoboCAN Alive Nodes Map Alias: CALIVE HexCode: 26 CANOpen id: Description: With CL it is possible to see which nodes in a RoboCAN are alive and what type of device is present at each node. A complete state of the network is represented in sixteen 32bit numbers. Within each 32-bit word are 8 groups of 4-bits. The 4-bits contain the node information. E.g.
Runtime Queries Syntax Scripting: result = getvalue(_CR, cc) result = getvalue(_RELCNTR, cc) Reply: CR=nn Type: Signed 32-bit Min: -2147M Max: 2147 Where: cc = Motor channel nn = Counts since last read using ?CR CSR - Read Relative SSI Sensor Counter Alias: - HexCode: 6D CANOpen id: 0x213F Description: Returns the amount of counts that have been measured from the last time this query was made.
Commands Reference Reply: CSS=nn Type: Signed 32-bit Min: -2147M Max: 2147 Where: cc = SSI sensor channel nn = Absolute counter value D - Read Digital Inputs Alias: DIGIN HexCode: 0E CANOpen id: 0x210E Description: Reports the status of each of the available digital inputs. The query response is a single digital number which must be converted to binary and gives the status of each of the inputs.
Runtime Queries Syntax Scripting: result = getvalue(_DDT, ee) Reply: CAN = dd1:dd2:dd3: ... :dd64 Type: Unsigned 8-bit Min: 0 Max: 255 Where: ee = Byte in frame dd1 = byte size dd2 to dd64 = data0 to data62 Examples: Q: ?DDT R: DDT=8:82:111:98:111:116:101:113 Q: ?DDT 3 R: DDT=111 DI - Read Individual Digital Inputs Alias: DIN HexCode: 0F CANOpen id: 0x2145 Description: Reports the status of an individual Digital Input. The query response is a boolean value (0 or 1).
Commands Reference DO - Read Digital Output Status Alias: DIGOUT HexCode: 17 CANOpen id: 0x2113 Description: Reads the actual state of all digital outputs. The response to that query is a single number which must be converted into binary in order to read the status of the individual output bits. When querying an individual output, the reply is 0 or 1 depending on its status. The total number of Digital output channels varies from one controller model to another and can be found in the product datasheet.
Runtime Queries Example: Q: ?DPA R: DPA=100:200 Q: ?DPA 2 R: DPA=200 DR - Read Destination Reached Alias: DREACHED HexCode: 22 CANOpen id: 0x211B Description: This query is used when chaining commands in Position Count mode, to detect that a destination has been reached and that the next destination values that were loaded in the buffer have become active. The Destination Reached bit is latched and is cleared once it has been read.
Commands Reference Reply: E=nn Type: Signed 32-bit Min: -2147M Max: 2147M Where: cc = Motor channel nn = Error value F - Read Feedback Alias: FEEDBK HexCode: 13 CANOpen id: 0x2110 Description: Reports the value of the feedback sensors that are associated to each of the channels in closed-loop modes. The feedback source can be Encoder, Analog or Pulse. Selecting the feedback source is done using the encoder, pulse or analog configuration parameters.
Runtime Queries Where: cc = Motor channel nn = Angle correction FLW - Read Flow Sensor Counter Alias: - HexCode: 7B CANOpen id: 0x214A Description: When one or more FLW100 are connected to the controller, this query reports the count measurements of X and Y axis in mm*10 of the respective FLW100. If only one FLW100 is connected to any pulse input this query will report the data of that device, regardless which pulse input it is connected to.
Commands Reference FF - Read Fault Flags Alias: FLTFLAG HexCode: 15 CANOpen id: 0x2112 Description: Reports the status of the controller fault conditions that can occur during operation. The response to that query is a single number which must be converted into binary in order to evaluate each of the individual status bits that compose it. Syntax Serial: ?FF Argument: None Syntax Scripting: result = getvalue(_FF, 1) result = getvalue(_FLTFLAG, 1) Reply: FS = f1 + f2*2 + f3*4 + ...
Runtime Queries Where: ss = Firmware ID string Example: Q: ?FID R: FID=Roboteq v1.6 RCB500 05/01/2016 FIN - Read Firmware ID (numerical) Alias: - HexCode: 3F CANOpen id: 0x2137 Description: This query will report the version and the date of the firmware revision of the controller.
Commands Reference Syntax Scripting: result = getvalue(_FM, cc) result = getvalue(_MOTFLAG, cc) Reply: FM = f1 + f2*2 + f3*4 + ...
Runtime Queries f2 = Pulse mode f3 = Analog mode f4 = Power stage off f5 = Stall detected f6 = At limit f7 = Unused f8 = MicroBasic script running f9 = Motor/Sensor Tuning mode Note: On controller models supporting Spektrum radio mode f4 is used to indicate Spektrum. f4 to f6 are shifted to f5 to f7 HS - Read Hall Sensor States Alias: HSENSE HexCode: 31 CANOpen id: 0x2123 Description: Reports that status of the hall sensor inputs. This function is mostly useful for troubleshooting.
Commands Reference ICL - Is RoboCAN Node Alive Alias: ICL HexCode: 46 CANOpen id: Description: This query is used to determine if specific RoboCAN node is alive on CAN bus.
Runtime Queries are reset to factory default. This feature is useful to protect the controller configuration from being copied by unauthorized people. Syntax Serial: ?LK Argument: None Syntax Scripting: result = getvalue(_LK, 1) result = getvalue(_LOCKED, 1) Reply: LK=ff Type: Unsigned 8-bit Min: 0 Max: 1 Where: ff = 0 : unlocked 1 : locked M - Read Motor Command Applied Alias: MOTCMD HexCode: 01 CANOpen id: 0x2101 Description: Reports the command value that is being used by the controller.
Commands Reference MA - Read Field Oriented Control Motor Amps Alias: MEMS HexCode: 25 CANOpen id: 0x211C Description: On brushless motor controllers operating in sinusoidal mode, this query returns the Torque (also known as Quadrature or Iq) current, and the Flux (also known as Direct, or Id) current. Current is reported in Amps x 10.
Runtime Queries Where: cc = (When only one sensor enabled) None or 1 : Current sensor cc = (When several sensors enabled) 1 : Sensor at pulse input 1 2 : Sensor at pulse input 2 ... p : Sensor at pulse input p nn = 0 : No track detected 1 : Track detected MGM - Read Magsensor Markers Alias: MGMRKR HexCode: 2B CANOpen id: 0x211F Description: When one or more MGS1600 Magnetic Guide Sensors are connected to the controller, this query reports whether left or right markers are present under sensor.
Commands Reference MGS - Read Magsensor Status Alias: MGSTATUS HexCode: 2C CANOpen id: 0x2120 Description: When one or more MGS1600 Magnetic Guide Sensors are connected to the controller, this query reports the state of the sensor. If only one sensor is connected to any pulse input, no argument is needed for this query.
Runtime Queries Syntax Scripting: result = getvalue(_MGT, cc) result = getvalue(_MGTRACK, cc) Reply: MGM = nn Type: Signed 16-bit Where: cc = (When only one sensor enabled) 1 : Left Track 2 : Right Track 3 : Active Track cc = (When several sensors enabled) 1 : Left Track of sensor at pulse input 1 2 : Right Track of sensor at pulse input 1 3 : Active Track of sensor at pulse input 1 4 : Left Track of sensor at pulse input 2 5 : Right Track of sensor at pulse input 2 6 : Active Track of sensor at pulse
Commands Reference 1 : sensor at pulse input 1 2 : sensor at pulse input 2 ... p : sensor at pulse input p nn = Gyroscope value MGX - Read MagSensor Tape Cross Detection Alias: - HexCode: 52 CANOpen id: 0x2138 Description: When one or more MGS1600 Magnetic Guide Sensors are connected to the controller, this query reports the flag of the Tape Cross Detection of the sensor. If only one sensor is connected to any pulse input, no argument is needed for this query.
Runtime Queries Syntax Serial: ?P [cc] Argument: Channel Min: 1 Max: Total Number of Motors Syntax Scripting: result = getvalue(_P, cc) result = getvalue(_MOTPWR, cc) Reply: P=nn Type: Signed 16-bit Min: -1000 Max: 1000 Where: cc = Motor channel nn = 0 to +/-1000 power level Example: Q: ?P 1 R: P=800 PHA - Read Phase Amps Alias: - HexCode: 49 CANOpen id: - Description: Measures and reports instant motor phase Amps, in Amps*10, for all current sensors located in the motor phases.
Commands Reference 4095 when the pulse duty cycle is 0% and 100% respectively. In Pulse Count mode, the reported value in the number of pulses as detected. This counter only increments. In order to reset that counter the pulse capture mode needs to be set back to disabled and then again to Pulse Count.
Runtime Queries S - Read Encoder Motor Speed in RPM Alias: ABSPEED HexCode: 03 CANOpen id: 0x2103 Description: Reports the actual speed measured by the encoders as the actual RPM value.
Commands Reference SDT - Read Raw Redirect Received Frame as string Alias: SDT HexCode: 90 CANOpen id: - Description: This query is used in Raw Redirect mode to read the content of a received Raw Redirect frame in string format. Data will be available for reading, with this query, only after a ?CD query is first used to check how many received frames are pending in the FIFO buffer.
Runtime Queries Where: cc = Motor channel nn = Number of sensor errors SNA - Read Sensor Angle Alias: - HexCode: 79 CANOpen id: - Description: On brushless controller operating in sinusoidal mode, this query returns the real time value of the rotor’s angle sensor of brushless motor. This query is useful for verifying troubleshooting sin/cos and SPI/SSI sensors. Angle are reported in 0-511 degrees..
Commands Reference Where: cc = Motor channel nn = Speed relative to max SS - Read SSI Sensor Motor Speed in RPM Alias: - HexCode: 6A CANOpen id: 0x213C Description: Reports the actual speed measured by the SSI sensors as the actual RPM value. To report RPM accurately, the correct Counts per Revolution (SCPR) must be stored in the encoder configuration.
Runtime Queries Where: cc = Motor channel aa = Speed relative to max. STT - STO Self-Test Result Alias: - HexCode: 70 CANOpen id: - Description: Returns the result of the latest executed STO Self-Test process. This process is applicable only on motor controllers with STO circuit implemented on their board. If the result is not successful the Respective STO Fault bit in the Fault Flags is set. The fault is triggered when: • Any of the transistors or other component of the STO circuit is damaged.
Commands Reference f4 = Bottom MOSFET of V1 phase is damaged f5 = Top MOSFET of W1 phase is damaged f6 = Bottom MOSFET of W1 phase is damaged f7 = Top MOSFET of U2 phase is damaged f8 = Bottom MOSFET of U2 phase is damaged f9 = Top MOSFET of V2 phase is damaged f10 = Bottom MOSFET of V2 phase is damaged f11 = Top MOSFET of W2 phase is damaged f12 = Bottom MOSFET of W2 phase is damaged T - Read Temperature Alias: TEMP HexCode: 12 CANOpen id: 0x210F Description: Reports the temperature at each of the Hea
Runtime Queries ed in a 32-bit counter that keeps track the total number of seconds, and that can be converted into a full day and time value using external calculation.
Commands Reference TRN - Read Control Unit type and Controller Model Alias: TRN HexCode: 1F CANOpen id: Description: Reports two strings identifying the Control Unit type and the Controller Model type. This query is useful for adapting the user software application to the controller model that is attached to the computer.
Runtime Queries V - Read Volts Alias: VOLTS HexCode: 0D CANOpen id: 0x210D Description: Reports the voltages measured inside the controller at three locations: the main battery voltage, the internal voltage at the motor driver stage, and the voltage that is available on the 5V output on the DSUB 15 or 25 front connector. For safe operation, the driver stage voltage must be above 12V.
Commands Reference Syntax Scripting: result = getvalue(_VAR, ee) Reply: VAR=nn Type: Signed 32-bit Min: -2147M Max: 2147M Where: ee = Variable number nn = Value SL - Read Slip Frequency Alias: SL HexCode: 48 CANOpen id: 0x2136 Description: This query is only used in AC Induction boards. Read the value of the Slip Frequency between the rotor and the stator of an AC Induction motor.
DS402 Runtime Queries Command Arguments Description MSL Element Value Max Motor Speed (DS402) PAC Channel Profile Acceleration (DS402) PDC Channel Profile Deceleration (DS402) PLT Element Value Software Position Limit (DS402) POS Channel Target Position (DS402) PSP Channel Profile Velocity (DS402) PST Channel Position Actual Value (DS402) RMP Channel Velocity Demand (DS402) ROM Channel Modes of Operation (DS402) S16 Channel Target Velocity (DS402) SAC Element Velocity Acc
Commands Reference CW – Control Word (DS402) Alias: CW HexCode: 56 CANOpen id: 0x6040 Description: Read the value of the control word.
DS402 Runtime Queries FEW - Following Error Window (DS402) Alias: FEW HexCode:99 CanOpen id: 0x6065 Description: Read the configured following error window for the position mode in counts. If the value is FFFF FFFFh, the following control is disabled.
Commands Reference INT - Interpolation Time Period (DS402) Alias: INT HexCode: 9C CanOpen id: 0x60C2 Description: Read the parameters for the Interpolation cycle time. The interpolation time base is the element 1 and the interpolation time index is element 2.
DS402 Runtime Queries Syntax Serial: ?MSL[cc] Reply: MSL=nn Syntax Scripting: nn = GetValue(_MSL, cc) Argument: Channel Min: 1 Result: Value Type: Unsigned 8-bit Max: Total number of motors Type: Unsigned 32-bit PAC – Profile Acceleration (DS402) Alias: PAC HexCode: 5E CANOpen id: 0x6083 Description: Read the configured acceleration in 10×RPM/second.
Commands Reference Result: Value Type: Unsigned 32-bit Where: cc = Motor channel nn = Profile deceleration in 10×RPM/second PLT - Software Position Limit (DS402) Alias: PLT HexCode: 9D CanOpen id: 0x607D Description: Read the position limits.
DS402 Runtime Queries Syntax Serial: ?PST[cc] Reply: PST=nn Syntax Scripting: nn = GetValue(_PST, cc) Argument: Channel Min: 1 Result: Value Type: Unsigned 8-bit Max: Total number of motors Type: Singed 32-bit POS – Target Position (DS402) Alias: POS HexCode: 5C CANOpen id: 0x607A Description: Read the configured target position.
Commands Reference Where: cc = Motor channel nn = Profile velocity RMP – VL Velocity Demand (DS402) Alias: RMP HexCode: 62 CANOpen id: 0x6043 Description: Read the instantaneous velocity in RPM generated by the ramp function. Positive values shall indicate forward direction and negative values shall indicate reverse direction.
DS402 Runtime Queries S16 – Target Velocity (DS402) Alias: MOTVEL HexCode: 03 CANOpen id: 0x6042 Description: Read the target velocity in RPM for velocity mode. Positive values shall indicate forward direction and negative values shall indicate reverse direction.
Commands Reference 3: Delta speed in 10×RPM for channel 2 4: Delta time in seconds for channel 2 … 2 × (m - 1) + 1: Delta speed in 10×RPM for channel m. 2 × (m - 1) + 1: Delta time in seconds for channel m. nn = Delta speed/time SDC – Velocity Deceleration (DS402) Alias: SDC HexCode: 59 CANOpen id: 0x6049 Description: Read the configured velocity deceleration.
DS402 Runtime Queries Syntax Serial: !SDM Reply: SDM=nn Syntax Scripting: nn = GetValue(_TSL) Result: Value Type: Unsigned 32-bit Where: nn = Supported drive modes SPL – Velocity Min/Max Amount (DS402) Alias: SPL HexCode: 57 CANOpen id: 0x6046 Description: Read the configured minimum and maximum amount of velocity in RPM.
Commands Reference TABLE 15-14. Status Word Mapping 15 14 13 NU 12 OMS 11 10 9 8 7 6 5 4 3 2 1 0 ILA TR RM MS W SOD QS VE F OE SO RTSO MSB LSB NU Not Used, OMS Operation mode specific, ILA Internal limit active TR Target reached, RM Remote, W Warning, SOD Switch on disabled, QS Quick stop, VE Voltage enabled, F Fault, OE Operation Enabled, SO Switch on RTSO Ready to switch on. If bit 4 (voltage enabled) of the status word is always 1.
DS402 Runtime Queries Profile Position Mode TABLE 15-17. Status Word Mapping in Profile Position Mode 15 14 see Table 15-14 13 12 11 10 9 Not Used Set-Point Acknowledge see Table 15-14 Target Reached 0 see Table 15-14 MSB LSB In Profile Position Mode the operation specific bits are mapped in Table 15-17. Status Word Mapping in Profile Position Mode with bits 10 and 12 user can acknowledge the status of the controller as shown in Table 10 and Table 12. Bit 13 is always 0.
Commands Reference Cyclic Synchronous Position Mode The cyclic synchronous position mode uses three bits of the statusword for mode-specific purposes. Table 15-21 shows the structure of the statusword. Table 15-22 defines the values for bit 10, 12, and 13 of the statusword. TABLE 15-21. Statusword for profile cyclic synchronous position mode 15 14 13 see Table 15-14 12 Following error 11 Drive follows the command value 10 see Table 15-14 9 0 reserved see Table 15-14 MSB LSB TABLE 15-22.
DS402 Runtime Queries Profile Velocity Mode TABLE 15-25. Status Word Mapping in Profile Velocity Mode 15 14 see Table 15-14 13 12 11 10 9 0 Not Used Speed see Table 15-14 Target Reached see Table 15-14 MSB LSB In Profile Velocity Mode the operation specific bits are mapped in Table 15-25. With bits 10 and 12 user can acknowledge the status of the controller as shown in Table 15-26 and Table 15-27. Bit 13 is always 0. TABLE 15-26.
Commands Reference Syntax Serial: ?TC [cc] Reply: TC=nn Syntax Scripting: nn = GetValue(_TC, cc) Argument: Channel Min: 1 Type: Unsigned 8-bit Max: Total number of motors Result: Value Type: Signed 16-bit Where: cc = Motor channel nn = Torque input value in 100×Nm TRQ – Target Torque (DS402) Alias: TRQ HexCode: 7A CANOpen id: 0x6077 Description: Read the actual torque in 100×Nm.
Query History Commands Syntax Serial: !TSL [cc] Reply: TSL=nn Syntax Scripting: nn = GetValue(_TSL, cc) Argument: Channel Min: 1 Type: Unsigned 8-bit Max: Total number of motors Result: Value Type: Unsigned 32-bit Where: cc = Motor channel nn = Torque slope VNM – Version Number (DS402) Alias: VNM HexCode: 65 CANOpen id: 0x67FE Description: Read the version number of the CiA 402 profile.
Commands Reference Additionally, the history buffer can be loaded with a set of user selected queries at power on so that the controller can automatically issue operating values immediately after power up. See “TELS - Telemetry String” configuration command for details on how to set up the startup Telemetry string. “Another feature is the streams. In this case the data can be printed after a prefix and separated with a delimiter.
Query History Commands # nn - Start Automatic Sending This command will initiate the automatic retrieving and execution of queries from the history buffer. The number that follows the command is the time in milliseconds between repetition. A single query is fetched and executed at each time interval. Syntax: # nn Reply: QQ at every nn time intervals Where: QQ = is reply to query in the buffer.
Commands Reference prefix = the prefix for the stream delimiter = the delimiter for the stream For example, if one wants a log of the Motor Power(P), Motor Amps(A) and Encoder Speed(S) of channel 1, with refresh rate 50ms, prefix “d=” and delimiter ‘:’ they should type: /”d=”,”:”?p 1_?a 1_?s 1_# 50 Two more stream examples are shown below: /”f=”,”:”?t 1_?v 2_?v 3_# 100 /?p 1_?f 1_?e 1_# 200 The outcome of these three streams are shown in the image below: FIGURE 15-2.
Maintenance Commands FIGURE 15-3. Data streams prefixes Maintenance Commands This section contains a few commands that are used occasionally to perform maintenance functions. TABLE 15-29.
Commands Reference CLMOD – Motor/Sensor Setup Argument: None Description: This command is used in order to perform motor and/or sensor setup, in cases of DC brushless motor controllers, when working in Sinusoidal mode or in Sensorless mode. This command will make the motor spin either slowly (sinusoidal) or even fast (sensorless) and will configure accordingly the respective fields in order to have a smooth motor spin and alignment between the motor and the sensor directions.
Maintenance Commands DFU - Update Firmware via USB Argument: Key Description: Firmware update can be performed via the RS232 port or via USB. When done via USB, the DFU command is used to cause the controller to enter in the firmware upgrade mode. This command must be used with care and must be followed by a 9-digit safety key to prevent accidental use. Once the controller has received the DFU command, it will no longer respond to the PC utility and no longer be visible on the PC.
Commands Reference EERST - Reset Factory Defaults Argument: Key Description: The EERST command will reload the controller’s RAM and EEPROM with the factory default configuration. Beware that this command may cause the controller to no longer work in your application since all your configurations will be erased back to factory defaults. This command must be used with care and must be followed by a 9-digit safety key to prevent accidental use.
Maintenance Commands Where: secretkey = 32-bit number (1 to 4294967296) RESET - Reset Controller Argument: Key Description: This command will cause the controller to reset similarly as if it was powered OFF and ON. This command must be used with care and must be followed by a 9-digit safety key to prevent accidental reset. Syntax: %RESET safetykey Where: safetykey = 321654987 SLD - Script Load Argument: Key Description: After receiving this command, the controller will enter the script loading mode.
Commands Reference UK - Unlock Configuration Access Argument: Key Description: This command will release the lock and make the configuration readable again. The command must be followed by the secret key which will be matched by the controller internally against the key that was entered with the LK command to lock the controller. If the keys match, the configuration is unlocked and can be read.
General Configuration and Safety Using 0 as the first parameter value will cause all elements to be loaded with the same content. ^ADB 0 10 : Sets the deadband of all analog inputs to 10% Important Notice Saving configuration into EEPROM can take up to 20ms per parameter. The controller will suspend the loop processing during this time, potentially affecting the controller operation. Avoid saving configuration to EEPROM during motor operation.
Commands Reference TABLE 15-30.
General Configuration and Safety Number of Arguments: 1 Argument 1: Enable Type: Unsigned 8-bit Min: 0 Max: 1 Default: 1 Where: nn = 0: Safety disabled 1: Safety enabled AMS - Analog keep within Guard Bands HexCode: 0C Description: This configuration is used to make sure that the analog input command is always within a user preset minimum and maximum safe value. It is useful to detect, for example, that the wire connection to a command potentiometer is broken.
Commands Reference Syntax Scripting: setconfig(_BEE, aa, dd) Number of Arguments: 2 Argument 1: Address Min: 1 Max: Total Number of BEE Type: Signed 16-bit Min: -32768 Default: 0 Max: 32767 Argument 2: Value Where: aa = Address dd = Data Example: ^BEE 1 555 : Store value 555 in Battery Backed RAM location 1 ~BEE 1: Read data from RAM location 1 BRUN - Script Auto-Start HexCode: 48 Description: This parameter is used to enable or disable the automatic MicroBasic script execution when the controller po
General Configuration and Safety CLIN - Command Linearity HexCode: 0D Description: This parameter is used for applying an exponential or a logarithmic transformation on the command input, regardless of its source (serial, pulse or analog). There are 3 exponential and 3 logarithmic choices. Exponential correction make the commands change less at the beginning and become stronger at the end of the command input range.
Commands Reference ond priority belongs to the CAN mode. Each priority item is then one of the three (four) command modes: Serial, Analog (Spektrum) or RC Pulse. See Command Priorities in the User Manual. Default prority orders are: 1-Serial, 2-Pulse, 3-None.
General Configuration and Safety Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Signed 16-bit Min: -1000 Default: 0 Max: 1001 Argument 2: Value Where: cc : Motor channel nn : Command value Example: ^DFC 1 500 : Sets motor command to 500 when no command source are detected ^DFC 2 1001 : Motor takes present position as destination after power up. Motor doesn’t move. DMOD – Modbus Mode HexCode: A1 Description: Configure this parameter in order to enable Modbus and the desired mode.
Commands Reference ECHOF - Enable/Disable Serial Echo HexCode: 09 Description: This command is used to disable/enable the echo on the RS232, RS485, TCP or USB port. By default, the controller will echo everything that enters the serial communication port. By setting ECHOF to 1, commands are no longer being echoed. The controller will only reply to queries and the acknowledgements to commands can be seen.
General Configuration and Safety Argument 2: Data Type: Signed 16-bit Min: -32768 Default: 0 Max: +32767 Where: aa = Address dd = Data Example: ^EE 1 555 : Store value 555 in RAM location 1 %EESAV or !EES : Copy data from temporary RAM to Flash ~EE 1 : Read data from RAM location 1 Note: See product datasheet to know the total available EE storage. Do not transfer to Flash with %EESAV or !EES at high frequency as the number of write cycles to Flash are limited to around 10000.
Commands Reference Example: ^ISM 1: Enable ModbusRaw Redirect mode on RS232 interface. MDAL – Modbus Data Alignment HexCode: CA Description: Configure this parameter in order to set the alignment of the Modbus byte frame. This option depends on what the Modbus master supports.
General Configuration and Safety Min: 0 Max: 127 Default: 1 Where: nn = Node ID Example: ^MNOD 3: Configure Modbus Node ID to 3. PMS - Pulse keep within Min & Max Safety HexCode: F4 Description: This configuration is used to make sure that the pulse input command is always within a user preset minimum and maximum safe value. It is useful to detect, for example, that the wire connection is broken.
Commands Reference Syntax Serial: ^RSBR nn ~RSBR Syntax Scripting: setconfig(_RSBR, nn) Number of Arguments: 1 Argument 1: BitRate Type: Unsigned 8-bit Min: 0 Max: 4 or 9 Default: 0 = 115200 Where: nn = 0: 115200 1: 57600 2: 38400 3:19200 4: 9600 5: 115200 + Inverted RS232 6: 57600 + Inverted RS232 7: 38400 + Inverted RS232 8: 19200 + Inverted RS232 9: 9600 + Inverted RS232 10: 230600 Example: ^RSBR 3 : sets baud rate at 19200 Note: This configuration can only be changed while connected via USB or via sc
General Configuration and Safety Argument 1: Enable RS485 Type: Unsigned 8-bit Min: 0 Max: 1 Default: 0 Where: nn = Enable RS485 0: Disabled. 1: Enabled. Example: ^RS485 1: Enable RS485. RWD - Serial Data Watchdog HexCode: 08 Description: This is the Serial Commands watchdog timeout parameter. It is used to detect when the controller is no longer receiving commands and switch to the next priority level.
Commands Reference Syntax Serial: ^SRO nn ~SCRO Syntax Scripting: setconfig(_SRO, nn) Number of Arguments: 1 Argument 1: Port Type: Unsigned 8-bit Min: 0 Default: 0 = Last used Max: 4 Where: nn = 0: Last used 1: Serial 2: USB 3: RS485 if applicable, 4: TCP if applicable SKCTR - Spektrum Center HexCode: 53 Description: Value captured from Spektrum radio that will be considered as 0 command Syntax Serial: ^SKCTR cc nn ~SKCTR [cc] Syntax Scripting: setconfig(_SKCTR, cc) Number of Arguments: Argument 1:
General Configuration and Safety Syntax Serial: ^SKDB cc nn ~SKDB [cc] Syntax Scripting: setconfig(_SKDB, cc) Number of Arguments: Argument 1: Channel Min: 1 Max: 2 Type: Unsigned 8-bit Min: 0 Default: 0 Max: 50 Argument 2: Deadband Where: cc = Channel nn = Deadband SKLIN - Spektrum Linearity HexCode: 55 Description: This parameter is used for applying an exponential or a logarithmic transformation a Spektrum command input. There are 3 exponential and 3 logarithmic choices.
Commands Reference 2: exp medium 3: exp strong 4: log weak 5: log medium 6: log strong SKMAX - Spektrum Max HexCode: 52 Description: Value captured from Spektrum radio that will be considered as +1000 command Syntax Serial: ^SKMAX cc nn ~SKMAX [cc] Syntax Scripting: setconfig(_SKMAX, cc) Number of Arguments: Argument 1: Channel Min: 1 Max: 2 Type: Unsigned 16-bit Min: 0 Default: 0 Max: 1024 Argument 2: Max Where: cc = Channel nn = Max value SKMIN - Spektrum Min HexCode: 51 Description: Value captu
General Configuration and Safety Where: cc = Channel nn: Min value SKUSE - Assign Spektrum port to motor command HexCode: 50 Description: Chose which of the 6 joysticks from the Spektrum RC receiver is to be assigned to which motor command channel.
Commands Reference Where: nn = STO status 0: Disabled. 1: Enabled. Example: ^STO 1: Enable STO functionality. TELS - Telemetry String HexCode: 47 Description: This parameter command lets you enter the telemetry string that will be used when the controller starts up. The string is entered as a series of queries characters between a beginning and an ending quote. Queries must be separated by “:” colon characters.
Analog, Digital, Pulse IO Configurations TABLE 15-31.
Commands Reference Argument 2: Center Type: Unsigned 16-bit Min: 0 Default: 2500 mV Max: 10000 Where: cc = Analog input channel nn = 0 to 10000mV Example: ^ACTR 3 2000 : Set Analog Input 3 Center to 2000mV Note: Center value must always be a number greater of equal to Min, and smaller or equal to Max Make the center value the same as the min value in order to produce a converted output range that is positive only (0 to +1000) ADB - Analog Input Deadband HexCode: 17 Description: This parameter selects th
Analog, Digital, Pulse IO Configurations AINA - Analog Input Use HexCode: 19 Description: This parameter selects whether an input should be used as a command feedback or left unused. When selecting command or feedback, it is also possible to select which channel this command or feedback should act on. Feedback can be position feedback if potentiometer is used or speed feedback if tachometer is used. Embedded in the parameter is the motor channel to which the command or feedback should apply.
Commands Reference Syntax Scripting: setconfig(_ALIN, cc, nn) Number of Arguments: 2 Argument 1: InputNbr Min: 1 Max: Total Number of Analog Inputs Type: Unsigned 8-bit Min: 0 Default: 0 = Linear Max: 6 Argument 2: Linearity Where: cc = Analog input channel nn = 0: Linear (no change) 1: Exp weak 2: Exp medium 3: Exp strong 4: Log weak 5: Log medium 6: Log strong Example: ^ALIN 1 1 : Sets linearity for channel 1 to exp weak AMAX - Analog Input Max HexCode: 15 Description: This parameter sets the volta
Analog, Digital, Pulse IO Configurations nn = 0 to 10000mV Example: ^AMAX 4 4500 : Set Analog Input 4 Max range to 4500mV Note: Analog input can capture voltage up to around 5.2V. Setting the Analog maximum above 5200 mV, means the conversion will never be able to reach +1000 AMAXA - Analog Input Action at Max HexCode: 1B Description: This parameter selects what action should be taken if the maximum value that is defined in AMAX is reached. The list of action is the same as these of digital inputs.
Commands Reference AMIN - Analog Input Min HexCode: 14 Description: This parameter sets the raw value on the input that will be considered as the minimum command value. The min, max and center are useful to set the range of a joystick or of a feedback sensor. Internally to the controller, commands and feedback values are converted to -1000, 0, +1000.
Analog, Digital, Pulse IO Configurations Number of Arguments: 2 Argument 1: InputNbr Min: 1 Max: Total Number of Analog Inputs Argument 2: Action Type: Unsigned 8-bit Min: 0 Default: 0 = No action Max: 255 Where: cc = Analog input channel aa = 0: No action 1: Safety stop 2: Emergency stop 3: Motor stop 4: Forward limit switch 5: Reverse limit switch 6: Invert direction 7: Run MicroBasic script 8: Load counter with home value mm = mot1*16 + mot2*32 + mot3*48 Example: ^AMINA 2 33 : Stops motor 2. I.e.
Commands Reference Argument 2: Mode Type: Unsigned 8-bit Min: 0 Default: 0 = Disabled Max: 2 Where: cc = Analog input channel nn = 0: Disabled 1: Absolute 2: Relative Example: ^AMOD 1 1 : Analog input 1 enabled in absolute mode APOL - Analog Input Conversion Polarity HexCode: 1C Description: Inverts the analog capture polarity value after conversion. When this configuration bit is cleared, the pulse capture is converted into a -1000 to +1000 command or feedback value.
Analog, Digital, Pulse IO Configurations switch, emergency stop, safety stop or invert direction. Embedded in the parameter is the motor channel(s) to which the action should apply.
Commands Reference Number of Arguments: 1 Argument 1: ActiveLevels Type: Unsigned 32-bit Min: 0 Max: 2 ^ Total Number of Digital Inputs Default: 0 = All Active high Where: cc = Digital input number aa= 0: Active High 1: Active Low Example: ^DINL 2 1 : Sets digital input 2 to active low DOA - Digital Output Action HexCode: 11 Description: This configuration parameter will set what will trigger a given output pin.
Analog, Digital, Pulse IO Configurations Example: ^DOA 1 3 : Output 1 is active when Overvoltage is observed Note: Typical default configuration is Digital outputs 1 (2) are active when motor is on. Digital output 2 (3) when no MOSFET failure is detected. To activate an output via serial command or from a Microbasic script, set that output to Never DOL - Digital Outputs Active Level HexCode: 12 Description: This parameter configures whether an output should be set to ON or to OFF when it is activated.
Commands Reference Argument 1: InputNbr Min: 1 Max: Total Number of Pulse Inputs Argument 2: Center Type: Unsigned 16-bit Min: 0 Default: 1500us Max: 65536 Where: cc = Pulse input number nn = 0 to 65536us PDB - Pulse Input Deadband HexCode: 21 Description: This sets the deadband value for the pulse capture. It is defined as the percent number from 0 to 50% and defines the amount of movement from joystick or sensor around the center position before its converted value begins to change.
Analog, Digital, Pulse IO Configurations Syntax Scripting: setconfig(_PINA, cc, nn) Number of Arguments: 2 Argument 1: InputNbr Min: 1 Max: Total Number of Pulse Inputs Argument 2: Use Type: Unsigned 8-bit Min: 0 Default: See note Max: 255 Where: cc = Pulse input number nn = 0: No action 1: Command 2: Feedback mm = mot1*16 + mot2*32 + mot3*48 Example: ^AINA 1 17: Sets Pulse input 1 as command for motor 1. I.e.
Commands Reference Where: cc = Pulse input number nn = 0: Linear (no change) 1: Exp weak 2: Exp medium 3: Exp strong 4: Log weak 5: Log medium 6: Log strong PMAX - Pulse Input Max HexCode: 1F Description: This parameter defines the raw pulse measurement number that would be considered as the +1000 internal value to the controller. By default, it is set to 2000 which is the max pulse width of an RC radio pulse.
Analog, Digital, Pulse IO Configurations Argument 1: InputNbr Min: 1 Max: Total Number of Pulse Inputs Argument 2: Action Type: Unsigned 8-bit Min: 0 Default: 0 = No action Max: 255 Where: cc = Pulse input number aa = 0: No action 1: Safety stop 2: Emergency stop 3: Motor stop 4: Forward limit switch 5: Reverse limit switch 6: Invert direction 7: Run MicroBasic script 8: Load counter with home value mm = mot1*16 + mot2*32 + mot3*48 PMIN - Pulse Input Min HexCode: 1E Description: This sets the raw value
Commands Reference PMINA - Pulse Input Action at Min HexCode: 24 Description: This parameter selects what action should be taken if the minimum value that is defined in PMIN is reached. The list of action is the same as these of the DINA digital input actions. Embedded in the parameter is the motor channel(s) to which the action should apply.
Analog, Digital, Pulse IO Configurations Syntax Scripting: setconfig(_PMOD, cc, nn) Number of Arguments: 2 Argument 1: InputNbr Min: 1 Max: Total Number of Pulse Inputs Argument 2: Mode Type: Unsigned 8-bit Min: 0 Default: See note Max: 4 Where: cc = Pulse input number nn = 0: Disabled 1: Pulse width 2: Frequency 3: Duty cycle 4: Magsensor 5: BMS 6: Pulse Count 7: Flow Sensor Example: ^PMOD 4 4 : Sets Pulse input 4 in Multi-PWM for Robteq’s MGS1600 magnetic guide sensor Note: Pulse width is designed for
Commands Reference Argument 1: InputNbr Min: 1 Max: Total Number of Pulse Inputs Argument 2: Polarity Type: Unsigned 8-bit Min: 0 Default: 0 = Non inverted Max: 1 Where: cc = Pulse input number nn = 0: Not inverted 1: Inverted Motor Configurations This section covers the various configuration parameter applying to motor operations. TABLE 15-32.
Motor Configurations TABLE 15-34.
Commands Reference Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Unsigned 16-bit Min: 10 Default: See note Max: Max Amps in datasheet Argument 2: Limit Where: cc = Motor channel nn = Amps *10 Example: ^ALIM1 455: Set Amp limit for Motor 1 to 45.
Motor Configurations 0 : No action 1: Safety stop 2: Emergency stop 3: Motor stop 4: Forward limit switch 5: Reverse limit switch 6: Invert direction 7: Run MicroBasic script 8: Load counter with home value mm = mot1*16 + mot2*32 + mot3*48 ATGD - Amps Trigger Delay HexCode: 2D Description: This parameter contains the time in milliseconds during which the Amps Trigger Level (ATRIG) must be exceeded before the Amps Trigger Action (ATGA) is called.
Commands Reference Syntax Scripting: setconfig(_ATRIG, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Level Type: Unsigned 16-bit Min: 10 Max: Max Amps in datasheet Default: Max Amps rating in datasheet Where: cc = Motor channel nn = Amps *10 Example: ^ATRIG2 550: Set Amps Trigger to 55.
Motor Configurations Syntax Serial: ^BPR cc nn ~BPR [cc] Syntax Scripting: setconfig(_BPR, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Bypass Status Type: Unsigned 8-bit Min: 0 Max: 1 Default: 0 Where: cc = Channel nn = Bypass Status 0: Disabled 1: Enabled BRV - Brake Release Voltage HexCode: E6 Description: This parameter is used to select the Voltage level with which the brake solenoid connected will be released.
Commands Reference Default: 120 = 12Volts Where: cc = Motor channel nn = Volts*10 Example: ^BRV 1 200: Sets the Release voltage level of the brake of motor channel 1 to 20Volts. BHV - Brake Hold Voltage HexCode: E7 Description: This parameter is used to select the Voltage level with which the brake solenoid connected will be hold released. It is applicable only on products that support PWM brake connection. For more details see product’s datasheet.
Motor Configurations BDT - Brake Delay Time HexCode: E8 Description: This parameter is used to select the time period for which the Brake Release Voltage is applied. After this time expires then the Brake Hold Voltage will be applied in order to consume less power. It is applicable only on products that support PWM brake connection. For more details see product’s datasheet. If the value is set to 0 then only the Brake Hold Voltage will be applied.
Commands Reference Syntax Serial: ^BLFB cc nn ~BLFB Syntax Scripting: setconfig(_BLFB, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Unsigned 8-bit Min: 0 Default: 0 = Other Sensor Max: 1 Argument 2: Sensor Where: cc = Motor channel nn = 0: Other feedback (Encoders, SSI sensors, Analog or RC sensors) 1: Brushless sensor feedback (Hall, Sin/Cos, Resolver) BLSTD - Stall Detection HexCode: 3A Description: This parameter controls the stall detection of brus
Motor Configurations 1: 250ms at 10% Power 2: 500ms at 25% Power 3: 1000ms at 50% Power Example: ^BLSTD 2: Motor will stop if applied power is higher than 10% and no motion is detected for more than 250ms CLERD - Close Loop Error Detection HexCode: 38 Description: This parameter is used to detect large tracking errors due to mechanical or sensor failures, and shut down the motor in case of problem in closed loop speed or position system.
Commands Reference EDEC - Motor Fault Deceleration Rate HexCode: E9 Description: Set the rate of speed change during deceleration for a motor channel, when a fault takes place. The faults under which this rate will be used are, Safety Stop, Deadman Switch and Closed Loop Error. Fault Decceleration value is in 0.1*RPM per second. When using controllers fitted with encoder, the speed and deceleration value are actual RPMs.
Motor Configurations Where: cc = Encoder channel nn = Counter value EHLA - Encoder Action at Max HexCode: 4E Description: This parameter lets you select what kind of action should be taken when the high limit count is reached on the encoder. The list of action is the same as in the DINA digital input action list Embedded in the parameter is the motor channel(s) to which the action should apply.
Commands Reference Syntax Serial: ^EHOME cc nn ~EHOME [cc] Syntax Scripting: setconfig(_EHOME, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Encoders Type: Signed 32-bit Min: -2147M Default: 0 Max: 2147M Argument 2: Value Where: cc = Encoder channel nn = Counter value to be loaded ELL - Encoder Min Limit HexCode: 4B Description: Defines a minimum count value at which the controller will trigger an action when the counter dips below that number.
Motor Configurations ELLA - Encoder Action at Min HexCode: 4D Description: This parameter lets you select what kind of action should be taken when the low limit count is reached on the encoder. The list of action is the same as in the DINA digital input action list Embedded in the parameter is the motor channel(s) to which the action should apply.
Commands Reference Syntax Scripting: setconfig(_EMOD, cc, aa) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Encoders Type: Unsigned 8-bit Min: 0 Default: 0 = Unused Max: 255 Argument 2: Use Where: cc = Encoder channel aa = 0: Unused 1: Command 2: Feedback mm = mot1*16 + mot2*32 + mot3*48 Example: ^EMOD 1 18 = Encoder used as feedback for channel 1 EPPR - Encoder Pulse/Rev Value HexCode: 4A Description: This parameter will set the pulse per revolution of the encoder that is at
Motor Configurations Where: cc = Encoder channel nn = PPR value Example: ^EPPR 2 200 : Sets PPR for encoder 2 to 200 ICAP - PID Integrator Limit HexCode: 32 Description: This parameter is the integral cap as a percentage. This parameter will limit maximum level of the Integral factor in the PID. It is particularly useful in position systems with long travel movement, and where the integral factor would otherwise become very large because of the extended time the integral would allow to accumulate.
Commands Reference Number of Arguments: 2 Argument 1: Channel Min: 1 Max: 2 * Total Number of Motors Argument 2: Gain Type: Unsigned 32-bit Min: 0 Max: 2,000,000,000 Default: 0 Where: cc (single channel) = 1: Speed Differential Gain 2: Position Differential Gain cc (dual channel) = 1: Speed Differential Gain for motor 1 2: Speed Differential Gain for motor 2 3: Position Differential Gain for motor 1 4: Position Differential Gain for motor 2 nn = Differential Gain *1
Motor Configurations 2: Speed Integral Gain for motor 2 3: Position Integral Gain for motor 1 4: Position Integral Gain for motor 2 nn = Integral Gain *1,000,000 Example: ^KIG 1 1500000: Set motor channel 1 Speed Integral Gain to 1.5. KPG - PID Proportional Gain HexCode: F0 Description: Sets the PID’s Proportional Gain. The value is set as the gain multiplied by 10^6. This value is used for both speed and position differential gains.
Commands Reference MAC - Motor Acceleration Rate HexCode: 33 Description: Set the rate of speed change during acceleration for a motor channel. This command is identical to the AC realtime command. Acceleration value is in 0.1*RPM per second. When using controllers fitted with encoder, the speed and acceleration value are actual RPMs. Brushless motor controllers use the internal sensor (Hall, Sin/Cos or Resolver) for measuring actual speed and acceleration will also be in actual RPM/s.
Motor Configurations Syntax Serial: ^MDEC cc nn ~MDEC [cc] Syntax Scripting: setconfig(_MDEC, cc, nn) Number of Arguments: 2 Argument 1: Channel Type: Unsigned 8-bit Min: 1 Max: Total Number of Motor Channels Argument 2: Deceleration Type: Signed 32-bit Min: 0 Max: 500000 Default: 10000 = 1000.0 RPM/s Where: cc = Motor channel nn = Deceleration time in 0.1 RPM per second Note: In Closed Loop Torque Mode the value is translated in miliAmps/sec.
Commands Reference 0: Hall Sensors (not for Brushed Controllers). 1: Encoders (not for Brushless controllers). 2: SSI Encoders Example: ^MLX 2: Configure Molex to have SSI sensors connected. MDIR - Motor Direction HexCode: 77 Description: This parameter lets you set the motor direction to inverted or direct.
Motor Configurations 0: Open-loop 1: Closed-loop speed 2: Closed-loop position relative 3: Closed-loop count position 4: Closed-loop position tracking 5: Closed-loop torque 6: Closed-loop speed position Example: ^MMOD 2 : Select Closed loop position relative MNRPM - Min Speed RPM HexCode: CB Description: This parameter contains the minimum speed that can be commanded for a motor in closed loop speed or closed loop speed position modes. See Figure 15-2 for a more detailed description.
Commands Reference Syntax Serial: ^MVEL cc nn ~MVEL [cc] Syntax Scripting: setconfig(_MVEL, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Signed 32-bit Min: 0 Default: 1000 RPM Max: 30000 Argument 2: Velocity Where: cc = Motor channel nn = Velocity value in RPM MXMD - Mixed Mode HexCode: 05 Description: Selects the mixed mode operation.
Motor Configurations MXPF - Motor Max Power Forward HexCode: 28 Description: This parameter lets you select the scaling factor for the PWM output, in the forward direction, as a percentage value. This feature is used to connect motors with voltage rating that is less than the battery voltage. For example, using a factor of 50% it is possible to connect a 12V motor onto a 24V system, in which case the motor will never see more than 12V at its input even when the maximum power is applied.
Commands Reference Argument 2: MaxPower Type: Unsigned 8-bit Min: 25 Default: 100% Max: 100 Where: cc = Motor channel nn = Max Power MXRPM - Max Speed RPM HexCode: 36 Description: Commands sent via analog, pulse or the !G command only range between -1000 to +1000. The Max RPM parameter lets you select which actual speed, in RPM, will be considered the speed to reach when a +1000 command is sent.
Motor Configurations Syntax Scripting: setconfig(_MXTRN, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Turns Type: Signed 32-bit Min: 10 Max: 100000 Default: 10000 = 1000.0 turns Where: cc = Motor channel nn = Number of turns * 10 Example: ^MXTRN 1 2000: Set max turns for motor 1 to 200.
Commands Reference OVL - Overvoltage Limit HexCode: 02 Description: Sets the voltage level at which the controller must turn off its power stage and signal an Overvoltage condition. Value is in volts multiplied by 10 (e.g. 450 = 45.0V) . The power stage will turn back on when voltage dips below the Overvoltage Clearing threshold that is set with the the OVH configuration command.
Motor Configurations Example: ^OTL 75 : Set Over temperature limit to 75 Celsius degrees. SED - Sensor Error Detection HexCode: E4 Description: This parameter sets the sensor error detection level. There are three levels of the sensitivity, Disabled, Tolerant and Strict. If it is configured as disabled then the function is inactive. when the selected value is Tolerant then the fault will be activated after 5 detected sensor errors (it is reseted when motor command is zero or the direction is reversed).
Commands Reference Syntax Serial: ^SCPR cc nn ~SCPR [cc] Syntax Scripting: setconfig(_SCPR, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of SSI Sensors Argument 2: Value Type: Signed 32-bit Min: -65535 Max: 65535 Default: 4096 Where: nn= 4096 for 12 bit sensor 8192 for 13 bit sensor 16387 for 14 bit sensor 32768 for 15 bit sensor 65535 for 16 bit sensor Example: ^SCPR 2 16384 : Sets CPR for SSI Sensor 2 to 16384 (14 bits).
Motor Configurations Min: -2147M Max: 2147M Default: +20000 Where: cc = SSI Sensor channel nn = Counter value SHLA - SSI Sensor Action at Max HexCode: DA Description: This parameter lets you select what kind of action should be taken when the high limit count is reached on the SSI Sensor. The list of action is the same as in the DINA digital input action list Embedded in the parameter is the motor channel(s) to which the action should apply.
Commands Reference SHOME - SSI Sensor Home Count HexCode: DB Description: Contains a value that will be loaded in the selected SSI counter when a home switch is detected, or when a Home command is received from the serial/USB, or issued from a MicroBasic script. When the SSI sensor is used as absolute sensor (Absolute feedback), this value will hold an offset with which the SSI sensor counter is subtracted.
Motor Configurations Type: Signed 32-bit Min: -2147M Max: 2147M Default: -20000 Where: cc = SSI Sensor channel nn = SSI Counter value Example: ^SLL 1 -100000 : Set SSI Sensor 1 low limit to minus 100000 SLLA - SSI Sensor Action at Min HexCode: D9 Description: This parameter lets you select what kind of action should be taken when the low limit count is reached on the SSI Sensor.
Commands Reference SMOD - SSI Sensor Usage HexCode: D6 Description: This parameter defines what use the SSI Sensor is for. The encoder can be used to set command or to provide feedback (speed or position feedback). The use of SSI Sensor as feedback devices is the most common. If absolute Feedback option is set then the feedback will back the absolute value of the SSI Sensor, which is useful for Closed Loop Position Modes. Embedded in the parameter is the motor to which the SSI Sensor is associated.
Motor Configurations ~TNM cc Syntax Scripting: setconfig(_TNM, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Torque Constant Type: Signed 32-bit Min: 0 Default: 1000 = 1Nm/Amps Where: cc = Motor channel nn = Motor Torque Constant (miliNm/Amps) Example: ^TNM 1 1523: Set torque constant for motor 1 to 1.523 Nm/Amps. UVL - Undervoltage Limit HexCode: 03 Description: Sets the voltage below which the controller will turn off its power stage.
Commands Reference Brushless Specific Commands TABLE 15-33.
Brushless Specific Commands Syntax Serial: ^BADJ cc nn ~BADJ [cc] Syntax Scripting: setconfig(_BADJ, cc, nn) Number of Arguments: Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Signed 16-bit Min: -511 Default: 0 Max: 511 Argument 2: Angle Where: cc = Motor channel nn = Angle Example: ^BADJ 1 220 : Manually set the zero to 220 degrees BADV - Brushless timing angle adjust HexCode: 61 Description: When operating in sinusoidal mode, this parameter shifts by number of degrees to the 3 phas
Commands Reference Example: ^BADV 1 20 : Advance motor 1 timing by 20 degrees BECC – BEMF Coupling Constant HexCode: BD Description: This configuration parameter is applicable only for sensorless motor controllers. In case of non-ideal back-EMF waveforms, this number is required to compensate for back-EMF coupling due to other two phases.
Brushless Specific Commands Type: Unsigned 8-bit Min: 0 Default: 0 = Encoder Max: 4 Where: cc = Motor channel nn = 0: Encoder 1: Hall 2: Hall + Encoder 3: SPI/SSI sensor 4: Sin/Cos sensor 5: Resolver BHL - Brushless Internal Sensor Max Limit HexCode: 3E Description: This parameter allows you to define a minimum Internal Sensor count value at which the controller will trigger an action when the counter rises above that number. This feature is useful for setting up virtual or soft limit switches.
Commands Reference BHLA - Brushless Internal Sensor Action at Max HexCode: 40 Description: This parameter lets you select what kind of action should be taken when the max limit is reached on the Internal Sensor counter. The list of action is the same as in the DINA digital input action list. Embedded in the parameter is the motor channel(s) to which the action should apply.
Brushless Specific Commands Syntax Serial: ^BHOME cc nn ~BHOME [cc] Syntax Scripting: setconfig(_BHOME, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Signed 32-bit Min: -2147M Default: 0 Max: +2147M Argument 2: Value Where: cc = Motor channel nn = Counter value to be loaded Example: ^BHOME 1 10000 : load Internal Sensor counter with 10000 when Home command is received Note: Change counter only while in open loop if brushless counter is used for speed or
Commands Reference Where: cc = Motor channel nn = Counter value Example: ^BLL 1 -10000 : Set motor 1 Internal Sensor min limit to -10000 counts Note: Counter is not an absolute position. A homing sequence is necessary to set a reference position. BLLA - Brushless Internal Sensor Action at Min HexCode: 3F Description: This parameter lets you select what kind of action should be taken when the min limit is reached on the Internal Sensor counter.
Brushless Specific Commands BMOD - Brushless Switching Mode HexCode: 5F Description: Selects the switching mode when controlling brushless motors. Additional settings apply for each mode.
Commands Reference Argument 1: Channel Min: 1 Argument 2: Number of Pole Pairs Type: Signed 8-bit Min: -127 Default: 2 Max: Total Number of Motors Max: +127 Where: cc = Motor channel nn = Number of pole pairs BZPW - Brushless Reference Seek Power HexCode: 62 Description: Sets the level of Amps to be applied to the motor coils during Motor/Sensor Setup. Motor/Sensor Setup is automatically initiated every time the controller is powered up when sinusoidal with encoder feedback is selected.
Brushless Specific Commands Syntax Serial: ^HPO cc nn ~HPO [cc] Syntax Scripting: setconfig(_HPO, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Hall Position Type: Unsigned 8-bit Min: 0 Max: 1 Default: 0 Where: cc = Motor channel nn = Hall Sensor Position 0: 120degree 1: 60degree Example: ^HPO 1 1: Configure that the Hall Sensor of motor 1 are spaced by 60 degrees.
Commands Reference Type: Unsigned 16-bit Min: 0 Max: 511 Where: cc = Input Value 1: Hall Transition 5-1 for motor channel 1 2: Hall Transition 3-2 for motor channel 1 3: Hall Transition 1-3 for motor channel 1 4: Hall Transition 6-4 for motor channel 1 5: Hall Transition 4-5 for motor channel 1 6: Hall Transition 2-6 for motor channel 1 7: Hall Transition 3-1 for motor channel 1 8: Hall Transition 6-2 for motor channel 1 9: Hall Transition 2-3 for motor channel 1 10: Hall Transition 5-4 for motor chan
Brushless Specific Commands Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Hall Sensor Map Type: Unsigned 8-bit Min: 0 Max: 5 Default: 0 Where: cc = Motor channel nn = Motor’s Hall Sensor Map Example: ^HSM 1 1: Set Hall Sensor Map for motor 1 to value 1. KIF - Current PID Integral Gain HexCode: 8E Description: Sets the Current PID’s Integral Gain. The value is set as the gain multiplied by 10^6.
Commands Reference 2: Flux Integral Gain for motor 2 3: Torque Integral Gain for motor 1 4: Torque Integral Gain for motor 2 nn = Gain * 1,000,000 Example: ^KIF 1 230000: Set motor channel 1 Flux Integral Gain to 0.23. KPF - Current PID Proportional Gain HexCode: 8D Description: Sets the Current PID’s Proportional Gain. The value is set as the gain multiplied by 10^6.
Brushless Specific Commands Syntax Serial: ^LD cc nn ~LD [cc] Syntax Scripting: setconfig(_LD, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: D-axis Motor Inductance Type: Unsigned 16-bit Min: 0 Max: 65535 Default: 0 Where: cc = Motor channel nn = D-axis motor inductance in Henry * 1,000,000 Example: ^LD 1 750 : Set the d-axis motor inductance to 0,000750 H = 750 uH LQ - Motor q-axis Inductance HexCode: ED Description: Set the q-axis motor inductance.
Commands Reference Min: 0 Max: 65535 Default: 0 Where: cc = Motor channel nn = Q-axis motor inductance in Henry * 1,000,000 Example: ^LQ 1 950 : Set the q-axis motor inductance to 0,000950 H = 950 uH PSA - Phase Shift Angle HexCode: E1 Description: When being in sinusoidal mode and Sin/Cos or Resolver feedback sensors are used, this configuration command defines the Phase Shift Angle between the Sin and Cos signals. The value is in degrees ranging from 0 to 511.
Brushless Specific Commands RS - Motor Stator Resistance HexCode: EB Description: Set the motor phase resistance. This value is used only in motor characterization Roborun+ utility tool for FOC gains calculation.
Commands Reference Argument 1: Channel Min: 1 Max: Total Number of Motors Type: Unsigned 8-bit Min: 1 Default: 1 Max: 255 Argument 2: Number Where: cc = Motor channel nn = Number of poles SSF – Sensorless Start-Up Frequency HexCode: C0 Description: This configuration parameter is applicable only for sensorless motor controllers. This is the minimum frequency (electrical Hz) at which the motor will always try to commutate if slowed down.
Brushless Specific Commands tate. It is representation of maximum flux linkage of the rotor. This number is filled after the automatic motor tuning.
Commands Reference Syntax Serial: ^SWD cc nn ~ SWD [cc] Syntax Scripting: setconfig(_SWD, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Swap Windings Type: Unsigned 8-bit Min: 0 Max: 3 Default: 0 Where: cc = Motor channel nn = Motor’s Swap Windings 0: None, Angle up-counting for clockwise direction 1: Swapped, Angle down-counting for clockwise direction 2:Hall only Swapped, Angle up-counting for clockwise direction for encoder and Angle down-counting
Brushless Specific Commands Syntax Scripting: setconfig(_TID, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Amps Type: Signed 32-bit Min: 0 Default: 0 Where: cc = Motor Channel nn = Amps * 10 VK - Motor Voltage constant HexCode: EE Description: Set the motor voltage constant. This parameter is necessary for IPM motor operation. This constant considers the peak amplitude of induced phase to phase motor back-emf per 1000 rpm mechanical speed.
Commands Reference Example: ^VK 1 14000 : Set the motor voltage constant to 14 V/krpm ZSMA - Cos Amplitude HexCode: E5 Description: This parameter contains the amplitude of the Cosine signal (SinCos sensor), which along with the values of ZSMC is used in order to calculate the signal quality (see SEC - Read Sensor Errors).
Brushless Specific Commands Syntax Scripting: setconfig(_ZSMC, cc) Number of Arguments: Argument 1: InputNbr Min: 1 Max: 6 Argument 2: Value Type: Signed 16-bit Where: cc = 1: Sin Zero Point for motor 1 2: Cos Zero Point for motor 1 3: SinCos Ratio for motor 1 4: Sin Zero Point for motor 2 5: Cos Zero Point for motor 2 6: SinCos Ratio for motor 2 nn = Calibration value AC Induction Specific Commands TABLE 15-35.
Commands Reference Number of Arguments: Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Sensor Type: Unsigned 8-bit Min: 0 Max: 4 Default: 0 = Volts Per Hertz Where: cc = Motor channel nn = 0: Volts Per Hertz 1: Constant Slip Speed 2: FOC Torque 3: FOC Speed ILM - Mutual Inductance HexCode: 9B Description: This parameter is only used for AC Induction controllers when operating in FOC mode and contains motor’s mutual inductance (coupled to both stator and rotor).
Brushless Specific Commands Where: cc = Motor channel nn = Motor’s Mutual Inductance in μH. Example: ^RFC 1 961: Set Mutual Inductance of motor 1 to value 961μH. ILLR - Rotor Leakage Inductance HexCode: 9A Description: This parameter is only used for AC Induction controllers when operating in FOC mode and contains the rotor’s per phase leakage inductance of the motor. This value can be obtained from the motor supplier.
Commands Reference IRR - Rotor Resistance HexCode: 99 Description: This parameter is only used for AC Induction controller when operating in FOC mode and contains the resistance per phase of the rotor. This value can be obtained from the motor supplier.
Brushless Specific Commands Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: Minimum Power Type: Unsigned 16-bit Min: 0 Max: 1000 Default: 100 Where: cc = Motor channel nn = Motor’s Minimum Power in % of PWM Level Example: ^MPW 1 200: Set Minimum Power for motor 1 to value 20.0% PWM Level. MXS - Optimal Slip Frequency HexCode: 96 Description: This parameter is only used for AC Induction controllers.
Commands Reference Where: cc = Motor channel nn = Motor’s Optimal Slip Frequency in Hertz * 10 Example: ^MXS 1 60: Set Optimal Slip for motor 1 to value 6.0Hz RFC - Rotor Flux Current HexCode: 98 Description: This parameter is only used for AC Induction controller. This value is the stator current component (Id) for rotor flux production when FOC modes are selected.
CAN Communication Commands Syntax Serial: ^VPH cc nn ~VPH [cc] Syntax Scripting: setconfig(_VPH, cc, nn) Number of Arguments: 2 Argument 1: Channel Min: 1 Max: Total Number of Motors Argument 2: VoltsPerHz Type: Unsigned 16-bit Min: 0 Max: 65535 Default: 20000 Where: cc = Motor channel nn = Motor’s Volts per Hertz * 1000 Example: ^VPH 1 200: Set Volts per Hertx to value 0.200 CAN Communication Commands This section describes all the configuration parameters uses for CANbus operation. TABLE 15-36.
Commands Reference CAS - CANOpen Auto start HexCode: 5A Description: Determines if device is an active CANOpen node at power up. When set, node is in operational state at power up without the need to receive a start command. Syntax Serial: ^CAS nn ~CAS Syntax Scripting: setconfig(_CAS, nn) Number of Arguments: 1 Argument 1: Rate Type: Unsigned 8-bit Min: 0 Max: 1 Default: 0 = Off Where: nn = 0: Device is is in pre-operational state at power-up. 1: Device is is in operational state at power up.
CAN Communication Commands CEN - CAN Mode HexCode: 56 Description: Enables CAN and selects the CAN protocol Syntax Serial: ^CEN nn ~CEN Syntax Scripting: setconfig(_CEN, nn) Number of Arguments: 1 Argument 1: Mode Type: Unsigned 8-bit Min: 0 Max: 5 Where: nn = 0: Disabled 1: CANOpen 2: MiniCAN 3: RawCAN 4: RoboCAN 5: MiniJ1939 CHB - CAN Heartbeat HexCode: 59 Description: Sets the rate in miliseconds at which the controller will send a heartbeat frame on the CAN bus.
Commands Reference CHLA - CAN Consumer Heartbeat Lost Action HexCode: EF Description: This configuration is used in order to configure the action to be applied on motors once the consumer heartbeat gets lost. If this happens then the command watchdog will expire. Apart from that it can be configured whether safety stop or emergency will be applied additionally to the motor.
CAN Communication Commands Where: nn = 0: Listent to all nodes (RawCAN only) 1-127: Capture frames from specific node id only CNOD - CAN Node ID HexCode: 57 Description: Stores the product’s ID on the CAN bus Syntax Serial: ^CNOD nn ~CNOD Syntax Scripting: setconfig(_CNOD, nn) Number of Arguments: 1 Argument 1: Address Type: Unsigned 8-bit Min: 0 Default: See datasheet Max: 127 Where: nn = Node address CSRT - MiniCAN SendRate HexCode: 5C Description: Rate, in ms, at which MiniCAN frames are sent.
Commands Reference CTPS - CANOpen TPDO SendRate HexCode: 5D Description: Sets the send rate for each of the 4 TPDOs when CANOpen is enabled.
TCP Communication Commands FSA – DS402 PDS Finite State Automation Enable HexCode: CC Description: Enables or disables the PDS Finite State Automation (FSA), as dictated in DS402 specification. Syntax Serial: ^FSA nn ~FSA Syntax Scripting: setconfig(_FSA, nn) Number of Arguments: 1 Argument 1: Mode Type: Unsigned 8-bit Min: 0 Max:1 Default: 0 = Off Where: nn = 0: FSA is inactive. 1: FSA is active. TCP Communication Commands This section describes all the configuration parameters uses for TCP operation.
Commands Reference ler to access the network. By enabling DHCP service, the controller uses the IP address provided by the DHCP server. Syntax Serial: ^DHCP nn ~ DHCP Syntax Scripting: setconfig(_DHCP, nn) Number of Arguments: 1 Argument 1: Enable DHCP Type: Unsigned 8-bit Min: 0 Max: 1 Default: 0 Where: nn = Enable DHCP 0: Disabled. 1: Enabled. Example: ^DHCP 1: Enable DHCP.
TCP Communication Commands TABLE 15-38. GWA default values Octet Value 1 192 2 168 3 1 4 1 Where: cc = octet nn = octet value Example: ^GWA 1 192_^GWA 2 168_^GWA 3 2_^GWA 4 1: Set Gateway Address 192.168.2.1. IPA - IP Address HexCode: 68 Description: Configure this parameter in order to set the IP Address. IP Address option includes 4 values representing each octet in the IP address v4 format. The default IP address, if DHCP is disabled, is 192.168.1.20.
Commands Reference Where: cc = octet nn = octet value Example: ^IPA 1 192_^IPA 2 168_^IPA 3 1_^IPA 4 100: Set IP Address 192.168.1.100. IPP - IP Port HexCode: 6B Description: Configure this parameter in order to set the IP Port. Default IP Port value is 9761. The IP address combined with the IP Port value are used to connect to the controller.
TCP Communication Commands Type: Unsigned 8-bit Min: 1 Max: 4 Argument 2: Primary DNS Type: Unsigned 8-bit Min: 0 Max: 255 Default: TABLE 15-40. PDNS default values Octet Value 1 192 2 168 3 1 4 1 Where: cc = octet nn = octet value Example: ^PDNS 1 192_^PDNS 2 168_^PDNS 3 2_^PDNS 4 1: Set Primary DNS 192.168.2.1. SBM - Subnet Mask HexCode: 6A Description: Configure this parameter in order to set the Subnet Mask to define the range of IP addresses that can be used in your network.
Commands Reference Default: TABLE 15-41. SBM default values Octet Value 1 255 2 255 3 255 4 0 Where: cc = octet nn = octet value Example: ^SBM 1 255_^SBM 2 255_^SBM 3 254_^SBM 4 0: Set Gateway Address 255.255.254.0. SDNS - Primary DNS HexCode: 6E Description: Configure this parameter in order to set the address of the secondary DNS server. Secondary DNS option includes 4 values representing each octet in the IP address v4 format. Secondary DNS server default address is 0.0.0.0.
TCP Communication Commands Where: cc = octet nn = octet value Example: ^SDNS 1 192_^SDNS 2 168_^SDNS 3 2_^SDNS 4 1: Set Secondary DNS 192.168.2.1. WMOD - TCP Mode HexCode: 67 Description: Configure this parameter in order to enable the TCP functionality. When the TCP mode is set as Disabled the Ethernet hub is idle and no data packets are being transmitted or received. To communicate via TCP/IP this parameter must be set to Enabled.