RoboteQ Computer Hardware AX500 User Guide

AX500  
Dual Channel  
Digital Motor  
Controller  
User’s Manual  
v1.9b, June 1, 2007  
visit www.roboteq.com to download the latest revision of this manual  
©Copyright 2003-2007 Roboteq, Inc.  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Revision History  
Revision History  
Date  
Version  
Changes  
Added Output C active when Motors On  
June 1, 2007  
1.9b  
Fixed Encoder Limit Switches  
Protection in case of Encoder failure in Closed Loop Speed  
Added Short Circuit Protection (with supporting hardware)  
Added Analog 3 and 4 Inputs (with supporting hardware)  
Added Operating Mode Change on-the-fly  
Changeable PWM frequency  
Selectable polarity for Dead Man Switch  
Modified Flashing Pattern  
Separate PID Gains for Ch1 and C2, changeable on-the-fly  
Miscellaneous additions and correction  
Added Amps Calibration option  
January 10, 2007  
1.9  
Changed Amps Limit Algorithm  
Miscellaneous additions and correction  
Console Mode in Roborun  
March 7, 2005  
1.7b  
1.7  
Updated Encoder section.  
February 1, 2005  
Added Position mode support with Optical Encoder  
Miscellaneous additions and corrections  
Added Optical Encoder support  
April 17, 2004  
1.6  
1.5  
March 15, 2004  
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  
April 15, 2003  
1.2  
1.1  
Modified to cover AX500 controller design  
Changed Power Connection section  
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.  
AX500 Motor Controller Users Manual  
3
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
4
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Important Safety Warnings 11  
AX500  
Quick Start 13  
AX500 Motor Controller Overview 21  
Connecting Power and Motors to the Controller 25  
AX500 Motor Controller Users Manual  
5
Download from Www.Somanuals.com. All Manuals Search And Download.  
General Operation 35  
Connecting Sensors and Actuators to Input/Outputs 47  
Closed Loop Position Mode 63  
6
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Closed Loop Speed Mode 73  
Normal and  
Fault Condition LED Messages 79  
R/C Operation 81  
AX500 Motor Controller Users Manual  
7
Download from Www.Somanuals.com. All Manuals Search And Download.  
Analog Control and Operation 93  
Serial (RS-232) Controls and Operation 101  
8
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Using the Roborun Configuration Utility 131  
AX500 Motor Controller Users Manual  
9
Download from Www.Somanuals.com. All Manuals Search And Download.  
SECTION 1  
Important Safety  
Warnings  
Read this Section First  
The AX500 is a power electronics device. Serious damage, including 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 applying full battery  
or full load power.  
This product is intended for use with rechargeable batteries  
Unless special precautions are taken, damage to the controller and/or power supply  
may occur if operated with a power supply alone. SeePower Regeneration Consid-  
erationson page 31 of the Users Manual. Always keep the controller connected  
to the Battery.  
Avoid Shorts when Mounting Board against Chassis  
Use precautions to avoid short circuits when mounting the board against a metallic  
chassis with the heat sink on or removed. See Attaching the Controller Directly to a  
Do not Connect to a RC Radio with a Battery Attached  
Without proper protection, a battery attached to an RC Radio may inject its voltage  
directly inside the controllers sensitive electronics. See  
Beware of Motor Runaway in Improperly Closed Loop  
Wiring or polarity errors between the feedback device and motor in position or  
closed loop position mode may cause the controller to runaway with no possibility  
to stop it until power is turned off.  
AX500 Motor Controller Users Manual  
11  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Important Safety Warnings  
12  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
SECTION 2  
AX500  
Quick Start  
This section will give you the basic information needed to quickly install, setup and  
run your AX500 controller in a minimal configuration.  
What you will need  
For a minimal installation, gather the following components:  
One AX500 Controller and its provided cables  
12V to 24V battery  
One or two brushed DC motors  
One R/C to DB15 connector (provided)  
Miscellaneous wires, connectors, fuses and switch  
Locating the Connectors  
Take a moment to familiarize yourself with the controllers connectors.  
AX500 Motor Controller Users Manual  
13  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
AX500 Quick Start  
The front side contains the 15-pin connector to the R/C radio, joystick or microcomputer, as  
well as connections to optional switches and sensors.  
Connector to Receiver/  
Controls and sensors  
Status LED  
FIGURE 1. AX500 Controller Front View  
At the back of the controller (shown in the figure below) are located all the that must be  
connected to the batteries and the motors.  
Note:  
Both VMot terminals are  
connected to each other  
in the board and must be  
wired to the same volt-  
age.  
VCon  
Power Must be con-  
nected to VCon and  
VMot for the controller  
to operate  
VMot M2+  
M2-  
3 x Gnd  
M1-  
M1+ VMot  
Motor 2  
Motor 1  
FIGURE 2. AX500 Controller Rear View  
14  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
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 wires to the controllers terminal strip.  
Motor2  
+
Power on/off switch  
-
-
+
Fuse  
Motor1  
12V to 24V  
Motor Battery  
Controller  
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 or 2 x 12V batteries are connected in series to reach 12 or 24V respectively.  
FIGURE 3. AX500 Electrical Power Wiring Diagram  
1- Connect each motor to one of the two M+ and M- terminal pairs. Make sure to respect  
the polarity, otherwise the motor(s) may spin in the opposite direction than expected  
two of the three Ground terminals2- Connect the VCon terminal (powering the controllers  
internal circuits) through a power switch to the main battery. Connect the VMot terminals  
(powering the output drivers) directly and permanently to the positive battery terminal.  
VCon may be connected to a separate battery to ensure that the controller stays alive even  
as the battery powering the Motors discharges. Motors will turn only if voltage is  
present on both VCon and VMot. Refer to the chapter Connecting Power and Motors to  
the Controlleron page 25 for more information about batteries and other connection  
options.  
The two are connected to each other inside the controller. The same is true for the.  
You should wire each pair together as shown in the diagram above.  
Important Warning  
Do not rely on cutting power to the controller for it to turn off if the Power Control is  
left floating. If motors are spinning because the robot is pushed are pushed or  
because of inertia, they will act as generators and will turn the controller, possibly in  
an unsafe state. Always use the switch on the VCon terminal to power the controller  
On or Off.  
AX500 Motor Controller Users Manual  
15  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
AX500 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.  
Connecting to the 15-pin Connector  
The controllers I/O are located on its standard 15-pin D-Sub Connector. The functions of  
some pins varies depending on controller model and operating mode. Pin assignment is  
found in the table below.  
Signal  
Pin  
1
RC Mode  
RS232 Mode  
Analog Mode  
100mA Digital Output C (same as pin 9)  
TxData  
2
3
RC Ch1  
RC Ch 2  
RxData  
Unused  
4
Digital Input F  
5
Ground Out  
6
Unused  
Unused  
7
8
Digital Input E and Analog Input 4  
100mA Digital Output C (same as pin 1)  
Analog Input 2  
9
10  
11  
12  
13  
14  
15  
Analog Input 1  
Analog Input 3  
Ground Out  
+5V Out (100mA max.)  
Emergency Stop or Invert Switch input  
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. If present, the third channel is for activating the  
accessory outputs and is optional.  
When operating the controller in Separatemode, the wire labelled Ch1 controls Motor1,  
and the wire labelled Ch2 controls Motor2.  
When operating the controller in Mixedmode, Ch1 is used to set the robots speed and  
direction, while Ch2 is used for steering.  
See R/C Operationon page 81 of the Users Manual for a more complete discussion on  
R/C commands, calibration and other options.  
16  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Powering On the Controller  
Channel 3  
Channel 2  
3:  
4:  
6:  
7:  
8:  
Channel 1 Command Pulses  
Channel 2 Command Pulses  
Radio battery (-) Ground  
Radio battery (+)  
Channel 1  
Channel 3 Command Pulses  
8
9
Pin 1  
Wire loop bringing power from  
controller to RC radio  
15  
FIGURE 4. R/C connector wiring for 3 channels and battery elimination (BEC)  
This wiring - with the wire loop uncut - assumes that the R/C radio will be powered by the  
AX500 controller. Other wiring options are described in R/C Operationon page 81 of the  
Users 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.  
Connecting the optional channel 3 will enable you to turn on and off the accessory output.  
in R/C Modeon page 91 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 controllers power terminal as described in sectionConnecting to the Batteries and  
To power the controller, center the joystick and trims on the R/C transmitter. In Analog  
mode, center the command potentiomenter or joystick.Then turn on the switch that you  
have placed on the on the VCon wire.  
AX500 Motor Controller Users Manual  
17  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
AX500 Quick Start  
The status LED will start flashing a pattern to indicate the mode in which the controller is  
in:  
RC Mode  
RS232 Mode No Watchdog  
RS232 Mode with Watchdog  
Analog Mode  
FIGURE 5. Status LED Flashing pattern during normal operation  
Default Controller Configuration  
Version 1.9b of the AX500 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.  
TABLE 1. AX500 Default Settings  
Parameter  
Default Values  
Letter  
Input Command mode:  
Motor Control mode  
Amp limit  
(0) = R/C Radio mode  
(0) = Separate A, B, speed control, open loop  
(5) = 13.125A  
I
C
A
S
U
d
E
F
L
Acceleration  
(2) = medium-slow  
Input switch function  
Joystick Deadband  
Exponentiation on channel 1  
Exponentiation on channel 2  
Left / Right Adjust  
(3) = no action  
(2) = 16%  
(0) = Linear (no exponentiation)  
(0) = Linear (no exponentiation)  
(7) = no adjustment  
Any one of the parameters listed in Table 1, and others not listed, can easily be changed  
either using the PC with the Roboteq Configuration Utility. See Using the Roborun Config-  
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  
18  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Obtaining the Controllers Software Revision Number  
to update the controllers software  
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 PCs available port (typically COM1) -  
use a USB to serial adapter if needed. 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 controllers  
parameters. The Runtab will present a number of buttons, dials and charts that are used  
for operating and monitoring the motors.  
Obtaining the Controllers Software Revision Number  
One of the unique features of the AX500 is the ability to easily update the controllers oper-  
ating software with new revisions downloaded from Roboteqs web site at  
www.roboteq.com. This is useful for adding features and/or improving existing ones.  
AX500 Motor Controller Users Manual  
19  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
AX500 Quick Start  
Each software version is identified with a unique number. Obtaining this number can be  
done using the PC connection discussed previously.  
Now that you know your controllers software version number, you will be able to see if a  
new version is available for download and installation from Roboteqs web site and which  
features have been added or improved.  
Installing new software is a simple and secure procedure, fully described in Updating the  
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  
Using Inputs/Outputs  
Current limiting  
Closed Loop Operation  
Software updating  
and much more  
20  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
SECTION 3  
AX500 Motor  
Controller  
Overview  
Congratulations! By selecting Roboteqs AX500 you have empowered yourself with  
the industrys most versatile, and programmable DC Motor Controller for mobile  
robots. This manual will guide you step by step through its many possibilities.  
Product Description  
The AX500 is a highly configurable, microcomputer-based, dual-channel digital  
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 AX500 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 AX500 can oper-  
ate in open loop or closed loop. In closed loop operation, actual speed measure-  
ments from tachometers 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 AX500 can also be configured to operate as a precision, high torque servo con-  
troller. When connected to a potentiometer coupled to the motor assembly, 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 AX500 can be used to  
move or rotate steering columns or other physical objects with very high torque.  
The AX500 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.  
The motors are driven using high-efficiency Power MOSFET transistors controlled  
using Pulse Width Modulation (PWM) at 16kHz. The AX500 power stages can oper-  
AX500 Motor Controller Users Manual  
21  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
AX500 Motor Controller Overview  
ate from 12 to 24VDC and can sustain up to 15A of controlled current, delivering up to  
360W (approximately 0.5 HP) of useful power to each motor.  
The many programmable options of the AX500 are easily configured using the supplied PC  
utility. Once programmed, the configuration data are stored in the controller's non-volatile  
memory, eliminating the need for cumbersome and unreliable jumpers.  
Technical features  
Fully Digital, Microcontroller-based Design  
Multiple operating modes  
Fully programmable through connection to a PC  
Non-volatile storage of user configurable settings  
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 accessory output activation  
Special Function Inputs/Outputs  
2 Analog inputs. Used as:  
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)  
2 Extra analog inputs. Used as:  
Potentiometer input for position while in analog command mode  
22  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Technical features  
User defined purpose (RS232 mode only)  
One Switch input configurable as  
Emergency stop command  
Reversing commands when running vehicle inverted  
General purpose digital input  
One general purpose 12V, 100mA output for accessories  
Up to 2 general purpose digital inputs  
Internal Sensors  
Voltage sensor for monitoring the main 12 to 24V 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  
Optional backup power input for powering safely the controller if the motor batteries  
are discharged  
Max 100mA idle current consumption  
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  
Optional Single Channel operation at double the current  
Dual H bridge for full forward/reverse operation  
Ultra-efficient 100mOhm ON resistance (RDSon) MOSFET transistors  
12 to 24V operation  
Terminal strip up to AWG14 wire  
Temperature-based Automatic Current Limitation  
15A up to 30 seconds  
10A up to 1 minute  
8A continuous  
High current operation may be extended with forced cooling  
60A peak Amps per channel  
16kHz Pulse Width Modulation (PWM) output  
Auxiliary output for brake, clutch or armature excitation  
Advanced Safety Features  
Safe power on mode  
Automatic Power stage off in case of electrically or software induced program fail-  
ure  
Overvoltage and Undervoltage protection  
Regeneration current limiting  
AX500 Motor Controller Users Manual  
23  
Download from Www.Somanuals.com. All Manuals Search And Download.  
AX500 Motor Controller Overview  
Watchdog for automatic motor shutdown in case of command loss (R/C and RS232  
modes)  
Diagnostic LED  
Programmable motor acceleration  
Built-in controller overheat sensor  
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  
Efficient heat sinking. Operates without a fan in most applications.  
4.20(106.7mm) long x 2.90(73.7mm) wide  
-20o to +85o C heatsink operating environment  
3.0oz (85g)  
24  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Power Connections  
SECTION 4  
Connecting  
Power and  
Motors to the  
Controller  
This section describes the AX500 Controllers 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-  
ucts warranty.  
Power Connections  
The AX500 has three Ground, two Vmot terminals and a Vcon terminal. The power termi-  
nals are located at the back end of the controller. The various power terminals are identified  
by markings on the PCB.The power connections to the batteries and motors are shown in  
the figure below.  
AX500 Motor Controller Users Manual  
25  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Power and Motors to the Controller  
Note:  
Both VMot terminals are  
connected to each other in  
the board and must be  
wired to the same voltage.  
VCon  
VMot M2+  
M2-  
3 x Gnd  
M1-  
M1+ VMot  
Motor 2  
Motor 1  
FIGURE 7. AX500 Controller Rear View  
Controller Power  
The AX500 uses a flexible power supply scheme that is best described in Figure 8. In this  
diagram, it can be seen that the power for the Controllers processor is separate from this  
of the motor drivers. In typical applications, the VMot is connected in permanence to the  
battery while VCon is connected to the battery through a On/Off switch.  
M1-  
M1+  
Vmot  
5Vmin  
30V max  
Channel 1 MOSFET Power Stage  
GND  
Vcon  
GND  
8V min  
30V max  
Microcomputer &  
MOSFET Drivers  
GND  
5Vmin  
30V max  
Channel 2 MOSFET Power Stage  
Vmot  
M2+  
M2-  
FIGURE 8. Representation of the AX500s Internal Power Circuits  
26  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Controller Powering Schemes  
The table below shows the state of the controller depending on the voltage applied to  
Vcon and Vmot.  
TABLE 2. Controller status depending on Vcon and Vmot voltage  
VCon  
Off  
VMot  
Off  
Controller Status  
Off  
Off  
Off  
5-24V  
Off  
8-24V  
Controller MCU is On. Controller will communicate but motors  
cannot be activated  
8-24V  
5-24V  
Controller is On and motors are activated  
Controller Powering Schemes  
Powering the Controller from a single Battery  
The diagram on Figure 19 show how to wire the controller to a single battery circuit and  
how to turn power On and Off.  
Motor2  
+
-
Power on/off switch  
-
+
Fuse  
Motor1  
12V to 24V  
Motor Battery  
Controller  
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 or 2 x 12V batteries are connected in series to reach 12 or 24V respectively.  
FIGURE 9. AX500 Electrical Power Wiring Diagram  
AX500 Motor Controller Users Manual  
27  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Power and Motors to the Controller  
There is no need to insert a separate switch on Power cables, although for safety reasons,  
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 AX500 safety features fail to activate.  
Powering the Controller Using a Main and Backup Battery  
In typical applications, the main motor batteries will get eventually weaker and the voltage  
will drop below the level needed for the internal microcomputer to properly operate. For all  
professional applications it is therefore recommended to add a separate 12V (to 24V)  
power supply to ensure proper powering of the controller under any conditions. This dual  
battery configuration is highly recommended in 12V systems.  
Power on/off  
switch  
+
-
-
+
Fuse  
Motor1  
12V to 24V  
Motor Battery  
12V to 24V  
Backup Battery  
Controller  
FIGURE 10. Powering the AX500 with a Main and Backup Supply  
Important Warning  
Unless you can ensure a steady 8V to 24V voltage in all conditions, it is recom-  
mended that the battery used to power the controllers electronics be separate from  
the one used to power the motors. This is because it is very likely that the motor bat-  
teries will be subject to very large current loads which may cause the voltage to  
eventually dip below 12V as the batteriescharge drops. The separate backup power  
supply should be connected to the VCon input.  
Connecting the Motors  
Connecting the motors is simply done by connecting each motor terminal to the M1+  
(M2+) and M1- (M2-) terminal. Which motor terminal goes to which of the + or - controller  
output is typically determined empirically.  
28  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Single Channel Operation  
After connecting the motors, apply a minimal amount of power using the Roborun PC util-  
ity with the controller configured in Open Loop speed mode. Verify that the motor spins in  
the desired direction. Immediately stop and swap the motor wires if not.  
In Closed Loop Speed or Position mode, beware that the motor polarity must match this of  
the feedback. If it does not, the motors will runaway with no possibility to stop other than  
switching Off the power. The polarity of the Motor or off the feedback device may need to  
be changed.  
Important Warning  
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 motors frame.  
If you are using this type of 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.  
Single Channel Operation  
The AX500s two channel outputs can be paralleled as shown in the figure below so that  
they can drive a single load with twice the power. To perform in this manner, the control-  
lers Power Transistor that are switching in each channel must be perfectly synchronized.  
Without this synchronization, the current will flow from one channel to the other and cause  
the destruction of the controller.  
The controller may be ordered with the -SC (Single Channel) suffix. This version incorpo-  
rates a hardware setting inside the controller which ensures that both channels switch in a  
synchronized manner and respond to commands sent to channel 1.  
+
-
Warning:  
Use this wiring only with  
-SC versions (Single  
Pwr Ctrl  
12V to 40V  
GND  
Channel) of the controller  
Controller  
FIGURE 11. Wiring for Single Channel Operation  
AX500 Motor Controller Users Manual  
29  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Connecting Power and Motors to the Controller  
Converting the AX500 to Single Channel  
The AX500 can be easily modified into a Single Channel version by placing a jumper on the  
PCB. This step must be undertook only if you have the proper tooling and technical skills.  
Disconnect the controller from power  
Place a drop of solder on the PCB jumper pad shown in Figure 12 .  
Before paralleling the outputs,  
Place the load on channel 1 and verify that it is activated by commands on channel  
1.  
Then place the load on channel 2 and verify that is also activated by commands on  
channel 1.  
Commands on channel 2 should have no effects on either output.  
It will be safe to wire in parallel the controllers outputs only after you have verified that  
both outputs react identically to channel 1 commands.  
Jumper "open"  
Place solder ball to  
close jumper and  
enable single channel  
mode  
Single Channel  
FIGURE 12. AX500 Solder Jumper setting for Single Channel Operation  
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 9 on page 27.  
The fuse will be shared by the two output stages and therefore must be placed before the  
Y connection to the two power wires. Fuse rating should be the sum of the expected cur-  
rent on both channels. Note that automotive fuses are generally slow will be of limited  
effectiveness in protecting the controller and may be omitted in high current application.  
The fuse will mostly protect the wiring and battery against after the controller has failed.  
Important Warning  
30  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Wire Length Limits  
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 AX500 regulates the output power by switching the power to the motors On and Off at  
high frequencies. At such frequencies, the wiresinductance produces undesirable effects  
such as parasitic RF emissions, ringing and overvoltage peaks. The controller 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 controllers capability to correct them. This is particularly the case for  
the main battery power wires.  
Important Warning  
Avoid using long cable lengths (beyond 2 feet) from the main power battery to the  
controller as the added inductance may cause damage to the controller when oper-  
ating at high currents. Try extending the motor wires instead since the added induc-  
tance is less harmful on this side of the controller.  
If the controller must be located at a longer distance, the effects of the wire inductance  
may be reduced by using one or more of the following techniques:  
Twisting the power and ground wires over the full length of the wires  
Use the vehicles metallic chassis for ground and run the positive wire along the sur-  
face  
Add a capacitor (5,000uF or higher) near the controller  
Electrical Noise Reduction Techniques  
As discussed in the above section, the AX500 uses fast switching technology to control  
the amount of power applied to the motors. While the controller incorporates several cir-  
cuits to keep electrical noise to a minimum, additional techniques can be used to keep the  
noise low when installing the AX500 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 cores  
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 decelerating, the motor acts like a generator. In such cases, the  
current will flow in the opposite direction, back to the power source.  
AX500 Motor Controller Users Manual  
31  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Connecting Power and Motors to the Controller  
It is therefore essential that the AX500 be connected to rechargeable batteries. If a power  
supply is used instead, the current will attempt to flow back in the power supply during  
regeneration, 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 attempt to flow back to the battery. Since none is  
present, the voltage will rise to potentially unsafe levels. The AX500 includes an overvolt-  
age protection circuit to prevent damage to the output transistors (see Overvoltage Pro-  
tectionon page 32). However, if there is a possiblity that the motor could be made to spin  
and generate a voltage higher than 40V, a path to the battery must be provided, even after  
a fuse is blown. This can be accomplished by inserting a diode across the fuse .  
Please download the Application Note Understanding Regenerationfrom the  
www.roboteq.com for an in-depth discussion of this complex but important topic.  
Important Warning  
Use the AX500 only with a rechargeable battery as supply to the Motor Power  
wires(VMot terminals). If a transformer or power supply is used, damage to the con-  
troller and/or power supply may occur during regeneration. See Using the Control-  
Important Warning  
Avoid switching Off or cutting open the main power cables (VMot terminals) while  
the motors are spinning. Damage to the controller may occur.  
Overvoltage Protection  
The AX500 includes a battery voltage monitoring circuit that will cause the output transis-  
tors to be turned Off if the main battery voltage rises above 43V.  
This protection is designed to prevent the voltage created by the motors during regenera-  
tion to be amplifiedto 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 AX500  
monitors the internal 12V power supply that is used by the MOSFET drivers. If the internal  
voltage drops below 10V, the controllers output stage is turned Off. The rest of the control-  
lers electronics, including the microcomputer, will remain operational as long as the inter-  
nal voltage is above 8V.  
32  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Using the Controller with a Power Supply  
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 Considerationson 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 is taken:  
Use a power supply that will not suffer damage in case a voltage is applied at its  
output that is higher than the transformers 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 of the sys-  
tem, causing a reverse current flow and voltage rise. See Programmable Accelera-  
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  
high current surges during motor acceleration, making it possible to use a lower  
current power supply. Batteries 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. Consider using a decoupling diode on the power  
supplys output to prevent battery or regeneration current to flow back into the  
power supply.  
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.  
AX500 Motor Controller Users Manual  
33  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Connecting Power and Motors to the Controller  
34  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Basic Operation  
SECTION 5  
General  
Operation  
This section discusses the controllers normal operation in all its supported operating  
modes.  
Basic Operation  
The AX500s 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 controllers factory default mode is R/C radio. The mode can be changed using any of  
AX500 Motor Controller Users Manual  
35  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
General Operation  
Selecting the Motor Control Modes  
For each motor, the AX500 supports multiple motion control modes. The controllers fac-  
tory default mode is Open Loop Speed control for each motor. The mode can be changed  
using any of the methods described in Loading, Changing Controller Parameterson  
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 13 below.  
Controller  
FIGURE 13. Examples of effect of commands to motors 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 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 14 below illustrates how the mixed mode works.  
36  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Selecting the Motor Control Modes  
Controller  
FIGURE 14. Effect of commands to motors examples in  
mixed mode  
Closed Loop Speed Control  
In this mode, illustrated in Figure 16, an analog tachometer 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  
FIGURE 15. Motor with tachometer or Encoder for Closed Loop Speed operation  
Close Loop Position Control  
In this mode, illustrated in Figure 16, 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 AX500 feature makes it possible to build ultra-high torque jumbo servos”  
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  
AX500 Motor Controller Users Manual  
37  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
General Operation  
Position Feedback  
Position Sensor  
Gear box  
FIGURE 16. Motor with potentiometer assembly for Position operation  
User Selected Current Limit Settings  
The AX500 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.  
The current limit may be set using the supplied PC utility. Using the PC utility is it possible  
to set the limit with a 0.125A granularity from 1.625 to 15A  
During normal operation, current limiting is further enhanced by the techniques described  
in the following sections.  
Temperature-Based Current Limitation  
The AX500 features active current limitation that uses a combination of a user defined pre-  
set value (discussed above) which in turn may be reduced automatically based on mea-  
sured operating temperature. 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.  
When the measured temperature reaches 80oC, the controllers maximum current limit  
begins to drop to reach 0A at 100oC. Above 100oC, the controllers power stage turns itself  
off completely.  
TABLE 3. Effect of Heatsink temperature on Max Amps Limit  
Temperature  
Below 80 oC  
80 oC  
Max Amps  
15A  
15A  
85 oC  
10A  
90 oC  
7.5A  
95 oC  
2.5A  
100 oC  
0
Above 100 oC  
Both Power Stages OFF  
38  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Battery Current vs. Motor Current  
The numbers in the table are the max Amps allowed by the controller at a given tempera-  
ture point. If the Amps limit is manually set to a lower value, then the controller will limit  
the current to the lowest of the manual and temperature-adjusted max values.  
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 con-  
ditions. The time it takes for the heat sinks temperature to rise depends on the current  
output, ambient temperature, and available air flow (natural or forced).  
Note that the measured temperature is measured on the PCB near the Power Transistors  
and will rise and fall faster than the outside surface.  
Battery Current vs. Motor Current  
The controller measures and limits the current that flows from the battery. Current that  
flows through the motor is typically higher. This counter-intuitive phenomenon is due to the  
flybackcurrent in the motors inductance. In some cases, the motor current can be  
extremely high, causing heat and potentially damage while battery current appears low or  
reasonable.  
The motors power is controlled by varying the On/Off duty cycle of the battery voltage  
16,000 times per second to the motor from 0% (motor off) to 100 (motor on). Because of  
the flyback effect, during the Off time current continues to flow at nearly the same peak -  
and not the average - level as during the On time. At low PWM ratios, the peak current -  
and therefore motor current - can be very high as shown in Figure 18, Instant and average  
The relation between Battery Current and Motor current is given in the formula below:  
Motor Current = Battery Current / PWM ratio  
Example: If the controller reports 10A of battery current while at 10% PWM, the current in  
the motor is 10 / 0.1 = 100A.  
AX500 Motor Controller Users Manual  
39  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
General Operation  
Vbat  
Off  
Motor  
On  
FIGURE 17. Current flow during operation  
On  
Off  
I mot  
Avg  
I bat  
Avg  
FIGURE 18. Instant and average current waveforms  
The relation between Battery Current and Motor current is given in the formula below:  
Motor Current = Battery Current / PWM Ratio  
Example: If the controller reports 10A of battery current while at 10% PWM, the current in  
the motor is 10 / 0.1 = 100A.  
Important Warning  
Do not connect a motor that is rated at a higher current than the controller. While  
the battery current will never exceed the preset Amps limit, that limit may be  
reached at a PWM cycle lower than 100% resulting in a higher and potentially unsafe  
level through the motor and the controller.  
Programmable Acceleration  
When changing speed command, the AX500 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 by using the controllers front switches or using serial com-  
mands. When configuring the controller using the switches (see Configuring the Control-  
ler using the Switcheson page 171), acceleration can be one of 6 available preset values,  
from very soft(0) to very quick (6). The AX500s factory default value is medium soft (2).  
40  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Programmable Acceleration  
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 MCUs configuration EEPROM.  
Table 4 shows the corresponding acceleration for all Switch and RS232 settings.  
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 4. Acceleration setting table  
Acceleration  
Setting Using  
RS232  
Acceleration  
Setting Using  
Switches  
%Acceleration per  
16ms  
Time from 0 to  
max speed  
30 Hex  
20 Hex  
10 Hex  
00 Hex  
31 Hex  
21 Hex  
11 Hex  
01 Hex  
32 Hex  
22 Hex  
12 Hex  
02 Hex  
33 Hex  
23 Hex  
13 Hex  
03 Hex  
34 Hex  
24 Hex  
14 Hex  
04 Hex  
35 Hex  
25 Hex  
15 Hex  
05 Hex  
0.78%  
1.56%  
2.05 seconds  
1.02 seconds  
0.68 second  
0.51 second  
0.41 second  
0.34 second  
0.29 second  
0.26 second  
0.23 second  
0.20 second  
0.19 second  
0.17 second  
0.16 second  
0.15 second  
0.14 second  
0.128 second  
0.120 second  
0.113 second  
0.107 second  
0.102 second  
0.097 second  
0.093 second  
0.089 second  
0.085 second  
2.34%  
3.13%  
3.91%  
4.69%  
5.47%  
6.25%  
7.03%  
0
1
-
-
7.81%  
-
8.59%  
9.38%  
10.16%  
10.94%  
11.72%  
12.50%  
13.28%  
14.06%  
14.84%  
15.63%  
16.41%  
17.19%  
17.97%  
18.75%  
2 (default)  
-
-
-
3
-
-
-
4
-
-
-
5
Important Warning  
Depending on the loads weight and inertia, a quick acceleration can cause consider-  
able current surges from the batteries into the motor. A quick deceleration will cause  
AX500 Motor Controller Users Manual  
41  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
General Operation  
an equally large, or possibly larger, regeneration current surge. Always experiment  
with the lowest acceleration value first and settle for the slowest acceptable value.  
Command Control Curves  
The AX500 can also be set to translate the joystick or RS232 motor commands so that the  
motors respond differently whether or not 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 linearstraight line, meaning that after the joystick has  
moved passed the deadband point, the motors speed will change proportionally to the joy-  
stick position.  
Two exponentialcurves, 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 robots ability to run at maximum speed.  
Two logarithmiccurves, 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.  
42  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Left / Right Tuning Adjustment  
% Forward  
(Motor Output)  
100  
80  
60  
40  
20  
Logarithmic Strong  
Logarithmic Weak  
Linear (default)  
Exponential Weak  
Exponential Strong  
% Command Input  
Deadband  
0
20  
40  
60  
80  
100  
% Reverse  
FIGURE 19. Exponentiation curves  
The AX500 is delivered with the linearcurves selected for both joystick channels. To  
select different curves, the user 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 Switcheson page 171 or Using the Roborun Configuration Utilityon page 131  
for instructions on how to program parameters into the controller.  
TABLE 5. Exponent selection table  
Exponentiation Parameter Value  
Selected Curve  
E or F = 0  
E or F = 1  
E or F = 2  
E or F = 3  
E or F = 4  
Linear (no exponentiation) - default value  
strong exponential  
normal exponential  
normal logarithmic  
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 AX500 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  
AX500 Motor Controller Users Manual  
43  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
General Operation  
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 20  
% Forward  
% Forward  
(Motor Output)  
100  
(Motor Output)  
0%  
-3%  
100  
-5.25%  
80  
60  
40  
20  
80  
60  
40  
20  
% Command Input  
0
0
20  
20  
40  
60  
80  
40  
60  
80  
5.25%  
3%  
100  
100  
% Reverse  
% Reverse  
0%  
% Forward  
(Motor Output)  
FIGURE 20. 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  
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 Liston page 175 and Loading, Changing Con-  
troller Parameterson page 134 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.  
TABLE 6. Left/Right Adjustment Parameter selection  
Parameter Value  
Speed Adjustment  
Parameter Value  
Speed Adjustment  
7
None (default)  
0.75%  
1.5%  
0
1
2
3
4
-5.25%  
-4.5%  
-3.75%  
-3%  
8
9
10  
11  
12  
2.25%  
3%  
-2.25%  
3.75%  
44  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Activating Brake Release or Separate Motor Excitation  
TABLE 6. Left/Right Adjustment Parameter selection  
Parameter Value  
Speed Adjustment  
-1.5%  
Parameter Value  
Speed Adjustment  
5
6
12  
14  
4.5%  
-0.75%  
5.25%  
Activating Brake Release or Separate Motor Excitation  
The controller may be configured so that the Output C will turn On whenever one of the  
two motors is running. This feature is typically used to activate the mechanical brake  
release sometimes found on motors for personal mobility systems. Likewise, this output  
can be used to turn on or off the winding that creates the armatures magnetic field in a  
separate excitation motor. This function is disabled by default and may be configured using  
Connecting devices to Output Con page 51 for details on how to connect to the output.  
Emergency Stop using External Switch  
An external switch can be added to the AX500 to allow the operator to stop the controllers  
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  
Inputon page 53. 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 functionparameter. See Programmable Parameters Liston  
page 175.  
The switch connection is described in Connecting Switches or Devices to EStop/Invert  
Inputon page 53. 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.  
AX500 Motor Controller Users Manual  
45  
Download from Www.Somanuals.com. All Manuals Search And Download.  
             
General Operation  
Special Use of Accessory Digital Inputs  
The AX500 includes two general purpose digital inputs identified as Input E and Input F.  
The location of these inputs on the DB15 connector can be found in the section I/O List  
and Pin Assignmenton page 50, while the electrical signal needed to activate them is  
By default, these inputs are ignored by the controller. However, the AX500 may be config-  
ured to cause either of the following actions:  
Activate the buffered Output C  
Turn Off/On the power MOSFET transistors  
These alternate modes can only be selected using the Roborun Utility (see Control Set-  
tingson page 135. 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 controllers 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 switchwhen 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.  
46  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
           
AX500 Connections  
SECTION 6  
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.  
AX500 Connections  
The AX500 uses a set of power wires (located on the back of the unit) and a DB15 connec-  
tor for all necessary connections. The diagram on the figure below shows a typical wiring  
diagram of a mobile robot using the AX500 controller.  
The wires are used for connection to the batteries and motors and will typically carry large  
current loads. Details on the controllers power wiring can be found at Connecting Power  
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”  
AX500 Motor Controller Users Manual  
47  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Sensors and Actuators to Input/Outputs  
2
4
1
3
3
6
5
7
9
8
1- DC Motors  
6- R/C Radio Receiver, microcomputer, or  
wireless modem  
2- Optional sensors:  
- Tachometers (Closed loop Speed mode)  
- Potentiometers (Servo mode)  
7- Command: RS-232, R/C Pulse  
8- Miscellaneous I/O  
3- Motor Power supply wires  
9- Running Inverted, or emergency stop  
switch  
4- Logic Power supply wire (connected  
optionally)5- Controller  
FIGURE 21. Typical controller connections  
AX500s Inputs and Outputs  
In addition to the RS232 and R/C channel communication lines, the AX500 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 controller.  
48  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
AX500s Inputs and Outputs  
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 7. AX500 IO signals and definitions  
Signal  
I/O type  
2A Digital Output User  
defined  
Use  
Activated  
Out C  
Activated using R/C channel 3 (R/C mode), or  
serial command (RS232 mode)  
Activated when any one motor is powered (when  
enabled)  
Inp F  
Digital Input  
User  
defined  
Active in RS232 mode only. Read with serial com-  
mand (RS232)  
Activate  
When Input is configured to drive Output C  
Output C  
Turn FETs  
On/Off  
When Input is configured as dead man switch”  
input  
Inp E  
Digital Input  
Digital Input  
Same as Input F  
EStop/Invert  
Emer-  
When Input is configured as Emergency Stop  
gency stop  
switch input.  
Invert  
Controls  
When Input is configured as Invert Controls  
switch input.  
User  
defined  
When input is configured as general purpose.  
Read with serial command (RS232).  
Analog In 1  
Analog Input  
Tachome-  
ters input  
When Channel 1 is configured in Closed Loop  
Speed Control with Analog feedback  
Position  
sensing  
When Channel 1 is configured in Closed Loop  
Position Control with RC or RS232 command and  
Analog feedback  
User  
Read value with serial command (RS232).  
defined  
Analog In 2  
Analog In 3  
Analog Input 2  
Analog Input 3  
Same as Analog 1 but for Channel 2  
Position  
sensing  
When Channel 1 is configured in Closed Loop  
Position Control with Analog command and Ana-  
log feedback  
User  
Read value with serial command (RS232).  
defined  
Analog In 4  
Analog Input 4  
Same as Analog 3 but for Channel 4  
AX500 Motor Controller Users Manual  
49  
Download from Www.Somanuals.com. All Manuals Search And Download.  
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 AX500.  
9
15  
8
Pin1  
FIGURE 22. Controllers DB15 connector pin numbering  
TABLE 8. DB15 connector pin assignment  
Pin  
Input or  
Signal depending  
on Mode  
Number Output  
Description  
1 and 9  
2
Output  
Output  
Output C  
100mA Accessory Output C  
RS232 Data Logging Output  
RS232 Data Out  
R/C: Data Out  
RS232: Data Out  
Analog: Data Out  
R/C: Ch 1  
RS232 Data Logging Output  
R/C radio Channel 1 pulses  
RS232 Data In (from PC/MCU)  
Unused  
3
4
Input  
Input  
RS232: Data In  
Analog: Unused  
R/C: Ch 2  
R/C radio Channel 2 pulses  
RS232/Analog: Input F  
Digital Input F readable RS232 mode  
Dead man switch activation  
5 and 13  
Power Out  
Unused  
Ground  
Unused  
Unused  
R/C: Ch 3  
Controller ground (-)  
Unused  
6
7
Unused  
Unused  
R/C radio Channel 3 pulses  
8
Digital In  
and Analog  
In  
RS232: Input E / Ana in  
4
Accessory input E  
Dead man Switch Input  
Activate Output C  
Analog Input 4  
Ana: Input E / Ana in 4  
Accessory input E  
Dead man Switch Input  
Activate Output C  
Channel 2 speed or position feedback input  
50  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Connecting devices to Output C  
TABLE 8. DB15 connector pin assignment  
Pin  
Input or  
Signal depending  
on Mode  
Number Output  
Description  
RC/RS232: Ana in 2  
Analog: Command 2  
RC/RS232: Ana in 1  
Analog: Command 1  
RC: Unused  
Channel 2 speed or position feedback input  
Analog command for channel 2  
Channel 1 speed or position feedback input  
Analog command for channel 1  
10  
11  
Analog in  
Analog in  
12  
Analog in  
RS232: Ana in 3  
Ana: Ana in 3  
Analog input 3  
Channel 1 speed or position feedback input  
+5V Power Output (100mA max.)  
Emergency Stop or Invert Switch input  
14  
15  
Power Out  
Input  
+5V  
Input EStop/Inv  
**These connections should only be done in RS232 mode or R/C mode with radio pow-  
ered from the controller.  
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  
Lights, LEDs, or any other  
non-inductive load  
+
+
-
5 to  
24V  
DC  
5 to  
24V  
DC  
Internal  
Transistor  
Output C 1,9  
Ground 5  
Output C 1,9  
Ground 5  
Internal  
Transistor  
-
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 Data Logging in R/C Modeon page 91 for more information.  
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 Controller Commands and Querieson  
page 107 for more information.  
AX500 Motor Controller Users Manual  
51  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Sensors and Actuators to Input/Outputs  
Important warning:  
This output is unprotected. If your load draws more than 100mA, permanent damage  
will occur to the power transistor inside the controller.  
Overvoltage spikes induced by switching inductive loads, such as solenoids or  
relays, will destroy the transistor unless a protection diode is used.  
Connecting Switches or Devices to Input E  
Input E is a general purpose, digital input. This input is only available 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 24 is nec-  
essary to activate it.  
+5V Out 14  
50kOhm  
10kOhm  
Input E 8  
50kOhm  
Internal  
Buffer  
Ground  
5
FIGURE 24. 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.  
Remember that InputE is shared with the Analog Input 4. If an analog sensor is connected,  
the controller will return a Digital value of 0 if the voltage is lower than 0.5V and a value of  
1 if higher  
Connecting Switches or Devices to Input F  
Input F is a general purpose digital input. This input is only active when in the RS232 or  
Analog modes. In R/C mode, this line is used as the radio channel 2 input.  
When left open, Input F is in an undefined stage. As shown in the figure below, a pull down  
or pull up resistor must be inserted when used with a single pole switch. The resistor may  
be omitted when used with a dual pole switch.  
52  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Connecting Switches or Devices to EStop/Invert Input  
+5V Out 14  
+5V In 7  
+5V Out 14  
+5V In 7  
Input F 4  
Internal  
Buffer  
Internal  
Buffer  
10kOhm  
10kOhm  
Input F 4  
GND In 6  
GND In 6  
GND Out 5  
GND Out 5  
FIGURE 25. 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.  
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 invertedsensor 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 26 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 26 show how to wire the switch to this input.  
AX500 Motor Controller Users Manual  
53  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Connecting Sensors and Actuators to Input/Outputs  
AX2500 Internal  
Buffer and Resistor  
+5V 14  
10kOhm  
Input  
EStop/Inv 15  
Ground 5  
FIGURE 26. 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.  
Analog Inputs  
The controller has 4 Analog Inputs that can be used to connect position, speed, tempera-  
ture, voltage or most other types of analog sensors. These inputs can be read at any time  
using the ?p query for Analog inputs 1 and 2 and the ?r query for Inputs 3 and 4. The fol-  
lowing section show the various uses for these inputs.  
Connecting Position Potentiometers to Analog Inputs  
When configured in the Position mode, the controllers 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 27. Motor and potentiometer assembly for position servo operation  
54  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Tachometer to Analog Inputs  
Connecting the potentiometer to the controller is as simple as shown in the diagram on  
+5V 14  
Internal Resistors  
and Converter  
Ana 1: 11  
Ana 2: 10  
Ana 3: 12  
47kOhm  
Ana 4:  
8
A/D  
10kOhm  
47kOhm  
10kOhm  
Ground 5  
FIGURE 28. 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 gearboxs out-  
put.  
TABLE 9. Analog Position Sensor connection depending on operating mode  
Ana 1  
pin 11  
Ana2  
pin 10  
Ana 3  
pin 12  
Ana 4  
pin 8  
Operating Mode  
RC or RS232 - Dual Channel  
Analog - Dual Channel  
Position 1  
Command 1  
Position  
Position 2  
Command 2  
Unused  
Unused  
Position 1  
Unused  
Position  
Unused  
Position 2  
Unused  
Unused  
RC or RS232 - Single Channel  
RC or RS232 - Dual Channel  
Command  
Unused  
See Closed Loop Position Modeon page 63 for complete details on Position Mode wir-  
ing and operation.  
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  
motors axle so that it will not be forced and broken by the motors 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.  
AX500 Motor Controller Users Manual  
55  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Sensors and Actuators to Input/Outputs  
Since the controller only accepts a 0 to 5V positive voltage as its input, the circuit shown in  
Figure 29 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.  
+5V 14  
1kOhm  
Internal Resistors  
and Converter  
Max Speed Adjust  
10kOhm pot  
Ana 1: 11  
Ana 2: 10  
Ana 3: 12  
47kOhm  
Zero Adjust  
100 Ohm pot  
Ana 4:  
8
Tach  
A/D  
10kOhm  
47kOhm  
1kOhm  
Ground 5  
FIGURE 29. 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 controllers 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”  
TABLE 10. Analog Speed Sensor connection depending on operating mode  
Operating Mode  
Ana 1 (p11)  
Speed 1  
Ana2 (p10)  
Speed 2  
Ana 3 (p12)  
Unused  
Ana 4 (p8)  
Unused  
RC or RS232 - Dual Channel  
Analog - Dual Channel  
Command 1  
Speed  
Command 2  
Unused  
Speed 1  
Unused  
Speed 2  
Unused  
RC or RS232 - Single Channel  
RC or RS232 - Dual Channel  
Command  
Unused  
Speed  
Unused  
Important Warning  
The tachometers polarity must be such that a positive voltage is generated to the  
controllers 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.  
56  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Connecting External Thermistor to Analog Inputs  
Connecting External Thermistor to Analog Inputs  
Using external thermistors, the AX500 can be made to supervise the motors temperature  
and adjust the power output in case of overheating. Connecting thermistors is done  
according to the diagram show in Figure 30. The AX500 is calibrated using a 10kOhm Neg-  
ative Coefficient Thermistor (NTC) with the temperature/resistance characteristics shown  
in the table below.  
TABLE 11. 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  
+5V 14  
Internal Resistors  
and Converter  
Ana 1: 11  
Ana 2: 10  
Ana 3: 12  
10kOhm  
47kOhm  
Ana 4:  
8
A/D  
10kOhm  
47kOhm  
10kOhm  
NTC  
Thermistor  
Ground 5  
FIGURE 30. NTC Thermistor wiring diagram  
Thermistors are non-linear devices. Using the circuit described on Figure 30, the controller  
will read the following values (represented in signed binary) according to the temperature.  
AX500 Motor Controller Users Manual  
57  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting Sensors and Actuators to Input/Outputs  
100  
50  
0
-50  
-100  
-150  
Temperature in Degrees C  
FIGURE 31. 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-  
verters 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  
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 32.  
To Battery  
+Terminal  
+5V 14  
Ana 1: 11  
Internal Resistors  
and Converter  
Ana 2: 10  
Ana 3: 12  
47kOhm  
4.7kOhm  
47kOhm  
Ana 4:  
8
A/D  
10kOhm  
47kOhm  
Ground 5  
FIGURE 32. 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.  
58  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Connecting User Devices to Analog Inputs  
Measured volts = ((controller reading + 128) * 0.255) -5  
Note: The A/D converters 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  
The two analog inputs can be used for any other purpose. The equivalent circuit for each  
input is shown in Figure 33. 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 converters 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 controllers RS232 port.  
+5V 14  
Ana 1: 11  
Ana 2: 10  
Ana 3: 12  
47kOhm  
A/D  
10kOhm  
47kOhm  
Ana 4:  
8
Ground 5  
FIGURE 33. AX500 Analog Input equivalent circuit  
Internal Voltage Monitoring Sensors  
The AX500 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 overvolt-  
age and undervoltage conditions (see Overvoltage Protectionon page 32 and Under-  
voltage Protectionon 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 AX500 includes temperature sensors.  
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  
AX500 Motor Controller Users Manual  
59  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Connecting Sensors and Actuators to Input/Outputs  
using the ?m query, or during data logging (see Analog and R/C Modes Data Logging  
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.  
300  
250  
200  
150  
100  
50  
0
0
0
0
0
0
0
0
0
0
0
0
10  
20  
30  
40  
50  
60  
70  
80  
90  
-4  
-3  
-2  
-1  
10  
11  
12  
13  
14  
15  
Temperature in Degrees C  
FIGURE 34. 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;  
60  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Internal Heatsink Temperature Sensors  
HiTemp = LoTemp + 5;  
lobound = TempTable[i];  
hibound = TempTable[i+1];  
temp = LoTemp + (5 * ((AnaValue - lobound)*100/ (hibound - lobound)))/100;  
return temp;  
}
}
AX500 Motor Controller Users Manual  
61  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Connecting Sensors and Actuators to Input/Outputs  
62  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Mode Description  
SECTION 7  
Closed Loop  
Position Mode  
This section describes the AX500 Position mode, how to wire the motor and position sen-  
sor assembly and how to tune and operate the controller in this mode.  
Mode Description  
In this mode, the axle of a geared-down motor is coupled to a position sensor that is used  
to compare the angular position of the axle versus a desired position. The controller will  
move the motor so that it reaches this position.  
This unique feature makes it possible to build ultra-high torque jumbo servosthat can be  
used to drive steering columns, robotic arms, life-size models and other heavy loads.  
The AX500 incorporates a full-featured Proportional, Integral, Differential (PID) control algo-  
rithm for quick and stable positioning.  
Selecting the Position Mode  
The position mode is selected by changing the Motor Control parameter in the controller to  
either  
A Open Loop Speed, B Position  
A Closed Loop Speed, B Position  
A and B Position  
Note that in the first two modes, only the second motor will operate in the Position mode.  
Changing the parameter is best done using the Roborun Utility. See Loading, Changing  
For safety reasons and to prevent this mode from being accidentally selected, Position  
modes CANNOT be selected by configuring the controller using the built-in switches and  
display.  
AX500 Motor Controller Users Manual  
63  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Closed Loop Position Mode  
Position Sensor Selection  
The AX500 may be used with the following kind of sensors:  
Potentiometers  
Hall effect angular sensors  
The first two are used to generate an analog voltage ranging from 0V to 5V depending on  
their position. They will report an absolute position information at all times.  
Sensor Mounting  
Proper mounting of the sensor is critical for an effective and accurate position mode opera-  
tion. Figure 35 shows a typical motor, gear box, and sensor assembly.  
Position Feedback  
Position Sensor  
Gear box  
FIGURE 35. Typical motor/potentiometer assembly in Position Mode  
The sensor is composed of two parts:  
a body which must be physically attached to a non-moving part of the motor assem-  
bly or the robot chassis, and  
an axle which must be physically connected to the rotating part of the motor you  
wish to position.  
A gear box is necessary to greatly increase the torque of the assembly. It is also necessary  
to slow down the motion so that the controller has the time to perform the position control  
algorithm. If the gearing ratio is too high, however, the positioning mode will be very slug-  
gish.  
A good ratio should be such that the output shaft rotates at 1 to 10 rotations per second  
(60 to 600 RPM) when the motor is at full speed.  
The mechanical coupling between the motor and the sensor must be as tight as possible.  
If the gear box is loose, the positioning will not be accurate and will be unstable, potentially  
causing the motor to oscillate.  
Some sensor, such as potentiometers, have a limited rotation range of typically 270  
degrees (3/4 of a turn), which will in turn limit the mechanical motion of the motor/potenti-  
ometer assembly. Consider using a multi-turn potentiometer as long as it is mounted in a  
64  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Feedback Potentiometer wiring  
manner that will allow it to turn throughout much of its range, when the mechanical  
assembly travels from the minimum to maximum position.  
Important Notice:  
Potentiometers are mechanical devices subject to wear. Use better quality potenti-  
ometers and make sure that they are protected from the elements. Consider using a  
solid state hall position sensor in the most critical applications.  
Feedback Potentiometer wiring  
When using a potentiometer, it must be wired so that it creates a voltage that is propor-  
tional to its angular position: 0V at one extreme, +5V at the other. A 10K potentiometer  
value is recommended for this use.  
Analog Feedback is normally connected to the Analog Inputs 1 and 2, except when the  
controller is configured in Analog Mode. In Analog mode, Analog Inputs 1 and 2 are already  
used to supply the command. Therefore Analog inputs 3 and 4 are used for feedback  
Feedback Potentiometer wiring in RC or RS232 Mode  
In RC or RS232 mode, feedback is connected to Analog Inputs 1 and 2. Connecting the  
potentiometer to the controller is as simple as shown in the diagram on below.  
Note that this wiring must not be used if the controller is configured in Analog mode but is  
switched in RS232 after power up using the method discussed in Entering RS232 from R/  
C or Analog modeon page 105. Instead, used the wiring for Analog mode discussed in  
the next section.  
14 +5V  
2k - 10k  
2k - 10k  
5
Ground  
Feedback 1  
Feedback 2  
11 Ana1  
10 Ana2  
12 Ana3*  
8
Ana4*  
FIGURE 36. Pot wiring for RS232 or RC Command and Analog Feedback  
Feedback Potentiometer wiring in Analog Mode  
When the controller is configured in Analog mode, the analog inputs 1 and 2 are used for  
commands while the analog inputs 3 and 4 are used for feedback. Analog inputs 3 and 4  
have different characteristics than inputs 1 and 2, and so require a lower resistance poten-  
tiometer in order to guarantee accuracy  
AX500 Motor Controller Users Manual  
65  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Closed Loop Position Mode  
Roborun will detect the new hardware revision and display Rev B on the screen.  
14 +5V  
2k  
2k  
2k - 10k  
2k - 10k  
5
Ground  
Command 1  
11 Ana1  
10 Ana2  
12 Ana3*  
Command 2  
Feedback 1  
Feedback 2  
8
Ana4*  
FIGURE 37. Pot wiring for Analog Command and Analog Feedback  
Analog inputs 3 and 4 have different characteristics than inputs 1 and 2, and so require a  
lower resistance potentiometer in order to guarantee accuracy.  
Important Notice  
This wiring is also the one to use when the controller is in Analog mode but switched to  
RS232 after reset using the method discussed in Entering RS232 from R/C or Analog  
Analog Feedback on Single Channel Controllers  
On Single Channel controllers (SC Version - not to be confused with Dual Channel control-  
lers of which only one channel is used for position control - See Single Channel Opera-  
tionon page 177.), the controller accepts one command and uses one input for feedback.  
Feedback Wiring in RC or RS232 Mode on Single Channel Controllers  
When the controller is configured for RS232 or RC command, the wiring of the feedback  
must be done as shown in the figure below.  
14 +5V  
Ground  
2k - 10k  
5
11 Ana1  
10 Ana2  
12 Ana3*  
Feedback  
8
Ana4*  
FIGURE 38. Pot wiring on Single Channel controllers (SCversion) and Analog Command  
66  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Sensor and Motor Polarity  
Feedback Wiring in Analog Mode on Single Channel Controllers  
When the controller is configured in Analog mode, the analog input 1 is used for com-  
mands while the analog input 4 is used for feedback.  
14 +5V  
2k  
2k - 10k  
5
Ground  
Command  
11 Ana1  
10 Ana2  
12 Ana3*  
Feedback  
8
Ana4*  
FIGURE 39. Pot wiring on Single Channel controllers (SC version) and Analog Command  
Analog inputs 3 and 4 have different characteristics than inputs 1 and 2, and so require a  
lower resistance potentiometer in order to guarantee accuracy.  
Important Notice  
This wiring is also the one to use when the controller is in Analog mode but switched to  
RS232 after reset using the method discussed in Entering RS232 from R/C or Analog  
Sensor and Motor Polarity  
The sensor polarity (i.e. which rotation end produces 0 or 5V) is related to the motors  
polarity (i.e. which direction the motor turns when power is applied to it).  
In the Position mode, the controller compares the actual position, as measured by the sen-  
sor, to the desired position. If the motor is not at that position, the controller will apply  
power to the motor so that it turns towards that destination until reached.  
Important Warning:  
If there is a polarity mismatch, the motor will turn in the wrong direction and the  
position will never be reached. The motor will turn continuously with no way of  
stopping it other than cutting the power or hitting the Emergency Stop button.  
Determining the right polarity is best done experimentally using the Roborun utility (see  
1. Disconnect the controllers Motor Power (Vmot terminals).  
2. Configure the controller in Position Mode using the PC utility.  
AX500 Motor Controller Users Manual  
67  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Closed Loop Position Mode  
3. Loosen the sensors axle from the motor assembly.  
4. Launch the Roborun utility and click on the Run tab. Click the Startbutton to  
begin communication with the controller. The sensor values will be displayed in the  
Ana1 and Ana2 boxes.  
5. Move the sensor manually to the middle position until a value of 0is measured  
using Roborun utility  
6. Verify that the motor sliders are in the 0(Stop) position. Since the desired posi-  
tion is 0 and the measured position is 0, the controller will not attempt to move the  
motors. The Power graph on the PC must be 0.  
7. Apply power to the Motor Power input (Vmot terminals). The motor will be stopped.  
8. With a hand ready to disconnect the Motor Power cable or ready to press the Pro-  
gramand Setbuttons at the same time (Emergency Stop), SLOWLY move the  
sensor off the center position and observe the motors direction of rotation.  
9. If the motor turns in the direction in which the sensor was moved, the polarity is  
correct. The sensor axle may be tighten to the motor assembly.  
10. If the motor turns in the direction away from the sensor, then the polarity is  
reversed. The wire polarity on the motors should be exchanged. If using a potenti-  
ometer as sensor, the GND and +5V wires on the potentiometer may be swapped  
instead.  
11. Move the sensor back to the center point to stop the motor. Cut the power if con-  
trol is lost.  
12. If the polarity was wrong, invert it and repeat steps 8 to 11.  
13. Tighten the sensor.  
Important Safety Warning  
Never apply a command that is lower than the sensors minimum output value or  
higher than the sensors maximum output value as the motor would turn forever try-  
ing to reach a position it cannot. For example, if the max position of a potentiometer  
is 4.5V, which is a position value of 114, a destination command of 115 cannot be  
reached and the motor will not stop.  
Encoder Error Detection and Protection  
The AX500 contains an Encoder detection and protection mechanism that will cause the  
controller to halt if no motion is detected on either Encoder while a power level of 25% or  
higher is applied to the motor. If such an error occurs, the controller will halt permanently  
until its power is cycled or it is reset.  
Adding Safety Limit Switches  
The Position mode depends on the position sensor providing accurate position information.  
If the potentiometer is damaged or one of its wire is cut, the motors may spin continuously  
68  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Adding Safety Limit Switches  
in an attempt to reach a fictitious position. In many applications, this may lead to serious  
mechanical damage.  
To limit the risk of such breakage, it is recommended to add limit switches that will cause  
the motors to stop if unsafe positions have been reached independent of the potentiome-  
ter reading.  
If the controller is equipped with and Encoder module, the simplest solution is to imple-  
ment limit switches as shown in Wiring Optional Limit Switcheson page 78. This wiring  
can be used whether or not Encoders are used for feedback.  
If no Encoder module is present, an alternate method is shown in Figure 40. This circuit  
uses Normally Closed limit switches in series on each of the motor terminals. As the motor  
reaches one of the switches, the lever is pressed, cutting the power to the motor. The  
diode in parallel with the switch allows the current to flow in the reverse position so that  
the motor may be restarted and moved away from that limit.  
The diode polarity depends on the particular wiring and motor orientation used in the appli-  
cation. If the diode is mounted backwards, the motor will not stop once the limit switch  
lever is pressed. If this is the case, reverse the diode polarity.  
The diodes may be eliminated, but then it will not be possible for the controller to move the  
motor once either of the limit switches has been triggered.  
The main benefit of this technique is its total independence on the controllers electronics  
and its ability to work in practically all circumstances. Its main limitation is that the switch  
and diode must be capable of handling the current that flows through the motor. Note that  
the current will flow though the diode only for the short time needed for the motor to move  
away from the limit switches.  
SW1  
SW2  
Motor  
Controller  
FIGURE 40. Safety limit switches interrupting power to motors  
Another method uses the AX500s Emergency Stop input to shut down the controller if  
any of the limit switches is tripped. Figure 41 shows the wiring diagram used in this case.  
Each of the limit switches is a Normally Open switch. Two of these switches are typically  
required for each motor. Additional switches may be added as needed for the second  
motor and/or for a manual Emergency Stop. Since very low current flows through the  
switches, these can be small, low cost switches.  
AX500 Motor Controller Users Manual  
69  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Closed Loop Position Mode  
The principal restriction of this technique is that it depends on the controller to be fully  
functioning, and that once a switch is activated, the controller will remain inactive until the  
switch is released. In most situations, this will require manual intervention. Another limita-  
tion is that both channels will be disabled even if only one channel caused the fault.  
Manual  
Emergency  
Stop Switch  
SW1  
SW2  
Motor  
Controller  
Ground  
Emergency Stop Input  
FIGURE 41. Safety limit using AX500s Emergency Stop input  
Important Warning  
Limit switches must be used when operating the controller in Position Mode. This  
will significantly reduce the risk of mechanical damage and/or injury in case of dam-  
age to the position sensor or sensor wiring.  
Using Current Limiting as Protection  
It is a good idea to set the controllers current limit to a low value in order to avoid high cur-  
rent draws and consequential damage in case the motor does not stop where expected.  
Use a value that is no more than 2 times the motors draw under normal load conditions.  
Control Loop Description  
The AX500 performs the Position mode using a full featured Proportional, Integral and Dif-  
ferential (PID) algorithm. This technique has a long history of usage in control systems and  
works on performing adjustments to the Power Output based on the difference measured  
between the desired position (set by the user) and the actual position (captured by the  
position sensor).  
Figure 42 shows a representation of the PID algorithm. Every 16 milliseconds, the control-  
ler measures the actual motor position and substracts it from the desired position to com-  
pute the position error.  
The resulting error value is then multiplied by a user selectable Proportional Gain. The  
resulting value becomes one of the components used to command the motor. The effect  
of this part of the algorithm is to apply power to the motor that is proportional with the dis-  
70  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
PID tuning in Position Mode  
tance between the current and desired positions: when far apart, high power is applied,  
with the power being gradually reduced and stopped as the motor moves to the final posi-  
tion. The Proportional feedback is the most important component of the PID in Position  
mode.  
A higher Proportional Gain will cause the algorithm to apply a higher level of power for a  
given measured error, thus making the motor move quicker. Because of inertia, however, a  
faster moving motor will have more difficulty stopping when it reaches its desired position.  
It will therefore overshoot and possibly oscillate around that end position.  
Proportional  
Gain  
x
E= Error  
Desired Position  
dE  
dt  
x
Σ
-
Output  
Analog Position  
Sensor  
A/D  
Measured Position  
Integral  
Gain  
or  
Optical Encoder  
dE  
dt  
x
Differential  
Gain  
FIGURE 42. PID algorithm used in Position mode  
The Differential component of the algorithm computes the changes to the error from one  
16 ms time period to the next. This change will be a relatively large number every time an  
abrupt change occurs on the desired position value or the measured position value. The  
value of that change is then multiplied by a user-selectable Differential Gain and added to  
the output. The effect of this part of the algorithm is to give a boost of extra power when  
starting the motor due to changes to the desired position value. The differential component  
will also help dampen any overshoot and oscillation.  
The Integral component of the algorithm performs a sum of the error over time. In the posi-  
tion mode, this component helps the controller reach and maintain the exact desired posi-  
tion when the error would otherwise be too small to energize the motor using the  
Proportional component alone. Only a very small amount of Integral Gain is typically  
required in this mode.  
PID tuning in Position Mode  
As discussed above, three parameters - Proportional Gain, Integral Gain and Differential  
Gain - can be adjusted to tune the position control algorithm. The ultimate goal in a well  
tuned PID is a motor that reaches the desired position quickly without overshoot or oscilla-  
tion.  
AX500 Motor Controller Users Manual  
71  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Closed Loop Position Mode  
Because many mechanical parameters such as motor power, gear ratio, load and inertia are  
difficult to model, tuning the PID is essentially a manual process that takes experimenta-  
tion.  
The Roborun PC utility makes this experimentation easy by providing one screen for chang-  
ing the Proportional, Integral and Differential gains and another screen for running and  
monitoring the motors.  
When tuning the motor, first start with the Integral Gain at zero, increasing the Proportional  
Gain until the motor overshoots and oscillates. Then add Differential gain until there is no  
more overshoot. If the overshoot persists, reduce the Proportional Gain. Add a minimal  
amount of Integral Gain. Further fine tune the PID by varying the gains from these posi-  
tions.  
To set the Proportional Gain, which is the most important parameter, use the Roborun util-  
ity to observe the three following values:  
Command Value  
Actual Position  
Applied Power  
With the Integral Gain set to 0, the Applied Power should be:  
Applied Power = (Command Value - Actual Position) * Proportional Gain  
Experiment first with the motor electrically or mechanically disconnected and verify that  
the controller is measuring the correct position and is applying the expected amount of  
power to the motor depending on the command given.  
Verify that when the Command Value equals the Actual Position, the Applied Power equals  
to zero. Note that the Applied Power value is shown without the sign in the PC utility.  
In the case where the load moved by the motor is not fixed, the PID must be tuned with  
the minimum expected load and tuned again with the maximum expected load. Then try to  
find values that will work in both conditions. If the disparity between minimal and maximal  
possible loads is large, it may not be possible to find satisfactory tuning values.  
Note that the AX500 uses one set of Proportional, Integral and Differential Gains for both  
motors, and therefore assumes that similar motors, mechanical assemblies and loads are  
present at each channel.  
72  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Mode Description  
SECTION 8  
Closed Loop  
Speed Mode  
This section discusses the AX500 Close Loop Speed mode.  
Mode Description  
In this mode, an analog speed sensor measures the actual motor speed and compares it to  
the desired speed. If the speed changes because of changes in load, the controller auto-  
matically compensates the power output. This mode is preferred in precision motor control  
and autonomous robotic applications.  
The AX500 incorporates a full-featured Proportional, Integral, Differential (PID) control algo-  
rithm for quick and stable speed control.  
Selecting the Speed Mode  
The speed mode is selected by changing the Motor Control parameter in the controller to  
either:  
A and B Closed Loop Speed, Separate  
A and B Closed Loop Speed, Mixed  
A Closed Loop Speed, B Position  
Note that in the last selection, only the first motor will operate in the Closed Loop Speed  
mode.  
Changing the parameter to select this mode is done using the Roborun Utility. See Load-  
AX500 Motor Controller Users Manual  
73  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Closed Loop Speed Mode  
Tachometer or Encoder Mounting  
Proper mounting of the speed sensor is critical for an effective and accurate speed mode  
operation. Figure 1 shows a typical motor and tachometer or encoder assembly.  
Analog Tachometer  
Speed feedback  
FIGURE 43. Motor and speed sensor assembly needed for Close Loop Speed mode  
Tachometer wiring  
The tachometer must be wired so that it creates a voltage at the controllers analog input  
that is proportional to rotation speed: 0V at full reverse, +5V at full forward, and 0 when  
stopped.  
Connecting the tachometer to the controller is as simple as shown in the diagram below.  
+5V 14  
1kOhm  
Internal Resistors  
and Converter  
Max Speed Adjust  
10kOhm pot  
Ana 1: 11  
Ana 2: 10  
Ana 3: 12  
47kOhm  
Zero Adjust  
100 Ohm pot  
Ana 4:  
8
Tach  
A/D  
10kOhm  
47kOhm  
1kOhm  
Ground 5  
FIGURE 44. Tachometer wiring diagram  
Speed Sensor and Motor Polarity  
The tachometer or encoder polarity (i.e. which rotation direction produces a positive of  
negative speed information) is related to the motors rotation speed and the direction the  
motor turns when power is applied to it.  
In the Closed Loop Speed mode, the controller compares the actual speed, as measured  
by the tachometer, to the desired speed. If the motor is not at the desired speed and direc-  
tion, the controller will apply power to the motor so that it turns faster or slower, until  
reached.  
74  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Adjust Offset and Max Speed  
Important Warning:  
If there is a polarity mismatch, the motor will turn in the wrong direction and the  
speed will never be reached. The motor will turn continuously at full speed with no  
way of stopping it other than cutting the power or hitting the Emergency Stop but-  
tons.  
Determining the right polarity is best done experimentally using the Roborun utility (see  
1. Disconnect the controllers Motor Power.  
2. Configure the controller in Open Loop Mode using the PC utility. This will cause the  
motors to run in Open Loop for now.  
3. Launch the Roborun utility and click on the Run tab. Click the Startbutton to  
begin communication with the controller. The tachometer values will be displayed  
in the appropriate Analog input value boxe(s) which will be labeled Ana 1 and Ana 2.  
4. Verify that the motor sliders are in the 0(Stop) position.  
5. If a tachometer is used, verify that the measured speed value read is 0 when the  
motors are stopped. If not, trim the 0offset potentiometer.  
6. Apply power to the Motor Power wires. The motor will be stopped.  
7. Move the cursor of the desired motor to the right so that the motor starts rotating,  
and verify that a positive speed is reported. Move the cursor to the left and verify  
that a negative speed is reported.  
8. If the tachometer or encoder polarity is the same as the applied command, the wir-  
ing is correct.  
9. If the tachometer polarity is opposite of the command polarity, then either reverse  
the motors wiring, or reverse the tachometer wires. If an encoder is used, swap its  
CHA and ChB outputs  
10. If a tachometer is used, proceed to calibrate the Max Closed Loop speed.  
11. Set the controller parameter to the desired Closed Loop Speed mode using the  
Roborun utility.  
Adjust Offset and Max Speed  
For proper operation, the controller must see a 0 analog speed value (2.5V voltage on the  
analog input).  
To adjust the 0 value when the motors are stopped, use the Roborun utility to view the  
analog input value while the tachometer is not turning. Move the 0 offset potentiometer  
until a stable 0 is read. This should be right around the potentiometers middle position.  
The tachometer must also be calibrated so that it reports a +127 or -127 analog speed  
value (5V or 0V on the analog input, respectively) when the motors are running at the max-  
imum desired speed in either direction. Since most tachometers will generate more than  
+/- 2.5V, a 10kOhm potentiometer must be used to scale its output.  
AX500 Motor Controller Users Manual  
75  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Closed Loop Speed Mode  
To set the potentiometer, use the Roborun utility to run the motors at the desired maxi-  
mum speed while in Open Loop mode (no speed feedback). While the tachometer is spin-  
ning, adjust the potentiometer until the analog speed value read is reaching 126.  
Note: The maximum desired speed should be lower than the maximum speed that the  
motors can spin at maximum power and no load. This will ensure that the controller will be  
able to eventually reach the desired speed under most load conditions.  
Important Warning:  
It is critically important that the tachometer and its wiring be extremely robust. If the  
tachometer reports an erroneous voltage or no voltage at all, the controller will con-  
sider that the motor has not reached the desired speed value and will gradually  
increase the applied power to the motor to 100% with no way of stopping it until  
power is cut off or the Emergency Stop is activated.  
Control Loop Description  
The AX500 performs the Closed Loop Speed mode using a full featured Proportional, Inte-  
gral and Differential (PID) algorithm. This technique has a long history of usage in control  
systems and works on performing adjustments to the Power Output based on the differ-  
ence measured between the desired speed (set by the user) and the actual position (cap-  
tured by the tachometer).  
Figure 45 shows a representation of the PID algorithm. Every 16 milliseconds, the control-  
ler measures the actual motor speed and subtracts it from the desired position to compute  
the speed error.  
The resulting error value is then multiplied by a user selectable Proportional Gain. The  
resulting value becomes one of the components used to command the motor. The effect  
of this part of the algorithm is to apply power to the motor that is proportional with the dif-  
ference between the current and desired speed: when far apart, high power is applied,  
with the power being gradually reduced as the motor moves to the desired speed.  
A higher Proportional Gain will cause the algorithm to apply a higher level of power for a  
given measured error thus making the motor react more quickly to changes in commands  
and/or motor load.  
The Differential component of the algorithm computes the changes to the error from one  
16 ms time period to the next. This change will be a relatively large number every time an  
abrupt change occurs on the desired speed value or the measured speed value. The value  
of that change is then multiplied by a user selectable Differential Gain and added to the out-  
put. The effect of this part of the algorithm is to give a boost of extra power when starting  
the motor due to changes to the desired speed value. The differential component will also  
greatly help dampen any overshoot and oscillation.  
The Integral component of the algorithm perform a sum of the error over time. This compo-  
nent helps the controller reach and maintain the exact desired speed when the error is  
reaching zero (i.e. measured speed is near to, or at the desired value).  
76  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
PID tuning in Speed Mode  
Proportional  
Gain  
x
x
E= Error  
Desired Speed  
dE  
dt  
Σ
-
Output  
Tachometer  
or  
A/D  
Measured Speed  
Integral  
Gain  
Optical Encoder  
dE  
dt  
x
Differential  
Gain  
FIGURE 45. PID algorithm used in Speed mode  
PID tuning in Speed Mode  
As discussed above, three parameters - Proportional Gain, Integral Gain, and Differential  
Gain - can be adjusted to tune the Closed Loop Speed control algorithm. The ultimate goal  
in a well tuned PID is a motor that reaches the desired speed quickly without overshoot or  
oscillation.  
Because many mechanical parameters such as motor power, gear ratio, load and inertia are  
difficult to model, tuning the PID is essentially a manual process that takes experimenta-  
tion.  
The Roborun PC utility makes this experimentation easy by providing one screen for chang-  
ing the Proportional, Integral and Differential gains and another screen for running and  
monitoring the motors. First, run the motor with the preset values. Then experiment with  
different values until a satisfactory behavior is found.  
In Speed Mode, the Integral component of the PID is the most important and must be set  
first. The Proportional and Differential component will help improve the response time and  
loop stability.  
In the case where the load moved by the motor is not fixed, tune the PID with the mini-  
mum expected load and tune it again with the maximum expected load. Then try to find  
values that will work in both conditions. If the disparity between minimal and maximal pos-  
sible loads is large, it may not be possible to find satisfactory tuning values.  
Note that the AX500 uses one set of Proportional Integral and Differential Gains for both  
motors and therefore assumes that similar motors, mechanical assemblies and loads are  
present at each channel.  
AX500 Motor Controller Users Manual  
77  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Closed Loop Speed Mode  
78  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Diagnostic LED  
SECTION 9  
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.  
Diagnostic LED  
The AX500 features a single diagnostic LED which helps determine the controllers operat-  
ing mode and signal a few fault conditions. The LED is located near the edge of the board,  
next to he 15-pin connector.  
Normal Operation Flashing Pattern  
Upon normal operation, 1 second after power up, the LED will continuously flash one of  
the patterns below to indicate the operating mode. A flashing LED is also an indication that  
the controllers processor is running normally.  
RC Mode  
RS232 Mode No Watchdog  
RS232 Mode with Watchdog  
Analog Mode  
FIGURE 46. Status LED Flashing pattern during normal operation  
AX500 Motor Controller Users Manual  
79  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Normal and Fault Condition LED Messages  
Output Off / Fault Condition  
The controller LED will tun On solid to signal that the output stage is off as a result of a any  
of the recoverable conditions listed below.  
Temporary Fault  
Permanent Error  
FIGURE 47. Status LED Flashing pattern during faults or other exceptions  
Over temperature  
Over Voltage  
Under Voltage  
The controller will resume the normal flashing pattern when the fault condition disappears.  
A rapid continuously flashing pattern indicates that the controllers output is Off and will  
remain off until reset or power is cycled. Activating the emergency stop will cause the con-  
troller to stop in this manner.  
80  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Mode Description  
SECTION 10  
R/C Operation  
This section describes the controllers wiring and functions specific to the R/C radio control  
mode.  
Mode Description  
The AX500 can be directly connected to an R/C receiver. In this mode, the speed or posi-  
tion information is contained in pulses whose width varies proportionally with the joysticks’  
positions. The AX500 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 con-  
nected 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 AX500 can be con-  
figured to perform correction on the controls and will continuously monitor the transmis-  
sion for errors.  
FIGURE 48. R/C radio control mode  
AX500 Motor Controller Users Manual  
81  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
R/C Operation  
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 the serial port and the PC utility. See Using the Roborun  
Connector I/O Pin Assignment (R/C Mode)  
9
15  
Pin1  
8
FIGURE 49. Pin locations on the controllers 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 12. Connector pin-out in R/C mode  
Pin  
Input or  
Number Output  
Signal  
Description  
1 and 9  
Output  
Output C  
RS232 data  
Ch 1  
100mA Accessory Output C  
RS232 Data Logging Output  
R/C radio Channel 1 pulses  
R/C radio Channel 2 pulses  
Controller ground (-)  
2
Output  
3
Input  
4
Input  
Ch 2  
5 and 13  
Power Out  
Unused  
Unused  
Digital In  
Analog in  
Analog in  
Analog in  
Power Out  
Input  
Ground  
6
Unused  
Unused  
7
Unused  
Unused  
8
R/C: Ch 3 / Ana In 4  
Ana in 2  
Ana in 1  
Ana in 3  
+5V  
R/C radio Channel 3 pulses  
Channel 2 speed or position feedback input  
Channel 1 speed or position feedback input  
Unused  
10  
11  
12  
14  
15  
+5V Power Output (100mA max.)  
Emergency Stop or Invert Switch input  
Input EStop/Inv  
82  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
R/C Input Circuit Description  
R/C Input Circuit Description  
The AX500 R/C inputs are directly connected to the MCU logic. Figure 50 shows an electri-  
cal representation of the R/C input circuit.  
14  
Controller  
Power  
+5V Output  
3
R/C Channel 1  
4
MCU  
R/C Channel 2  
R/C Channel 3  
8
5-13  
Controller  
Ground  
FIGURE 50. AX500 R/C Input equivalent circuit  
Supplied Cable Description  
The AX500 is delivered with a custom cable with the following wiring diagram:  
1
2
3
1
8
9
15  
FIGURE 51. RC Cable wiring diagram  
AX500 Motor Controller Users Manual  
83  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
R/C Operation  
.
FIGURE 52. RC connection cable  
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 controllers power to the  
the radio as well as for powering the optocoupler stage. Figure 53 below shows the con-  
nector wiring necessary to do this. Figure 54 shows the equivalent electrical diagram.  
Channel 3  
Channel 2  
3:  
4:  
6:  
7:  
8:  
Channel 1 Command Pulses  
Channel 2 Command Pulses  
Radio battery (-) Ground  
Radio battery (+)  
Channel 1  
Channel 3 Command Pulses  
8
9
Pin 1  
Wire loop bringing power from  
controller to RC radio  
15  
FIGURE 53. Wiring for powering R/C radio from controller  
84  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Connecting to a Separately Powered Radio  
14  
Controller  
R/C Radio Power  
Power  
7
3
R/C Channel 1  
R/C Channel 2  
R/C Channel 3  
R/C Radio  
4
8
6
MCU  
R/C Radio Ground  
5-13  
Controller  
Ground  
FIGURE 54. 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.  
This mode of operation is the most convenient and is the one wired in the R/C cable deliv-  
ered with the controller.  
Connecting to a Separately Powered Radio  
This wiring option must be used when the controller is used with a RC receiver that is  
powered by its own separate battery. The red wire in the loop must be cut so that the 5V  
out from the controller does not flow to the radio, and so that the battery that is connected  
AX500 Motor Controller Users Manual  
85  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
R/C Operation  
to the controller does not inject power into the controller. The figure below show the cable  
with the loop cut. Figure 56 shows the equivalent electrical diagram.  
Channel 3:  
Channel 2  
3:  
4:  
6:  
7:  
8:  
Channel 1 Command Pulses  
Channel 2 Command Pulses  
Radio battery (-) Ground  
Radio battery (+)  
Channel 1  
Channel 3 Command Pulses  
8
9
Pin 1  
Cut red loop  
15  
FIGURE 55. Wiring when receiver is powered by its own separate battery  
14  
Controller  
Power  
R/C Radio Power  
Cut  
7
R/C Channel 1  
3
Radio  
Battery  
R/C Channel 2  
R/C Channel 3  
R/C Radio  
4
8
6
MCU  
R/C Radio Ground  
5-13  
Controller  
Ground  
FIGURE 56. Electrical diagram for connection to independently powered RC radio  
Operating the Controller in R/C mode  
In this operating mode, the AX500 will accept commands from a Radio Control receiver  
used for R/C models remote controls. The speed or position information is communicated  
to the AX500 by the width of a pulse from the R/C receiver: a pulse width of 1.0 millisec-  
ond indicates the minimum joystick position and 2.0 milliseconds indicates 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  
86  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Reception Watchdog  
the controller captures the full joystick movement, the AX500 defaults to the timing values  
shown in Figure 57. These vales can be changed and stored as new defaults.  
joystick position:  
min  
center max  
1.05ms  
0.45ms  
0.9ms  
R/C pulse timing:  
FIGURE 57. Joystick position vs. pulse duration default values  
The AX500 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 AX500 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.  
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.  
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.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 monitor the pulse train to make sure that they are  
regular and therefore genuine R/C radio command pulses. After that, the motors are  
enabled.  
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  
to be lost, the no ctrlmessage is displayed again.  
AX500 Motor Controller Users Manual  
87  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
R/C Operation  
Note: the Accessory Outputs C 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 conditionvalue) when radio communication is lost. This signal will be inter-  
preted by the AX500 as a valid command and the controller will remain active. To  
benefit from the AX500s radio detection function, you will need to disable the PCM  
radio watchdog.  
R/C Transmitter/Receiver Quality Considerations  
As discussed earlier in this chapter, the AX500 will capture the R/Cs 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  
the application.  
Another important consideration is the R/C receivers ability to operate in an electrically  
noisy environment: the AX500 switches high current at very high frequencies. Such tran-  
sients along long battery and motor wires will generate radio frequency noise that may  
interfere with the R/C radio signal. The effects may include 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 as possible electrical  
noise is generated. Section Electrical Noise Reduction Techniqueson page 31 provides 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 AX500 sup-  
ports a programmable deadband feature. A small deadband is set in the controller by  
default at the factory. This deadband can be stretched, reduced or eliminated using the  
Roborun utility. The AX500 has 8 preset deadband values coded 0 to 7. The value 0 dis-  
ables the deadband. Other values select a deadband according to the table below. The  
deadband value applies equally to both joysticks.  
88  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Command Control Curves  
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.  
TABLE 13. Selectable deadband values  
Deadband Parameter Value  
Deadband as Percent of full Joystick Travel  
d = 0  
d = 1  
d = 2  
d = 3  
d = 4  
d = 5  
d = 6  
d =7  
No deadband  
8%  
16% - default value  
24%  
32%  
40%  
46%  
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 58 below.  
Deadband  
(no action)  
Min  
Min  
Reverse  
Forward  
Max  
Max  
Reverse  
Forward  
Centered  
Position  
FIGURE 58. Effect of deadband on joystick position vs. motor speed  
Command Control Curves  
The AX500 can also be set to translate the joystick motor commands so that the motors  
respond differently depending on whether the joystick is near the center or near the  
extremes. Five different exponential or logarithmic translation curves may be applied.  
Since this feature applies to the R/C, Analog and RS232 modes, it is described in detail in  
Command Control Curveson page 42, in the General Operation section of this manual.  
AX500 Motor Controller Users Manual  
89  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
R/C Operation  
Left/Right Tuning Adjustment  
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 AX500 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 Adjustmenton 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 joysticks 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 joysticks 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.  
The joystick timing values can be entered directly in the controllers flash memory using  
your PC running the Roborun configuration utility. This method is described in Loading,  
New Desired  
Center Position  
Min  
Min  
Forward  
Reverse  
Max  
Max  
Reverse  
Forward  
FIGURE 59. Calibration example where more travel is dedicated to forward motion  
90  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Data Logging in R/C Mode  
Data Logging in R/C Mode  
Output C  
OFF  
Output C  
OFF  
Output C  
ON  
FIGURE 60. Using Channel 3 to activate accessory outputs  
While in R/C Mode, the AX500 will continuously send a string of characters on the RS232  
output line. This string will contain 12 two-digit hexadecimal numbers representing the fol-  
lowing 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  
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 Modeson page 144). 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-  
maton page 126. The serial ports 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  
PCs communication port. Figure 61 and below shows the wiring diagram of the modified  
R/C cable for connection to a PC.  
AX500 Motor Controller Users Manual  
91  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
R/C Operation  
DB9 Female  
To PC  
DB15 Male  
To Controller  
1
1
6
2
7
3
8
4
9
5
9
2
RS232 Data Out  
RX Data  
GND  
10  
11  
12  
13  
14  
15  
3
4
5
6
R/C Ch 1  
R/C Ch 2  
GND  
R/C GND  
R/C +5V  
7
8
FIGURE 61. Modified R/C cable with RS232 output for data logging to a PC  
92  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Mode Description  
SECTION 11  
Analog Control  
and Operation  
This section describes how the motors may be operated using analog voltage commands.  
Mode Description  
The AX500 can be configured to use a 0 to 5V analog voltage, typically produced using a  
potentiometer, to control each of its two motor channels. The voltage is converted into a  
digital value of -127 at 0V, 0 at 2.5V and +127 at 5V. This value, in turn, becomes the com-  
mand input used by the controller. This command input is subject to deadband threshold  
and exponentiation adjustment. Analog commands can be used to control motors sepa-  
rately (one analog input command for each motor) or in mixed mode.  
Important Notice  
The analog mode can only be used in the Closed Loop speed or position modes  
when Optical Encoders are used for feedback. Position potentiometers or tachome-  
ters cannot be used since there is only one analog input per channel and since this  
this input will be connected to the command potentiometer.  
AX500 Motor Controller Users Manual  
93  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Analog Control and Operation  
Connector I/O Pin Assignment (Analog Mode)  
9
15  
Pin1  
8
When used in the Analog mode, the pins on the controllers DB15 connector are mapped  
as described in the table below  
TABLE 14. DB15 Connector pin assignment in Analog mode  
Pin  
Input or  
Output  
Number  
Signal  
Output C  
Data Out  
Data In  
Description  
1
2
3
4
Output  
Output  
Input  
100mA Accessory Output C (same as pin 9)  
RS232 data output to the PC for data logging  
unused  
Input F  
Input  
5
Ground Out  
Unused  
Power Output  
Controller ground (-)  
6
Unused  
7
Unused  
Unused  
8
Input E / Ana In 4  
Output C  
Input  
Channel 2 position feedback input (servo mode)  
100mA Accessory Output C (same as pin 1)  
Channel 2 Command Input  
Channel 1 Command Input  
Channel 1 position feedback input (servo mode)  
Controller ground (-)  
9
Output  
Analog in  
Analog in  
Input  
10  
11  
12  
13  
14  
15  
Channel 2 In  
Channel 1 In  
Analog Input 3  
Ground Out  
+5V Out  
Power  
Power Output  
Input  
+5V Power Output (100mA max.)  
Emergency Stop or Invert Switch input  
Switch Input  
94  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Connecting to a Voltage Source  
Connecting to a Voltage Source  
The analog inputs expect a DC voltage of 0 to 5V which can be sourced by any custom cir-  
cuitry (potentiometer, Digital to Analog converter).  
The controller considers 2.5V to be the zero position (Motor Off). 0V is the maximum  
reverse command and +5V is the maximum forward command.  
The inputsequivalent circuit is show in Figure 62 below.  
+5V  
14  
Internal Resistors  
and Converter  
Analog  
In1: pin 11  
In2: pin 10  
47kOhm  
A/D  
0V = Min  
2.5V = Off  
5V = Max  
10kOhm  
47kOhm  
13  
Ground  
FIGURE 62. Analog input circuit  
Notice the two 47K resistors, which are designed to automatically bring the input to a mid-  
point (Off) position in case the input is not connected. The applied voltage must have suffi-  
cient current (low impedance) so that it is not affected by these resistors.  
Connecting a Potentiometer  
Figure 63 shows how to wire a potentiometer to the AX500. By connecting one end to  
ground and the other to 5V, the potentiometer acts as an adjustable voltage divider. The  
voltage will thus vary from 0V when the tap is at the minimum position and to 5V when the  
tap is at the maximum position.  
The controller considers 2.5V to be the zero position (Motor Off). 2.5V is the potentiome-  
ters mid point position.  
AX500 Motor Controller Users Manual  
95  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Analog Control and Operation  
+5V  
14  
Internal Resistors  
and Converter  
Analog  
Input 1  
2
47kOhm  
10  
11  
12  
8
A/D  
3
or 4  
10kOhm  
47kOhm  
10kOhm  
13  
Ground  
FIGURE 63. Potentiometer connection wiring diagram  
The controller includes two 47K ohm resistors pulling the input to a mid-voltage point of  
2.5V. When configured in the Analog Input mode, this will cause the motors to be at the  
Off state if the controller is powered with nothing connected to its analog inputs.  
Important Notice  
The controller will not activate after power up or reset until the analog inputs are at  
2.5V  
Selecting the Potentiometer Value  
The potentiometer can be of almost any value. Undesirable effects occur, however, if the  
value is too low or too high.  
If the value is low, an unnecessarily high and potentially damaging current will flow through  
the potentiometer. The amount of current is computed as the voltage divided by the poten-  
tiometers resistance at its two extremes. For a 1K potentiometer, the current is:  
I = U/R = 5V / 1000 Ohms = 0.005A = 5mA  
For all practical purposes, a 1K potentiometer is a good minimal value.  
If the value of the potentiometer is high, then the two 47K resistors built into the controller  
will distort the reading. The effect is minimal on a 10K potentiometer but is significant on a  
100K or higher potentiometer. Figure 64 shows how the output voltage varies at the vari-  
ous potentiometer positions for three typical potentiometer values. Note that the effect is  
an exponentiation that will cause the motors to start moving slowly and accelerate faster  
as the potentiometer reaches either end.  
This curve is actually preferable for most applications. It can be corrected or amplified by  
changing the controllers exponentiation parameters (see Command Control Curveson  
96  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Analog Deadband Adjustment  
Voltage at Input  
5V  
1K Pot  
4V  
3V  
10K Pot  
2V  
100K Pot  
1V  
0V  
Min  
Center  
Max  
Potentiometer Position  
FIGURE 64. Effect of the controllers internal resistors on various potentiometers  
Analog Deadband Adjustment  
The controller may be configured so that some amount of potentiometer or joystick travel  
off its center position is required before the motors activate. The deadband parameter can  
be one of 8 values, ranging from 0 to 7, which translate into a deadband of 0% to 16%.  
Even though the deadband will cause some of the potentiometer movement around the  
center position to be ignored, the controller will scale the remaining potentiometer move-  
ment to command the motors from 0 to 100%.  
Note that the scaling will also cause the motors to reach 100% at slightly less than 100%  
of the potentiometers position. This is to ensure that 100% motor speed is achieved in all  
circumstances. Table 15 below shows the effect of the different deadband parameter val-  
ues. Changing the deadband parameter can be done using the controllers switches (see  
Configuring the Controller using the Switcheson page 171) or the Roborun utility on a  
TABLE 15. Analog deadband parameters and their effects  
Pot. Position resulting in  
Motor Power at 0%  
Pot. Position resulting in  
Motor Power at -/+100%  
Parameter Value  
0
1
2
0%  
2.5V  
94%  
96%  
93%  
0.15V and 4.85V  
0.10V and 4.90V  
0.18V and 4.83V  
0% to 2.4%  
0% to 4.7%  
2.44V to 2.56V  
2.38V to 2.62V  
AX500 Motor Controller Users Manual  
97  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Analog Control and Operation  
TABLE 15. Analog deadband parameters and their effects  
Pot. Position resulting in  
Motor Power at 0%  
Pot. Position resulting in  
Motor Power at -/+100%  
Parameter Value  
3 (default)  
0% to 7.1%  
0% to 9.4%  
0% to 11.8%  
0% to 14.2%  
0% to 16.5%  
2.32V to 2.68V  
95%  
93%  
95%  
94%  
96%  
0.13V to 4.88V  
0.18V and 4.83V  
0.13V to 4.88V  
0.15V and 4.85V  
0.10V and 4.90V  
4
5
6
7
2.27V to 2.74  
2.21V to 2.80V  
2.15V to 2.86V  
2.09V to 2.91V  
Important Notice  
Some analog joysticks do not cause the potentiometer to reach either extreme. This  
may cause the analog voltage range to be above 0V and below 5V when the stick is  
moved to the extreme, and therefore the controller will not be able to deliver full for-  
ward or reverse power.  
Power-On Safety  
When powering on the controller, power will not be applied to the motors until both the  
Channel 1 and Channel 2 potentiometers have been centered to their middle position (2.5V  
on each input). This is to prevent the robot or vehicle from moving, in case the joystick was  
in an active position at the moment the controller was turned on.  
Under Voltage Safety  
If the controller is powered through the VCon input and the motor battery voltage drops  
below 5V, the controller will be disabled until the analog commands are centered to the  
midpoint (2.5V on each input).  
Data Logging in Analog Mode  
While in Analog Mode, the AX500 will continuously send a string of characters on the  
RS232 output line. This string will contain two-digits hexadecimal number representing the  
following operating parameters.  
Captured Analog Command 1 and 2  
Power Applied to Controllers output stage  
Raw analog command values  
Amps on channel 1 and 2  
Internal Heat Sink temperatures 1 and 2  
Main Battery voltage  
Internal 12V voltage  
The entire string is repeated every 213 milliseconds with the latest internal parameter val-  
ues. This information can be logged using the Roborun Utility (see Viewing and Logging  
98  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Data Logging in Analog Mode  
Data in Analog and R/C Modeson page 144). 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-  
maton page 126. The serial ports output can be safely ignored if it is not required in the  
application.  
To read the output string while operating the controller with an analog command, the cable  
must be modified to add an RS232 output wire and connector that will be connected to the  
PCs communication port. Figure 65 below shows the wiring diagram of the modified cable  
for connection to a PC or to a PDA, respectively.  
DB9 Female  
To PC  
DB15 Male  
To Controller  
1
1
6
2
7
3
8
4
9
5
9
2
RS232 Data Out  
RX Data  
GND  
Ana Ch2  
Ana Ch1  
10  
11  
12  
13  
14  
15  
3
4
5
6
GND  
+5V  
7
8
FIGURE 65. Modified Analog cable with RS232 output data logging for PC  
DB9 Male  
To PDA  
DB15 Male  
To AX2500  
1
1
6
2
7
3
8
4
9
5
9
10  
11  
12  
13  
14  
15  
RX Data  
GND  
2
RS232 Data Out  
Ana Ch2  
Ana Ch1  
3
4
5
6
7
8
GND  
+5V  
FIGURE 66. Modified Analog cable with RS232 output data logging for PDA  
AX500 Motor Controller Users Manual  
99  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Analog Control and Operation  
100  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Use and benefits of RS232  
SECTION 12  
Serial (RS-232)  
Controls and  
Operation  
This section describes the communication settings and the commands accepted by the  
AX500 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 101.  
Use and benefits of RS232  
The serial port allows the AX500 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 autonomous 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 controllers 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  
AX500 Motor Controller Users Manual  
101  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Serial (RS-232) Controls and Operation  
Connector I/O Pin Assignment (RS232 Mode)  
9
15  
Pin1  
8
FIGURE 1. Pin locations on the controllers 15-pin connector  
When used in the RS232 mode, the pins on the controllers DB15 connector are mapped  
as described in the table below  
TABLE 16. DB15 Connector pin assignment in RS232 mode  
Pin  
Input or  
Output  
Number  
Signal  
Output C  
Data Out  
Data In  
Description  
1 and 9  
Output  
Output  
Input  
100mA Accessory Output C  
RS232 Data from Controller to PC  
RS232 Data In from PC  
2
3
4
Input  
Input F  
Digital Input F readable RS232 mode  
Dead man switch activation  
5 and 13  
Power Out  
Unused  
Ground  
Controller ground (-)  
Unused  
6
7
8
Unused  
Unused  
Unused  
Unused  
Digital In and  
Analog In  
Input E / Ana in 4  
Accessory input E  
Dead man Switch Input  
Activate Output C  
Analog Input 4  
10  
11  
12  
14  
15  
Analog in  
Analog in  
Analog in  
Power Out  
Input  
Ana in 2  
Ana in 1  
Ana in 3  
+5V  
Channel 2 speed or position feedback input  
Channel 1 speed or position feedback input  
Analog input 3  
+5V Power Output (100mA max.)  
Emergency Stop or Invert Switch input  
Input EStop/Inv  
102  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Cable configuration  
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 AX500.  
It is critical that you do not confuse the connectors 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.  
DB9 Female  
To PC  
DB15 Male  
To Controller  
1
6
2
7
3
8
4
9
5
1
9
10  
11  
12  
13  
14  
15  
2
3
4
5
6
7
8
Data Out  
Data In  
RX Data  
TX Data  
GND  
GND  
FIGURE 67. PC to AX500 RS232 cable/connector wiring diagram  
Extending the RS232 Cable  
The AX500 is delivered with a 4-foot cable adapter which may be too short, particularly if  
you wish to run and monitor the controller inside a moving robot.  
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 68 shows the wiring  
diagram of the extension cable.  
AX500 Motor Controller Users Manual  
103  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Serial (RS-232) Controls and Operation  
DB9 Female  
DB9 Male  
1
2
3
4
5
1
6
7
8
9
6
2
7
3
8
4
Data Out  
Data In  
RX Data  
TX Data  
9
5
GND  
GND  
FIGURE 68. RS232 extension cable/connector wiring diagram  
Communication Settings  
The AX500 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.  
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 AX500 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 PCs screen and to send characters typed on the keyboard to the  
controller. All Windows PCs 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 PCs Start button menu when the Roboteqs Roborun utility is installed (See Down-  
loading and Installing the Utilityon page 131). The configuration file is set to use the  
104  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Establishing Manual Communication with a PC  
COM1port. You can easily change this setting to a different port from the programs  
menus.  
Note that starting with version 1.9, the Roborun PC utility also includes a Terminal Emula-  
tion Console for communicating with the controller using raw data. See Using the Con-  
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.9b 06/01/07  
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 69. Power-on message appearing on Hyperterm  
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 listeningto 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 OKmessage, 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 Watchdogon page 107.  
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.  
AX500 Motor Controller Users Manual  
105  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
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  
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 OKmessage is sent automatically, indicating that the controller is ready  
to accept commands through its serial port.  
Commands Acknowledge and Error Messages  
The AX500 will output characters in various situations to report acknowledgements or error  
conditions as listed below.  
Character Echo  
At the most fundamental level, the AX500 will echo back to the PC or Microcontroller 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  
Command Acknowledgement  
The AX500 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 pluscharacter (+) 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  
minuscharacter (-) 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.  
106  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
RS-232 Watchdog  
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 Wcharacter 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 ASCII code, including invis-  
ible ones.  
The RS232 watchdog is enabled or disabled depending on the value of the Input Com-  
mand Modeparameter.  
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 modeon  
Controller Commands and Queries  
AX500 commands and queries are composed of a series of 2 or 4 characters followed 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.  
The table below lists the AX500 RS232 commands and queries  
TABLE 17. Controllers basic Commands and Queries  
Command  
%rrrrrr  
!Ann  
Type  
Description  
Command  
Command  
Command  
Command  
Command  
Reset Controller  
Channel 1, forward command to value nn  
Channel 1, reverse command to value nn  
Channel 2, forward command to value nn  
Channel 2, reverse command to value nn  
!ann  
!Bnn  
!bnn  
AX500 Motor Controller Users Manual  
107  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Serial (RS-232) Controls and Operation  
TABLE 17. Controllers basic Commands and Queries  
Command  
!C  
Type  
Command  
Command  
Query  
Description  
Turn Accessory Output C n  
Turn Accessory Output C Off  
Read Battery Amps  
!c  
?a or ?A  
?v or ?V  
?p or ?P  
?r or ?R  
?m or ?M  
?e or ?E  
?i or ?I  
Query  
Read Power Level applied to motors  
Read Analog Inputs 1 and 2  
Read Analog Inputs 3 and 4  
Read Heatsink Temperature  
Read Battery and Internal Voltage  
Read Digital Inputs  
Query  
Query  
Query  
Query  
Query  
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  
!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.  
Set Accessory Output  
Description:  
Turn on or off the digital output line on the 15-pin connector. See AX500s Inputs and Out-  
putson page 48 for details on how to identify and wire these signals.  
Syntax:  
Where:  
!M  
M=  
c: output C off  
C: output C onExamples:  
108  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Controller Commands and Queries  
!C  
!c  
turn C output off  
turn C output on  
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:  
Reply:  
?v or ?V  
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 controller.  
Query Amps from Battery to each Motor Channel  
Description:  
This query will cause the controller to return the actual number of Amps flowing from the  
battery to power each motor. The number is an unsigned Hexadecimal number ranging  
from 0 to 256 (0 to FF in Hexadecimal).  
Syntax:  
Reply:  
?a or ?A  
nn  
mm  
Where:  
Notes:  
nn = motor 1 Amps  
mm = motor 2 Amps  
The Amps measurement has an approximately 10% precision. Its main purpose is to pro-  
vide feedback to the controllers current limitation circuitry.  
Important Notice  
The current flowing in the motor can be higher than the battery flowing out of the battery.  
AX500 Motor Controller Users Manual  
109  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Serial (RS-232) Controls and Operation  
Important Notice  
On the AX500, the number returned by the ?a command must be divided by eight to obtain  
the actual Amps value  
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.  
Analog 1 and 2  
Syntax:  
?p or ?P  
?r or ?R  
Analog 3 and 4  
Syntax:  
Reply:  
Where:  
Notes:  
nn  
mm  
nn = analog input 1 (or 3) value, speed or position  
mm = analog input 2 (or 4) value, speed or position  
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.  
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 34 on page 60 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:  
Notes:  
nn = thermistor 1 read value  
mm = thermistor 2 read value  
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  
110  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Controller Commands and Queries  
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 controllers 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-  
Syntax:  
?e or ?E  
Reply:  
nn  
mm  
Where:  
Notes:  
nn = main battery voltage value  
mm = internal 12V voltage value  
The hexadecimal format is intended to be deciphered by a microcontroller. When exercis-  
ing the controller manually, refer to the Decimal to Hexadecimal conversion table on  
Query Digital Inputs  
Description:  
This query will cause the controller to return the state of the controllers two accessory  
inputs (inputs E and F) and the state of the Emergency Stop/Inverted input. See Connect-  
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  
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  
00  
01  
Controller replies, Input E is On  
Input F is Off  
Emergency stop switch is high (not triggered)  
Reset Controller  
Description:  
This command allows the controller to be reset in the same manner as if the reset button  
were pressed. This command should be used in exceptional conditions only or after chang-  
ing the controllers parameters in Flash memory so that they can take effect.  
Syntax:  
%rrrrrr  
AX500 Motor Controller Users Manual  
111  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Serial (RS-232) Controls and Operation  
Reply:  
None. Controller will reset and display prompt message  
Accessing & Changing Configuration Parameter in Flash  
It is possible to use RS232 commands to examine and change the controllers 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  
not take effect until the controller is reset or a special command is sent. The complete list  
of parameters accessible using these commands is listed in Automatic Switching from  
RS232 to RC Modeon page 125. Reading and writing parameters is done using the fol-  
lowing commands:  
Read parameter  
Syntax:  
Reply:  
Where  
^mm  
DD  
mm= parameter number  
DD= current parameter value  
Example:  
^00  
Read value parameter 0  
01  
Controller replies, value is 01  
Modify parameter  
Syntax:  
Reply:  
^mm nn  
+ if command was executed successfully  
- if error  
Where  
mm= parameter number  
nn= new parameter value  
Examples:  
^02 03  
Store 03 into parameter 2  
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 after only  
a ~100ms delay.  
112  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Accessing & Changing Configuration Parameter in Flash  
Syntax:  
Reply:  
^FF  
+ Success, changed parameters are now active  
- if error  
Table 18 below lists the complete set of configuration parameters that may be accessed  
and changed using RS232 commands.  
Flash Configuration Parameters List  
TABLE 18. Configuration parameters in Flash  
Location  
^00  
^01  
Description  
Active after  
Reset  
Input control mode  
Motor Control mode and Closed Loop Feedback type  
Amps limit  
Reset or ^FF  
Reset or ^FF  
Reset or ^FF  
Reset or ^FF  
^02  
^03  
^04  
^05  
^06  
^07  
^08  
^09  
^0A  
^0B  
^0C  
^0D  
^0E  
^0F  
^10  
Acceleration  
Input Switch function  
reserved  
Joystick Deadband or Analog Deadband  
Exponentiation on channel 1  
Exponentiation on channel 2  
Reserved  
Reset or ^FF  
Instant  
Instant  
Left / Right Adjust  
Reserved  
Reset or ^FF  
Reset or ^FF  
Reset or ^FF  
Reserved  
Reserved  
Reserved  
Reset or ^FF  
Reset or ^FF  
Reset or ^FF  
Reset or ^FF  
Instant  
Gain Integral for PID  
Gain Diff for PID  
^11  
Gain Prop for PID  
Joystick Center 1 MS  
Joystick Center 1 LS  
Joystick Center 2 MS  
Joystick Center 2 LS  
Joystick Min 1 MS  
Joystick Min 1 LS  
Joystick Min 2 MS  
Joystick Min 2 LS  
Joystick Max 1 MS  
^12  
^13  
^14  
^15  
^16  
^17  
Instant  
Instant  
Instant  
Instant  
Instant  
^18  
^19  
^1A  
Instant  
Instant  
Instant  
AX500 Motor Controller Users Manual  
113  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Serial (RS-232) Controls and Operation  
TABLE 18. Configuration parameters in Flash  
Location  
^1B  
Description  
Active after  
Instant  
Joystick Max 1 LS  
^1C  
Joystick Max 2 MS  
Instant  
^1D  
Joystick Max 2 LS  
Instant  
^F0  
Amps Calibration Parameter 1  
Amps Calibration Parameter 2  
Reset  
^F1  
Reset  
These parameters are stored in the controllers Flash memory and are not intended to be  
changed at runtime.  
Important Notice  
The above parameters are stored in the MCUs configuration flash. Their storage is perma-  
nent even after the controller is powered off. However, because of the finite number of  
times flash memories can be reprogrammed (approx. 1000 times), these parameters are  
not meant to be changed regularly, or on-the-fly.  
All parameters in Flash (except for the Amps calibration) are reset to their default  
values every time new firmware is loaded into the controller.  
Input Control Mode  
Address:  
^00  
Access:  
Effective:  
Read/Write  
After Reset  
This parameter selects the method the controller uses for accepting commands  
Value  
Mode  
See pages  
0
1
2
3
R/C Radio mode (default)  
RS232, no watchdog  
RS232, with watchdog  
Analog mode  
Motor Control Mode  
Address:  
Access:  
Effective:  
^01  
Read/Write  
After Reset or ^FF  
114  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Accessing & Changing Configuration Parameter in Flash  
This parameters selects the various open loop and closed loop operating modes as well as  
the feedback method.  
Bit  
2:0  
Definition  
See pages  
Motor Control Mode 0 = A & B separate speed open loop  
(default)  
1 = A & B mixed speed open loop  
2 = A speed open loop, B position  
3 = A & B position  
4 = A & B separate speed closed loop  
5 = A & B mixed speed closed loop  
6 = A speed close loop, B position  
Reserved  
6:3  
6
Ch1 Feedback type  
0 = Analog  
1 = Encoder  
0 = Analog  
1 = Encoder  
7
Ch2 Feedback type  
Amps Limit  
Address:  
Access:  
^02  
Read/Write  
Effective:  
After Reset or ^FF  
This parameter configures the controllers Amps limit. Note that this limits the amps flow-  
ing out of the power supply. Current flowing through the motors may be higher.  
Bit  
3:0  
Definition  
Coarse Amps  
See pages  
0 = 3.75A  
1 = 5.625A  
2 = 7.5A  
3 = 9.375A  
4 = 11.25A  
5 = 13.125A (default)  
6 = 15A  
7:4  
Fine Amps  
Mutliply this number by 0.125 and sub-  
stract result from the Coarse Amps value  
AX500 Motor Controller Users Manual  
115  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Serial (RS-232) Controls and Operation  
Acceleration  
Address:  
Access:  
Effective:  
^03  
Read/Write  
After Reset or ^FF  
This parameter configures the rate at which the controller internally changes the command  
value from the one it was to the one just received.  
Bit  
7:0  
Definition  
See pages  
0 = very slow  
1 = slow  
on page 40 for complete list of  
acceptable values  
(2) = medium-slow (default)  
3 = medium  
4 = fast  
5 = fastest  
Input Switches Function  
Address:  
Access:  
Effective:  
^04  
Read/Write  
After Reset or ^FF  
This parameter enables and configures the effect of the controllers Digital Inputs and other  
settings.  
Bit  
1:0  
Definition  
See pages  
Enable and  
Configure  
Invert/Estop  
(00) = Input Disabled (default)  
01 = Input as Emergency Stop  
10 = Disabled  
11 = Input as Invert Command  
(0) = No Action (default)  
1 = Output C On when either motor is On  
Unavailable  
2
3
Output C when  
Motor On  
Encoder Safety  
116  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Accessing & Changing Configuration Parameter in Flash  
Bit  
5:4  
Definition  
See pages  
Input E  
Unavailable when Encoder Module is  
present  
(00) = No action (default)  
01 = Cut FET power when Input E is Low  
10 = Activate output C  
11 = Cut FET when Input E is High  
(00) = No action (default)  
7:6  
Input F  
01 = Cut FET power when Input E is Low  
10 = Activate output C  
11 = Cut FET when Input E is High  
RC Joystick or Analog Deadband  
Address:  
Access:  
Effective:  
^06  
Read/Write  
After Reset or ^FF  
This parameter configures the amount of joystick or potentiometer motion can take place  
around the center position without power being applied to the motors.  
Bit  
7:0  
Definition  
See pages  
or  
Values are for Joystick deadband  
0 = no deadband  
1 = 8%  
(2) = 16% (default)  
3 = 24%  
4 = 32%  
5 = 40%  
6 = 46%  
7 = 54%  
Exponentiation on Channel 1 and Channel 2  
Address:  
^08 - Channel 1  
^09 - Channel 2  
Read/Write  
Access:  
Effective:  
Instantly  
AX500 Motor Controller Users Manual  
117  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Serial (RS-232) Controls and Operation  
This parameter configures the transfer curve that is applied the input command.  
Bit  
7:0  
Definition  
See pages  
(0) = Linear (no exponentiation - default)  
1 = strong exponential  
2 = normal exponential  
3 = normal logarithmic  
4 = strong logarithmic  
Left/Right Adjust  
Address:  
^0B  
Access:  
Effective:  
Read/Write  
After Reset or ^FF  
This parameter configures the compensation curve when motors are spinning in one direc-  
tion vs. the other.  
Bit  
7:0  
Definition  
See pages  
0, 1, ..., 6 = -5.25%, -4.5%, ...,-0.75%  
(7) = no adjustment (default)  
8, ..., D, E** = +0.75, ..., +4.5%, +5.25%  
Default PID Gains  
Address:  
^0F - Proportional Gain  
^10 - Integral Gain  
^11 - Derivative Gain  
Read/Write  
Access:  
Effective:  
After Reset or ^FF  
These parameters are the Gains values that are loaded after the controller is reset or pow-  
ered on. These Gains apply to both channels. Gains can be changed at Runtime, and values  
can be different for each channel using separate commands (see page 121).  
Gains values are integer number from 0 to 63. This number is divided by 8 internal so that  
each increment equals 0.125.  
Bit  
7:0  
Definition  
See pages  
0 to 63 (16) default  
118  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Reading & Changing Operating Parameters at Runtime  
Joystick Min, Max and Center Values  
Address:  
^12 - Joystick Center 1 MS  
^13 - Joystick Center 1 LS  
^14 - Joystick Center 2 MS  
^15 - Joystick Center 2 LS  
^16 - Joystick Min 1 MS  
^17 - Joystick Min 1 LS  
^18 - Joystick Min 2 MS  
^19 - Joystick Min 2 LS  
^1A - Joystick Max 1 MS  
^1B - Joystick Max 1 LS  
^1C - Joystick Max 2 MS  
^1D - Joystick Max 2 LS  
Instantly  
Effective:  
These parameters are the Gains values that are loaded after the controller is reset or pow-  
ered on. These Gains apply to both channels. Gains can be changed at Runtime, and values  
can be different for each channel using separate commands (see page 121).  
Gains values are integer number from 0 to 63. This number is divided by 8 internal so that  
each increment equals 0.125.  
Bit  
7:0  
Definition  
See pages  
8 bit value. Two registers used to form one 16 bit  
number for each Joystick parameter.  
Default values (in decimal):  
Min = 4400  
Center = 1600  
Max = 3200  
Reading & Changing Operating Parameters at Runtime  
It is possible to change several of the controllers operating modes, on-the-fly during nor-  
mal operation. Unlike the Configuration Parameters that are stored in Flash (see above),  
the Operating Parameters are stored in RAM and can be changed indefinitely. After reset,  
the Operating Parameters are loaded with the values stored in the Configuration Parameter  
flash. They are then changed using RS232 commands.  
Use the command following commands to Read/Change the Operating Modes  
Syntax:  
^mm  
Read Parameters at location mm  
^mm DD  
Write Parameters DD in location DD  
mm and DD are Hexadecimal values.  
AX500 Motor Controller Users Manual  
119  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Serial (RS-232) Controls and Operation  
The table below lists the available parameters  
TABLE 19. Runtime R/W Parameters list  
Location  
^80  
Function  
R/W  
Channel 1 Operating Modes  
Channel 2 Operating Modes  
PID Proportional gain 1  
PID Proportional gain 2  
PID Integral gain 1  
R/W  
^81  
R/W  
^82  
R/W  
^83  
R/W  
^84  
R/W  
^85  
PID Integral gain 2  
R/W  
^86  
PID Differential gain 1  
PID Differential gain 2  
PWM frequency  
R/W  
^87  
R/W  
^88  
R/W  
^89  
Controller Status  
R Only  
R Only  
R Only  
R Only  
^8A  
^8B  
^8C  
Controller Model  
Current Amps limit 1  
Current Amps limit 2  
Important Notice:  
Do not write in the locations marked as Read Only. Doing so my cause Controller  
malfunction.  
Operating Modes Registers  
Address:  
^80 - Channel 1  
^81 - Channel 2  
Read/Write  
Instantly  
Access:  
Effective:  
Modifying the bits in the Operating Mode registers will change the controllers operating  
modes on-the fly. Changes take effect at the controllers next 16ms iteration loop. After  
reset, these bits get initialized according to the configuration contained in Flash.  
Values are in Hexadecimal.Example: 00000101 = Hex 05  
TABLE 20. Operating Modes Register Definition  
Bit  
7 to 3  
2
Function  
Not Used  
0: Open Loop  
1: Closed Loop  
(when in Speed Mode)  
120  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Reading & Changing Operating Parameters at Runtime  
TABLE 20. Operating Modes Register Definition  
Bit  
Function  
1
0: Speed Mode  
1: Position Mode  
0: Analog Feedback  
1: Encoder Feedback  
0
Read/Change PID Values  
Address:  
^82 - P1  
^83 - I1  
^84 - D1  
^85 - P2  
^86 - I2  
^87 - D2  
Read/Write  
Instantly  
Access:  
Effective:  
The Proportional, Integral and Derivative gain for each channel can be read and changed on-  
the-fly. This function also provides a mean for setting different PID values for each channel.  
Actual Gain value is the value contained in the register divided by 8. Changes take effect at  
the controllers next 16ms iteration loop. After reset, these bits get initialized according to  
the configuration contained in Flash.  
PWM Frequency Register  
Address:  
^88  
Access:  
Effective:  
Read/Write  
Instantly  
The controllers default 16kHz PWM Frequency can be changed to a higher value in fine  
increments. This feature may be used to reduce the interference in case the controllers  
PWM frequency harmonics are too close to the radio receivers frequency. The value can  
be changed at any time and takes effect immediately. The frequency is:  
15,625 Hz * 255 / Register Value  
The controllers default frequency provides the best efficiency and should be changed only  
if absolutely required and only if operating the controller in RS232 or Analog modes.  
Changes to the PWM frequency will affect the RS232 watchdog timer and PID may need  
re-tuning.  
The controller automatically reverts to the default 16kHz PWM frequency after reset.  
Controller Status Register  
Address:  
^89  
Access:  
Effective:  
Read Only  
Instantly  
AX500 Motor Controller Users Manual  
121  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Serial (RS-232) Controls and Operation  
The Controller Status Register can be polled at any time to see if there is a pending fault  
condition. Any one bit set will cause the controller to turn off the Power Output stage. Con-  
ditions marked as Temporary mean that the controller will resume operation as soon as the  
fault condition disappears. Permanent conditions will cause the controller to remain off  
until it is reset either by cycling power, pressing the reset button, or sending the %rrrrrr  
command.  
TABLE 21. Controller Status Register Definition  
Bit  
0
Fault Condition  
Overvoltage  
Effect  
Temporary  
Temporary  
Temporary  
Temporary  
1
Overtemperature  
2
Undervoltage  
3
Manually Forced MOSFETs Off  
Unused  
4
5
Confirmed Short Circuit  
Confirmed Encoder Error  
Emergency Stop Pressed  
Permanent  
Permanent  
Permanent  
6
7
Controller Identification Register  
Address:  
Access:  
Effective:  
^8A  
Read Only  
Instantly  
This register may be used to query the Controllers model and some of its optional hard-  
ware configurations.  
TABLE 22. Controller Identification Register Definition  
Bit  
Model or Function  
AX500  
0
1
2
3
4
5
6
7
AX1500  
AX2500  
AX3500  
Unused  
Encoder Present  
Short Circuit Detection Present  
Unused  
Current Amps Limit Registers  
Address:  
^8B - Channel 1  
^8C - Channel 2  
Read Only  
Access:  
Effective:  
Instantly  
122  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Reading & Changing Operating Parameters at Runtime  
These registers can be polled to view what the Amps limit is at the current time. This limit  
normally is the one that is preset by the user except when the controller is operating at  
high temperature, in which case the allowable current drops as temperature rises. See  
To convert the register value in Amps, divide the reading by 8.  
AX500 Motor Controller Users Manual  
123  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Serial (RS-232) Controls and Operation  
124  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Automatic Switching from RS232 to RC Mode  
Automatic Switching from RS232 to RC Mode  
In many computer controlled applications, it may be useful to allow the controller to switch  
back to the RC mode. This would typically allow a user to take over the control of a robotic  
vehicle upon computer problem.  
While the AX500 can operate in either RC Radio or RS232 mode, the RS232 Data Input and  
RC Pulse Input 1 share the same pin on the connector. External hardware is, therefore,  
needed to switch this pin from the RS232 source or the RC Radio. The diagram in  
Figure 70 shows the external hardware required to perform such a switch.  
A third RC channel is used to activate a dual-throw relay. When the radio is Off, or if it is On  
with the channel 3 off, the relay contact brings the RS232 signal to the shared input. The  
second relay contact maintains the Power Control wire floating so that the controller  
remains on.  
When the RC channel 3 is activated, the relay turns On and brings the RC radio signal 1 to  
the shared input. The second relay contact brings a discharged capacitor onto the Power  
Control wire causing the controller to reset. Resetting the controller is necessary in order  
to revert the controller in the RC mode (the controller must be configured to default to RC  
mode).  
RC Activated  
Switch  
4.7k  
RC3  
Power Control  
RC1  
RC Radio  
220uF  
RC2  
RC1/RxData  
TxData  
RC2/InputF  
TxData  
Controller  
Computer  
RxData  
FIGURE 70. External circuit required for RS232 to RC switching  
The switching sequence goes as follows:  
Upon controller power on with Radio off: (or Radio on with RC ch3 off)  
Controller runs in RC mode (must be configured in RC mode)  
Computer must send 10 consecutive Carriage Returns. Controller enters RS232  
mode  
Controller is on, Radio urns On with RC ch3 On  
Controller is reset, returning to RC mode  
Controller will output the continuous parameter strings on the RS232 output. Com-  
puter thus knows that RC mode is currently active. Computer sends Carriage  
Return strings to try to switch controller back in RS232 mode. Since the RS232 line  
is not connected to the controller, mode will not change.  
AX500 Motor Controller Users Manual  
125  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Controller is on, Radio is turned Off (or Radio On with RC ch3 Off)  
Relay deactivates. RS232 is now connected to shared input.  
String of Carriage Returns now received by controller.  
Computer looks for OK prompt to detect that the RS232 mode is now active.  
Note: Wait 5 seconds for the capacitor to discharge before attempting to switch to RC  
mode if doing this repeatedly. Controller will not reset otherwise.  
Analog and R/C Modes Data Logging String Format  
When the controller is configured in R/C or Analog mode, it will automatically and continu-  
ously send a string of ASCII characters on the RS232 output.  
This feature makes it possible to log the controllers internal parameters while it is used in  
the actual application. The data may be captured using a PC connected via an RS232 cable  
or wireless modem o into a PDA installed in the actual robot. Details on how to wire the  
FIGURE 1. Pin locations on the controllers 15-pin connector  
DB15 connector is described on page 92 for the R/C mode and on page 99 for the Analog  
mode.  
This string is composed of a start character delimiter, followed by two-digit Hexadecimal  
numbers representing internal parameter values, and ending with a Carriage Return charac-  
ter. The figure below shows the structure of this string.  
s
o
pd/P  
2
1
lts  
s
er  
t
o
t V  
l
Vo  
miter  
ower 1  
ower 2  
and 1  
t Deli  
mperature  
mperature  
e
e
T
Internal Encoder S  
End Delimit  
Amps 1  
Analog In 2  
Analog In 1  
Output P  
Main Bat  
T
Amps 2  
Output P  
Command 2  
Comm  
Star  
: 00 11 22 33 44 55 66 77 88 99 AA BB CC  
FIGURE 71. ASCII string sent by the controller while in R/C or Analog mode  
The hexadecimal values and format for each parameter is the same as the response to  
RS232 queries described in page 107.  
Characters are sent by the controller at the rate of one every 8ms. A complete string is  
sent in.  
Data Logging Cables  
The wring diagrams shown in the figures below describe an easy-to-assemble cable  
assembly for use to create insertion points where to connect the PC for debug and data  
126  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Decimal to Hexadecimal Conversion Table  
logging purposes. This cable has a 15-pin male connector and 3 15-pin connectors. The  
Front View  
Rear View  
Female to PC with RxData Only  
Female to PC with Rx andTx Data  
4
3
1
1
1
Cut  
Wire  
Female to Application  
Male to controller  
2
1
1
FIGURE 72. ASCII string sent by the controller while in R/C or Analog mode  
male connector plugs into the controller. The application cable that would normally plug  
into the controller may now be plugged into one of the adapters female connector 2. The  
PC can be plugged into connector 3 or 4. Connector 3 has the Rx and Tx data lines needed  
for full duplex serial communication, thus allowing the PC to send commands to the con-  
troller. Connector 4 has the Rx line cut so that only a data flows only from the controller to  
the PC. This configuration is for capturing the data logging strings sent in the RC or Analog  
modes.  
Decimal to Hexadecimal Conversion Table  
The AX500 uses hexadecimal notation for accepting and responding to numerical com-  
mands. Hexadecimal is related to the binary system that is used at the very heart of micro-  
computers. Functions for converting from decimal to hexadecimal are readily available in  
high level languages such as C.  
If the user intends to enter commands manually using the terminal emulation program, the  
conversion table in Table 23 can be used to do the translation. Note that the table only  
shows numbers for 0 to 127 decimal (00 to 7F hexadecimal). The AX500s speed com-  
mands are within this range. Table 24 shows the conversion values for numbers between  
128 and 255 (unsigned) and between -1 and -128 (signed)  
TABLE 23. 0 to +127 signed or unsigned decimal to hexadecimal conversion table  
Dec  
Hex  
00  
01  
Dec  
32  
Hex  
20  
Dec  
64  
Hex  
40  
Dec  
96  
Hex  
60  
0
1
2
3
4
33  
21  
65  
41  
97  
61  
02  
34  
22  
66  
42  
98  
62  
03  
35  
23  
67  
43  
99  
63  
04  
36  
24  
68  
44  
100  
64  
AX500 Motor Controller Users Manual  
127  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
TABLE 23. 0 to +127 signed or unsigned decimal to hexadecimal conversion table  
Dec  
5
Hex  
05  
06  
07  
08  
09  
0A  
0B  
0C  
0D  
0E  
0F  
10  
Dec  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
Hex  
25  
26  
27  
28  
29  
2A  
2B  
2C  
2D  
2E  
2F  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
3A  
3B  
3C  
3D  
3E  
3F  
Dec  
69  
70  
71  
72  
73  
74  
Hex  
45  
46  
47  
48  
49  
4A  
4B  
4C  
4D  
4E  
4F  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
5A  
5B  
5C  
5D  
5E  
5F  
Dec  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
Hex  
65  
66  
67  
68  
69  
6A  
6B  
6C  
6D  
6E  
6F  
70  
71  
72  
73  
74  
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
125  
126  
127  
11  
12  
13  
14  
15  
16  
17  
75  
76  
77  
78  
79  
7A  
7B  
7C  
7D  
7E  
7F  
18  
19  
1A  
1B  
1C  
1D  
1E  
1F  
TABLE 24. +128 to 255 unsigned and -1 to -128 signed decimal to hexadecimal conversion table  
UDec  
-128  
-127  
-126  
-125  
-124  
-123  
-122  
Dec  
128  
129  
130  
131  
132  
133  
134  
Hex  
80  
81  
82  
83  
84  
85  
86  
UDec  
-96  
Dec  
160  
161  
162  
163  
164  
165  
166  
Hex  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
UDec  
-64  
Dec  
192  
193  
194  
195  
196  
197  
198  
Hex  
C0  
C1  
C2  
C3  
C4  
C5  
C6  
UDec  
-32  
Dec  
224  
225  
226  
227  
228  
229  
230  
Hex  
E0  
E1  
E2  
E3  
E4  
E5  
E6  
-95  
-63  
-31  
-94  
-62  
-30  
-93  
-61  
-29  
-92  
-60  
-28  
-91  
-59  
-27  
-90  
-58  
-26  
128  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Decimal to Hexadecimal Conversion Table  
TABLE 24. +128 to 255 unsigned and -1 to -128 signed decimal to hexadecimal conversion table  
UDec  
-121  
-120  
-119  
-118  
-117  
-116  
-115  
-114  
-113  
-112  
-111  
-110  
-109  
-108  
-107  
-106  
-105  
-104  
-103  
-102  
-101  
-100  
-99  
Dec  
135  
136  
137  
138  
139  
140  
141  
142  
143  
144  
145  
146  
147  
148  
149  
150  
151  
152  
153  
154  
155  
156  
157  
158  
159  
Hex  
87  
88  
89  
8A  
8B  
8C  
8D  
8E  
8F  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
9A  
9B  
9C  
9D  
9E  
9F  
UDec  
-89  
-88  
-87  
-86  
-85  
-84  
-83  
-82  
-81  
-80  
-79  
-78  
-77  
-76  
-75  
-74  
Dec  
167  
168  
169  
170  
171  
172  
173  
174  
Hex  
A7  
A8  
A9  
AA  
AB  
AC  
AD  
AE  
AF  
B0  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
B8  
B9  
BA  
BB  
BC  
BD  
BE  
BF  
UDec  
-57  
-56  
-55  
-54  
-53  
-52  
-51  
-50  
-49  
-48  
-47  
-46  
-45  
-44  
-43  
-42  
-41  
-40  
-39  
-38  
-37  
-36  
-35  
-34  
-33  
Dec  
199  
200  
201  
202  
203  
204  
205  
206  
207  
208  
209  
210  
211  
212  
213  
214  
215  
216  
217  
218  
219  
220  
221  
222  
223  
Hex  
C7  
C8  
C9  
CA  
CB  
CC  
CD  
CE  
CF  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D8  
D9  
DA  
DB  
DC  
DD  
DE  
DF  
UDec  
-25  
-24  
-23  
-22  
-21  
-20  
-19  
-18  
-17  
-16  
-15  
-14  
-13  
-12  
-11  
-10  
-9  
Dec  
231  
232  
233  
234  
235  
236  
237  
238  
239  
240  
241  
242  
243  
244  
245  
246  
247  
248  
249  
250  
251  
252  
253  
254  
255  
Hex  
E7  
E8  
E9  
EA  
EB  
EC  
ED  
EE  
EF  
F0  
F1  
F2  
F3  
F4  
F5  
F6  
F7  
F8  
F9  
FA  
FB  
FC  
FD  
FE  
FF  
175  
176  
177  
178  
179  
180  
181  
182  
183  
184  
185  
186  
187  
188  
189  
190  
191  
-73  
-72  
-71  
-70  
-69  
-68  
-67  
-66  
-65  
-8  
-7  
-6  
-5  
-4  
-3  
-98  
-2  
-97  
-1  
AX500 Motor Controller Users Manual  
129  
Download from Www.Somanuals.com. All Manuals Search And Download.  
130  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
SECTION 13  
Using the Roborun  
Configuration  
Utility  
A PC-based Configuration Utility is available, free of charge, from Roboteq. This pro-  
gram makes configuring and operating the AX500 much more intuitive by using pull-  
down menus, buttons and sliders. The utility can also be used to update the control-  
lers software in the field as described in Updating the Controllers Softwareon  
System Requirements  
To run the utility, the following is need:  
PC compatible computer running Windows 98, Me, 2000, XP or Vista  
An unused serial communication port on the computer with a 9-pin, female  
connector.  
An Internet connection for downloading the latest version of the Roborun  
Utility or the Controllers Software  
5 Megabytes of free disk space  
If there is no free serial port available, the Configuration Utility can still run, but it will  
not be able to communicate with the controller.  
If the PC is not equipped with an RS232 serial port, one may be added using an USB  
to RS232 converter.  
Downloading and Installing the Utility  
The Configuration Utility is included on the CD that is delivered with the controller or  
may be obtained from the download page on Roboteqs web site at  
www.roboteq.com. It is recommended that you use the downloaded version to be  
sure that you have the latest update.  
download and run the file robosetup.exe  
follow the instructions displayed on the screen  
AX500 Motor Controller Users Manual  
131  
Download from Www.Somanuals.com. All Manuals Search And Download.  
         
Using the Roborun Configuration Utility  
after the installation is complete, run the program from your Start Menu > Programs  
> Roboteq  
The controller does not need to be connected to the PC to start the Utility.  
Connecting the Controller to the PC  
The controller must be connected to the PC to use the Utility to perform any of the follow-  
ing functions:  
to read the current parameters stored in the controller and display them on the  
computer  
to store new parameters in the controller  
to exercise the motors using your PC  
to update the controllers software  
calibrate the Amps sensor  
If the controller is not connected, the Configuration Utility can run and be used to automat-  
ically generate the setting codes for manual entry. See Running the Motorson page 138.  
Most computers have at least one, but often times two, serial ports. Look for one or two  
connectors resembling the illustration in Figure 73.  
FIGURE 73. Look for a 9-pin male connector on your PC  
If a serial port connector is already connected to something else, it may be possible to  
unplug the current device and temporarily connect the controller as long as the software  
operating the current device is not running. If no serial port is available on your PC, use an  
USB to RS232 adapter.  
Connect the provided serial cable to the controller on one end and to the PC on the other.  
Power the controller, preferably using the VCon terminal, with a 12 to 24V battery or power  
supply with 200mA of minimum output.  
Connect the Controllers Ground to the negative (-) terminal, and the VCon input to the pos-  
itive (+) of the power supply. The controller will turn On. If it doesnt, verify that the polarity  
is not reversed. Leave VMot unconnected unless you want to exercise the Motors.  
132  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Roborun Frame, Tab and Menu Descriptions  
Roborun Frame, Tab and Menu Descriptions  
2
1
5
4
3
FIGURE 74. Roborun screen layout  
The Roborun screen contains the four main set of commands and information frames  
described below:  
1- Program Revision Number  
This is the revision and date of the Roborun utility. It is recommended that you always ver-  
ify that you have the latest revision of the utility from Roboteqs web site at  
www.roboteq.com  
2- Controller and Communication Link Information  
This frame will automatically be updated with an indication that a free communication port  
was found and opened by the utility.  
If no free communication port is available on your computer, it will be indicated in this win-  
dow. Try to select another port using the Change COM Portbutton or try to free the port  
if it is used by a different device and program.  
With the port open, Roborun will try to establish communication with the controller. If suc-  
cessful, this window will display the software revision, the revision date and a set of digits  
identifying hardware revision of the board inside the controller.  
3- Parameter Selection and Setting and Special Functions  
AX500 Motor Controller Users Manual  
133  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Using the Roborun Configuration Utility  
This is the programs main frame and includes several types of tabs, each of which has sev-  
eral buttons, menus and other User Interface objects. These tabs and the functions they  
contain are described in detail in the following sections.  
Navigate from one set of commands to another by clicking on the desired tab.  
4- File and Program Management Commands  
This frame contains a variety of buttons needed to load and save the parameters from and  
to the controller or disk. This frame also contains the button needed to initiate a software  
update to the controller.  
5- View Controller Connector Pinout  
Clicking on this link will conveniently pop a window containing the Controllers connector  
pinout.  
FIGURE 75. Roborun screen layout  
Getting On-Screen Help  
The Roborun buttons and fields are very intuitive and self-explanatory. Additional explana-  
tions and help is provided by means of ToolTips for several of command. Simply move the  
cursor to a button, tab or other gadget on the screen and a message box will appear after a  
few seconds.  
Loading, Changing Controller Parameters  
The first set of tabs allows you to view and change the controllers parameters. These tabs  
are grouped according to the general type of parameters (Controls, Power Setting, and R/C  
Settings).  
134  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Loading, Changing Controller Parameters  
When starting Roborun, this screen is filled with the default values. If the controller is con-  
nected to your PC, Roborun will automatically detect it and ask you if you wish to read its  
settings.  
The controllers setting in the PC at can be read any other time by pressing the Load from  
Controllerbutton. After changing a parameter, you must save it to the controller manually  
by pressing the Save to Controllerbutton.  
Control Settings  
1
2
3
4
5
6
FIGURE 76. Control modes setting screen  
The screen shown in Figure 76 is used to view and change the controllers main control  
modes. Below is the list of the parameters accessible from this screen:  
1- Controller Input:  
This pull down menu allows the user to select the RS232, R/C or Analog mode of opera-  
tion. If the RS232 mode is selected, a check box will appear, allowing you to enable or dis-  
able the RS232 Watchdog. For more information on these modes, see  
2- Motor Control Mode  
This pull down menu is used to choose whether the controller will operate in Separate or  
Mixed mode. For more information on these modes, see Selecting the Motor Control  
3- Input Command Adjustment  
These pull down menus will let you select one of five conversion curves on each of the  
input command values. See Command Control Curveson page 42.  
AX500 Motor Controller Users Manual  
135  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Using the Roborun Configuration Utility  
4- Emergency Stop or Invert Switch Select  
This pull down menu allows the selection of the controllers response to changes on the  
optional switch input: Emergency Stop, Invert Commands, or no action. See Emergency  
5- Effect of Digital Inputs  
This pull down menu allows the selection of the controllers response to changes on either  
6- Output C Activation  
This check box will cause the controller to activate when power is applied to one or both  
Power Settings  
1
2
3
FIGURE 77. Power settings screen  
The screen shown in Figure 77 is used to view and change the power parameters of the  
controller.  
1- Amps limit  
This slider will let you select the max amps that the controller will deliver to the motor  
before the current limitation circuit is activated. See User Selected Current Limit Set-  
tingson page 38. Note that this limits the current flowing from the battery. The current  
flowing through the motor may be higher. See Battery Current vs. Motor Currenton  
2- Left/Right Adjust  
This slider will let you configure the controller so that it applies more power to the motors  
in one direction than in the other. See Left / Right Tuning Adjustmenton page 43.  
3- Acceleration Setting  
This slider will let you select one of seven preset acceleration values. The label on the right  
shows a numerical value which represents the amount of time the controller will take to  
136  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Loading, Changing Controller Parameters  
accelerate a motor from idle to maximum speed. See Programmable Accelerationon  
Analog or R/C Specific Settings  
1
2
FIGURE 78. Power settings screen  
The screen shown in Figure 78 slightly changes in function of whether or not the Analog  
Input mode is selected.  
If the Analog Input mode is selected on the main screen, then this page is used to set the  
Analog Deadband value. In the R/C mode, this page is used to view and change parame-  
ters used in the R/C mode of operation. None of these parameters has any effect when  
running the controller in RS232 mode.  
If the controller is configured in RS232 mode, some of these menus will turn gray but will  
remain active.  
1- Deadband  
This slider will let you set the amount of joystick motion off its center position before the  
motors start moving. The slider will work identically in the R/C or analog mode, however,  
the % value will be different. See Joystick Deadband Programmingon page 88 and  
2- Joystick Timing  
These fields are enabled only if the R/C mode is selected. These number areas will let you  
read and modify the R/C pulse timing information used by the controller. New values can  
be entered manually to create different capture characteristics. They are also useful for  
viewing the stored values after an automatic joystick calibration sequence. See Joystick  
AX500 Motor Controller Users Manual  
137  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Using the Roborun Configuration Utility  
Closed Loop Parameters  
FIGURE 79. Closed Loop parameter setting screen  
The screen shown in Figure 79 is used to set the Proportional, Integral and Differential  
gains needed for the PID algorithm. These PID gains are loaded after reset and apply to  
both channels. Gains can be changed individually for each channels and on-the-fly using  
RS232 commands. These parameters are used in the Position mode (see page 63) and the  
Closed Loop speed mode (see page page 73).  
Running the Motors  
The Roborun utility will let you exercise and monitor the motors, sensors and actuators  
using a computer. This feature is particularly useful during development as you will be able  
to visualize, in real-time, the robots Amps consumption and other vital statistics during  
actual operating conditions.  
Figure 80 shows the Run Screen and its numerous buttons and dials.  
138  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Running the Motors  
1
7
4
3
2
6
8
5
FIGURE 80. Motor exercising and monitoring screen  
1- Run/Stop Button  
This button will cause the PC to send the run commands to the controller and will update  
the screen with measurements received from the controller.  
When the program is running, the buttons caption changes to Stop. Pressing it again will  
stop the motors and halt the exchange of data between the PC and the controller.  
If another tab is selected while the program is running, the program will stop as if the Stop  
button was pressed.  
2- Motor Power setting  
This sub-frame contains a slider and several buttons. Moving the slider in any direction  
away from the middle (stop) position will cause a power command to be issued to the con-  
troller. The value of the command is shown in the text field below the slider.  
The stop button will cause the slider to return to the middle (stop) position and a 0-value  
command to be sent to the controller. The + and ++ buttons will cause the slider to move  
by 1 or 10 power positions respectively.  
3- Measurement  
These series of fields display the various operating parameters reported in real-time by the  
controller:  
The Amps field reports the current measured at each channel. The Peak Amps field will  
store the highest measured Amp value from the moment the program began or from the  
time at which the peak was reset using the Clr Peak button. Motor Amps is a calculated  
estimated value based on the batter amps and the current power level. See Battery Cur-  
The Power field displays the power level that is actually being applied to the motor. This  
value is directly related to the motor command except during current limitation, in which  
AX500 Motor Controller Users Manual  
139  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Using the Roborun Configuration Utility  
case the power level will be the one needed to keep the Amps within the limit. Note that  
the display value is not signed and thus does not provide rotation direction information.  
The Ana fields contain the analog input values that are measured and reported by the con-  
troller. When the controller is in the position mode with Analog Feedback, the Ana1 and  
Ana2 fields will display the position sensed on the feedback potentiometer. When in speed  
mode, these fields display the measured speed by the tachometers. When the controller is  
in Analog command mode, the Ana 1 and Ana 2 show the vale of the command potentiom-  
eter, while the feedback is on Ana 3 and Ana 4.  
In all other modes, this field will display the value at the analog input pin. A small button  
next to this field will toggle the display caption, and change the conversion algorithm from  
raw analog, to volts or temperature.  
Note that in order to measure and display the external temperature or voltage, the proper  
external components must be added to the controller. See Connecting External Ther-  
The Temp field displays the temperature for each channel  
The Bat Volt field displays the main batterys voltage.  
The Ctrler Volt field displays the controllers internal regulated 12V voltage.  
4- Real-Time Strip Chart Recorder  
This chart will plot the actual Amps consumption and other parameters as measured from  
the controller. When active, the chart will show measurement during the last five seconds.  
Traces for most parameters can be displayed or hidden by clicking on the checkboxes found  
next to their numeric fields.  
5- Transmit and Receive Data  
These two fields show the data being exchanged between the PC and the controller. While  
these fields are updated too fast to be read by a person, they can be used to verify that a  
dialog is indeed taking place between the two units.  
After the Start button is pressed, the Tx field will show a continuous string of commands  
and queries sent to the controller.  
The Rx field will display the responses sent by the controller. If this field remains blank or is  
not changing even though the Tx field shows that data is being sent, then the controller is  
Off or possibly defective. Try resetting the controller and pressing the Run/Stop button.  
These two fields are provided for quick diagnostic. Use the Console Tab for full visibility on  
the data exchange between the controller and the PC.  
6- Input Status and Output Setting  
This section includes two check boxes and three color squares. The check marks are used  
to activate either of the controllers two outputs. The color blocks reflect the status of the  
three digital inputs present on the controller. Black represents a 0level. Green repre-  
sents a 1level.  
7- Data Logging and Timer  
140  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Running the Motors  
A timer is provided to keep track of time while running the motors. An additional set of but-  
tons and displays are provided to operate a data logger. The data logger is fully described in  
the section that follows.  
8- Joystick Enable  
Enable and configure a joystick.  
Logging Data to Disk  
While running the motors, it is possible to have Roborun capture all the parameters that  
were displayed on the various fields and charts and save them to disk. The log function is  
capable of recording 32,000 complete sets of parameters, which adds up to approximately  
30 minutes of recording time. The figure below details the buttons and check boxes  
needed to operate this function.  
1- Log Check Box  
When checked, Roborun will capture all the parameters and save them in local RAM. The  
data is not saved to disk until the Save to Diskbutton is pressed. Data is being captured  
for as long as the program is in the Run mode, whether or not a motor command is  
applied.  
2- Clear Log  
This button can be pressed at any time to clear the local RAM from its content. Clearing  
the log also has the effect of resetting the timer.  
3- Log Fill Status  
This gray text box indicates whether the local RAM log is empty, full or in-between.  
4- Reset Timer button  
The timer automatically runs when the Run button is pressed and data is being exchanged  
with the controller, regardless of whether or not logging is activated. This button resets the  
timer.  
5- Save Log to Disk button  
Pressing this button will prompt the user to select a filename and location where to copy  
the logged data. The file format is a regular text file with each parameter saved one after  
the other, separated by a coma. The file extension automatically defaults to .csv (coma  
separated values) so that the data can be imported directly into Microsoft Excel. The first  
line of the save file contains the Header names. Each following line contains a complete  
set of parameters. The Header name, order and parameter definition is shown in Table 25:  
TABLE 25. Logged parameters order, type and definition  
Parameter Header  
Seconds  
Data type/range  
Integer  
Measured Parameter  
Timer value expressed in seconds  
Command applied to channel 1  
Command applied to channel 2  
Command1  
Command2  
Power1  
-127 to +127  
-127 to +127  
0 to 127  
Amount of power applied to the output stage of chan-  
nel 1  
AX500 Motor Controller Users Manual  
141  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Using the Roborun Configuration Utility  
TABLE 25. Logged parameters order, type and definition  
Parameter Header  
Power2  
Data type/range  
0 to 127  
Measured Parameter  
Same for channel 2  
Ana 1, Speed 1, Pos 1  
or Temp 1  
or Volt 1  
-127 to + 127  
-40 to +150  
0 to 55  
Value of sensor connected on analog input 1. Data is  
automatically converted to the right value and format  
by Roborun according to the sensor that is being used.  
Ana 2, Speed 2, Pos 2  
Temp 2 or  
Volt 2  
-127 to + 127  
-40 to +150  
0 to 55  
Same for channel 2  
Amps1  
0 to 255  
Measured Amps on channel 1  
Measured Amps on channel 2  
Measured Temperature on channel 1s heatsink.  
Measured Temperature on channel 2s heatsink.  
Main Battery Voltage.  
Amps2  
0 to 255  
FET Temp1  
FET Temp2  
Batt Volt  
-40 to +150  
-40 to +150  
0 to 55  
Ctrl Volt  
0 to 28.5  
Internal 12V Voltage.  
Enc1  
-127 to + 127  
Measured Optical Encoders Speed or Position  
depending on selected operating mode  
Enc2  
-127 to + 127  
Same for channel 2  
Connecting a Joystick  
Exercising the motors can easily be done using a Joystick in addition to the on-screen slid-  
ers. Simply connect a joystick to the PC and enable it by clicking in the Joystick check box  
in the PC utility.  
If the box is grayed out, the joystick is not properly installed in the PC. Click on the Config  
Joystickbutton to open a configuration screen and the joystick control panel.  
Joystick movement should automatically translate into Channel 1 and Channel 2 command  
values and make the sliders move. These commands are also sent to the controller. In the  
Config Joystick panel, the Joystick may be configured so that the X-Y channels are  
swapped and the direction for each axis reversed.  
It is strongly recommended that an USB rather than Analog joystick be used.  
A joystick test program name Joytestis automatically installed in the Start menu when  
installing the Roborun utility. This program may be used to further verify that the joystick is  
properly installed in the PC and is fully operational.  
Using the Console  
The console screen allows you to communicate with the controller using raw ASCII data.  
This function is very useful for troubleshooting when normal communication with Roborun  
cannot be established (e.g. Controller not found, no response to command changes,  
communication errors, ...etc.). The Roborun utility will let you exercise and monitor the  
motors, sensors and actuators using a computer. This feature is particularly useful during  
142  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Using the Console  
development as you will be able to visualize, in real-time, the robots Amps consumption  
and other vital statistics during actual operating conditions.  
Figure 80 shows the Console Screen and its various components.  
3
1
2
4
5
FIGURE 81. Raw ASCII data exchange in Console  
1- Terminal Screen  
This area displays the raw ASCII data as it comes out of the controller. After the controller  
is reset, it will output a prompt with the firmwares revision and date. Then, if in the RC or  
Analog mode, the controller will output a continuous string of characters for data logging. If  
in RS232 mode, the controller will output an OKprompt and is ready to accept com-  
mands.  
2- Command Entry  
This window is used to prepare up to 3 command string and send them by clicking on their  
associated buttons. The string is sent to the controller when clicking on the send button.  
Commands can only be sent when the controller has entered in RS232 mode. See Con-  
troller Commands and Querieson page 107 for the complete list of commands and que-  
ries.3- Keep Watchdog Alive  
If the controller is in the RS232 mode with the watchdog enabled, then after 1 second of  
inactivity motors will be stopped if they were one and a Wcharacter will be sent to the  
terminal. When this checkbox is checked, Roborun will send a Null character to the control-  
ler on a regular basis so that the watchdog time-out is never reached.  
4- Send Reset String  
Clicking this button while the controller is in RS232 mode, will cause the reset string to be  
sent to the controller.  
5- Send 10 Carriage Returns  
AX500 Motor Controller Users Manual  
143  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Using the Roborun Configuration Utility  
Clicking this button will cause Roborun to send ten consecutive Carriage Returncharac-  
ter. If the controller is configured in Analog or RC mode, the Carriage Returns will cause it  
to switch to RS232 mode until the controller is reset again.  
Viewing and Logging Data in Analog and R/C Modes  
When the controller is configured in R/C or Analog mode, it will automatically and continu-  
ously send a string of ASCII characters on the RS232 output. Analog and R/C Modes Data  
Logging String Formaton page 126 shows the nature and format of this data.  
This feature makes it possible to view and log the controllers internal parameters while it  
is used in the actual application. The data may be captured using a PC connected to the  
controller via an RS232 cable or wireless modem.  
When wired for R/C or Analog controls, the AX500 will not be able to receive commands  
from the PC and the Roborun software will not recognize the controller as being present.  
However, when in the Run tab and the Run button activated, Roborun will be receiving the  
strings sent by the controller and display the various parameters in the right display box  
and chart.  
Loading and Saving Profiles to Disk  
It is possible to save the configuration parameters that are read from the controller or that  
have been set/changed using the various menus to the disk. This function allows easy  
recall of various operating profiles at a later time without having to remember or manually  
reset all the parameters that are used from one configuration to another.  
To save a profile to disk, simply click on the Save Profile to Diskbutton. You will then be  
prompted to choose a file name and save.  
Reading a profile from disk is as simple as clicking on the Load Profile from Diskbutton  
and selecting the desired profile file. The parameters will be loaded in each of their respec-  
tive buttons, sliders and text fields on the various Roborun screens. The parameter will  
not be transferred to the controller until you press the Save to Controllerbutton.  
Operating the AX500 over a Wired or Wireless LAN  
The Roborun utility supports connection and operation of the AX500 controller over a  
Wired or Wireless TCP/IP network. This feature makes it easy to tele-operate and monitor  
the controller across a lab or across the globe via Internet.  
144  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Operating the AX500 over a Wired or Wireless LAN  
To operate over the network, two computers are required, as show in Figure 82 below. The  
top computer is connected to the controller via its COM port. Both computers are con-  
nected to a TCP/IP network.  
Computer running  
Roboserver  
Controller  
Wired or  
Wireless  
802.11 LAN  
Computer running  
Roborun Utility  
FIGURE 82. Operating the controller over a LAN  
The computer connected to the controller must run a communication server program  
named Roboserver. This program is automatically installed in the Start menu when install-  
ing the Roborun utility. This programs function it to wait for and accept TCP/IP connection  
requests from the other computer and then continuously move data between the network  
and the COM port. When launched, the screen shown below appears.  
The second computer runs the Roborun utility. To establish contact with the server pro-  
gram, click on the Change COM/LAN Portbutton and enter the IP address of the second  
computer. Communication should be established immediately.  
When the two computers are connected, it will be possible to operate the motors and read  
the controllers operating parameters in the Roborun Run window.  
FIGURE 83. Roboserver screenshot when idle  
Note that it is not possible to use this configuration to change the controllers parameters  
or update the controllers software.  
AX500 Motor Controller Users Manual  
145  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Using the Roborun Configuration Utility  
Updating the Controllers Software  
The AX500s operating software can be easily upgraded after it has left the factory. This  
feature makes it possible to add new features and enhance existing ones from time to  
time.  
Important Warning  
Updating the controller will cause all its parameters to reset to their default condi-  
tions. You should re-enter these parameters to the desired value prior to re-installing  
and using the controller.  
The upgrade procedure is quick, easy and error proof:  
1- Connect the controller to the PC via the provided RS232 cable.  
2- Apply a 12V to 24V power supply to the controllers Ground and VCon input . Leave  
VMot disconnected.  
3- Launch the Roborun utility if it is not already running. Then click on the Update Con-  
troller Softwarebutton.  
4- If the controller is On, Roborun will find it and prompt the selection of the new soft-  
ware file. It may happen that the controller is not responding properly and you may be  
asked to reset it while connected.  
5- Press the Programbutton to start programming. Do not interrupt or cut the  
power to the controller while the new program is loading into Flash memory.  
6- After a verification, you will be notified that the operation was successful and you will  
see the new software revision and date as reported by the controller.  
Notes:  
The Updating utility will automatically detect whether the new software is intended for the  
main or encoders MCU and program one or the other accordingly.  
It is a good idea to load the controllers parameters into the PC and save them to disk prior  
to updating the software. After the new software in transferred to the controller, you can  
use the Load Parameters from Diskfunction and transfer them to the controller using  
the Save to Controllerbutton.  
Updating the Encoder Software  
The Encoder Module has its own dedicated MCU and software in Flash memory. It may be  
updated using the Roborun Utility in the same manner as for updating the controllers soft-  
ware (see Updating the Controllers Softwareon page 146). Then select the new soft-  
ware file to download. The files content automatically identifies it as software for the  
Encoder MCU rather that the Controllers MCU.  
Important Warning  
146  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Creating Customized Object Files  
Do not reinstall the same firmware version as the one already installed in the  
encoder module.  
Creating Customized Object Files  
It is possible to create versions of the controllers firmware with default settings that are  
different than those chosen by Roboteq. This capability can be used to improve system reli-  
ability in the unlikely, but not impossible, occurrence of a parameter loss in the controllers  
non-volatile memory. Should such an event occur, the controller would revert to the  
defaults required by the application.  
FIGURE 84. Objectmaker creates controller firmware with custom defaults  
Creating a custom object file can easily be done using the Objectmaker utility. This short  
program is automatically installed in the Start menu when installing the Roborun utility.  
1- Use the Roborun utility to create and save to disk a profile with all the desired param-  
eter value.  
2- Launch Objectmaker from the Start menu.  
3- Select the latest official controller firmware issued by Roboteq.  
4- Select the profile file that was created and saved earlier.  
5- Select a revision letter. This letter will be added at the end of Roboteqs own version  
identity number.  
6- Click on the Create button and save the new customized object file.  
7- Click on the Done button to exit the program.  
AX500 Motor Controller Users Manual  
147  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Using the Roborun Configuration Utility  
8- Install the new object file in the controller using the Roborun utility.  
148  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Mechanical Dimensions  
SECTION 14  
Mechanical  
Specifications  
This section details the mechanical characteristics of the AX500 controller.  
Mechanical Dimensions  
The AX500 is delivered as an assembled and tested Printed Circuit Board. The board  
includes connectors for direct connection to the Optical Encoders and to the Radio, Joy-  
stick or microcomputer on one side. On the other side can be found Fast-on tabs for high-  
current connection to the batteries and motors. A heat sink is mounted beneath the board  
to help with the heat dissipation of the Power Transistors  
0.57"  
0.7" (17.8mm)  
(14.5mm)  
0.1" (1.27mm)  
0.25" (6.35mm)  
1.15" (29.2mm) 0.525" (13.3 mm)  
FIGURE 85. AX500 side view and dimensions  
.
AX500 Motor Controller Users Manual  
149  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Mechanical Specifications  
4.20" (106.7mm)  
0.15" (3.8mm)  
0.15" (3.8mm)  
0.15"  
(3.8mm)  
0.15"  
(3.8mm)  
1.25"  
(31.75mm)  
4.20"  
(106.7mm)  
2.00"  
(50.8mm)  
1.10"  
(74.0mm)  
0.15"  
(3.8mm)  
0.15" (3.8mm)  
1.875" (47.6mm)  
0.15" (3.8mm)  
2.90" (73.7mm)  
FIGURE 86. AX500 top view and dimensions  
Mounting Considerations  
The AX500s heatsink is located at the bottom of the board. This requires therefore that the  
board be mounted with spacers that are at minimum 0.6(15mm).  
0.6" (15mm) or longer spacer  
FIGURE 87. Use spacers to provide clearance for heatsink  
Thermal Considerations  
When mounting the board, and if current is expected to be above 7A on average, ensure  
that there can be a natural or forced convection flow to remove the heat. Mounting the  
150  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Attaching the Controller Directly to a Chassis  
board against a vertical surface as shown in the figure below will ensure a better natural  
convection flow and is, therefore, recommended.  
FIGURE 88. Mount the controller against a vertical surface to maximize convection flow  
For high current applications, it is possible that the controller may heat up faster and to a  
higher temperature than can be dissipated by the using natural convection alone.  
In these applications, you should ensure that air flow exists to remove the heat from the  
heat sink. In the most extreme use, you should consider using an external fan to circulate  
air around the controller.  
Attaching the Controller Directly to a Chassis  
The AX500 can be attached to a metal chassis to improve heat dissipation. For this purpose  
the board has holes at the corners of the PCB, which can be used to fasten it to the chas-  
sis.  
Of course first it is necessary to remove the blue heat sink, which is mounted as standard.  
A total of 6 screws for the AX500 are required, four on the corners and two in the heat sink  
area.  
In order to avoid that components leads sticking out the back of the PCB make contact  
with the chassis it is needed to interpose a metal bar (interposer) of thickness sufficient to  
distance the PCB from the surface of the chassis.  
AX500 Motor Controller Users Manual  
151  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Mechanical Specifications  
Note that the back of the PCB has large copper areas exposed just under the power MOS  
Board  
Thermal Pad  
Metal Interposer  
Metal Chassis  
Spacer  
FIGURE 89. Mount the controller without heatsink against a chassis  
area. It is critical that the interposer either is insulated (example: anodized aluminum) or a  
layer of thermal conducting - but electrically insulating - pad is used.  
Failure to do so will cause a short among the drains of the power MOS and the board will  
fail. Ordinary thermal grease will not act as an insulator.  
The interposer has to be planar so to ensure good thermal contact wit all power MOS; in  
alternative use thermal conducting pad that will fill all the voids between the board and the  
interposer.  
Precautions to observe  
Use plastic washers for the screws securing the board to the interposer similar to the ones  
originally installed. They will prevent the head of the screw from touching the heat sinks of  
the power MOS an from damaging the PCB and making contact with the copper layers  
underneath.  
Should the board be expected to experience heavy vibrations, then use plastic shoulder  
washer, which will keep the stem of the screws centered.  
Make sure the screws holding the corners do not bend the board, which remains flat. The  
screws that should hold securely the PCB are the ones in the power MOS area where the  
best contact is needed for efficient heat transfer.  
The four screws at the corners do not need to be tightened excessively and they also  
require a plastic washer to avoid damage to the PCB. It is a good practice to use nylon  
screws (8-32 minimum size) for electrical isolation and to allow some elasticity in case of  
vibrations.  
At the end of the assembly process check that there is no electrical continuity between  
any of the power contacts and the interposer/chassis with an ohm meter prior to applying  
power.  
152  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Wire Dimensions  
Wire Dimensions  
The AX500 uses screw terminals for the power connections to the batteries and motors.  
These connectors are rated to support the controllers maximum specified current. It is rec-  
ommended that you use AWG 14 wire for all power connections to ground, batteries and  
motors. VCon wire and its return Ground may be much thinner as they will never carry cur-  
rent in excess of a couple of milliamperes.  
Weight  
Controller weight is 3.0oz (85g  
AX500 Motor Controller Users Manual  
153  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Mechanical Specifications  
154  
AX500 Motor Controller Users Manual  
Version 1.9b. June 1, 2007  
Download from Www.Somanuals.com. All Manuals Search And Download.  

RCA Camcorder CC432 User Guide
RCA CRT Television P46731 User Guide
Renesas Computer Hardware RSKM16C62P User Guide
Ricoh Fax Machine 3245 User Guide
RIDGID Power Roller 258 User Guide
ritetemp Thermostat GPMG8010 User Guide
Samsung Flat Panel Television LC550 ZA User Guide
Samsung Flat Panel Television LE15E31S User Guide
Sears Treadmill 83129776 User Guide
Senco Air Compressor PC2015 80 User Guide