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
Field Oriented Control (FOC) mode Operation
Advanced Digital Motor Controller User Manual 133
Rs
Stator
Resistance
Lls
Stator
Leakage
Inductance
Rr
Rotor
Resistance
Llr
Rotor
Leakage
Inductance
Lm
Mutual
Inductance
These parameters include per phase rotor resistance ‘Rr’, rotor leakage inductance ‘Llr’,
mutual inductance ‘Lm’ and rotor leakage inductance ‘Llr’. Usually, motor manufacturer will
provide you an equivalent circuit of the induction motor that contains Rr, Rs, Lm, Llr, Lls
In FOC, therefore, rotor flux and motor torque can be individually controlled regardless
of load and speed. FOC offers better dynamic performance, accurate current control and
ensures maximum efficiency, unlike traditional scalar control methods such as Open Loop
VpH and Constant Slip Control.
Under FOC operation, AC induction motors can be run in either FOC torque mode or FOC
speed mode. FOC torque mode allows users to command a torque to a motor in terms of
Amps. While FOC speed will regulate the speed at the command/desired value.
Configuring FOC Torque Mode
To configure FOC mode, first set the controller in Open Loop (Volts per Hertz) mode as
described in one of the previous sections. Verify that the motor is spinning in the desired
direction and that encoder is working and is counting with the correct polarity. See Testing
the Encoder section above.
Once the encoder is verified to work and the motor spins in the open loop, follow these
steps. Using the Roborun PC utility:
• Enter the motor parameters under the section “Motor Parameters” in RoboRun
configuration. Usually, motor manufacturer will provide you an equivalent circuit of the
induction motor that contains Rr, Rs, Lm, Llr, Lls.
• Set the Flux Amps. In order to find the optimal flux amps, run the motor in Volts per
Hertz (VpH) mode with small/no load using the motor’s rated VpH ratio. Then watch the
flux amps in the PC utility. Enter this value in the configuration. This flux amps can be
increased for low speed/high torque requirement and can be decreased (Field Weaken-
ing) 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.
Alternatively use the method as described in chapter “FOC Gains Tuning” in Section 8,
using the Stator Resistance (Rs) and the Stator Inductance (Ls).