User Manual
Table Of Contents
- Cover
- Revision History
- Table of Contents
- Introduction
- Refer to the Datasheet for Hardware-Specific Issues
- User Manual Structure and Use
- SECTION 1 Connecting Power and Motors to the Controller
- SECTION 2 Safety Recommendations
- SECTION 3 Connecting Sensors and Actuators to Input/Outputs
- SECTION 4 I/O Configuration and Operation
- SECTION 5 Magnetic Sensor
- SECTION 6 Command Modes
- SECTION 7 Motor Operating Features and Options
- SECTION 8 Brushless Motor Connections and Operation
- SECTION 9 AC Induction MotorOperation
- SECTION 10 Closed Loop Speed and Speed Position Modes
- SECTION 11 Closed Loop Relative and Tracking Position Modes
- SECTION 12 Closed Loop Count Position Mode
- SECTION 13 Closed Loop Torque Mode
- SECTION 14 Serial (RS232/RS485/USB/TCP) Operation
- SECTION 15 Commands Reference
- Section1: ConnectingPower and Motors to the Controller
- Power Connections
- Controller Power
- Controller Powering Schemes
- Mandatory Connections
- Connection for Safe Operation with Discharged Batteries (note 1)
- Use precharge Resistor to prevent switch arcing (note 2)
- Protection against Damage due to Regeneration (notes 3 and 4)
- Connect Case to Earth if connecting AC equipment (note 5)
- Avoid Ground loops when connecting I/O devices (note 6)
- Connecting the Motors
- Single Channel Operation
- Power Fuses
- Wire Length Limits
- Electrical Noise Reduction Techniques
- Battery Current vs. Motor Current
- Measured and Calculated Currents
- Power Regeneration Considerations
- Using the Controller with a Power Supply
- Section 2: Safety Recommendations
- Section 3: Connecting Sensors and Actuators to Input/Outputs
- Controller Connections
- Controller’s Inputs and Outputs
- Connecting devices to Digital Outputs
- Connecting Resistive Loads to Outputs
- Connecting Inductive loads to Outputs
- Connecting Switches or Devices to Inputs shared with Outputs
- Connecting a Voltage Source to Analog Inputs
- Connecting Tachometer to Analog Inputs
- Connecting External Thermistor to Analog Inputs
- Using the Analog Inputs to Monitor External Voltages
- Connecting SSI Sensors
- Connecting Optical Encoders
- Connecting the Encoder
- Connecting Switches or Devices to direct Digital Inputs
- Connecting a Voltage Source to Analog Inputs
- Section 4: I/O Configuration and Operation
- Basic Operation
- Section 5: Roboteq Products Connection and Operation
- Section 6: Command Modes
- Input Command Modes and Priorities
- Operating the Controller in RC mode
- Using Sensors with PWM Outputs for Commands
- Operating the Controller In Analog Mode
- Monitoring and Telemetry in RC or Analog Modes
- Using the Controller with a Spektrum Satellite Receiver
- Using the Controller in Serial (USB/RS232/RS485/TCP) Mode
- Section 7: Motor Operating Features and Options
- Section 8: Brushless Motor Connections and Operation
- Section 9: AC Induction Motor Operation
- Section 10: Closed Loop Speed and Speed-Position Modes
- Section 11: Closed Loop Relative and Tracking Position Modes
- Modes Description
- Selecting the Position Modes
- Position Feedback Sensor Selection
- Sensor Mounting
- Feedback Sensor Range Setting
- Adding Safety Limit Switches
- Using Current Trigger as Protection
- Operating in Closed Loop Relative Position Mode
- Operating in Closed Loop Tracking Mode
- Position Mode Relative Control Loop Description
- PID tuning in Position Mode
- PID Tuning Differences between Position Relative and Position Tracking
- Loop Error Detection and Protection
- Section 12: Closed Loop Count Position Mode
- Section 13: Closed Loop Torque Mode
- Section 14: Serial(RS232/RS485/USB/TCP)Operation
- Section 15: CommandsReference
- Commands Types
- Runtime Commands
- AC - Set Acceleration
- AX - Next Acceleration
- B - Set User Boolean Variable
- BND - Spectrum Bind
- C - Set Encoder Counters
- CB - Set Brushless Counter
- CG - Set Motor Command via CAN
- CS - CAN Send
- CSS - Set SSI Sensor Counter
- D0 - Reset Individual Digital Out bits
- D1 - Set Individual Digital Out bits
- DC - Set Deceleration
- DS - Set all Digital Out bits
- DX - Next Deceleration
- EES - Save Configuration in EEPROM
- EX - Emergency Stop
- G - Go to Speed or to Relative Position
- GIQ - Go to Torque Amps
- GID - Go to Torque Amps
- H - Load Home counter
- MG - Emergency Stop Release
- MS - Stop in all modes
- P - Go to Absolute Desired Position
- PR - Go to Relative Desired Position
- PRX - Next Go to Relative Desired Position
- PX - Next Go to Absolute Desired Position
- R - MicroBasic Run
- RC - Set Pulse Out
- S - Set Motor Speed
- STT - STO Self-Test
- SX - Next Velocity
- VAR - Set User Variable
- DS402 Runtime Commands
- CW – Control Word (DS402)
- Profile Position Mode
- Velocity Mode
- PAC – Profile Acceleration (DS402)
- PDC – Profile Deceleration (DS402)
- POS – Target Position (DS402)
- PSP – Profile Velocity (DS402)
- ROM – Modes of Operation (DS402)
- S – Target Velocity (DS402)
- SAC – Velocity Acceleration (DS402)
- SDC – Velocity Deceleration (DS402)
- SPL – Velocity Min/Max Amount (DS402)
- TC – Target Torque (DS402)
- TSL – Torque Slope (DS402)
- Runtime Queries
- A - Read Motor Amps
- AI - Read Analog Inputs
- AIC - Read Analog Input after Conversion
- ANG - Read Rotor Angle
- ASI - Read Raw Sin/Cos sensor
- B - Read User Boolean Variable
- BA - Read Battery Amps
- BCR - Read Brushless Count Relative
- BMC - Read BMS State Of Charge in AmpHours
- BMF - Read BMS status flags
- BMS - Read BMS switch states
- BS - Read BL Motor Speed in RPM
- BSC - Read BMS State of Charge in percentage
- BSR - Read BL Motor Speed as 1/1000 of Max RPM
- C - Read Encoder Counter Absolute
- CAN - Read Raw CAN frame
- CB - Read Absolute Brushless Counter
- CF - Read Raw CAN Received Frames Count
- CIA - Read Converted Analog Command
- CIP - Read Internal Pulse Command
- CIS - Read Internal Serial Command
- CL - Read RoboCAN Alive Nodes Map
- CR - Read Encoder Count Relative
- CSR - Read Relative SSI Sensor Counter
- CSS - Read Absolute SSI Sensor Counter
- D - Read Digital Inputs
- DI - Read Individual Digital Inputs
- DO - Read Digital Output Status
- DPA - Read DC/Peak Amps
- DR - Read Destination Reached
- E - Read Closed Loop Error
- F - Read Feedback
- FC - Read FOC Angle Adjust
- FLW - Read Flow Sensor Counter
- FF - Read Fault Flags
- FID - Read Firmware ID
- FIN - Read Firmware ID (numerical)
- FM - Read Runtime Status Flag
- FS - Read Status Flags
- HS - Read Hall Sensor States
- ICL - Is RoboCAN Node Alive
- K - Read Spektrum Receiver
- LK - Read Lock status
- M - Read Motor Command Applied
- MA - Read Field Oriented Control Motor Amps
- MGD - Read Magsensor Track Detect
- MGM - Read Magsensor Markers
- MGS - Read Magsensor Status
- MGT - Read Magsensor Track Position
- MGY - Read Magsensor Gyroscope
- MGX - Read MagSensor Tape Cross Detection
- P - Read Motor Power Output Applied
- PHA - Read Phase Amps
- PI - Read Pulse Inputs
- PIC - Read Pulse Input after Conversion
- S - Read Encoder Motor Speed in RPM
- SCC - Read Script Checksum
- SNA - Read Sensor Angle
- SR - Read Encoder Speed Relative
- SS - Read SSI Sensor Motor Speed in RPM
- SSR - Read SSI Sensor Speed Relative
- STT - STO Self-Test Result
- T - Read Temperature
- TM - Read Time
- TR - Read Position Relative Tracking
- TRN - Read Control Unit type and Controller Model
- UID - Read MCU Id
- V - Read Volts
- VAR - Read User Integer Variable
- SL - Read Slip Frequency
- DS402 Runtime Queries
- AOM – Modes of Operation Display (DS402)
- CW – Control Word (DS402)
- F – Velocity/Position Actual Value (DS402)
- PAC – Profile Acceleration (DS402)
- PDC – Profile Deceleration (DS402)
- POS – Target Position (DS402)
- PSP – Profile Velocity (DS402)
- RMP – VL Velocity Demand (DS402)
- ROM – Modes of Operation (DS402)
- S – Target Velocity (DS402)
- SAC – Velocity Acceleration (DS402)
- SDC – Velocity Deceleration (DS402)
- SDM – Supported Drive Modes (DS402)
- SPL – Velocity Min/Max Amount (DS402)
- SW – Status Word (DS402)
- TC – Target Torque (DS402)
- TRQ – Target Torque (DS402)
- TSL – Profile Acceleration (DS402)
- VNM – Version Number (DS402)
- Query History Commands
- Maintenance Commands
- CLMOD – Motor/Sensor Setup
- CLRST - Reset configuration to factory defaults
- CLSAV - Save calibrations to Flash
- DFU - Update Firmware via USB
- EELD - Load Parameters from EEPROM
- EELOG - Dump Flash Log Data
- EERST - Reset Factory Defaults
- EESAV - Save Configuration in EEPROM
- ERASE - Erase Flash Log Data
- LK - Lock Configuration Access
- RESET - Reset Controller
- SLD - Script Load
- STIME - Set Time
- UK - Unlock Configuration Access
- Set/Read Configuration Commands
- General Configuration and Safety
- ACS - Analog Center Safety
- AMS - Analog within Min & Max Safety
- BEE - User Storage in Battery Backed RAM
- BRUN - MicroBasic Auto Start
- CLIN - Command Linearity
- CPRI - Command Priorities
- DFC - Default Command value
- DMOD – Modbus Mode
- ECHOF - Enable/Disable Serial Echo
- EE - Store User Data in Flash
- MDAL – Modbus Data Alignment
- MNOD – Modbus Node ID
- RSBR - Set RS232 bit rate
- RS485 - Enable RS485
- RWD - Serial Data Watchdog
- SCRO - Select Print output port for scripting
- SKCTR - Spektrum Center
- SKDB - Spektrum Deadband
- SKLIN - Spektrum Linearity
- SKMAX - Spektrum Max
- SKMIN - Spektrum Min
- SKUSE - Assign Spektrum port to motor command
- STO – STO Enable
- TELS - Telemetry String
- Analog, Digital, Pulse IO Configurations
- ACTR - Set Analog Input Center (0) Level
- ADB - Analog Deadband
- AINA - Analog Input Use
- ALIN - Analog Linearity
- AMAX - Set Analog Input Max Range
- AMAXA - Action at Analog Max
- AMIN - Set Analog Input Min Range
- AMINA - Action at Analog Min
- AMOD - Enable and Set Analog Input Mode
- APOL - Analog Input Polarity
- DINA - Digital Input Action
- DINL - Digital Input Active Level
- DOA - Digital Output Action
- DOL - Digital Outputs Active Level
- PCTR - Pulse Center Range
- PDB - Pulse Input Deadband
- PINA - Pulse Input Use
- PLIN - Pulse Linearity
- PMAX - Pulse Max Range
- PMAXA - Action on Pulse Max
- PMIN - Pulse Min Range
- PMINA - Action on Pulse Min
- PMOD - Pulse Mode Select
- PPOL - Pulse Input Polarity
- Motor Configurations
- ALIM - Amp Limit
- ATGA - Amps Trigger Action
- ATGD - Amps Trigger Delay
- ATRIG - Amps Trigger Level
- BKD - Brake activation delay in ms
- BLFB - Encoder or Hall Sensor Feedback for closed loop
- BLSTD - Stall Detection
- CLERD - Close Loop Error Detection
- EDEC - Fault Motor Deceleration Rate
- EHL - Encoder High Count Limit
- EHLA - Encoder High Limit Action
- EHOME - Encoder Counter Load at Home Position
- ELL - Encoder Low Count Limit
- ELLA - Encoder Low Limit Action
- EMOD - Encoder Usage
- EPPR - Encoder PPR Value
- ICAP - PID Integral Cap
- KD - PID Differential Gain
- KI - PID Integral Gain
- KP - PID Proportional Gain
- MAC - Motor Acceleration Rate
- MDEC - Motor Deceleration Rate
- MLX - Molex Input
- MDIR - Motor Direction
- MMOD - Operating Mode
- MVEL - Default Position Velocity
- MXMD - Separate or Mixed Mode Select
- MXPF - Motor Max Power Forward
- MXPR - Motor Max Power Reverse
- MXRPM - Max RPM Value
- MXTRN - Number of turns between limits
- OVH - Overvoltage hysteresis
- OVL - Overvoltage Cutoff Limit
- OTL - Over Temperature Cutoff Limit
- PWMF - PWM Frequency
- SCPR - SSI Sensor CPR Value
- SHL - SSI Sensor High Count Limit
- SHLA - SSI Sensor High Limit Action
- SHOME - SSI Sensor Counter Load at Home Position
- SLL - SSI Sensor Low Count Limit
- SLLA - SSI Sensor Low Limit Action
- SMOD - SSI Sensor Usage
- THLD - Short Circuit Detection Threshold
- TNM - Motor Torque Constant
- UVL - Undervoltage Limit
- Brushless Specific Commands
- BADJ - Brushless zero angle
- BADV - Brushless timing angle adjust
- BECC – BEMF Coupling Constant
- BFBK - Brushless feedback sesnor
- BHL - Brushless Counter High Limit
- BHLA - Brushless Counter High Limit Action
- BHOME - Brushless Counter Load at Home Position
- BLL - Brushless Counter Low Limit
- BLLA - Brushless Counter Low Limit Action
- BMOD - Brushless operating mode
- BPOL - Number of Pole Pairs and Speed Polarity of Brushless Motor
- BZPW - Brushless zero seek power level
- HPO - Hall Sensor Position
- HSM - Hall Sensor Map
- KIF - FOC PID Integral Gain
- KPF - FOC PID Proportional Gain
- PSA - Phase Shift Angle
- SPOL - Sin/Cos, Resolver or SSI sensor number of poles
- SSF – Sensorless Start-Up Frequency
- SVT – BEMF Integrator Limit
- SWD - Swap Windings
- TID - FOC Target Id
- ZSMC - SinCos Calibration
- AC Induction Specific Commands
- VPH - AC Induction Volts per Hertz
- ILM - Mutual Inductance
- ILLR - Rotor Leakage Inductance
- IRR - Rotor Resistance
- MPW - Minimum Power
- MXS - Optimal Slip Frequency
- RFC - Rotor Flux Current
- CAN Communication Commands
- TCP Communication Commands
Closed Loop Speed Mode
140 Advanced Digital Motor Controller User Manual V2.0 July 8 2019
Determining the right polarity is best done experimentally using the Roborun utility (see
“Roborun+ Utility User Manual”) and following these steps:
1. Configure the controller in Open Loop Mode using the PC utility. This will cause the
motor to run in Open Loop for now.
2. Configure the sensor you plan to use as speed feedback. If an analog tachometer is
used, map the analog channel on which it is connected as “Feedback” for the select-
ed motor channel. If an encoder is used, configure the encoder channel with the en-
coder’s Pulses Per Revolution value. On the brushless motor, if the rotor sensor (Hall,
Sin/Cos, ..) sensors are used, configure the correct number of motor pole pairs.
3. Click on the Run tab of the PC utility. Configure the Chart recorder to display the
speed information if an encoder is used. Display Feedback if an analog sensor is
used.
4. Verify that the motor sliders are in the “0” (Stop) position.
5. If a tachometer is used, verify that the reported feedback value read is 0 when the
motors are stopped. If not, adjust the Analog Center parameter.
6. Move the cursor of the desired motor to the right so that the motor starts rotating,
and verify that a positive speed is reported. Move the cursor to the left and verify that
a negative speed is reported.
7. If the reported speed polarity is the same as the applied command, the wiring is cor-
rect.
8. If the tachometer polarity is opposite of the command. If an encoder is used, swap its
ChA and ChB outputs. Alternatively, swap the motor leads if using a brushed DC motor
only. The speed polarity can also be inverted by entering a negative number of encoder
PPR. On brushless motors, entering a negative number of poles will invert the speed
measured by the Hall, SinCos, or Resolver sensor. If using SSI sensor, the speed polari-
ty can be inverted by entering a negative number of SSI sensor resolution.
9. Set the controller operating mode to Closed Loop Speed mode using the Roborun
utility.
10. Move the cursor and verify that speed stabilizes at the desired value. If speed is un-
stable, tune the PID values.
Important Warning
It is critically important that the tachometer or encoder wiring be extremely robust.
If the speed sensor reports an erroneous speed or no speed at all, the controller will
consider that the motor has not reached the desired speed value and will gradually
increase the applied power to the motor until the closed loop error is triggered and
the motor is then stopped.
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 de-