RoboteQ AX2550, AX2850 User Manual

AX2550/2850
Dual Channel High Power Digital Motor Controller
User’s Manual
v1.7, February 1, 2005
visit www.roboteq.com to download the latest revision of this manual

Revision History

Date Version Changes
February 1, 2005 1.7 Added Position mode support with Optical Encoder
Miscellaneous additions and corrections
April 17, 2004 1.6 Added Optical Encoder support
March 15, 2004 1.5 Added finer Amps limit settings
Enhanced Roborun utility
August 25, 2003 1.3 Added CLosed Loop Speed mode
Added Data Logging support
Removed RC monitoring
August 15, 2003 1.2 Modified to cover AX2550/2850 controller design
Changed Power Connection section
April 15, 2003 1.1 Added analog mode section
Added position mode section
Added RCRC monitoring feature
Updated Roborun utility section
Modified RS232 watchdog
March 15, 2003 1.0 Initial Release
The information contained in this manual is believed to be accurate and reliable. However, it may contain errors that were not noticed at time of publication. User’s are expected to perform their own product validation and not rely solely on data contained in this manual.
2 AX2550/2850 Motor Controller User’s Manual Version 1.7. February 1, 2005
Revision History
AX2550/2850 Motor Controller Users Manual 3
4 AX2550/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Revision History 2
SECTION 1 AX2500/2850
Quick Start 11
What you will need 11 Locating Switches, Wires and Connectors 12 Connecting to the Batteries and Motors 13 Using the Power Control Wire 14 Connecting the R/C Radio 14 Powering On the Controller 15 Button Operation 16 Default Controller Configuration 17 Checking and Changing Configurations 17 Connecting the controller to your PC using Roborun 18 Obtaining the Controller’s Software Revision Number 19 Exploring further 20
SECTION 2 AX2500/2850 Motor Controller Overview 21
Product Description 21 Technical features 22
SECTION 3 Connecting Power and Motors to the Controller 25
Connecting Power 25 Controller Power 26
Powering the Controller using the Motor Batteries 28
Using a Backup Battery 29 Power Fuses 30 Wire Length Limits 30 Electrical Noise Reduction Techniques 31 Power Regeneration Considerations 31 Overvoltage Protection 32 Undervoltage Protection 32 Using the Controller with a Power Supply 32
SECTION 4 General Operation 35
Basic Operation 35 Input Command Modes 35 Selecting the Motor Control Modes 36
Open Loop, Separate Speed Control 36
Open Loop, Mixed Speed Control 36
Closed Loop Speed Control 37
Close Loop Position Control 37
AX2500/2850 Motor Controller Users Manual 5
Current Limit Settings 38 Continuous and Extended Current Limitation 38 Temperature-Based Current Limitation 39 Surge Current Protection 40 Regeneration Current Limiting 40 Programmable Acceleration 40 Command Control Curves 42 Left / Right Tuning Adjustment 43 Emergency Shut Down Using Controller Switches 45 Emergency Stop using External Switch 45 Inverted Operation 46 Special Use of Accessory Digital Inputs 46
Using the Inputs to Activate the Buffered Output 46 Using the Inputs to turn Off/On the Power MOSFET transistors 46
Self-Test Mode 47
SECTION 5 Connecting Sensors and Actuators to Input/Outputs 49
AX2500/2850 Connections 49 AX2500/2850’s Inputs and Outputs 51 I/O List and Pin Assignment 52 Connecting devices to Output C 53 Connecting devices to Output D 54 Connecting Switches or Devices to Input E 55 Connecting Switches or Devices to Input F 55 Connecting Switches or Devices to EStop/Invert Input 56 Connecting Position Potentiometers to Analog Inputs 57 Connecting Tachometer to Analog Inputs 58 Connecting External Thermistor to Analog Inputs 59 Using the Analog Inputs to Monitor External Voltages 60 Connecting User Devices to Analog Inputs 61 Internal Voltage Monitoring Sensors 62 Internal Heatsink Temperature Sensors 62 Temperature Conversion C Source Code 63
SECTION 6 Normal and
Fault Condition LED Messages 65
Use of the LED Display 65 Motor Direction Status 66 Fault Messages 67
No Control 67 Emergency Stop 68
6 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Self-Test Display 68
SECTION 7 R/C Operation 69
Mode Description 69 Selecting the R/C Input Mode 70 Typical Wiring 70 Connector I/O Pin Assignment (R/C Mode) 71 R/C Input Circuit Description 72 Supplied Cable Description 73 Cabling to R/C Receiver using Full Opto-Isolation 74 Cabling to R/C Receiver with Partial Opto-Isolation 75 Powering the Radio from the controller 76 Operating the Controller in R/C mode 78 Reception Watchdog 79 R/C Transmitter/Receiver Quality Considerations 79 Joystick Deadband Programming 80 Command Control Curves 81 Left/Right Tuning Adjustment 81 Joystick Calibration 81 Automatic Joystick Calibration 82 Activating the Accessory Outputs 83 Data Logging in R/C Mode 84
SECTION 8 Serial (RS-232) Controls and Operation 87
Use and benefits of RS232 87 Connector I/O Pin Assignment (RS232 Mode) 88 Cable configuration 89 Extending the RS232 Cable 89 Communication Settings 90 Establishing Manual Communication with a PC 90
Entering RS232 from R/C or Analog mode 91
Data Logging String in R/C or Analog mode 91
RS232 Mode if default 92 RS232 Commands Set 92
Set Motor Command Value 92
Set Accessory Outputs 93
Query Power Applied to Motors 93
Query Amps Consumed by Motors 94
Query Analog Inputs 94
Query Heatsink Temperatures 95
Query Battery Voltages 95
Query Digital Inputs 95
Read and Modify Controller Settings 96
AX2500/2850 Motor Controller Users Manual 7
Apply Parameter Changes 97
Reset Controller 97 Optical Encoder Commands 97 Commands Acknowledge and Error Messages 97
Character Echo 97
Command Acknowledgement 98
Command Error 98
Watchdog time-out 98 RS-232 Watchdog 98 RS232 Accessible Parameter Table 99 Automatic Switching from RS232 to RC Mode 101 Analog and R/C Modes Data Logging String Format 102 Data Logging Cables 103 Decimal to Hexadecimal Conversion Table 104
SECTION 9 Analog Control and Operation 107
Mode Description 10 7 Connector I/O Pin Assignment (Analog Mode) 108 Connecting to a Voltage Source 109 Connecting a Potentiometer 109 Selecting the Potentiometer Value 110 Analog Deadband Adjustment 111 Power-On Safety 11 2 Under Voltage Safety 11 2 Data Logging in Analog Mode 11 2
SECTION 10 Closed Loop Position Mode 11 5
Mode Description 11 5 Selecting the Position Mode 11 5 Position Sensor Selection 116 Sensor Mounting 11 6 Potentiometer wiring 117 Using Optical Encoders in Position Mode 117 Sensor and Motor Polarity 11 7 Adding Safety Limit Switches 119 Using Current Limiting as Protection 120 Control Loop Description 120 PID tuning in Position Mode 122
SECTION 11 Closed Loop Speed Mode 123
Mode Description 123 Selecting the Speed Mode 123
8 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Using Optical Encoder for Speed Feedback (AX2850 only) 124 Tachometer or Encoder Mounting 124 Tachometer wiring 124 Speed Sensor and Motor Polarity 125 Adjust Offset and Max Speed 126 Control Loop Description 127 PID tuning in Speed Mode 128
SECTION 12 Installing, Connecting and Using the Encoder Module 131
Optical Incremental Encoders Overview 131 Recommended Encoder Types 132 Installing the Encoder Module 133 Connecting the Encoder 135 Motor - Encoder Polarity Matching 136 Voltage Levels, Thresholds and Limit Switches 136 Wiring Optional Limit Switches 137 Using the Encoder Module to Measure Distance 138 Using the Encoder to Measure Speed 139 Using the Encoder to Track Position 140 RS232 Communication with the Encoder Module 141 RS232 Encoder Command Set 142
Read Encoder Counter 142 Set/Reset Encoder Counters and Destination Registers 143 Read Speed 143 Read Distance 144 Read Speed/Distance 144 Read Encoder Limit Switch Status 144 Read / Modify Encoder Module Registers and Parameters 145
Register Description 147
Encoder Hardware ID code 147 Switch Status 148 Speed or Distance 1 or 2 148 Counter Read/Write Mailbox 148 Counter 1 and 2 148 Destination Register 1 and 2 148 Distance 1 and 2 148 Speed 1 and 2 149 Time Base 1 and 2 149
Encoder Threshold 149 Counter Read Data Format 149 Encoder Testing and Setting Using the PC Utility 150
Encoder Module Parameters Setting 151
Exercising the Motors 152
AX2500/2850 Motor Controller Users Manual 9
Viewing Encoder Data 152
Updating the Encoder Software 152
SECTION 13 Configuring the Controller using the Switches 153
Programming Methods 153 Programming using built-in Switches and Display 153
Entering Programming Mode 154 Changing parameters 155 The Special Case of Joystick Calibration 155 Restoring factory defaults 155 Exiting the Parameter Setting Mode 156
Programmable Parameters List 156
SECTION 14 Using the Roborun Configuration Utility 159
System Requirements 159 Downloading and Installing the Utility 159 Connecting the Controller to the PC 160 Roborun Frame, Tab and Menu Descriptions 161 Getting On-Screen Help 162 Loading, Changing Controller Parameters 162
Controls Settings 163 Power Settings 164 Analog or R/C Specific Settings 165
Closed Loop Parameters 166 Viewing the Parameters Summary 166 Optical Encoder Operation 167 Running the Motors 167
Logging Data to Disk 170
Connecting a Joystick 171 Viewing and Logging Data in Analog and R/C Modes 172 Loading and Saving Profiles to Disk 172 Operating the AX2500/2850 over a Wired or Wireless LAN 172 Updating the Controller’s Software 174 Creating Customized Object Files 174
SECTION 15 Mechanical Specifications 177
Mechanical Dimensions 177 Mounting Considerations 178 Thermal Considerations 178 Wire Dimensions 179 Weight 179
10 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
SECTION 1 AX2500/2850
Quick Start
This section will give you the basic information needed to quickly install, setup and run your AX2500/2850 controller in a minimal configuration. The AX2850 is a version of the AX2550 controller with the addition of Optical Encoder inputs.

Important Safety Warnings

The AX2500/2850 is a high power electronics device. Serious damage, includ­ing fire, may occur to the unit, motors, wiring and batteries as a result of its misuse. Please review the User’s Manual for added precautions prior to apply­ing full battery or full load power.
This product is intended for use with
Unless special precautions are taken, damage to the controller and/or power supply may occur if operated with a power supply alone. See“Power Regener­ation Considerations” on page 31 of the Users Manual.

What you will need

For a minimal installation, gather the following components
One AX2500/2850 Controller and its provided cables
12V to 40V high capacity, high current battery
One or two brushed DC motors
One R/C to DB15 connector (provided)
Miscellaneous wires, connectors, fuses and switch
rechargeable batteries
.
AX2500/2850 Motor Controller Users Manual 11
AX2500/2850 Quick Start

Locating Switches, Wires and Connectors

Take a moment to familiarize yourself with the controller’s wires, switches and connector.
The front side (shown in Figure 1) contains the buttons and display needed to operate and monitor the controller. The 15-pin connector provides the connection to the R/C or micro­computer, as well as connections to optional switches and sensors.
Program Set
Controller Configu­ration buttons
Connector to Optical Encoders (AX2850 only)
FIGURE 1. Front Controller Layout
At the back of the controller (shown in the figure below) are located all the wires that must be connected to the batteries and the motors.
Controller Power
Power Control
Yellow
Reset
Operating Status and Program LED Display
Ground (-)
Black
Connector to Receiver/Controls and sensors
(top)
Motor (+)
White
Motor (-)
Green
Motor 1
12 to 40V (+)
Red
Ground (-)
Black
12 to 40V (+)
Red
Motor 2
Motor(+) Yellow or
White
Motor (-)
Green
FIGURE 2. Rear Controller Layout
12 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting to the Batteries and Motors

Connecting to the Batteries and Motors
Connection to the batteries and motors is shown in the figure below and is done by con­necting the set of wires coming out from the back of the controller.
Motor2
Motor1
Motor
Cables
+
-
+
-
Controller
Battery
Power Cables
Motor Battery
Fuse
12V to 40V
Optional
Power on/off
switch
Power Control
Wire
Notes:
- The Battery Power connection are doubled in order to provide the maximum current to the controller. If only one motor is used, only one set of motor power cables needs to be connected
- Typically, 1, 2 or 3 x 12V batteries are connected in series to reach 12, 24 or 36V respectively
- The Power Control wire may be used to turn On and Off the controller, or to provide a separate and sta­ble supply to the controller’s logic (See discussion below)
FIGURE 3. Electrical Power Wiring Diagram
1- Connect the two thick black wires to the minus (-) terminal of the battery that will be used to power the motors. Connect the two thick red wires to the plus (+) terminal of the battery. The motor battery may be of 12 to 40 Volts. There is no need to insert a switch on Motor Power cables, although one is suggested.
Avoid extending the length of these wires as the added inductance may cause dam­age to the controller when operating at high currents. Try extending the motor wires instead since the added inductance on this side of the controller is not harmful.
The two red wires are connected to each other inside the controller. The same is true for the black wires. You should wire each pair together as shown in the diagram above.
2- You may leave the yellow Power Control wire and the thin black wire unconnected, or you may connect them to a power switch. If left floating, protect these wires from touching any metallic part of the controller or chassis.
Refer to the chapter “Connecting Power and Motors to the Controller on page 25 for more information about batteries and other connection options.
3- Connect each motor to one of the two output cables pair. Make sure to respect the polarity, otherwise the motor(s) may spin in the opposite direction than expected
AX2500/2850 Motor Controller Users Manual 13
AX2500/2850 Quick Start

Important Warning

The controller includes large capacitors. When connecting the Motor Power Cables, a spark will be generated at the connection point. This is a normal occurrence and should be expected.

Using the Power Control Wire

The AX2500/2850 includes a DC/DC converter that will generate a 12V internal supply from the main +12 to +40V battery. As a result, the controller will turn On as soon as its Battery Wires (thick red and black wires) are connected to the battery.
In order to turn On and Off the controller without the need for a bulky and expensive switch or relay on the high current wires, the AX2500/2850 uses a Power Control wire to enable or disable the internal DC/DC converter. When left unconnected, the DC/DC con­verter is On. When grounded, the DC/DC converter is Off.
The Power Control wire can also be used to feed a separate supply to the controller so that it will continue to operate if and when the main batteries voltage dips below 12V. The table below shows the various functions of the Power Control input. See Connecting Power on page 25 for more details on the use and operation of the Power Control signal.
TABLE 1. Use of Power Control wire
Power Control input connected to Action
Floating Controller is On
Ground Controller is Off
Separate 12V to 40V supply Controller is On. Controller will draw power from
the Power Control wire if main battery voltage dips below 12V.

Connecting the R/C Radio

Connect the R/C adapter cables to the controller on one side and to two or three channels on the R/C receiver on the other side. The third channel is for activating the accessory out­puts and is optional.
When operating the controller in “Separate” mode, the wire labelled Ch1 controls Motor1, and the wire labelled Ch2 controls Motor2.
When operating the controller in “Mixed” mode, Ch1 is used to set the robots speed and direction, while Ch2 is used for steering.
See R/C Operation” on page 69 of the User’s Manual for a more complete discussion on R/C commands, calibration and other options.
14 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Powering On the Controller

Channel 3
Channel 2
Channel 1
Pin 1
15
FIGURE 4. R/C connector wiring for 3 channels and battery elimination (BEC)
This wiring - with the wire loop uncut - assumes hat the R/C radio will be powered by the AX2500/2850 controller. Other wiring options are described in R/C Operation on page 69 of the User’s Manual.

Important Warning

Do not connect a battery to the radio when the wire loop is uncut. The RC battery voltage will flow directly into the controller and cause permanent damage if its volt­age is higher than 5.5V.
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
8
9
Wire loop bringing power from controller to RC radio and to optical isolators
Connecting the optional channel 3 will enable you to turn on and off two accessory out­puts. See Connecting Sensors and Actuators to Input/Outputs on page 49 and “Activat- ing the Accessory Outputs on page 83 of the Users Manual.
Powering On the Controller
Important reminder: There is no On-Off switch on the controller. You must insert a switch on the controller’s power wire as described in sectionConnecting to the Batteries and Motors on page 13.
To power the controller, center the joystick and trims on the R/C transmitter. Then turn on the switch that you have placed on the Battery Power wire or on the Power Control wire.
If the R/C transmitter and/or receiver is powered off, the display on the controller will alter­nate the letters spelling no ctrl to indicate that it is On but is not receiving a control sig­nal.
AX2500/2850 Motor Controller Users Manual 15
AX2500/2850 Quick Start
FIGURE 5. no control scroll message indicates no valid R/C signal is present
Turn the R/C transmitter On. The no ctrl scrolling message will disappear and the display will show steady patterns depending on the motors selected direction.
Move the joystick on the transmitter to activate the motors to the desired speed and direc­tion.
See R/C Operation” on page 69 of the User’s Manual for a detailed description of the many features and options available in the R/C mode.

Button Operation

The AX2500/2850 has three buttons: Set, Program and Reset. These buttons are not needed for normal operation, as the controller is immediately operational upon power up.
The Reset button will restart the controller. This button is recessed and you will need a paper clip to press it. Reset is also accomplished by turning the controller’s power Off and back On.
The Set and Program buttons have the following functions depending how and when they are pressed:
TABLE 2. AX2500/2850 Buttons Function
Prog and Set button status Function
Press and hold Program alone during reset or power up Enter the Programming Mode.
Press and hold Set alone during reset of power up Enter Self-Test mode. See “Self-Test
Mode” on page 47 of the User’s Manual
Press and hold Program and Set together during reset or power up
Press Program while Programming Mode Accept previous parameter change and
Press Set while in Programming mode Change value of selected parameter
Press Program pressed alone during normal operation No effect
Press Set alone during normal operation No effect
Press Program and Set together during normal operation Emergency stop
Reset configuration parameters to factory default
select next parameter
16 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Default Controller Configuration

Default Controller Configuration
Version 1.7 of the AX2500/2850 software is configured with the factory defaults shown in the table below. Although Roboteq strives to keep the same parameters and values from one version to the next, changes may occur from one revision to the next. Make sure that you have the matching manual and software versions. These may be retrieved from the Roboteq web site. See Configuring the Controller using the Switches on page 153 of the
User Manual for a complete configuration parameter list and their possible values.
TABLE 3. AX2500/2850 Default Settings
Parameter Default Values Letter
Input Command mode: (0) = R/C Radio mode I
Motor Control mode (0) = Separate A, B, speed control, open loop C
Amp limit (5) = 105A A
Acceleration (2) = medium-slow S
Input switch function (3) = no action U
Brake/Coast (0) = brake when idle b
Joystick Deadband (2) = 16% d
Exponentiation on channel 1 (0) = Linear (no exponentiation) E
Exponentiation on channel 2 (0) = Linear (no exponentiation) F
Left / Right Adjust (7) = no adjustment L

Checking and Changing Configurations

Any one of the parameters listed in Table 3, and others not listed, can easily be changed either using the controllers buttons or your PC with the Roboteq Configuration Utility.
The example below shows how to use the buttons to select and change the Motor Control mode from “separate” to “mixed”. See Configuring the Controller using the Switches on page 153 of the User’s Manual for a complete list of all the AX2500/2850’s parameters and their meanings.
Press & hold Prog
Program mode entered
Restart
after 10 seconds
Press and hold the Prog button for 10 seconds while resetting or powering on the controller
After 10 seconds, the controller will enter the program­ming mode and flash alternatively the current parame­ter (I= Input Mode) and its value (0= R/C mode).
AX2500/2850 Motor Controller Users Manual 17
AX2500/2850 Quick Start
Press Prog to select
next parameter
Press Set to select
next value for parameter
Press Prog to store change
and select next parameter
Reset controller
to exit
Press the Prog button to move to the next parameter (C= Motor Control Mode) and its value (0= Separate)
Press the Set button to change the parameters value (1= Combined)
Press the Prog button record the change and move to the next parameter (A= Amps limit) and it’s value (2= 75A)
Press the Reset button or power off/on the control to restart the controller using the new parameters.

Connecting the controller to your PC using Roborun

Connecting the controller to your PC is not necessary for basic R/C operation. However, it is a very simple procedure that is useful for the following purposes:
to Read and Set the programmable parameters with a user-friendly graphical inter-
face
to obtain the controllers software revision and date
to send precise commands to the motors
to read and plot real-time current consumption value
Save captured parameters onto disk for later analysis
to update the controllers software
18 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Obtaining the Controllers Software Revision Number
FIGURE 6. Roborun Utility screen layout
To connect the controller to your PC, use the provided cable. Connect the 15-pin connector to the controller. Connect the 9-pin connector to your PC’s available port (typically COM1). Apply power to the controller to turn it on.
Load your CD or download the latest revision of Roborun software from www.Roboteq.com, install it on your PC and launch the program. The software will auto­matically establish communication with the controller, retrieve the software revision num­ber and present a series of buttons and tabs to enable its various possibilities.
The intuitive Graphical User Interface will let you view and change any of the controller’s parameters. The “Run tab will present a number of buttons, dials and charts that are used for operating and monitoring the motors.

Obtaining the Controller’s Software Revision Number

One of the unique features of the AX2500/2850 is the ability to easily update the control­lers operating software with new revisions downloaded from Roboteqs web site at www.roboteq.com. This is useful for adding features and/or improving existing ones.
AX2500/2850 Motor Controller Users Manual 19
AX2500/2850 Quick Start
Each software version is identified with a unique number. Obtaining this number can be done using the PC connection discussed previously.
It is also possible to get the controller to display the software version number by following these simple steps
Disconnect the power from the motor batteries
Press and hold the Set button while powering or resetting the controller
The LED will display a sequence of two numerical digits and an optional letter separated by dashes as shown in the examples below.
FIGURE 7. Press and hold “Set” to display version number and enter self-test
After these digits are displayed, the controller will attempt to power the motors as part of the self test mode (see Self-Test Mode” on page 47 of the User’s Manual for a more detailed explanation). This is why the motors battery must be disconnected. After about 30 seconds, the software revision number will be displayed every 30 seconds.
= Software version 1.7
You will need to reset, or power down and up, the controller to exit and resume normal operations.
Now that you know your controller’s software version number, you will be able to see if a new version is available for download and installation from Roboteq’s web site, and which features have been added or improved.
Installing new software is a simple and secure procedure, fully described in “Operating the AX2500/2850 over a Wired or Wireless LAN on page 172 of the Users Manual.

Exploring further

By following this quick-start section, you should have managed to get your controller to operate in its basic modes within minutes of unpacking.
Each of the features mentioned thus far has numerous options which are discussed further in the complete Users Manual, including:
Self test mode
Emergency stop condition
Joystick calibration
Using Inputs/Outputs
Current limiting
Closed Loop Operation
Software updating
and much more
20 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
SECTION 2 AX2500/2850
Motor Controller Overview
Congratulations! By selecting Roboteq’s AX2500/2850 you have empowered your- self with the industrys most versatile and programmable DC Motor Controller for mobile robots. This manual will guide you step by step through its many possibili­ties.

Product Description

The AX2500/2850 is a highly configurable, microcomputer-based, dual-channel digi­tal speed or position controller with built-in high power drivers. The controller is designed to interface directly to high power DC motors in computer controlled or remote controlled mobile robotics and automated vehicle applications.
The AX2500/2850 controller can accept speed or position commands in a variety of ways: pulse-width based control from a standard Radio Control receiver, Analog Voltage commands, or RS-232 commands from a microcontroller or wireless modem.
The controller's two channels can be operated independently or can be combined to set the forward/reverse direction and steering of a vehicle by coordinating the motion on each side of the vehicle. In the speed control mode, the AX2500/2850 can operate in open loop or closed loop. In closed loop operation, actual speed mea­surements from tachometers or optical encoders are used to verify that the motor is rotating at the desired speed and direction and to adjust the power to the motors accordingly.
The AX2500/2850 can also be configured to operate as a precision, high torque servo controller. When connected to a potentiometer coupled to the motor assem­bly, the controller will command the motor to rotate up to a desired angular position. Depending on the DC motor's power and gear ratio, the AX2500/2850 can be used to move or rotate steering columns or other physical objects with very high torque.
The AX2500/2850 is fitted with many safety features ensuring a secure power-on start, automatic stop in case of command loss, over current protection on both channels, and overheat protection.
AX2500/2850 Motor Controller Users Manual 21
AX2500/2850 Motor Controller Overview
The motors are driven using high-efficiency Power MOSFET transistors controlled using Pulse Width Modulation (PWM) at 16kHz. The AX2500/2850 power stages can operate from 12 to 40VDC and can sustain up to 120A of controlled current, delivering up to 4,800W (approximately 6 HP) of useful power to each motor.
The many programmable options of the AX2500/2850 are easily configured using one­touch Program and Set buttons and a 7-segment LED display. Once programmed, the con­figuration data are stored in the controller's non-volatile memory, eliminating the need for cumbersome and unreliable jumpers.
The AX2850 is the AX2550 controller fitted with a dual channel optical encoder input mod­ule. Optical Encoders allow precise motor speed and position measurement and enable advance robotic applications.

Technical features

Fully Digital, Microcontroller-based Design
Multiple operating modes
Fully programmable using either built-in switches and 7 segment display or through
connection to a PC
Non-volatile storage of user configurable settings. No jumpers needed
Simple operation
Software upgradable with new features
Multiple Command Modes
Radio-Control Pulse-Width input
Serial port (RS-232) input
0-5V Analog Command input
Multiple Advanced Motor Control Modes
Independent operation on each channel
Mixed control (sum and difference) for tank-like steering
Open Loop or Closed Loop Speed mode
Position control mode for building high power position servos
Modes selectable independently for each channel
Automatic Joystick Command Corrections
Joystick min, max and center calibration
Selectable deadband width
Selectable exponentiation factors for each joystick
3rd R/C channel input for weapon and accessory output activation
Special Function Inputs/Outputs
2 Analog inputs. Used as
22 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Technical features
Tachometer inputs for closed loop speed control
Potentiometer input for position (servo mode)
Motor temperature sensor inputs
External voltage sensors
User defined purpose (RS232 mode only)
One Switch input configurable as
Emergency stop command
Reversing commands when running vehicle inverted
General purpose digital input
Up to 2 general purpose outputs for accessories or weapon
One 24V, 2A output
One low-level digital output
Up to 2 general purpose digital inputs
Optical Encoder Inputs (AX2850 only)
Inputs for two Quadrature Optical Encoders
up to 250khz Encoder frequency per channel
two 32-bit up-down counters
Inputs may be shared with four optional limit switches per channel
Internal Sensors
Voltage sensor for monitoring the main 12 to 40V battery system operation
Voltage monitoring of internal 12V
Temperature sensors on the heat sink of each power output stage
Sensor information readable via RS232 port
Low Power Consumption
On board DC/DC converter for single 12 to 40V battery system operation
Optional backup power input for powering safely the controller if the motor batteries
are discharged
Max 200mA at 12V or 100mA at 24V idle current consumption
Power Control wire for turning On or Off the controller from external microcomputer
or switch
No power consumed by output stage when motors are stopped
Regulated 5V output for powering R/C radio. Eliminates the need for separate R/C
battery
High Efficiency Motor Power Outputs
Two independent power output stages
Dual H bridge for full forward/reverse operation
Ultra-efficient 2.5mOhm ON resistance (RDSon) MOSFET transistors
12 to 40 V operation
High current 8 AWG cable sets for each power stages
SmartAmps Automatic current limitation
120A up to 15 seconds (per channel)
AX2500/2850 Motor Controller Users Manual 23
AX2500/2850 Motor Controller Overview
100A up to 30 seconds
80A extended
High current operation may be extended with forced cooling
250A peak Amps per channel
16kHz Pulse Width Modulation (PWM) output
Auxiliary output for brake or clutch
Heat sink extruded case
Advanced Safety Features
Safe power on mode
Optical isolation on R/C control inputs
Automatic Power stage off in case of electrically or software induced program fail-
ure
Overvoltage and Undervoltage protection
Regeneration current limiting
Watchdog for automatic motor shutdown in case of command loss (R/C and RS232
modes)
Large, bright run/failure diagnostics on 7 segment LED display
Programmable motor acceleration
Built-in controller overheat sensor
Motor temperature sensing and protection
Emergency Stop input signal and button
Data Logging Capabilities
13 internal parameters, including battery voltage, captured R/C command, tempera-
ture and Amps accessible via RS232 port
Data may be logged in a PC, PDA or microcomputer
Sturdy and Compact Mechanical Design
Built from aluminum heat sink extrusion with mounting brackets
Efficient heat sinking. Operates without a fan in most applications.
7 (178mm) long (excluding mounting brackets) by 5.5 wide (140mm) by 1.8
(40mm) high
-20o to +70o C operating environment
3.3 lbs (1500g)
24 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting Power

SECTION 3 Connecting
Power and Motors to the Controller
This section describes the AX2500/2850 Controller’s connections to power sources and motors.

Important Warning

Please follow the instructions in this section very carefully. Any problem due to wir­ing errors may have very serious consequences and will not be covered by the prod­uct’s warranty.
Connecting Power
The AX2500/2850 has 2 sets of Ground (black) and Vmot (red) power cables and a Power Control wire (yellow):
The power cables are located at the back end of the controller. The various power cables are identified by their position, wire thickness and color: Red is positive (+), black is nega­tive or ground (-).
The power cables to the batteries and motors are shown in the figure below.
AX2500/2850 Motor Controller Users Manual 25
Connecting Power and Motors to the Controller

Controller Power

Power Control
Ye l l o w
Motor (+)
White
Motor (-)
Green
12 to 40V (+)
Red
Motor 1
FIGURE 8. Controller rear plate and power wiring
Ground (-)
Black
Ground (-)
Black
12 to 40V (+)
Red
Motor(+) Ye l l o w or
Motor 2
(top)
Motor (-)
Green
White
Controller Power
The AX2500/2850 uses a flexible power supply scheme that is best described in Figure 9. On this diagram, it can be seen that the Control Logic requires a stable 12V supply, while the Power Output stage that drives the motors can tolerate a very wide voltage range.
Because of its wide operating voltage range, the Power Output stage is wired directly to the Main Battery.
The control logic is connected to both the DC/DC converter as well as the Power Control wire. If the voltage applied to the DC/DC converter’s input is lower than the 12V needed for its proper operation, the Control Logic will stop unless the Power Control wire is con­nected to a separate 12V power source. The diode circuit is designed to automatically select one power source over the other. The diodes will let through the source that is higher than the other.
The Power Control input also serves as the Enable signal for the DC/DC converter. When floating or pulled to above 1V, the DC/DC converter is active and supplies the AX2500/ 2850’s control logic, thus turning it On. When the Power Control input is pulled to Ground, the DC/DC converter is stopped and the controller is turned Off.
All 3 ground wires (-) are connected to each other inside the controller. The two main bat­tery wires are also connected to each other internally. However, you must never assume
26 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Controller Power
that connecting one wire of a given battery potential will eliminate the need for connecting the other. Malfunction or even damage may occur if one wire is assuming the load of all
two.
Mot1(-)
Mot1(+)
Channel 1 MOSFET Power Stage
Microcomputer &
MOSFET Drivers
Channel 2 MOSFET Power Stage
9.5V min 13V max
DC/DC
5Vmin
40V max
ENABLE
10.5V min 40V max
5Vmin
40V max
VBatt Vmot
GND
Power Control &Backup
GND
GND
VBatt Vmot
Mot2(+)
Mot2(-)
FIGURE 9. Representation of the AX2500/2850’s Internal Power Circuits
TABLE 4. Effect of Power Control under various voltage conditions
Power Control input is connected to
And Main Battery Voltage is Action
Ground Any Voltage from 0V to 40V Controller is Off
Floating Below 9V Controller is Off
Floating Between 9V and 10.5V Controller Logic is On
Power Stage is Disabled (under­voltage condition)
Floating Between 10.5 and 40V Controller is On. Drawing power
from Main Battery
Power Stage is Active
10.5V to 40V Lower than Voltage on Power Control input - or Off
Controller is On. Drawing power from external source (backup battery)
Power Stage is Active
10.5V to 40V Higher than Voltage on Power Control input
Controller is On. Drawing power from Main Battery
Power Stage is Active
AX2500/2850 Motor Controller Users Manual 27
Connecting Power and Motors to the Controller

Powering the Controller using the Motor Batteries

The AX2500/2850 included a DC/DC converter to generate the internal 12V required for its operation. The diagram on Figure 10 show how to wire the controller to a single battery cir­cuit and the two options for turning the power On and Off. The diagram shows two switches, although switching either one alone will power the controller Off.
In a typical configuration, it is recommended that the Motor Power be always applied and that the Controller’s Power be controlled using a switch on the Power Control wire (yellow). When the controller is Off, the output transistors are in the Off position and no power is drawn on the Motor Power battery.
For safety reasons, however, it is highly recommended that a way of quickly disconnecting the Motor Power be provided in the case of loss of control and all of the AX2500/2850 safety features fail to activate
Note, however, that eventually the motor batteries will get weaker and the voltage drop below the level needed for the internal DC/DC converter to properly operate. For all profes­sional applications it is therefore recommended to add a separate 12V (to 40V) power sup­ply to ensure proper powering of the controller under any conditions.
Important Warning
Unless you can ensure a steady 12V voltage in all conditions, it is recommended that the battery used to power the controller’s electronics must be separate from the one used to power the motors. This is because it is very likely that the motor batteries will be subject to very large current loads, which may cause the voltage to eventually dip below 12V as the batteries’ charge drops. The separate backup power supply should be connected to the Power Control input.
Important Warning
On versions of the AX2550 with PCB revision number lower than 5.2, the backup power supply applied on the Power Control wire must NEVER EXCEED 13V. Perma­nent damage may otherwise occur. PCB revision number can be found on the sticker on the cases bottom.
28 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Controller Power
Swich on
Power Control
Swich on
Main Battery
(optional)
Controller
2 x 12V Batteries = 24V 3 x 12V Batteries = 36V
Notes:
- Only one switch is actually needed to turn On/Off the controller. If either one is used, the other can be omitted.
FIGURE 10. Powering the controller from the Motor Batteries

Using a Backup Battery

To ensure that the controller will always be operational, regardless of the charge left in the main battery, it is recommended to add a 12V backup battery connected as shown in Figure 11.
Motor
Cables
Motor2
Motor1
-
+
-
+
Controller
Battery
Power Cables
Power Control
Fuse
12V to 40V
Motor Battery
Wire
On Off
12V
Controller
Battery
FIGURE 11. Power wiring using a two-battery system
AX2500/2850 Motor Controller Users Manual 29
Connecting Power and Motors to the Controller
Make sure that your motors have their wires isolated from the motor casing. Some motors, particularly automotive parts, use only one wire, with the other connected to the motor’s frame.
If you are using such a motor, make sure that it is mounted on isolators and that its casing will not cause a short circuit with other motors and circuits which may also be inadvertently connected to the same metal chassis.

Power Fuses

For low Amperage applications (below 30A per motor), it is recommended that a fuse be inserted in series with the main battery circuit as shown in the Figure 11 above.
The fuse will be shared by the two output stages and therefore must be placed before the Y connection to the two power wires.
Automotive fuses are generally slow and the following values are recommended depend­ing on the desired level of protection. It should be noted that the current values listed will apply to the sum of the current drawn by each channel. Practically, a fuse will be of limited effectiveness. In very high current application (80A or more per channel), it will simply not be possible to find a fuse with the necessary Amps rating and speed needed to provide adequate protection. In such situation, the fuse may be just as well omitted keeping in mind that the controllers current limiting circuit may not be able to protect it against short circuits and other abnormal situations.
TABLE 5. Fuse selection table
Desired Current Protection (total for Channel 1 + Channel 2) Fuse
120A 100A
100A 80A
80A 60A
60A 50A
50A 40A
40A 35A

Important Warning

Fuses are typically slow to blow and will thus allow temporary excess current to flow through them for a time (the higher the excess current, the faster the fuse will blow). This characteristic is desirable in most cases, as it will allow motors to draw surges during acceleration and braking. However, it also means that the fuse may not be able to protect the controller.

Wire Length Limits

The AX2500/2850 regulates the output power by switching the power to the motors On and Off at high frequencies. At such frequencies, the wires’ inductance produces undesir- able effects such as parasitic RF emissions, ringing and overvoltage peaks. The controller
30 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Electrical Noise Reduction Techniques

has built-in capacitors and voltage limiters that will reduce these effects. However, should the wire inductance be increased, for example by extending the wire length, these effects will be amplified beyond the controller’s capability to correct them. This is particularly the case for the main battery power wires (thick red and black cables).

Important Warning

Avoid extending the black and red Motor Power wires beyond their original length as the added inductance may cause damage to the controller when operating at high currents. Try extending the motor wires instead since the added inductance is less harmful on this side of the controller.
Electrical Noise Reduction Techniques
As discussed in the above section, the AX2500/2850 uses fast switching technology to control the amount of power applied to the motors. While the controller incorporates sev­eral circuits to keep electrical noise to a minimum, additional techniques can be used to keep the noise low when installing the AX2500/2850 in an application. Below is a list of techniques you can try to keep noise emission low:
Keep wires as short as possible
Loop wires through ferrite beads
Add snubber R/C circuit at motor terminals
Keep controller, wires and battery enclosed in metallic body

Power Regeneration Considerations

When a motor is spinning faster than it would normally at the applied voltage, such as when moving downhill or deccelerating, the motor acts like a generator. In such case, the current will flow in the opposite direction, back to the power source.
It is therefore essential that the AX2500/2850 be connected to rechargeable batteries. If a power supply is used instead, during regeneration the current will attempt to flow back in the power supply potentially damaging it and/or the controller.
Regeneration can also cause potential problems if the battery is disconnected while the motors are still spinning. In such a case, and depending on the command level applied at that time, the regenerated current will attempts to flow back to the battery but since none is present, the voltage will rise to potentially unsafe levels. The AX2500/2850 includes an overvoltage protection circuit to prevent damage to the output transistors (see “Overvolt- age Protection” on page 32)

Important Warning

Use the AX2500/2850 only with a rechargeable battery as supply to the Motor Power wires (thick black and red wires). If a transformer or power supply is used, damage to the controller and/or power supply may occur during regeneration. See Using the Controller with a Power Supply on page 32 for details.
AX2500/2850 Motor Controller Users Manual 31
Connecting Power and Motors to the Controller

Important Warning

Avoid switching Off or cutting open the main power cables (thick black and red wires) while the motors are spinning. Damage to the controller may occur.

Overvoltage Protection

The AX2500/2850 includes a battery voltage monitoring circuit that will cause the output transistors to be turned Off if the main battery voltage applied on the thick red and black wires rises above 43V.
This protection is designed to prevent the voltage created by the motors during regenera­tion to be “amplified” to unsafe levels by the switching circuit.
The controller will resume normal operation when the measured voltage drops below 43V.

Undervoltage Protection

In order to ensure that the power MOSFET transistors are switched properly, the AX2500/ 2850 monitors the internal 12V power supply that is used by the MOSFET drivers. If the internal voltage drops below 10V, the controller’s output stage is turned Off. The rest of the controller’s electronics, including the microcomputer will remain operational as long as the internal voltage is above 8V.
The internal voltage will be the output of the DC/DC converter which will be a solid 12V as long as either of the main battery or backup voltage is higher than 12.5V. If the main and backup voltage drop below 12.V, the DC/DC converters output will be approximately 0.5V lower than the higher of the main or backup voltage.

Using the Controller with a Power Supply

Using a transformer or a switching power supply is possible but requires special care as the current will want to flow back from the motors to the power supply during regenera­tion. As discussed in Power Regeneration Considerations on page 31, if the supply is not able to absorb and dissipate regenerated current, the voltage will increase until the over­voltage protection circuit cuts off the motors. While this process should not be harmful to the controller, it may be to the power supply, unless one or more of the protective steps below are taken:
Use a power supply that will not suffer damage in case that a voltage is applied at
its output that is higher than the transformer’s own output voltage. This information is seldom published in commercial power supplies, so it is not always possible to obtain positive reassurance that the supply will survive such a condition.
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 from the system, and cause a reverse current flow and voltage rise. See “Programmable Acceleration” on page 40.
Place a battery in parallel with the power supply output. This will provide a reservoir
into which regeneration current can flow. It will also be very helpful for delivering
32 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Using the Controller with a Power Supply
high current surges during motor acceleration, making it possible to use a lower current power supply. Battery mounted in this way should be connected for the first time only while fully charged and should not be allowed to discharge. The power supply will be required to output unsafe amounts of current if connected directly to a discharged battery.
Place a resistive load in parallel with the power supply, with a circuit to enable that
load during regeneration. This solution is more complex but will provide a safe path for the braking energy into a load designed to dissipate it. To prevent current from flowing from the power supply into the load during normal operation, an active switch would enable the load when the voltage rises above the nominal output of the power supply.
AX2500/2850 Motor Controller Users Manual 33
Connecting Power and Motors to the Controller
34 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Basic Operation

SECTION 4 General
Operation
This section discusses the controller’s normal operation in all its supported operating modes.
Basic Operation
The AX2500/2850s operation can be summarized as follows:
Receive commands from a radio receiver, joystick or a microcomputer
Activate the motors according to the received command
Perform continuous check of fault conditions and adjust actions accordingly
Multiple options are available for each of the above listed functions which can be combined to produce practically any desired mobile robot configuration.

Input Command Modes

The controller will accept commands from one of the following sources
R/C radio
Serial data (RS232)
Analog signal (0 to 5V)
A detailed discussion on each of these modes and the available commands is provided in the following dedicated chapters: R/C Operation” on page 69, “Serial (RS-232) Controls and Operation” on page 87, and “Analog Control and Operation” on page 107.
The controller’s factory default mode is R/C radio. The mode can be changed using any of the methods described in Programming using built-in Switches and Display on page 153 and Loading, Changing Controller Parameters on page 162.
AX2500/2850 Motor Controller Users Manual 35
General Operation

Selecting the Motor Control Modes

For each motor, the AX2500/2850 supports multiple motion control modes. The controller’s factory default mode is Open Loop Speed control for each motor. The mode can be changed using any of the methods described in Programming using built-in Switches and Display on page 153 and Loading, Changing Controller Parameters on page 162.

Open Loop, Separate Speed Control

In this mode, the controller delivers an amount of power proportional to the command information. The actual motor speed is not measured. Therefore the motors will slow down if there is a change in load as when encountering an obstacle and change in slope. This mode is adequate for most applications where the operator maintains a visual contact with the robot.
In the separate speed control mode, channel 1 commands affect only motor 1, while chan­nel 2 commands affect only motor 2. This is illustrated in Figure 12 below.
Controller
FIGURE 12. Effect of commands to motors examples in separate mode

Open Loop, Mixed Speed Control

This mode has the same open loop characteristics as the previously described mode. How­ever, the two commands are now mixed to create a tank-like steering when one motor is used on each side of the robot: Channel 1 is used for moving the robot in the forward or reverse direction. Channel 2 is used for steering and will change the balance of power on each side to cause the robot to turn.
Figure 13 below illustrates how the mixed mode works.
36 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Selecting the Motor Control Modes
Controller
FIGURE 13. Effect of commands to motors examples in mixed mode

Closed Loop Speed Control

In this mode, illustrated in Figure 15, an analog tachometer or an optical encoder (AX2850 only) is used to measure the actual motor speed. If the speed changes because of changes in load, the controller automatically compensates the power output. This mode is preferred in precision motor control and autonomous robotic applications. Details on how to wire the tachometer can be found in “Connecting Tachometer to Analog Inputs on page 58. Closed Loop Speed control operation is described in Closed Loop Speed Mode” on page 123.
Tachometer or Optical Encoder (AX2850 & AX3500 only)
FIGURE 14. Motor with tachometer or Encoder for Closed Loop Speed operation

Close Loop Position Control

In this mode, illustrated in Figure 15, the axle of a geared down motor is coupled to a potentiometer that is used to compare the angular position of the axle versus a desired position. This AX2500/2850 feature makes it possible to build ultra-high torque jumbo ser­vos that can be used to drive steering columns, robotic arms, life-size models and other heavy loads. Details on how to wire the position sensing potentiometers and operating in this mode can be found in Closed Loop Position Mode” on page 115.
Speed Feedback
AX2500/2850 Motor Controller Users Manual 37
General Operation
FIGURE 15. Motor with potentiometer assembly for Position operation

Current Limit Settings

The AX2500/2850 has current sensors at each of its two output stages. Every 16 ms, this current is measured and a correction to the output power level is applied if higher than the user preset value.
Position Feedback
Position Sensor
Gear box
The current limit may be set using the controller’s switches or the supplied PC utility. Using the switches, 7 limits may be selected as shown in the table below.
TABLE 6. Current limit settings using the switches
Setting Continuous High Amps
030A
145A
260A
375A
490A
5 - default 105A
6120A
Using the PC utility is it possible to set the limit with a 1A granularity from 15A to 120A
During normal operation, current limiting is further enhance by the techniques described in the following sections.

Continuous and Extended Current Limitation

The AX2500/2850 features active current limitation with a Smart Amps control algorithm. This capability ensures that the controller will be able to work safely with practically all motor types and will adjust itself automatically for the various load conditions.
38 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Temperature-Based Current Limitation

You can select one of 7 current limit settings based on your robot’s component capabilities (motors, battery, wiring), up to the controller’s own limit. The available current limit values are shown in the table below.
TABLE 7. Continuous vs. Extended Amp limits table
Setting Continuous High Amps Extended Safe Amps
0 30A 30A
1 45A 45A
2 60A 60A
3 75A 75A
4 90A 80A
5 105A 80A
6 120A 80A
The controller will assume that any consumption above the safe continuous amps value will cause more heat to be generated than can be safely dissipated. The controller will keep an internal total of the estimated heat balance and will begin gradually reducing the output power when a maximum threshold has been reached. The higher the current is over the Continuous Safe Amps limit, the quicker it will reach the maximum threshold.
In practice, assuming the maximum Amps limit setting (120A), this means that the control­ler will allow up to 1 minute of operation at 100A or 15 seconds at 120A. When the control­ler runs below the Continuous Safe Amps limit, the controller will assume that it is cooling off and will allow for higher amp consumption at a later time. In practical robot maneuver­ing situations where stop and go is very common, the controller will be capable of deliver­ing the maximum Momentary High Amps whenever it is needed.
Temperature-Based Current Limitation
The AX2500/2850 also features active current limitation with a SmartAmps control algo­rithm. On the AX2500/2850, this current limiting is based on the actual measured tempera­ture of the heat sink, near the mounting point of the Power MOSFET transistors inside the controller. While the temperature is below 60oC, the controller will deliver up to 120A Con­tinuous Amps. For every degree of temperature rise above that threshold value, the limit is reduced from this absolute maximum amount. Furthermore you can select one of 7 cur­rent limit settings based on your robot’s component capabilities (motors, battery, wiring), up to the controller’s own limit. The current limit that is applied at any given time is the lesser value of your selected value, the computed limit using the SmartAmps algorithm and the maximum Amps the controller is allowed to deliver at its current temperature point. This capability ensures that the controller will be able to work safely with practically all motor types and will adjust itself automatically for the various load and environmental conditions. The time it takes for the heat sink’s temperature to rise depends on the current output, ambient temperature, and available air flow (natural or forced).
Note that the measured temperature is on the inside of the heat sink and will rise and fall faster than the outside surface.
AX2500/2850 Motor Controller Users Manual 39
General Operation

Surge Current Protection

During exceptionally high load conditions such as motor stalls, the motors may make demands on the controller in excess of several hundred Amps. The current limiting fea­tures described above will automatically reduce the power output so that the consumption does not exceed the maximum limit.
For example, if the motor attempts to draw 1000A, the controller will throttle back the power to 10% so that the average consumption becomes 100A.
However, the controller’s MOSFET transistors will still see these 1000A pulses during the 10% ON time of the Pulse Width Modulation. This level of current would be damaging to the controller.
Therefore, the AX2500/2850’s will continuously compute the peak current consumption as the average measured Amps divided by the PWM ratio and automatically reduce the power output if the computed peak Amps exceeds 250A.
This current protection scheme operates in addition to the Continuous Current Limitation described above.

Regeneration Current Limiting

The AX2500/2850s current sensor is capable of measuring current in the reverse flow (regeneration). Using this capability, the controller will automatically relax the braking effect of the power output stage to keep the regeneration current within safe values. Because of the controller’s high current handling capabilities, this regeneration mechanism activates only when abrupt deceleration are applied to high-inertia, ultra-low impedance motors.

Programmable Acceleration

When changing speed command, the AX2500/2850 will go from the present speed to the desired one at a user selectable acceleration. This feature is necessary in order to minimize the surge current and mechanical stress during abrupt speed changes.
This parameter can be changed using the controller’s front switches or using serial com- mands. When configuring the controller using the switches (see Configuring the Control­ler using the Switches on page 153), acceleration can be one of 6 available preset values, from very soft(0) to very quick (6). The AX2500/2850’s factory default value is medium soft (2).
When using the serial port, acceleration can be one of 24 possible values, selectable using the Roborun utility, or entering directly a value in the MCU’s configuration EEPROM. Table 8 shows the corresponding acceleration for all Switch and RS232 settings.
40 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Programmable Acceleration
Numerically speaking, each acceleration value corresponds to a fixed percentage speed increment, applied every 16 milliseconds. The value for each setting is shown in the table below.
TABLE 8. Acceleration setting table
Acceleration Setting Using RS232
30 Hex 0.78% 2.05 seconds
20 Hex 1.56% 1.02 seconds
10 Hex 2.34% 0.68 second
00 Hex 0 3.13% 0.51 second
31 Hex 3.91% 0.41 second
21 Hex 4.69% 0.34 second
11 Hex 5.47% 0.29 second
01 Hex 1 6.25% 0.26 second
32 Hex - 7.03% 0.23 second
22 Hex - 7.81% 0.20 second
12 Hex - 8.59% 0.19 second
02 Hex 2 (default) 9.38% 0.17 second
33 Hex - 10.16% 0.16 second
23 Hex - 10.94% 0.15 second
13 Hex - 11.72% 0.14 second
03 Hex 3 12.50% 0.128 second
34 Hex - 13.28% 0.120 second
24 Hex - 14.06% 0.113 second
14 Hex - 14.84% 0.107 second
04 Hex 4 15.63% 0.102 second
35 Hex - 16.41% 0.097 second
25 Hex - 17.19% 0.093 second
15 Hex - 17.97% 0.089 second
05 Hex 5 18.75% 0.085 second
Acceleration Setting Using Switches
%Acceleration per 16ms
Time from 0 to max speed
When configuring the acceleration parameter using the Roborun utility, for additional accel­eration steps can be selected between the six ones selectable using the switch, extending the slowest acceleration to 2.04 seconds from 0 to max speed. See Power Settings on page 164 for details on how to configure this parameter using Roborun.

Important Warning

Depending on the load’s weight and inertia, a quick acceleration can cause consider- able current surges from the batteries into the motor. A quick deceleration will cause an equally large, or possibly larger, regeneration current surge. Always experiment with the lowest acceleration value first and settle for the slowest acceptable value.
AX2500/2850 Motor Controller Users Manual 41
General Operation

Command Control Curves

The AX2500/2850 can also be set to translate the joystick or RS232 motor commands so that the motors respond differently whether the joystick is near the center or near the extremes.
The controller can be configured to use one of 5 different curves independently set for each channel.
The factory default curve is a “linear” straight line, meaning that after the joystick has moved passed the deadband point, the motors speed will change proportionally to the joy­stick position.
Tw o “exponential curves, a weak and a strong, are supported. Using these curves, and after the joystick has moved past the deadband, the motor speed will first increase slowly, increasing faster as the joystick moves near the extreme position. Exponential curves allow better control at slow speed while maintaining the robot’s ability to run at maximum speed.
Tw o logarithmic curves, a weak and a strong, are supported. Using these curves, and after the joystick has moved past the deadpoint, the motor speed will increase rapidly, and then increase less rapidly as the joystick moves near the extreme position.
The graph below shows the details of these curves and their effect on the output power as the joystick is moved from its center position to either extreme. The graph is for one joy­stick only. The graph also shows the effect of the deadband setting.
% Forward (Motor Output)
100
80
60
Logarithmic Strong
Logarithmic Weak
Linear (default)
- 100
- 80
- 60
- 40
- 20
40
20
0
20
40
60
80
20
Exponential Weak
Exponential Strong
% Command Input
100
Deadband
40
60
80
100
% Reverse
FIGURE 16. Exponentiation curves
42 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Left / Right Tuning Adjustment

The AX2500/2850 is delivered with the “linear” curves selected for both joystick channels. To select different curves, you will need to change the values of E (channel 1) and F (channel 2) according to the table below. Refer to the chapter Configuring the Controller using the Switches on page 153, or Using the Roborun Configuration Utility on page 159 for instructions on how to program parameters into the controller.
TABLE 9. Exponent selection table
Exponentiation Parameter Value Selected Curve
E or F = 0 Linear (no exponentiation) - default value
E or F = 1 strong exponential
E or F = 2 normal exponential
E or F = 3 normal logarithmic
E or F = 4 strong logarithmic
Left / Right Tuning Adjustment
By design, DC motors will run more efficiently in one direction than the other. In most situ­ations this is not noticeable. In others, however, it can be an inconvenience. When operat­ing in open loop speed control, the AX2500/2850 can be configured to correct the speed in one direction versus the other by as much as 10%. Unlike the Joystick center trimming tab that is found on all R/C transmitters, and which is actually an offset correction, the Left/ Right Adjustment is a true multiplication factor as shown in Figure 17
% Forward (Motor Output)
100
80
60
40
20
- 20
- 40
- 60
- 80
- 100
0
20
40
60
80
100
% Reverse
20
40
60
% Forward (Motor Output)
80
0%
-3%
-5.25%
% Command Input
100
5.25%
3%
0%
- 100
% Forward (Motor Output)
100
80
60
40
20
- 20
- 40
- 60
- 80
0
20
40
60
80
100
% Reverse
20
40
60
80
100
FIGURE 17. Left Right adjustment curves
The curves on the left show how a given forward direction command value will cause the motor to spin 3 or 5.25% slower than the same command value applied in the reverse direction. The curves on the right show how the same command applied to the forward
AX2500/2850 Motor Controller Users Manual 43
General Operation
TABLE 10. Left/Right Adjustment Parameter selection
Parameter Value Speed Adjustment Parameter Value Speed Adjustment
0 -5.25% 8 0.75%
1-4.5%91.5%
2 -3.75% 10 2.25%
3 -3% 11 3%
4 -2.25% 12 3.75%
5 -1.5% 12 4.5%
6 -0.75% 14 5.25%
direction will case the motor to spin 3 to 5.25% faster than the same command applied in the reverse direction. Note that since the motors cannot be made to spin faster than 100%, the reverse direction is the one that is actually slowed down.
In applications where two motors are used in a mixed mode for steering, the Left/Right Adjustment parameter may be used to make the robot go straight in case of a natural ten­dency to steer slightly to the left or to the right.
The Left/Right adjustment parameter can be set from -5.25% to +5.25% in seven steps of
0.75%. See “Programmable Parameters List” on page 156 and Loading, Changing Con­troller Parameters on page 162 for details on how to adjust this parameter.
The Left/Right adjustment is performed in addition to the other command curves described in this section. This adjustment is disabled when the controller operates in any of the sup­ported closed loop modes.
7 None (default)

Emergency Shut Down Using Controller Switches

In case of emergency, it is possibly to cause the controller to cut off the power to the motors by depressing the Program and Set buttons simultaneously as shown in the figure below. The controller will stop immediately without delay.
44 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Emergency Stop using External Switch

Program Set
Press the two buttons simultaneously to cause an emergency stop
FIGURE 18. Activating an Emergency Stop
After and Emergency Stop condition, the controller must be reset or powered Off and On to resume normal operation.
Reset
Emergency Stop using External Switch
An external switch can be added to the AX2500/2850 to allow the operator to stop the con­troller’s output in case of emergency. This controller input can be configured as the Inverted detection instead of Emergency Stop. The factory default for this input is “No Action”.
The switch connection is described in Connecting Switches or Devices to EStop/Invert Input on page 56. The switch must be such that it is in the open state in the normal situa­tion and closed to signal an emergency stop command.
After and Emergency Stop condition, the controller must be reset or powered Off and On to resume normal operation.

Inverted Operation

For robots that can run upside-down, the controller can be configured to reverse the motor commands using a gravity activated switch when the robot is flipped. This feature is enabled only in the mixed mode and when the switch is enabled with the proper configura­tion of the Input switch function” parameter. See Programmable Parameters List on page 156.
The switch connection is described in Connecting Switches or Devices to EStop/Invert Input on page 56. The switch must be such that it is in the open state when the robot is in the normal position and closed when inverted. When the status of the switch has changed, the controller will wait until the new status has remained stable for 0.5s before acknowl­edging it and inverting the commands. This delay is to prevent switch activation triggered by hits and bounces which may cause the controller to erroneously invert the commands.
AX2500/2850 Motor Controller Users Manual 45
General Operation

Special Use of Accessory Digital Inputs

The AX2500/2850 includes two general purpose digital inputs identified as Input E and Input F. On the AX2850, input E is disabled. The location of these inputs on the DB15 con­nector can be found in the section “I/O List and Pin Assignment on page 52, while the electrical signal needed to activate them is shown on Connecting Switches or Devices to Input F on page 55.
By default, these inputs are ignored by the controller. However, the AX2500/2850 may be configured to cause either of the following actions:
Activate the buffered Output D (Output D is not available when Encoder module is
installed)
or Turn Off/On the power MOSFET transistors
These alternate modes can only be selected using the Roborun Utility (see Controls Set­tings on page 163. Each of these modes is detailed below.

Using the Inputs to Activate the Buffered Output

When this setting is selected, the buffered Output C will be On when the Input line is pulled to Ground (0V). The Output will be Off when the Input is pulled high.
This function makes it possible to drive solenoids or other accessories up to 2A at 24V using a very low current switch, for example.

Using the Inputs to turn Off/On the Power MOSFET transistors

When this setting is selected, the controller’s Power MOSFET transistors will be active, and the controller will be operating normally, only when the input is pulled to ground.
When the input is pulled high, all the power MOSFETs are turned Off so that the motors are effectively disconnected from the controller.
This function is typically used to create a dead man switch when the controller is driven using an analog joystick. The motors will be active only while the switch is depressed. If the switch is left off for any reason, the motors will be disconnected and allowed to free­wheel rather than coming to an abrupt stop.

Self-Test Mode

The AX2500/2850 incorporates a simple Self-Test mode that performs the following func­tions:
Display the software revision number on the LED display
Ramp each motor up and down in both directions
Internal parameters on the serial port output
The Self Test mode can be conveniently initiated using only the controller’s switches so that no radio or computer is needed.
To enter the Self Test mode, press and hold the Set button while resetting or powering up the controller.
46 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Self-Test Mode
After a few seconds, the LEDs will display a sequence of two numerical digits and an optional letter separated by dashes as shown in the examples below.
= Software version 1.7
FIGURE 20. Press and hold “Set” to display version number and enter self-test
After these digits are displayed, the controller will attempt to power the motors. Motor 1 will be ramped from stop to full speed forward, to full speed reverse and back to stop. Then the same operation will repeat on motor 2. After both motors have completed their ramps, the software revision will be displayed again and the motors will be ramped again. This sequence will repeat itself indefinitely until the controller is powered off or reset.
While in the Self Test mode, the AX2500/2850 will continuously send a string of characters on the RS232 output line. This string will contain 12 or 13 two-digits hexadecimal number representing the 13 following operating parameters.
Captured R/C Command 1 and 2
Power Applied to Controllers output stage
Values applied to Analog inputs 1 and 2
Amps on channel 1 and 2
Internal Heat Sink temperatures 1 and 2
Main Battery voltage
Internal 12V voltage
Encoder Speed or Position if module is installed
The entire string is repeated every 208 or 224 milliseconds (depending whether the encoder module is present) with the latest internal parameter values. This information can be logged using the Roborun Utility (see Viewing and Logging Data in Analog and R/C Modes on page 172).
The string and data format is described in “Analog and R/C Modes Data Logging String For- mat on page 102.

Important Warning

Disconnect the Motor Power (thick red wires) from the battery and power the con­troller by applying 12V on the Power Control input if you do not wish the motors to be activated while in Self Test mode.
This could be the case if you only wish to use the Self Test sequence to read the software revision number or to monitor the joystick capture.
AX2500/2850 Motor Controller Users Manual 47
General Operation
48 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

AX2500/2850 Connections

SECTION 5 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.
AX2500/2850 Connections
The AX2500/2850 uses a set of power wires (located on the back of the unit) and a DB15 connector for all necessary connections. The diagram on the figure below shows a typical wiring diagram of a mobile robot using the AX2500/2850 controller.
The wires are used for connection to the batteries and motors and will typically carry large current loads. Details on the controller’s power wiring can be found at Connecting Power and Motors to the Controller on page 25
The DB15 connector is used for all low-voltage, low-current connections to the Radio, Microcontroller, sensors and accessories. This section covers only the connections to sen­sors and actuators.
For information on how to connect the R/C radio or the RS232 port, see R/C Operation on page 69 and Serial (RS-232) Controls and Operation” on page 87.
AX2500/2850 Motor Controller Users Manual 49
Connecting Sensors and Actuators to Input/Outputs
1
2
3
4
3
t
se
Re
t e
S
5
t e
es
R
t
e
S
gram o
Pr
7
9
8
6
1- DC Motors
2- Optional sensors:
- Tachometers (Closed loop Speed mode)
- Potentiometers (Servo mode)
- Optical Encoder (AX2850 only - all closed loop modes)
3- Motor Power supply wires
4- Power Control wire
FIGURE 21. Typical controller connections
50 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
5- Controller
6- R/C Radio Receiver, microcomputer, or
wireless modem
7- Command: RS-232, R/C Pulse
8- Miscellaneous I/O
9- Running Inverted, or emergency stop
switch
AX2500/2850s Inputs and Outputs

AX2500/2850’s Inputs and Outputs

In addition to the RS232 and R/C channel communication lines, the AX2500/2850 includes several inputs and outputs for various sensors and actuators. Depending on the selected operating mode, some of these I/Os provide feedback and/or safety information to the con­troller.
When the controller operates in modes that do not use these I/O, these signals become available for user application. Below is a summary of the available signals and the modes in which they are used by the controller or available to the user.
TABLE 11. AX2500/2850 I/O functions
Signal I/O type Use Activated
Out C 2A Digital Output User
defined
Out D Low Current
Digital Output
Inp F Digital Input User
Inp E Digital Input Same as Input F - (Not available on AX2850)
EStop/Invert Digital Input Emer-
Sensor 1 Analog Input Tachome-
Sensor 2 Analog Input Same as Sensor 1
User defined
defined
Activate Output C
Turn FETs On/Off
gency stop
Invert Controls
User defined
ters input
Position sensing
Te mp er a ­ture sensor
User defined
Always active. Activated using R/C channel 3 (R/C mode), or serial command (RS232 mode)
Always active. Activated using R/C channel 3 (R/C mode), or serial command (RS232 mode) - (Not available on AX2850)
Active in RS232 mode only. Read with serial com­mand (RS232)
When Input is configured to drive Output C
When Input is configured as dead man switch input
When Input is configured as Emergency Stop switch input.
When Input is configured as Invert Controls switch input.
When input is configured as general purpose. Read with serial command (RS232).
When Channel 1 is configured in Closed Loop Speed Control
When Channel 1 is configured in Closed Loop Position Control
When Channel 1 is configured is Open Loop Speed Control and Motor Temperature protection is enabled
When Channel 1 is configured as Open Loop Speed Control and Temperature protection is dis­abled. Read with serial command (RS232).
AX2500/2850 Motor Controller Users Manual 51
Connecting Sensors and Actuators to Input/Outputs

I/O List and Pin Assignment

The figure and table below lists all the inputs and outputs that are available on the AX2500/
2850.
9
15
Pin1
8
FIGURE 22. Controller’s DB15 connector pin numbering
TABLE 12. DB15 connector pin assignment
Pin Number
1 and 9 Orange Output Output C 2A Accessory Output C
2 White Output
3 Input
4 Purple Input
5 and 13 Black Power Out Ground Controller ground (-)
6 Power In Ground Connect to pin 5**
7 Power In +5V Connect to pin 14**
8 Gray Input
Wire Color*
Input or Output Signal Description
R/C: RS232 data RS232 Data Logging Output
RS232: Data Out RS232 Data Out
Analog: RS232 Out RS232 Data Logging Output
R/C: Ch 1 R/C radio Channel 1 pulses
RS232: Data In RS232 Data In (from PC/MCU)
Analog: Unused Unused
R/C: Ch 2 R/C radio Channel 2 pulses
Ana/RS232: Input F Digital Input F in RS232 mode
R/C: Ch 3 R/C radio Channel 3 pulses - (Not avail-
able on AX2850)
Input E Accessory input E in RS232 mode
52 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting devices to Output C

TABLE 12. DB15 connector pin assignment
Pin Number
Wire Color*
Input or Output Signal Description
RC/RS232: Ana in 2 Channel 2 speed, position or temp
10 Green Analog in
input
Analog: Command 2 Analog command for channel 2
11 Blue Analog in RC/RS232: Ana in 1 Channel 1 speed, position or temp
input
Analog: Command 1 Analog command for channel 1
12 Yellow Output Output D Low Current Accessory Output D -
(Not available on AX2850)
14 Red Power Out +5V +5V Power Output (100mA max.)
15 Brown Input Input EStop/Inv Emergency Stop or Invert Switch input
*The wire colors are those used by Roboteq on our prefabricated cables. It is recom­mended you use these colors for consistency.
**These connections should only be done in RS232 mode or R/C mode with radio pow­ered from the controller. Otherwise connect to radio battery.
Connecting devices to Output C
Output C is a buffered, Open Drain MOSFET output capable of driving over 2A at up to 24V.
The diagrams on Figure 23 show how to connect a light or a relay to this output:
Relay, Valve Motor, Solenoid or other Inductive Load
+
5 to 24V DC
-
5 to 24V DC
+
-
Output C 1,9
Ground 5
AX2500 Internal MOSFET
FIGURE 23. Connecting inductive and resistive loads to Output C
This output can be turned On and Off using the Channel 3 Joystick when in the R/C mode. See “Activating the Accessory Outputs on page 83 for more information.
Lights, LEDs, or any other non-inductive load
Output C 1,9
Ground 5
AX2500 Internal MOSFET
AX2500/2850 Motor Controller Users Manual 53
Connecting Sensors and Actuators to Input/Outputs
When the controller is used in RS232 mode, this output can be turned On and Off using the !C (On) and !c (Off) command strings. See RS232 Commands Set on page 92 for more information.

Important warning:

This output is unprotected. If your load draws more than 2A, permanent damage may occur to the power transistor inside the controller. A 1A fuse may be used in series with the load for increased protection.
Overvoltage spikes induced by switching inductive loads, such as solenoids or relays, will destroy the transistor unless a protection diode is used.

Connecting devices to Output D

Output D is a low-current, unbuffered output. When Off, this output will be pulled to ground through a 10Kohm resistor. When On, this output will be pulled to around 4.5V through that same resistor.
The D output cannot drive any load directly and requires an external transistor or solid state relay to drive high current accessories. Because they are external, the size, voltage, and power of these transistors can be selected to best suit a particular need.
The diagram on Figure 24 shows how to drive a large inductive load using the D output and a Power MOSFET widely available at most electronic component distributors. The MOS­FET must conduct with a gate voltage of 4V or higher.
The D output can be toggled On and Off using the Channel 3 Joystick when in the R/C mode. See “Activating the Accessory Outputs on page 83 for more information.
When the controller is used in RS232 mode, this output can be turned On and Off using the !D (On) and !d (Off) command strings. See RS232 Commands Set on page 92 for more information.
Use Diode for Relay, Valve Motor, Solenoid or other Inductive Load
5 to 24V DC
+
IRF1010
-
Output D 12
1MOhm
Ground 5
AX2500 Internal Buffer and Resistor
10kOhm
FIGURE 24. Connecting external MOSFET and load to Output D
54 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting Switches or Devices to Input E

This output is not available on the AX2850 or on the AX2550 with the Encoder Mod­ule installed.
Connecting Switches or Devices to Input E
Input E is a general purpose, digital input. This input is only active when in the RS232 and Analog modes. In R/C mode, this line is used as the radio channel 3 input.
Input E is a high impedance input with a pull-up resistor built into the controller. Therefore it will report an On state if unconnected, and a simple switch as shown on Figure 25 is nec­essary to activate it.
+5V Out 14
10kOhm
Input E 8
10kOhm
AX2500 Internal Buffer and Resistors
Ground 5
FIGURE 25. Switch wirings to Input E
The status of Input E can be read in the RS232 mode with the ?i command string. The con­troller will respond with three sets of 2 digit numbers. The status of Input E is contained in the first set of numbers and may be 00 to indicate an Off state, or 01 to indicate an On state.
This input is not available on the AX2850 or on the AX2550 with the Encoder Module installed.

Connecting Switches or Devices to Input F

Input F is a general purpose digital input. This input is only active when in the RS232 mode. In R/C mode, this line is used as the radio channel 2 input.
Input F is an opto-coupled input and requires the opto coupler buffer to be powered for it to work. Figure 26 below shows how to wire the buffers power inputs (+5V In, GND In). Seen from the outside, Input F is similar to input E, but with a lower impedance of 10kOhm. If left unconnected, this input will report an Off state. As a result, this input may
AX2500/2850 Motor Controller Users Manual 55
Connecting Sensors and Actuators to Input/Outputs
be activated by a simple switch connected to +5V and no external resistor, as show in the Figure.
+5V Out 14
+5V In 7
AX2500 Internal Buffer equivalent Circuit
Input F 4
GND In 6
GND Out 5
FIGURE 26. Switch wiring to Input F
The status of Input F can be read in the RS232 mode with the ?i command string. The con­troller will respond with three sets of 2 digit numbers. The status of Input F is contained in the second set of numbers and may be 00 to indicate an Off state, or 01 to indicate an On state.
10kOhm
Opto

Connecting Switches or Devices to EStop/Invert Input

This input is used to connect various switches or devices depending on the selected con­troller configuration.
The factory default for this input is No Action”.
This input can also be configured to be used with an optional “inverted” sensor switch. When activated, this will cause the controls to be inverted so that the robot may be driven upside-down.
When neither Emergency Stop or Inverted modes are selected, this input becomes a gen­eral purpose input like the other two described above.
This input is a high impedance input with a pull-up resistor built into the controller. There­fore it will report an On state (no emergency stop, or not inverted) if unconnected. A sim­ple switch as shown on Figure 27 is necessary to activate it. Note that to trigger an Emergency Stop, or to detect robot inversion this input must be pulled to ground. Figure 27 show how to wire the switch to this input.
56 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting Position Potentiometers to Analog Inputs

+5V 14
Input EStop/Inv 15
Ground 5
FIGURE 27. Emergency Stop / Invert switch wiring
The status of the EStop/Inv can be read at all times in the RS232 mode with the ?i com- mand string. The controller will respond with three sets of 2 digit numbers. The status of the ES/Inv Input is contained in the last set of numbers and may be 00 to indicate an Off state, or 01 to indicate an On state.
AX2500 Internal Buffer and Resistor
10kOh m
Connecting Position Potentiometers to Analog Inputs
When configured in the Position mode, the controller’s analog inputs are used to obtain position information from a potentiometer coupled to the motor axle. This feature is useful in order to create very powerful servos as proposed in the figure below:
Position Feedback
Potentiometer
Gear box
FIGURE 28. Motor and potentiometer assembly for position servo operation
AX2500/2850 Motor Controller Users Manual 57
Connecting Sensors and Actuators to Input/Outputs
Connecting the potentiometer to the controller is as simple as shown in the diagram on Figure 29.
+5V 14
Input Pos 1 11
or Pos 2 10
10kOhm
Ground 5
FIGURE 29. Potentiometer wiring in Position mode
The potentiometer must be attached to the motor frame so that its body does not move in relationship with the motor. The potentiometer axle must be firmly connected to the gear box output shaft. The gearbox must be as tight as possible so that rotation of the motor translates into direct changes to the potentiometers, without slack, at the gearbox’s out- put.
See Closed Loop Position Mode” on page 115 for complete details on Position Mode wir- ing and operation.
AX2500 Internal Resistors and Converter
47kOhm
10kOhm
47kOhm
A/D

Important Warning

Beware that the wrong + and - polarity on the potentiometer will cause the motor to turn in the wrong direction and not stop. The best method to figure out the right potentiometer is try one way and change the polarity if incorrect. Note that while you are doing these tests, the potentiometer must be loosely attached to the motor’s axle so that it will not be forced and broken by the motor’s uncontrolled rotation in case it was wired wrong.

Connecting Tachometer to Analog Inputs

When operating in closed loop speed mode, tachometers must be connected to the con­troller to report the measured motor speed. The tachometer can be a good quality brushed DC motor used as a generator. The tachometer shaft must be directly tied to that of the motor with the least possible slack.
Since the controller only accepts a 0 to 5V positive voltage as its input, the circuit shown in Figure 30 must be used between the controller and the tachometer: a 10kOhm potentiom­eter is used to scale the tachometer output voltage to -2.5V (max reverse speed) and +2.5V (max forward speed). The two 1kOhm resistors form a voltage divider that sets the idle voltage at mid-point (2.5V), which is interpreted as the zero position by the controller. The voltage divider resistors should be of 1% tolerance or better. To precisely adjust the
2.5V midpoint value it is recommended to add a 100 ohm trimmer on the voltage divider.
With this circuitry, the controller will see 2.5V at its input when the tachometer is stopped, 0V when running in full reverse, and +5V in full forward.
58 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting External Thermistor to Analog Inputs

1kOhm
0 Adjust 100 Ohm pot
1kOhm
FIGURE 30. Tachometer wiring diagram
The tachometers can generate voltages in excess of 2.5 volts at full speed. It is important, therefore, to set the potentiometer to the minimum value (cursor all the way down per this drawing) during the first installation.
Since in closed loop control the measured speed is the basis for the controller’s power out- put (i.e. deliver more power if slower than desired speed, less if higher), an adjustment and calibration phase is necessary. This procedure is described in Closed Loop Speed Mode on page 123.
Max Speed Adjust 10kOhm pot
Ta c h
+5V 14
Input Ana 1 11
or Ana 2 10
Ground 5
AX2500 Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm

Important Warning

The tachometers 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 with no way of stopping it other than pressing the emer­gency stop button or disconnecting the power.
Connecting External Thermistor to Analog Inputs
Using external thermistors, the AX2500/2850 can be made to supervise the motor’s tem- perature and adjust the power output in case of overheating. Connecting thermistors is done according to the diagram show in Figure 31. The AX2500/2850 is calibrated using a 10kOhm Negative Coefficient Thermistor (NTC) with the temperature/resistance character­istics shown in the table below. This 10kOhm thermistor model can be found at the com­ponent section of every Radio Shack stores under the product reference 271-110A.
TABLE 13. Recommended NTC characteristics
Temp (oC) -25 0 25 50 75 100
Resistance (kOhm) 86.39 27.28 10.00 4.16 1.92 0.93
AX2500/2850 Motor Controller Users Manual 59
Connecting Sensors and Actuators to Input/Outputs
+5V 14
10kOhm
Input Ana 1 11
or Ana 2 10
10kOhm
NTC
Thermistor
Ground 5
FIGURE 31. NTC Thermistor wiring diagram
Thermistor are non-linear devices. Using the circuit described on Figure 31, the controller will read the following values (represented in signed binary) according to the temperature.
100
AX2500 Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm
50
0
-50
Analog Input Reading
-100
-150
-20
0
10
20
30
40
50
60
70
80
-10
Temperature in Degrees C
90
FIGURE 32. Signed binary reading by controller vs. NTC temperature
To read the temperature, use the ?p command to have the controller return the A/D con­verter’s value. The value is a signed 8-bit hexadecimal value. Use the chart data to convert the raw reading into a temperature value.

Using the Analog Inputs to Monitor External Voltages

100
110
The analog inputs may also be used to monitor the battery level or any other DC voltage. In this mode, the controller does not use the voltage information but merely makes it avail­able to the host microcomputer via the RS232 port. The recommended schematic is shown in Figure 33.
60 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connecting User Devices to Analog Inputs

To Battery + Terminal
47kOhm
4.7kOhm
+5V 14
10
or 11
Ground 5
FIGURE 33. Battery voltage monitoring circuit
Using these resistor values, it is possible to measure a voltage ranging from -5V to +60V with a 0.25V resolution. The formula for converting the A/D reading into a voltage value is as follows.
Measured volts = ((controller reading + 128) * 0.255) -5
Note: The A/D converter’s reading is returned by the ?p command and is a signed 8-bit hexadecimal value. You must add 128 to bring its range from -127/+127 to 0/255.
Connecting User Devices to Analog Inputs
AX2500 Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm
The two analog inputs can be used for any other purpose. The equivalent circuit for each input is shown in Figure 34. The converter operates with an 8-bit resolution, reporting a value of 0 at 0V and 255 at +5V. Care should be taken that the input voltage is always posi­tive and does not exceed 5V. The converter’s intrinsic diodes will clip any negative voltage or voltage above 5V, thus providing limited protection. The value of the analog inputs can be read through the controller’s RS232 port.
+5V 14
Input Ana 1 11
or Ana 2 10
Ground 5
47kOhm
10kOhm
47kOhm
FIGURE 34. AX2500/2850 Analog Input equivalent circuit
A/D
AX2500/2850 Motor Controller Users Manual 61
Connecting Sensors and Actuators to Input/Outputs

Internal Voltage Monitoring Sensors

The AX2500/2850 incorporates voltage sensors that monitor the Main Battery voltage and the Internal 12V supply. This information is used by the controller to protect it against over­voltage and undervoltage conditions (see “Overvoltage Protection” on page 32 and “Und- ervoltage Protection” on page 32). These voltages can also be read from the RS232 serial port using the ?e query.
The returned value are numbers ranging from 0 to 255. To convert these numbers into a Voltage figure, the following formulas must be used:
Measured Main Battery Volts = 55 * Read Value / 256
Measured Internal Volts = 28.5 * Read Value / 256

Internal Heatsink Temperature Sensors

The AX2500/2850 includes temperature sensors making contact with the each of the two Heatsink sides of the controller.
These sensors are used to automatically reduce the maximum Amps that the controller can deliver as it overheats. However, the temperature can be read using the RS232 port using the ?m query, or during data logging (see “Analog and R/C Modes Data Logging String Format on page 102)
The analog value that is reported will range from 0 (warmest) to 255 (coldest). Because of the non-linear characteristics of NTC thermistors, the conversion from measured value to temperature must be done using the correction curve below.
It should be noted that the temperature is measured inside the controller and that it may be temporarily be different than the temperature measured outside the case.
62 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Temperature Conversion C Source Code

300
250
200
150
100
Reported Analog Value
50
0
-40
-30
-20
-10
0
10
20
30
40
50
60
708090
100
110
120
130
140
150
Temperature in Degrees C
FIGURE 35. Analog reading by controller vs. internal heat sink temperature
Temperature Conversion C Source Code
The code below can be used to convert the analog reading into temperature. It is provided for reference only. Interpolation table is for the internal thermistors.
int ValToHSTemp(int AnaValue) {
// Interpolation table. Analog readings at -40 to 150 oC, in 5o intervals
int TempTable[39] ={248, 246, 243, 240, 235, 230, 224, 217, 208, 199, 188, 177, 165, 153, 140, 128, 116, 104,93, 83, 74, 65, 58, 51, 45, 40, 35, 31, 27, 24, 21, 19, 17, 15, 13, 12, 11, 9, 8};
int LoTemp, HiTemp, lobound, hibound, temp, i;
i=38;
while (TempTable[i] < AnaValue &&i>0)
i--;
if (i < 0)
i=0;
if (i == 38)
return 150; else {
LoTemp =i*5-40;
HiTemp = LoTemp + 5;
lobound = TempTable[i];
hibound = TempTable[i+1];
temp = LoTemp + (5 * ((AnaValue - lobound)*100/ (hibound - lobound)))/100;
return temp; }
}
AX2500/2850 Motor Controller Users Manual 63
Connecting Sensors and Actuators to Input/Outputs
64 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Use of the LED Display

SECTION 6 Normal and
Fault Condition LED Messages
This section discusses the meaning of the various messages and codes that may be dis­played on the LED display during normal operation and fault conditions.
Use of the LED Display
The AX2500/2850 uses a single 7-segment LED display to report a number of operating or fault conditions. The type of reported information depends on the controller’s operating context:
During normal motor operation:
Motor direction
During Parameter Settings
Selected parameter and its value
In R/C mode with Radio off
No control message
During Error condition
Error condition (overheat, emergency stop, short circuit)
During Self-Test mode
Software revision number
Motor direction
AX2500/2850 Motor Controller Users Manual 65
Normal and Fault Condition LED Messages

Motor Direction Status

When the controller is running, two pairs of LED segments are directly related to com­mand informations to the Power Output stage. The position and meaning of the segments is shown in the figure below.
Motor 2 Direction
FIGURE 1. Each command bit is wired to 2 LED segments
Note that the display does not provide Power information. Therefore it is possible that the motor be stopped while the display indicates that the direction is forward. In such a situa­tion is set to apply the power in the forward direction to the output stage but the motor is stopped because the applied power is zero.
The LED can display a total of 5 patterns summarized in Table 14.
TABLE 14. Motor Commands and resulting display
Possible Display Motor 1 Motor 2 Comment
Lit: Forward Off: Reverse
Motor 1 Direction
Lit: Forward Off: Reverse
Is also displayed when con-
troller is active with a 0 com-
mand on each channel (i.e.
motors at speed 0)
For ward Forward
Reversed Forward
66 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Fault Messages

TABLE 14. Motor Commands and resulting display
Possible Display Motor 1 Motor 2 Comment
For ward Reversed
Reversed Reversed
Fault Messages
The AX2500/2850 uses the LED display to report fault conditions. When these messages are displayed, the motors are normally stopped.

No Control

This message is displayed in the R/C mode to indicate that no valid radio signal has been detected at its inputs, or that radio signal has been lost. When the controller is configured in the mixed mode, signals on channel 1 and channel 2 must be present to enable the con­troller. When the controller is configured in the separate mode, a signal received on either channel will enable the controller. When enabled, the controller will display the normal motor status described previously.
The no control messages is displayed using the following sequence of digits.
MOSFET Transistors are OFF
Motors are freewheeling
Will occur during Overvolt-
age or Undervoltage condi-
tions (see page 32), of if Dead-man switch is acti-
vated (see page 46)
FIGURE 36. No Radio signal scrolling message
AX2500/2850 Motor Controller Users Manual 67
Normal and Fault Condition LED Messages

Emergency Stop

The Emergency Stop message is displayed after the motors have stopped following an emergency stop condition triggered by any of the methods described in Figure , “Emer- gency Shut Down Using Controller Switches,” on page 45. The Emergency Stop” mes- sage is displayed using the following sequence of digits.
FIGURE 37. Emergency Stop scrolling message

Self-Test Display

Self test is a special condition that is entered by holding the Program and Set button imme­diately after power-on or reset. During self test, the LEDs will display the controller’s soft- ware revision number by flashing a sequence of digits as shown in the figure below. Then the each motor will, in turn, be ramped to maximum forward and maximum reverse. When the motors are operating, the LED will display one of the patterns described in Table 14. The cycle will repeat indefinitely until the controller is powered Off or reset.
FIGURE 38. Example of Software revision number display
= Software version 1.7
= Software version 2.0.c
68 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Mode Description

SECTION 7 R/C Operation

This section describes the controller’s wiring and functions specific to the R/C radio control mode.
Mode Description
The AX2500/2850 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 joy­sticks positions. The AX2500/2850 mode is compatible with all popular brands of R/C transmitters. A third R/C channel can be used to control the On/Off state of two outputs that may be connected to electrical accessories (valves, lights, weapons,...)
The R/C mode provides the simplest method for remotely controlling a robotic vehicle: little else is required other than connecting the controller to the R/C receiver (using the provided cable) and powering it On. For better control and improved safety, the AX2500/2850 can be configured to perform correction on the controls and will continuously monitor the trans­mission for errors.
t e
es
R
Set
FIGURE 39. R/C radio control mode
AX2500/2850 Motor Controller Users Manual 69
R/C Operation
Set
Reset

Selecting the R/C Input Mode

The R/C Input Mode is the factory default setting.
If the controller has been previously set to a different Input Mode, it will be necessary to reset it to the R/C mode using one of the following methods:
Restoring the factory defaults by pressing and holding the Program and Set but-
tons while powering on the controller until the LED display flashes
Setting the I parameter to the value 0 using one of several methods described
in the chapters Configuring the Controller using the Switches on page 153, Using the Roborun Configuration Utility on page 159, and RS232 Accessible Parameter Table” on page 99.

Typical Wiring

The diagram below shows all the required and optional connections when using the R/C mode.
1 or 2 DC Motors
Controller Power Control
Common Power Supply for both Motor Channels
R/C Receiver
R/C Receiver
Battery (Optional)
Speed , Position or Temperature Sensors (Optional)
t e s
Re
t e
S
t e
s
e
R
t
e
S
m a
r
Prog
"Emergency Stop"
or "Inverted" Switch
(Optional)
1 or 2 user
accessory (Optional)
The required connections are the following:
a 12V to 40V to Main Battery
70 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Connector I/O Pin Assignment (R/C Mode)

at least one motor
optional 12V backup power supply for the controller
R/C radio
See Connecting Power and Motors to the Controller” on page 25. The connection to the R/C radio is further detailed n this chapter.
The optional connections are the following:
optional 12V backup power supply for the controller
the speed or position sensors required for closed loop speed or position operation
1 or 2 electrical accessory (valve, weapon, solenoid, ...)
thermistor for motor temperature monitoring
gravity actuated switch for detecting inverted operation
manual switch for emergency stop
the R/C receivers battery may also be omitted by using the power output available
on the controller’s connector
See Connecting Sensors and Actuators to Input/Outputs on page 49.
Connector I/O Pin Assignment (R/C Mode)
9
15
Pin1
8
FIGURE 40. Pin locations on the controller’s 15-pin connector
When used in R/C mode, the pins on the controllers DB15 connector are mapped as described in the table below
TABLE 15. Connector pin-out in R/C mode
Pin Number Signal
1 Output C Output 2A Accessory Output C (same as pin 9)
2 RS232 Out Output Optional. Used for Data Logging
3 R/C Channel 1 Input Channel 1 input pulse (isolated)
Input or Output Description
AX2500/2850 Motor Controller Users Manual 71
R/C Operation
TABLE 15. Connector pin-out in R/C mode
Pin Number Signal
4 R/C Channel 2 Input Channel 1 input pulse (isolated)
5 Ground Power Controller ground (-)
6 R/C - Power Input R/C Battery input - (isolated)
7 R/C + Power Input R/C Battery input + (isolated)
8 R/C Channel 3 Input Channel 3 input for On/Off accessories - Not avail-
9 Output C Output 2A Accessory Output C (same as pin 1)
10 Speed/Pos/T 2 Analog in Channel 2 speed, position or temp feedback
11 Speed/Pos/T 1 Analog in Channel 1 speed, position or temp feedback
12 Output D Output Low Current Accessory Output D - Not available
13 Ground Power Controller ground (-)
14 +5V Power Output +5V Power Output (100mA max.)
15 Switch Input Input Emergency Stop or Invert Switch input
Input or Output Description
able on AX2850.
on AX2850.

R/C Input Circuit Description

The AX2500/2850 includes an optical isolation barrier on the Channel 1 and Channel 2 R/C radio inputs. Figure 41 shows an electrical representation of the R/C input circuit. The right side is powered from the controller’s batteries. The R/C signals 1 and 2 activate a LED whose light then triggers the photo transistors on the microcontroller side. The left side of the opto isolators include an amplifier and thus need to be powered separately. Notice that channel 3 is optional and not opto-isolated.
Optical isolation is designed to protect the R/C radio from damage that may occur inside the controller, and vice-versa. Additionally, the isolation barrier will help prevent some of the electrical “noise” generated inside the controller by the Microcontroller and the high power switching from reaching and interfering with the radio.
72 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Supplied Cable Description

14
Isolator Power
R/C Channel 1
R/C Channel 2
R/C Channel 3
Isolator Ground
7
3
4
8
6
5-13
FIGURE 41. AX2500/2850 R/C Input equivalent circuit
Supplied Cable Description
The AX2500/2850 is delivered with a custom cable that can easily be adapted to operate in any of the supported isolated and non isolated modes. The figures below show the cable and its wiring diagram
Controller Power
Opto­Isolators
MCU
Controller Ground
FIGURE 42. Cable wiring diagram
1 2 3
1
9
8
15
AX2500/2850 Motor Controller Users Manual 73
R/C Operation
FIGURE 43. RC connection cable
.
1
2
3
The wire loop is used to bring power from the controller’s internal power supply to the optocouplers and to the RC radio. Leaving the loop untouched causes the controller to operate in non-isolated mode, with power flowing into the RC radio. The following sections show the various power and isolation modes supported by the controller.

Cabling to R/C Receiver using Full Opto-Isolation

Full opto-isolation is achieved when the radio’s power and ground are totally separated from the controller’s power and ground.
Figure 44 shows the cabling of the R/C radio to the controller when full optical isolation is required.
Channel 3: Do not connect
Channel 2
Channel 1
Note: Only one set of black and red
(battery) wires needs to be brought to the connector.
Pin 1
15
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+)
8
9
Cut loop
FIGURE 44. Channel 1 & 2 wiring using external battery and full optical isolation
74 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Cabling to R/C Receiver with Partial Opto-Isolation

The opto isolators must be powered with a 5V supply for their built-in amplifiers to work. This power is normally supplied from the R/C radio’s battery as detailed in the diagram on Figure 45.
Note that if full optical isolation is required, it is not possible to connect the third R/C channel to the radio. Since the 3rd channel is not optoisolated, connecting it to the radio will cause the radio’s ground to be electrically tied to the controller ground, thus breaking the optical barrier.
This wiring, with a separate R/C battery, is the preferred method for connecting the R/C radio.
14
Radio
Battery
R/C Radio
R/C Radio Power
R/C Channel 1
R/C Channel 2
R/C Radio Ground
7
3
4
8
6
5-13
Opto­Isolators
FIGURE 45. Fully opto-isolated connection to R/C radio
Cabling to R/C Receiver with Partial Opto-Isolation
This wiring option should be considered only when the Accessory R/C channel (Channel 3) is required. Since Channel 3 is directly connected to the AX2500/2850’s microcontroller without opto coupler, it is necessary to connect the radio and controller grounds together to create a common ground reference for the signal. Since the Channel 3 connector has a ground wire, this connection will occur when the connector is plugged in the radio. The red loop wire must be cut to enable that mode. The radio will be powered from its own sepa­rate battery using this wiring scheme.
MCU
Controller Power
Controller Ground
By joining the grounds and having the R/C signal connected directly from the radio to the controller, the full electrical barrier is lost. However, since the radio’s +5V and controller
AX2500/2850 Motor Controller Users Manual 75
R/C Operation
power voltage are still separate, some protection remains should the controller fail and accidentally generate a high voltage on its +5V output.
Channel 3:
Channel 2
Channel 1
Pin 1
15
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
8
9
Cut red loop
FIGURE 46. Wiring when Ch 3 is used with radio powered by its own separate battery
Figure 46 shows the cabling of the R/C radio to the controller when Channel 3 is used and partial optical isolation is desired. Figure 47 shows the equivalent electrical diagram.
R/C Radio Power
R/C Channel 1
14
7
3
Opto-
Isolators
Controller Power
Radio
Battery
R/C Radio
R/C Channel 2
R/C Channel 3
R/C Radio Ground
4
8
6
5-13
FIGURE 47. Partial opto-isolation with Channel 3 electrical diagram

Powering the Radio from the controller

The 5V power and ground signals that are available on the controllers connector may be used to power the R/C radio. The wire loop is used to bring the controller’s power to the the radio as well a for powering the optocoupler stage. Figure 48 below shows the connec­tor wiring necessary to do this. Figure 49 shows the equivalent electrical diagram.
MCU
Controller Ground
76 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Powering the Radio from the controller
Channel 3
Channel 2
Channel 1
Pin 1
FIGURE 48. Wiring for powering R/C radio from controller
14
R/C Radio Power
R/C Channel 1
7
3
15
Opto­Isolators
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
8
9
Wire loop bringing power from controller to RC radio and to optical isolators
Controller Power
R/C Radio
R/C Channel 2
R/C Channel 3
R/C Radio Ground
4
8
6
5-13
FIGURE 49. R/C Radio powered by controller electrical diagram

Important Warning

Do not connect a battery to the radio when in this mode. The battery voltage will flow directly into the controller and cause permanent damage if its voltage is higher than 5.5V.
Notice that in this configuration, the controllers +5V power and ground are connected to the floating (opto-isolated) R/C power inputs so that now the radio and the controller are no longer optically isolated.
MCU
Controller Ground
AX2500/2850 Motor Controller Users Manual 77
R/C Operation
Losing the optical isolation increase the risks that damage in the controller will reach the radio, although these risks remain extremely low. Without optical isolation, the radio is less immune to electrical “noise” and therefore may operate at a reduced range.
This mode of operation is the most convenient and is the one wired in the R/C cable deliv­ered with the controller.

Operating the Controller in R/C mode

In this operating mode, the AX2500/2850 will accept commands from a Radio Control receiver used for R/C models remote controls. The speed or position information is com­municated to the AX2500/2850 by the width of a pulse from the R/C receiver: a pulse width of 1.0 millisecond indicates the minimum joystick position and 2.0 milliseconds indi­cates the maximum joystick position. When the joystick is in the center position, the pulse should be 1.5ms.
Note that the real pulse-length to joystick-position numbers that are generated by your R/C radio may be different than the ideal 1.0ms to 2.0ms discussed above. To make sure that the controller captures the full joystick movement, the AX2500/2850 defaults to the timing values shown in Figure 50.
For best control accuracy, the AX2500/2850 can be calibrated to capture and use your radio’s specific timing characteristics and store them into its internal Flash memory. This is done using a simple calibration procedure described on page 82.
min center maxjoystick position:
1. 0 5 m s
0.45ms
R/C pulse timing:
FIGURE 50. Joystick position vs. pulse duration default values
The AX2500/2850 has a very accurate pulse capture input and is capable of detecting changes in joystick position (and therefore pulse width) as small as 0.4%. This resolution is superior to the one usually found in most low cost R/C transmitters. The AX2500/2850 will therefore be able to take advantage of the better precision and better control available from a higher quality R/C radio, although it will work fine with lesser expensive radios as well.
0.9ms
Internally, the measured pulse width is compared to the reference minimum, center and maximum pulse width values. From this is generated a number ranging from -127 (when the joystick is in the min. position), to 0 (when the joystick is in the center position) to +127 (when the joystick is in the max position). This number is then used to set the motors desired speed or position that the controller will then attempt to reach.
78 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Reception Watchdog

For best results, reliability and safety, the controller will also perform a series of correc­tions, adjustments, and checks to the R/C commands, as described in the following sec­tions.
Reception Watchdog
Immediately after it is powered on, if in the R/C mode, the controller is ready to receive pulses from the R/C radio and move the motors accordingly.
If no pulses are present, the motors are disabled, and the controllers display will scroll alternatively the letters no ctrl as shown in Figure 51 below.
FIGURE 51. No control message will scroll when no valid radio signal is present
After powering on the R/C radio receiver and transmitter, and if the wiring is correct, the controller will start receiving pulses. For a preset amount of time, the controller will moni­tor the pulse train to make sure that they are regular and therefore genuine R/C radio com­mand pulses. After that, the motors are enabled and the LEDs will display a pattern related to the actual motor direction (see Figure , Motor Direction Status,” on page 66).
This power-on Watchdog feature prevents the controller from becoming active from para­site pulses and from moving the motors erratically as a result.
Similarly, if the pulse train is lost while the motors were enabled, the controller will wait a short preset amount of time before it disables the motors. If the pulses reappear during that time, the controller continues without any breaks. If the communication is confirmed lost, the no ctrl message is displayed again.
Note: the Accessory Outputs C and D will be turned Off when radio is lost.

Important Notice about PCM Radios

PCM radios have their own watchdog circuitry and will output a signal (normally a safe condition value) when radio communication is lost. This signal will be inter- preted by the AX2500/2850 as a valid command and the controller will remain active. To benefit from the AX2500/2850’s radio detection function, you will need to disable the your PCM radio watchdog.

R/C Transmitter/Receiver Quality Considerations

As discussed earlier in this chapter, the AX2500/2850 will capture the R/C’s command pulses with great accuracy. It will therefore be able to take advantage of the more precise joysticks and timings that can be found in higher quality R/C radio, if such added precision is desired in your application.
AX2500/2850 Motor Controller Users Manual 79
R/C Operation
Another important consideration is the R/C receivers ability to operate in an electrically noisy environment: the AX2500/2850 switches high current at very high frequencies. Such transients along long battery and motor wires will generate radio frequency noise that may interfere with the R/C radio signal. The effects may be reduced remote control range and/ or induced errors in the command pulse resulting in jerky motor operation.
A higher quality PCM R/C transmitter/radio is recommended for all professional applica­tions, as these are more immune to noise and interference.
While a more noise-immune radio system is always desirable, it is also recommended to layout the wiring, the controller, radio and antenna so that as little electrical noise is gener­ated in the first place. Section Electrical Noise Reduction Techniques on page 31 pro­vides a few suggestions for reducing the amount of electrical noise generated in your robot.

Joystick Deadband Programming

In order to avoid undesired motor activity while the joysticks are centered, the AX2500/ 2850 supports a programmable deadband feature. A small deadband is set into the control­ler by default at the factory. This deadband can be stretched, reduced or eliminated by changing the d parameter using one of the three methods described in the chapter Configuring the Controller using the Switches on page 153. The AX2500/2850 has 8 pre- set deadband values coded 0 to 7. The value 0 disables the deadband. Other values select a deadband according to the table below. The deadband value applies equally to both joy­sticks
The deadband is measured as a percentage of total normal joystick travel. For example, a 16% deadband means that the first 16% of joystick motion in either direction will have no effect on the motors. If the joystick is recalibrated to operate using a shorter travel (see Joystick Calibration on page 81), the percent value in the table will not be as accurate.
TABLE 16. Selectable deadband values
Deadband Parameter Value Deadband as Percent of full Joystick Travel
d = 0 No deadband
d = 1 8%
d = 2 16% - default value
d = 3 24%
d = 4 32%
d = 5 40%
d = 6 46%
d =7 54%
Note that the deadband only affects the start position at which the joystick begins to take effect. The motor will still reach 100% when the joystick is at its full position. An exagger­ated illustration of the effect of the deadband on the joystick action is shown in the Figure 52 below.
80 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Command Control Curves

Deadband
Min
Reverse
(no action)
Min
Forward
Max
Reverse
Centered
Position
FIGURE 52. Effect of deadband on joystick position vs. motor speed
Command Control Curves
The AX2500/2850 can also be set to translate the joystick motor commands so that the motors respond differently whether the joystick is near the center or near the extremes. Five different exponential or logarithmic translation curves may be applied. Since this fea­ture applies to both R/C and RS232 mode, it is described in detail in Command Control Curves on page 42, in the General Operation section of this manual.

Left/Right Tuning Adjustment

Max
Forward
When operating in mixed mode with one motor on each side of the robot, it may happen that one motor is spinning faster than the other one at identically applied power, causing the vehicle to pull to the left or to the right.
To compensate for this, the AX2500/2850 can be made to give one side up to 10% more power than the other at the same settings. This capability is described in detail in Left / Right Tuning Adjustment on page 43, in the General Operation section of this manual.

Joystick Calibration

This feature allows you to program the precise minimum, maximum and center joystick positions of your R/C transmitter into the controllers memory. This feature will allow you to use the full travel of your joystick (i.e. minimum = 100% reverse, maximum = 100% for­ward). It also ensures that the joystick’s center position does indeed correspond to a “0” motor command value.
Joystick calibration is also useful for modifying the active joystick travel area. For example, the figure below shows a transmitter whose joystick’s center position has been moved back so that the operator has a finer control of the speed in the forward direction than in the reverse position.
AX2500/2850 Motor Controller Users Manual 81
R/C Operation
There are two methods for calibrating the joysticks:
The automatic method is the simplest and is based on the controller “learning the
joystick’s parameters using the simple training sequence described below.
The manual method lets you enter actual timing numbers directly in the controllers
flash memory using your PC running the Roborun configuration utility. This method is described in Loading, Changing Controller Parameters on page 162.
New Desired
Center Position
Min
Reverse
Max
Reverse
FIGURE 53. Calibration example where more travel is dedicated to forward motion
Min
Forward

Automatic Joystick Calibration

To calibrate the joystick(s) follow these steps:
Press and hold the Program button while resetting or power up the controller
After 10 seconds, the controller will enter the Program mode and flash the first
parameter (I) and its value (0 if set R/C mode)
Turn the R/C transmitter and receiver On
Press the Program button several times until the letter J is displayed. If you
missed it, keep pressing the Program button for another cycle.
When the display flashes the letter J followed by the “-” sign, press the Set but-
ton
When the display flashes the letter J followed by o”, the controller has entered
the joystick calibration mode
Move each joystick to the desired minimum and maximum position several times
Move back the joystick(s) to the desired center position
With the joystick(s) in the center position, press the Program button to record the
change permanently in the controllers Flash memory.
Restart the controller by pressing the Reset button or cycling the power.
Max
Forward
To reset the controller to factory default or to program the joystick’s positions using numer- ical values, see Configuring the Controller using the Switches on page 153 and “Using the Roborun Configuration Utility on page 159.
82 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Notes:
If you attempt to calibrate the joysticks while the radio is off or not connected to the con­troller, the calibration data will not change and the previously stored information will con­tinue to be used.
If calibration is performed with only one R/C channel connected to the controller, then only the joystick that is active will be calibrated. The other channel will keep its original settings.
A minimum amount of travel is required between the min, max and center joystick posi­tions. If, while calibrating, the joystick has not been moved far enough from either side of the center position, the controller will automatically include a minimum of travel to ensure proper and safe operation. In most cases, this creates no undesired effect to the driving characteristics of the robot.
R/C calibration only applies to the channel 1 and channel 2 inputs. The accessory activation channel (channel 3) is preset at the factory and cannot be changed.

Important Notice

Activating the Accessory Outputs

To ensure that only stable pulses are present, the R/C transmitter and radio must be On before entering joystick calibration.
Activating the Accessory Outputs
The AX2500/2850 has two general purpose outputs that may be turned on and off using a third R/C channel on the radio.
Output C is a buffered output capable of driving a 2A device at up to 24V. Output D is a non-buffered output that requires an external relay to drive high current loads. Details on how to wire these outputs to user accessories can be found at Connecting Sensors and Actuators to Input/Outputs on page 49.
Both outputs are controlled from a single joystick on Channel 3.
Output C is activated by pushing the joystick to the maximum position. The output turns back off when the joystick is returned to the center position
Output D is a toggle output. When the joystick is moved from the center to the minimum position, the output changes state (to On if it was Off, or to Off if it was On). Beware that because this is a toggling output, it may be accidentally activated by noise in the radio reception. Use this output to drive safe accessories. Use only with a good quality radio, such as a PCM radio.
Note: Channel 3 and Output D are not available on the X2850, or on the AX2550 equipped with the encoder module.
AX2500/2850 Motor Controller Users Manual 83
R/C Operation
No Change
Output D
Toggle
Output D
FIGURE 54. Using Channel 3 to activate accessory outputs

Data Logging in R/C Mode

While in R/C Mode, the AX2500/2850 will continuously send a string of characters on the RS232 output line. This string will contain 12 two-digits hexadecimal number representing the 12 following operating parameters.
Captured R/C Command 1 and 2
Power Applied to Controllers output stage
Values applied to Analog inputs 1 and 2
Amps on channel 1 and 2
Internal Heat Sink temperatures 1 and 2
Main Battery voltage
Internal 12V voltage
Encoder Speed or Position feedback, if encoder module is present.
Output C OFF
Output C
ON
The entire string is repeated every 200 milliseconds with the latest internal parameter val­ues. This information can be logged using the Roborun Utility (see Viewing and Logging Data in Analog and R/C Modes on page 172). It may also be stored in a PDA that can be placed in the mobile robot.
The string and data format is described in “Analog and R/C Modes Data Logging String For- mat on page 102. The serial port’s output can be safely ignored if it is not required in the application.
To read the output string while operating the controller with the R/C radio, you must mod­ify the R/C cable to add an RS232 output wire and connector that will be connected to the PC’s communication port. Figure 55 and Figure 55 below shows the wiring diagram of the modified R/C cable for connection to a PC or to a PDA, respectively.
84 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Data Logging in R/C Mode
RX Data
GND
DB9 Female
To PC
1
6
2
7
3
8
4
9
5
DB15 Male To AX2550
9
10
11
12
13
14
15
1
2
RS232 Data Out
3
4
5
GND
6
7
8
FIGURE 55. Modified R/C cable with RS232 output for data logging to a PC
RX Data
GND
DB9 Male
To PDA
1
6
2
3
4
5
7
8
9
DB15 Male
To AX2550
9
10
11
12
13
14
15
1
2
RS232 Data Out
3
4
5
GND
6
7
8
R/C Ch 1
R/C Ch 2
R/C GND
R/C +5V
R/C Ch 1
R/C Ch 2
R/C GND
R/C +5V
FIGURE 56. Modified R/C cable with RS232 output for data logging to a PDA
AX2500/2850 Motor Controller Users Manual 85
R/C Operation
86 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Use and benefits of RS232

SECTION 8 Serial (RS-232)
Controls and Operation
This section describes the communication settings and the commands accepted by the AX2500/2850 in the RS232 mode of operations. This information is useful if you plan to write your own controlling software on a PC or microcomputer. These commands will also allow you to send commands manually using a terminal emulation program. If you wish to use your PC simply to set parameters and/or to exercise the controller, you should use the Roborun utility described on page 87.
Use and benefits of RS232
The serial port allows the AX2500/2850 to be connected to microcomputers or wireless modems. This connection can be used to both send commands and read various status information in real-time from the controller. The serial mode enables the design of autono­mous robots or more sophisticated remote controlled robots than is possible using the R/C mode. RS232 commands are very precise and securely acknowledged by the controller. They are also the method by which the controller’s features can be accessed and operated to their fullest extent.
When connecting the controller to a PC, the serial mode makes it easy to perform simple diagnostics and tests, including:
Sending precise commands to the motors
Reading the current consumption values and other parameters
Obtaining the controllers software revision and date
Reading inputs and activating outputs
Setting the programmable parameters with a user-friendly graphical interface
Updating the controllers software
AX2500/2850 Motor Controller Users Manual 87
Serial (RS-232) Controls and Operation

Connector I/O Pin Assignment (RS232 Mode)

9
Pin1
FIGURE 1. Pin locations on the controller’s 15-pin connector
When used in the RS232 mode, the pins on the controller’s DB15 connector are mapped as described in the table below
15
8
TABLE 17. DB15 Connector pin assignment in RS232 mode
Pin Number Signal
1 Output C Output 2Amp Accessory Output C (same as pin 9)
2 Data Out Output RS232 data output from the controller to the PC
3 Data In Input RS232 data input to the controller from the PC
4 Input F Input Accessory Input F
5 Ground Out Power Output Controller ground (-)
6 Ground In Power Input Must be wired to pin 13 or pin 5
7 +5V In Power Input Must be wired to pin 14
8 Input E Input Accessory input E - (Not available on AX2850)
9 Output C Output 2Amp Accessory Output C (same as pin 1)
10 Speed/Pos/T 2 Analog in Channel 2 speed, position or temp feedback
11 Speed/Pos/T 1 Analog in Channel 1 speed, position or temp feedback
12 Output D Output Low Current Accessory Output D - (Not available
13 Ground Out Power Controller ground (-)
14 +5V Out Power Output +5V Power Output (100mA max.)
15 Switch Input Input Emergency Stop or Invert Switch input
Input or Output Description
on AX2850)
88 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Cable configuration

The RS232 connection requires the special cabling as described in the figure below. The 9­pin female connector plugs into the PC (or other microcontroller). The 15-pin male connec­tor plugs into the AX2500/2850.
It is critical that you do not confuse the connector’s pin numbering. The pin numbers on the drawing are based on viewing the connectors from the front (facing the sockets or pins). Most connectors have pin numbers molded on the plastic.
Cable configuration
DB9 Female
To PC
RX Data
TX Data
1
2
3
4
5
6
7
8
9
FIGURE 57. PC to AX2500/2850 RS232 cable/connector wiring diagram

Extending the RS232 Cable

The AX2500/2850 is delivered with a 4 foot cable adapter which may be too short, particu­larly if you wish to run and monitor the controller inside a moving robot.
DB15 Male To AX2500
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
Data Out
Data In
GNDGND
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-wire cable. These components are available at any electronics distributor. A CAT5 network cable is recommended, and cable length may be up to 100 (30m). Figure 58 shows the wiring diagram of the extension cable.
AX2500/2850 Motor Controller Users Manual 89
Serial (RS-232) Controls and Operation
DB9 Female DB9 Male
1
6
7
8
9
RX Data
TX Data
2
3
4
5
FIGURE 58. RS232 extension cable/connector wiring diagram

Communication Settings

The AX2500/2850 serial communication port is set as follows:
9600 bits/s, 7-bit data, 1 Start bit, 1 Stop bit, Even Parity
Communication is done without flow control, meaning that the controller is always ready to receive data and can send data at any time.
These settings cannot be changed. You must therefore adapt the communication setting in your PC or microcomputer to match those of the controller.
1
6
7
8
9
Data Out
2
Data In
3
4
5
GNDGND

Establishing Manual Communication with a PC

The controller can easily be connected to a PC in order to manually exercise its capabilities. Simply connect the supplied cable to the AX2500/2850 on one end (DB-15 connector) and to a free COM port on the other end (DB-9 connector).
Once connected, you will need a Terminal Emulation program to display the data received from the controller on the PC’s screen and to send characters typed on the keyboard to the controller. All Windows PC’s come with the Hyperterm terminal emulation software.
Locate the Hyperterm launch icon in the Start button: Programs > Accessories > Commu­nication folder.
You will need to configure Hyperterm to use the COM port to which you have connected the controller (typically COM1) and to configure the communication settings as described in the section above.
To save time and avoid errors, a hyperterm configuration file is automatically installed in your PC’s Start button menu when you install Roboteq’s Roborun utility (See “Downloading
90 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
Establishing Manual Communication with a PC
and Installing the Utility on page 159). The configuration file is set to use the COM1port. You can easily change this setting to a different port from the program’s menus.
In all cases, immediately after reset or power up, the controller will output a short identity message followed by a software revision number and software revision date as follows:
Roboteq v1.7 02/01/05 s
The letter below the prompt message is a code that provides information on the hardware and can be ignored.
If in R/C or Analog mode, type the Enter key 10 times to switch to RS232 mode and display the OK prompt
FIGURE 59. Power-on message appearing on Hyperterm
On the AX3500, AX2850, or AX2550 with an Encoder module, this first prompt is immedi­ately followed by a second one send by the MCU dedicated to the Encoder function:
RoboEnc v1.7 02/01/05 00

Entering RS232 from R/C or Analog mode

If the controller is configured in R/C or Analog mode, it will not be able to accept and recog­nize RS232 commands immediately.
However, the controller will be “listening to the serial port and will enter the serial mode after it has received 10 continuous “Enter” (Carriage Return) characters. At that point, the controller will output an OK” message, indicating that it has entered the RS232 mode and that it is now ready to accept commands.
Note that for improved safety, the RS232 watchdog is automatically enabled when entering the RS232 in this way. See RS-232 Watchdog on page 98.
When reset again, the controller will revert to the R/C mode or Analog mode, unless the Input Mode parameter has been changed in the meantime.

Data Logging String in R/C or Analog mode

If the controller is in the R/C or analog mode, immediately after reset it will send a continu­ous string of characters (one character every 8ms, one entire string every 200ms) contain­ing operating parameters for data logging purposes.
AX2500/2850 Motor Controller Users Manual 91
Serial (RS-232) Controls and Operation
This information can be safely ignored and the controller will still be able to switch to RS232 mode upon receiving 10 continuous Carriage Returns as described above.
The format of the data logging string and it content is described in Figure , “Analog and R/C Modes Data Logging String Format,” on page 102

RS232 Mode if default

If the controller is configured in RS232 mode, it will automatically be in the RS232 mode upon reset or power up.
In this case, the OK” message is sent automatically, indicating that the controller is ready to accept commands through its serial port.

RS232 Commands Set

AX2500/2850 commands and queries are composed of a series of 2 or 4 characters fol­lowed by the “enter (carriage return) code.
The controller will send back (echo) every character it is receiving. By checking that the returned character is the same as the one sent, it is possible to verify that there has been no error in communication.
After a command has been received and properly executed, the controller will send the + character.
If a command has been received with errors or bad parameters, the controller will send the - character.
A complete summary of the acknowledge and error messages sent by the controller can be found on page 97.
The following is a list of the AX2500/2850 RS232 commands and queries:

Set Motor Command Value

Description: Send a speed of position value from 0 to 127 in the forward or reverse direction for a given channel. In mixed mode, channel 1 value sets the common forward and reverse value for both motors, while channel 2 sets the difference between motor 1 and motor 2 as required for steering. In all other modes, channel 1 commands motor 1 and channel 2 commands motor 2.
Syntax: !Mnn
Where M=A: channel 1, forward direction
a: channel 1, reverse direction B: channel 2, forward direction b: channel 2, reverse direction
Where nn= Speed or position value in 2 Hexadecimal digits from 00 to 7F
Examples: !A00 channel 1 to 0
92 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
!B7F channel 2, 100% forward !a3F channel 1, 50% reverse
Notes: The hexadecimal number must always contain two digits. For example, !a5 will not be recognized and the controller will respond with a “-” to indicate an error. The proper com­mand in this case should be !a05
Hexadecimal numbers are easy to generate using a microcomputer. When exercising the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.

Set Accessory Outputs

Description: Turn on or off one of the 2 available digital output lines on the 15-pin connector. See “Using the General Inputs and Outputs on page 29 for details on how to identify and wire these signals.
Syntax: !M
Where M=c: output C off
RS232 Commands Set
C: output C on d: output D off D: output D on
Examples:
!C turn C output on !d turn D output off

Query Power Applied to Motors

Description: This query will cause the controller to return the actual amount of power that is being applied to the motors at that time. The number is a hexadecimal number ranging from 0 to +127 (0 to 7F in Hexadecimal). In most cases, this value is directly related to the command value, except in the conditions described in the notes below.
Syntax: ?v or ?V
Reply: nn
mm
Where: nn = motor 1 applied power value
mm = motor 2 applied power value
Notes: The applied power value that is read back from the controller can be different than the com­mand values for any of the following reasons: current limitation is active, motors operate at reduced speed after overheat detection, or mixed mode is currently active.
No forward or reverse direction information is returned by this query.
This query is most useful for providing feedback to a microcontroller commanding the con­troller. The hexadecimal format is intended to be deciphered by a microcontroller. When
AX2500/2850 Motor Controller Users Manual 93
Serial (RS-232) Controls and Operation
exercising the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.

Query Amps Consumed by Motors

Description: This query will cause the controller to return the actual number of Amps being consumed by each motor. The number is an unsigned Hexadecimal number ranging from 0 to 256 (0 to FF in Hexadecimal).
Syntax: ?a or ?A
Reply: nn
mm
Where: nn = motor 1 Amps
mm = motor 2 Amps
Notes: The Amps measurement has a 10% (worse case) precision. Its main purpose is to provide feedback to the controllers current limitation circuitry.
The hexadecimal format is intended to be deciphered by a microcontroller. When exercis­ing the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.

Query Analog Inputs

Description: This query will cause the controller to return the values of the signals present at its two analog inputs. If the controller is used in close-loop speed mode with analog feedback, the values represent the actual speed measured by the tachometer. When used in position mode, the values represent the actual motor position measured by a potentiometer. In all other modes, the values represent the measured voltage (0 to 5V) applied to the analog inputs. The values are signed Hexadecimal numbers ranging from -127 to +127. The -127 value represents 0V at the input, the 0 value represents 2.5V, and the +127 value repre­sents +5V.
Syntax: ?p or ?P
Reply: nn
Where: nn = analog input 1 value, speed or position
Notes: The command returns a signed hexadecimal number where 0 to +127 is represented by 00 to 7F, and -1 to -127 is represented by FF to 80 respectively. The hexadecimal format is intended to be deciphered by a microcontroller. When exercising the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.
mm
mm = analog input 2 value, speed or position
94 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
RS232 Commands Set

Query Heatsink Temperatures

Description: This query will cause the controller to return values based on the temperature measured by internal thermistors located at each heatsink side of the controller. Because NTC ther­mistors are non-linear devices, the conversion or the read value into a temperature value requires interpolation and a look up table. Figure 35 on page 63 shows this correlation. Sample conversion software code is available from Roboteq upon request. The values are unsigned Hexadecimal numbers ranging from 0 to 255. The lowest read value represents the highest temperature.
Syntax: ?m or ?M
Reply: nn
mm
Where: nn = thermistor 1 read value
mm = thermistor 2 read value
Notes: The hexadecimal format is intended to be deciphered by a microcontroller. When exercis­ing the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.

Query Battery Voltages

Description: This query will cause the controller to return values based on two internally measured volt­ages: the first is the Main Battery voltage present at the thick red and black wires. The sec­ond is the internal 12V supply needed for the controller’s microcomputer and MOSFET drivers. The values are unsigned Hexadecimal numbers ranging from 0 to 255. To convert these numbers into a voltage figure, use the formulas described in Internal Voltage Moni­toring Sensors on page 62.
Syntax: ?e or ?E
Reply: nn
Where: nn = main battery voltage value
Notes: The hexadecimal format is intended to be deciphered by a microcontroller. When exercis­ing the controller manually, you may use the Decimal to Hexadecimal conversion table on page 103.

Query Digital Inputs

Description: This query will cause the controller to return the state of the controller’s two accessory inputs (inputs E and F) and the state of the Emergency Stop/Inverted input. See “Connect- ing Sensors and Actuators to Input/Outputs on page 49 for information on how to wire and use these signals. The returned values are three sets of two digits with the values 00 (to indicate a 0 or Off state), or 01 (to indicate a 1 or On state).
Syntax: ?i or ?I
mm
mm = internal 12V voltage value
AX2500/2850 Motor Controller Users Manual 95
Serial (RS-232) Controls and Operation
Reply: nn
mm oo
Where: nn = Input E status
mm = Input F status oo = Estop/Invert Switch Input status
Examples:
?I Read Input status query 01 Controller replies, Input E is On 00 Input F is Off 01 Emergency stop switch is high (not triggered)
Note: the Input E value is not meaningful on the AX2850 or on the AX2550 with Encoder module and should be discarded.

Read and Modify Controller Settings

Description These commands make it possible to examine and change the controller’s parameters stored in Flash. These commands will appear cryptic and difficult to use for manual param­eter setting. It is recommended to use the Graphical configuration utility described in Using the Roborun Configuration Utility” on page 159. Note that many parameters will not take effect until the controller is reset or a special command is sent (see “Apply Param- eter Changes on page 97). The complete list of parameters accessible using these com­mands is listed in RS232 Accessible Parameter Table on page 99.
Read parameter
Syntax: ^mm
Reply: DD
Where mm= parameter number
DD= current parameter value
Example:
^00 Read value parameter 0 01 Controller replies, value is 01
Modify parameter
Syntax: ^mm nn
Reply: + if command was executed successfully
- if error
Where mm= parameter number
nn= new parameter value
Examples: ^02 03 Store 03 into parameter 2
96 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

Optical Encoder Commands

Notes: All parameters and values are expressed with 2 hexadecimal digits
No changes will be made and an error will be reported (“-” character) when attempting to read or write a parameter that does not exist or when attempting to store a parameter with an invalid value.

Apply Parameter Changes

Description: Many parameters will take effect only after the controller is reset. This command can be used (instead of resetting the controller) to cause these parameters to take effect immedi­ately.
Syntax: ^FF
Reply: + Success, changed parameters are now active

Reset Controller

Description: This command allows the controller to be reset in the same manner as if the reset button was pressed. This command should be used in exceptional conditions only or after chang­ing the controller’s parameters in Flash memory so that they can take effect.
- if error
Syntax: %rrrrrr
Reply: None. Controller will reset and display prompt message
Optical Encoder Commands
The Optical Encoder included inside the AX2850 responds to its own command set described at RS232 Encoder Command Set on page 142.

Commands Acknowledge and Error Messages

The AX2500/2850 will output characters in various situations to report acknowledgements or error conditions as listed below.

Character Echo

At the most fundamental level, the AX2500/2850 will echo back to the PC or Microcontrol­ler every valid character it has received. If no echo is received, one of the following is occurring:
the controller is not in the RS232 mode
the controller is Off
the controller may be defective
AX2500/2850 Motor Controller Users Manual 97
Serial (RS-232) Controls and Operation

Command Acknowledgement

The AX2500/2850 will acknowledge commands in one of two ways:
For commands that cause a reply, such as a speed or amps queries, the reply to the query must be considered as the command acknowledgement.
For commands where no reply is expected, such as speed setting, the controller will issue a plus character (+) after every command as an acknowledgment.

Command Error

If a command or query has been received with errors or is wrong, the control will issue a minus character (-) to indicate the error.
If the controller issues the “-” character, it should be assumed that the command was lost and that it should be repeated.

Watchdog time-out

If the RS232 watchdog is enabled, the controller will stop the motors and issue a W character if it has not received a valid character from the PC or microcontroller within the past 1 seconds.

RS-232 Watchdog

For applications demanding the highest operating safety, the controller may be configured to automatically stop the motors (but otherwise remain fully active) if it fails to receive a character on its RS232 port for more than 1 seconds.
The controller will also send a “W” character every second to indicate to the microcom­puter that such a time-out condition has occurred.
The character does not need to be a specific command, but any valid ASCII code.
The RS232 watchdog is enabled or disabled depending on the value of the Input Com­mand Mode parameter.
The RS232 watchdog is automatically enabled when entering the RS232 mode from the RC or from the Analog modes (see Entering RS232 from R/C or Analog mode” on page 91)
98 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005

RS232 Accessible Parameter Table

RS232 Accessible Parameter Table
Table 18 below lists the complete set of configuration parameters that may be accessed and changed using RS232 commands.
TABLE 18. AX2500/2850 Configuration parameters accessible through RS232
Param nbr Description Allowed Values (default)
00 Input control mode (0) = R/C Radio mode (default)
1 = RS232, no watchdog
2 = RS232, with watchdog
3 = Analog mode
01 Motor Control
mode
02 Amps limit 0 = 30A
(0) = Separate A, B, speed control, open loop (default)
1 = Mixed A & B, speed control, open loop
2 = Speed control on A, open loop. Position control on B
3 = A & B Position control
4 = Separate A, B, speed control, closed loop
5 = Mixed A & B, speed control, closed loop
6 = Speed control on A, closed loop. Position control on B
Add 128 to use the optical encoder for speed feedback (AX2850 only)
1 = 45A
2 = 60A
3 = 75A
4 = 90A
(5) = 105A (default)
6 = 120A
Active after
Reset page 69
Reset or ^FF
Reset
or ^FF
See pages
page 87
page 107
page 36
page 115
page 38
Amps may be set with a finer resolution using the PC utility
03 Acceleration 0 = very slow
1 = slow
(2) = medium-slow (default)
3 = medium
4 = fast
5 = fastest
See Programmable Acceleration” on page 40 for complete list of acceptable val­ues
AX2500/2850 Motor Controller Users Manual 99
Reset
or ^FF
page 40
Serial (RS-232) Controls and Operation
TABLE 18. AX2500/2850 Configuration parameters accessible through RS232
Param nbr Description Allowed Values (default)
04 Input switch func-
tion
05 Brake/Coast not implemented
06 Joystick Deadband
or
Analog Deadband
07 Exponentiation on
channel 1
08 Exponentiation on
channel 2
09 Reserved
0A Reserved
0B Left / Right Adjust (7) = no adjustment (default)
0C to OEReserved Do not use
Bits 0 to 3 contain the EStop/Inv input operating mode
0 = causes emergency stop
1 = invert commands
(2) = no action (default)
Bits 4,5 and 6.7 contain the Input E and Input F respective configurations
(0) = no action
1 = Activate Output C
2 = Turn MOSFETs On or Off
Values are for Joystick deadband
0 = no deadband
1 = 8%
(2) = 16% (default)
3 = 24%
4 = 32%
5 = 40%
6 = 46%
7 = 54%
(0) = Linear (no exponentiation - default)
1 = strong exponential
2 = normal exponential
3 = normal logarithmic
4 = strong logarithmic
Same as E, above Instant
0, 1, ..., 6 = -5.25%, -4.5%, ...,-0.75%
8, ..., D, E** = +0.75, ..., +4.5%, +5.25%
Active after
Reset
or ^FF
Reset
or ^FF
Instant page 81
Reset
or ^FF
See pages
page 45
page 46
page 46
page 46
page 80
or
page 111
page 43
0F Gain Integral for
PID
10 Gain Diff for PID 0 to 64 (16) default Instant
11 Gain Prop for PID 0 to 64 (16) default Instant
100 AX2500/2850 Motor Controller Users Manual Version 1.7. February 1, 2005
0 to 64 (16) default Instant
Loading...