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
Brushless Motor Connections and Operation
124 Advanced Digital Motor Controller User Manual V2.0, July 8, 2019
In the sensorless mode the motor will spin regardless of the phase wiring order. If the
motor spin in the opposite direction than the one desired, swap any two of the three mo-
tor wires, or change the motor direction to Inverted in the motor configuration..
The number of poles setting is not necessary in order for the motor to run. The number
of poles is only used to measure the motor’s rotation speed. Enter a negative number of
poles in order to change the speed polarity and count direction.
Sensorless PWM Frequency
PWM Frequency is variable when operating in sensorless mode. At startup and very
low speeds, the applied PWM Frequency is this from the configuration settings (16kHz
default). As the motor speeds up, the PWM Frequency is automatically increased up to
45kHz max. These settings work in practically all conditions and should be left unchanged
A low PWM Frequency improves the precision of the Back EMF measurement at very
slow speed. This in turn can help startup in difficult motor conditions. When lowering the
frequency, verify that the operation at maximum speed is not affected while the startup
improves. Do not go below the 6kHz minimum PWM frequency..
Sensorless Auto-tuning
An auto-tuning mechanism is provided for determining the BECC and SVT values. Beware
that the motor will reach maximum speed during calibration/auto-tuning. The auto-tuning
sequence lasts around one minute.
Make sure the controller is configured in open loop. Then, from the Diagnostics tab of
the Roborun+ Utility, click on the “Motor/Sensor Setup” button from the diagnostics tab
of the Roborun+ Utility. The motor will ramp up to two different speeds. If motor fails to
start, or starts unreliably, it may be necessary to adjust the Startup Frequency. See “Sen-
sorless Parameters” section above.
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.
In case BECC is reported as a negative number, the calibration will be treated as a failure,
and the error message “BEMF Integration Limit Detection FAILED!” will be displayed in
the console
If the calibration was successful, then motor is ready to use. Send motor commands in
open loop and verify that it runs in both direction with reliability startup.
Further verification is possible by using an oscilloscope connected to any of the motor
phases. Verify that the signal is symmetrical as shown in figure 8-5. If it is imbalanced,
this means that the Back EMF Integrator Limit (SVT) needs further adjustment. You can
change the value manually until the left and right ramps look symmetrical.
Important Warning
Beware that the motor will spin at maximum speed during calibration/auto-tuning.
Make sure it is safe to do so before initiating. Be ready to cut to power instantly at
any time during the tuning process.