RoboteQ AX500 User Manual

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.

Revision History

Revision History
Date Version Changes
June 1, 2007 1.9b Added Output C active when Motors On
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 Updated Encoder section.
February 1, 2005 1.7 Added Position mode support with Optical Encoder
Miscellaneous additions and corrections
April 17, 2004 1.6 Added Optical Encoder support
March 15, 2004 1.5 Added finer Amps limit settings
Enhanced Roborun utility
August 25, 2003 1.3 Added Closed Loop Speed mode
Added Data Logging support
Removed RC monitoring
August 15, 2003 1.2 Modified to cover AX500 controller design
Changed Power Connection section
April 15, 2003 1.1 Added analog mode section
Added position mode section
Added RCRC monitoring feature
Updated Roborun utility section
Modified RS232 watchdog
March 15, 2003 1.0 Initial Release
The information contained in this manual is believed to be accurate and reliable. However, it may contain errors that were not noticed at time of publication. User’s are expected to perform their own product validation and not rely solely on data contained in this manual.
AX500 Motor Controller Users Manual 3
4 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
Revision History 3
SECTION 1 Important Safety Warnings 11
This product is intended for use with rechargeable batteries 11 Avoid Shorts when Mounting Board against Chassis 11 Do not Connect to a RC Radio with a Battery Attached 11 Beware of Motor Runaway in Improperly Closed Loop 11
SECTION 2 AX500
Quick Start 13
What you will need 13 Locating the Connectors 13 Connecting to the Batteries and Motors 15 Connecting to the 15-pin Connector 16 Connecting the R/C Radio 16 Powering On the Controller 17 Default Controller Configuration 18 Connecting the controller to your PC using Roborun 18 Obtaining the Controller’s Software Revision Number 19 Exploring further 20
SECTION 3 AX500 Motor Controller Overview 21
Product Description 21 Technical features 22
SECTION 4 Connecting Power and Motors to the Controller 25
Power Connections 25 Controller Power 26 Controller Powering Schemes 27
Powering the Controller from a single Battery 27
Powering the Controller Using a Main and Backup Battery 28 Connecting the Motors 28 Single Channel Operation 29
Converting the AX500 to Single Channel 30 Power Fu ses 30 Wire Length Limits 31 Electrical Noise Reduction Techniques 31 Power Regeneration Considerations 31 Overvoltage Protection 32 Undervoltage Protection 32 Using the Controller with a Power Supply 33
AX500 Motor Controller Users Manual 5
SECTION 5 General Operation 35
Basic Operation 35 Input Command Modes 35 Selecting the Motor Control Modes 36
Open Loop, Separate Speed Control 36 Open Loop, Mixed Speed Control 36 Closed Loop Speed Control 37
Close Loop Position Control 37 User Selected Current Limit Settings 38 Temperature-Based Current Limitation 38 Battery Current vs. Motor Current 39 Programmable Acceleration 40 Command Control Curves 42 Left / Right Tuning Adjustment 43 Activating Brake Release or Separate Motor Excitation 45 Emergency Stop using External Switch 45 Inverted Operation 45 Special Use of Accessory Digital Inputs 46
Using the Inputs to Activate the Buffered Output 46
Using the Inputs to turn Off/On the Power MOSFET
transistors 46
SECTION 6 Connecting Sensors and Actuators to Input/Outputs 47
AX500 Connections 47 AX500s Inputs and Outputs 48 I/O List and Pin Assignment 50 Connecting devices to Output C 51 Connecting Switches or Devices to Input E 52 Connecting Switches or Devices to Input F 52 Connecting Switches or Devices to EStop/Invert Input 53 Analog Inputs 54 Connecting Position Potentiometers to Analog Inputs 54 Connecting Tachometer to Analog Inputs 55 Connecting External Thermistor to Analog Inputs 57 Using the Analog Inputs to Monitor External Voltages 58 Connecting User Devices to Analog Inputs 59 Internal Voltage Monitoring Sensors 59 Internal Heatsink Temperature Sensors 59
SECTION 7 Closed Loop Position Mode 63
Mode Description 63 Selecting the Position Mode 63
6 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
Position Sensor Selection 64 Sensor Mounting 64 Feedback Potentiometer wiring 65
Feedback Potentiometer wiring in RC or RS232 Mode 65 Feedback Potentiometer wiring in Analog Mode 65
Analog Feedback on Single Channel Controllers 66
Feedback Wiring in RC or RS232 Mode on Single Channel Controllers 66
Feedback Wiring in Analog Mode on Single Channel
Controllers 67 Sensor and Motor Polarity 67 Encoder Error Detection and Protection 68 Adding Safety Limit Switches 69 Using Current Limiting as Protection 70 Control Loop Description 70 PID tuning in Position Mode 71
SECTION 8 Closed Loop Speed Mode 73
Mode Description 73 Selecting the Speed Mode 73 Tachometer or Encoder Mounting 74 Tachometer wiring 74 Speed Sensor and Motor Polarity 74 Adjust Offset and Max Speed 75 Control Loop Description 76 PID tuning in Speed Mode 77
SECTION 9 Normal and
Fault Condition LED Messages 79
Diagnostic LED 79 Normal Operation Flashing Pattern 79 Output Off / Fault Condition 80
SECTION 10 R/C Operation 81
Mode Description 81 Selecting the R/C Input Mode 82 Connector I/O Pin Assignment (R/C Mode) 82 R/C Input Circuit Description 83 Supplied Cable Description 83 Powering the Radio from the controller 84 Connecting to a Separately Powered Radio 85 Operating the Controller in R/C mode 86
AX500 Motor Controller Users Manual 7
Reception Watchdog 87 R/C Transmitter/Receiver Quality Considerations 88 Joystick Deadband Programming 88 Command Control Curves 89 Left/Right Tuning Adjustment 90 Joystick Calibration 90 Data Logging in R/C Mode 91
SECTION 11 Analog Control and Operation 93
Mode Description 93 Connector I/O Pin Assignment (Analog Mode) 94 Connecting to a Voltage Source 95 Connecting a Potentiometer 95 Selecting the Potentiometer Value 96 Analog Deadband Adjustment 97 Power-On S afet y 98 Under Voltage Safety 98 Data Logging in Analog Mode 98
SECTION 12 Serial (RS-232) Controls and Operation 101
Use and benefits of RS232 101 Connector I/O Pin Assignment (RS232 Mode) 102 Cable configuration 103 Extending the RS232 Cable 103 Communication Settings 104 Establishing Manual Communication with a PC 104
Entering RS232 from R/C or Analog mode 105 Data Logging String in R/C or Analog mode 105 RS232 Mode if default 106
Commands Acknowledge and Error Messages 106
Character Echo 106 Command Acknowledgement 106 Command Error 10 6
Watchdog time-out 107 RS-232 Watchdog 107 Controller Commands and Queries 107
Set Motor Command Value 108
Set Accessory Output 108
Query Power Applied to Motors 109
Query Amps from Battery to each Motor Channel 10 9
Query Analog Inputs 110
Query Heatsink Temperatures 110
Query Battery Voltages 111
8 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
Query Digital Inputs 111 Reset Controller 111
Accessing & Changing Configuration Parameter in Flash 112
Apply Parameter Changes 11 2 Flash Configuration Parameters List 113 Input Control Mode 11 4 Motor Control Mode 11 4 Amps Limit 11 5 Acceleration 116 Input Switches Function 11 6 RC Joystick or Analog Deadband 117 Exponentiation on Channel 1 and Channel 2 117 Left/Right Adjust 11 8 Default PID Gains 11 8 Joystick Min, Max and Center Values 119
Reading & Changing Operating Parameters at Runtime 119
Operating Modes Registers 120 Read/Change PID Values 121 PWM Frequency Register 121 Controller Status Register 121 Controller Identification Register 122
Current Amps Limit Registers 122 Automatic Switching from RS232 to RC Mode 125 Analog and R/C Modes Data Logging String Format 126 Data Logging Cables 126 Decimal to Hexadecimal Conversion Table 127
SECTION 13 Using the Roborun Configuration Utility 131
System Requirements 131 Downloading and Installing the Utility 131 Connecting the Controller to the PC 132 Roborun Frame, Tab and Menu Descriptions 133 Getting On-Screen Help 134 Loading, Changing Controller Parameters 134
Control Settings 135
Power Settings 136
Analog or R/C Specific Settings 137
Closed Loop Parameters 138 Running the Motors 138
Logging Data to Disk 141
Connecting a Joystick 142 Using the Console 142 Viewing and Logging Data in Analog and R/C Modes 144 Loading and Saving Profiles to Disk 144
AX500 Motor Controller Users Manual 9
Operating the AX500 over a Wired or Wireless LAN 144 Updating the Controller’s Software 146
Updating the Encoder Software 146
Creating Customized Object Files 147
SECTION 14 Mechanical Specifications 149
Mechanical Dimensions 149 Mounting Considerations 150 Thermal Considerations 150 Attaching the Controller Directly to a Chassis 151
Precautions to observe 152 Wire Dimensions 153 Weight 153
10 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
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­erations on 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 Chassis on page 151.

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 controller’s 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
Important Safety Warnings
12 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
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
AX500 Quick Start
Connector to Receiver/ Controls and sensors
Status LED
FIGURE 1. AX500 Controller Front View
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.
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.
Power Must be con­nected to VCon and
VMot
VMot for the controller to operate
FIGURE 2. AX500 Controller Rear View
VCon
M2+ M1- M1+ VMotM2- 3 x Gnd
Motor 2 Motor 1
14 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 controller’s terminal strip.
Motor2
Motor1
+
-
-
+
M1-
VMot
M1+
GND
VCon
Controller
GND
Power on/off switch
M2-
M2+
GND
VMot
Fuse
12V to 24V
Motor Battery
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 controller’s 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 Controller on 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 User’s Manual 15
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 controller’s 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 100mA Digital Output C (same as pin 9)
2TxData
3 RC Ch1 RxData Unused
4 RC Ch 2 Digital Input F
5 Ground Out
6 Unused
7 Unused
8 Digital Input E and Analog Input 4
9 100mA Digital Output C (same as pin 1)
10 Analog Input 2
11 Analog Input 1
12 Analog Input 3
13 Ground Out
14 +5V Out (100mA max.)
15 Emergency Stop or Invert Switch input
RC Mode RS232 Mode Analog Mode

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 “Separate” mode, the wire labelled Ch1 controls Motor1, and the wire labelled Ch2 controls Motor2.
When operating the controller in “Mixed” mode, Ch1 is used to set the robot’s speed and direction, while Ch2 is used for steering.
See R/C Operation” on page 81 of the User’s 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

Powering On the Controller

Channel 3
Channel 2
Channel 1
Pin 1
15
FIGURE 4. R/C connector wiring for 3 channels and battery elimination (BEC)
This wiring - with the wire loop uncut - assumes that the R/C radio will be powered by the AX500 controller. Other wiring options are described in R/C Operation” on 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.
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
8
9
Wire loop bringing power from controller to RC radio
Connecting the optional channel 3 will enable you to turn on and off the accessory output. See Connecting Sensors and Actuators to Input/Outputs on page 47 and Data Logging in R/C Mode” on 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 controller’s power terminal as described in sectionConnecting to the Batteries and Motors on page 15.
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
AX500 Quick Start
The status LED will start flashing a pattern to indicate the mode in which the controller is in:
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
RC Mode
RS232 Mode No Watchdog
RS232 Mode with Watchdog
Analog Mode
Parameter Default Values Letter
Input Command mode: (0) = R/C Radio mode I
Motor Control mode (0) = Separate A, B, speed control, open loop C
Amp limit (5) = 13.125A A
Acceleration (2) = medium-slow S
Input switch function (3) = no action U
Joystick Deadband (2) = 16% d
Exponentiation on channel 1 (0) = Linear (no exponentiation) E
Exponentiation on channel 2 (0) = Linear (no exponentiation) F
Left / Right Adjust (7) = no adjustment L
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­uration Utility on page 131.

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
Obtaining the Controllers Software Revision Number
to update the controller’s 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 PC’s 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 controller’s parameters. The “Run tab will present a number of buttons, dials and charts that are used for operating and monitoring the motors.

Obtaining the Controller’s Software Revision Number

One of the unique features of the AX500 is the ability to easily update the controller’s oper- ating software with new revisions downloaded from Roboteq’s web site at www.roboteq.com. This is useful for adding features and/or improving existing ones.
AX500 Motor Controller Users Manual 19
AX500 Quick Start

Exploring further

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 controller’s software version number, you will be able to see if a new version is available for download and installation from Roboteq’s web site and which features have been added or improved.
Installing new software is a simple and secure procedure, fully described in Updating the Controller’s Software on page 146 of the Users Manual.
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
SECTION 3 AX500 Motor
Controller Overview
Congratulations! By selecting Roboteq’s AX500 you have empowered yourself with the industry’s 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
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
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 User’s Manual 23
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

Power Connections

SECTION 4 Connecting
Power and Motors to the Controller
This section describes the AX500 Controller’s connections to power sources and motors.

Important Warning

Please follow the instructions in this section very carefully. Any problem due to wir­ing errors may have very serious consequences and will not be covered by the prod­uct’s warranty.
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
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.
VMot
M2+ M1- M1+ VMotM2- 3 x Gnd
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.
VCon
Channel 1 MOSFET Power Stage
Microcomputer &
MOSFET Drivers
Channel 2 MOSFET Power Stage
8V min
30V max
FIGURE 8. Representation of the AX500s Internal Power Circuits
5Vmin
30V max
5Vmin
30V max
M1-
M1+
Vmot
GND
Vcon
GND
GND
Vmot
M2+
M2-
26 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 VMot Controller Status
Off Off Off
Off 5-24V Off
8-24V Off 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
+
-
-
+
Motor1
M1-
VMot
M1+
GND
VCon
Controller
GND
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.
Power on/off switch
M2-
M2+
GND
VMot
Fuse
12V to 24V
Motor Battery
FIGURE 9. AX500 Electrical Power Wiring Diagram
AX500 Motor Controller Users Manual 27
Connecting Power and Motors to the Controller
Motor2
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.
+
-
-
+
Motor1
M1-
M1+
VMot
GND
VCon
Controller
GND
GND
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 batteries charge drops. The separate backup power supply should be connected to the VCon input.
M2-
M2+
VMot
Power on/off
switch
Fuse
12V to 24V
Motor Battery
12V to 24V
Backup Battery

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
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

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 Channel) of the controller
FIGURE 11. Wiring for Single Channel Operation
+
-
VMot
M1-
M1+
VCon
Controller
GND
GND
GND
M2-
M2+
VMot
Pwr Ctrl
12V to 40V
GND
AX500 Motor Controller Users Manual 29
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 controller’s outputs only after you have verified that both outputs react identically to channel 1 commands.
Jumper "open"
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.
Place solder ball to close jumper and enable single channel mode

Important Warning

30 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
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 wires’ inductance 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 controller’s 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.
Wire Length Limits
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
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- tection” on 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 Regeneration” from 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­ler with a Power Supply on page 33 for details.

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 “amplified” to unsafe levels by the switching circuit.
The controller will resume normal operation when the measured voltage drops below 43V.

Undervoltage Protection

In order to ensure that the power MOSFET transistors are switched properly, the AX500 monitors the internal 12V power supply that is used by the MOSFET drivers. If the internal voltage drops below 10V, the controller’s output stage is turned Off. The rest of the 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

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 Considerations” on page 31, if the supply is not able to absorb and dissipate regenerated current, the voltage will increase until the over­voltage protection circuit cuts off the motors. While this process should not be harmful to the controller, it may be to the power supply, unless one or more of the protective steps below 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 transformer’s own output voltage. This information is seldom published in commercial power supplies, so it is not always possible to obtain positive reassurance that the supply will survive such a condition.
Avoid deceleration that is quicker than the natural deceleration due to the friction in
the motor assembly (motor, gears, load). Any deceleration that would be quicker than natural friction means that braking energy will need to be taken out of the sys­tem, causing a reverse current flow and voltage rise. See “Programmable Accelera- tion” on page 40.
Place a battery in parallel with the power supply output. This will provide a reservoir
into which regeneration current can flow. It will also be very helpful for delivering 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 supply’s 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
Connecting Power and Motors to the Controller
34 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Basic Operation

SECTION 5 General
Operation
This section discusses the controller’s 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 following dedicated chapters: R/C Operation” on page 81, “Serial (RS-232) Controls and Operation” on page 101, and “Analog Control and Operation” on page 93.
The controller’s factory default mode is R/C radio. The mode can be changed using any of the methods described in Loading, Changing Controller Parameters on page 134.
AX500 Motor Controller Users Manual 35
General Operation

Selecting the Motor Control Modes

For each motor, the AX500 supports multiple motion control modes. The controller’s 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 Parameters on page 134.

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
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 Connecting Tachometer to Analog Inputs on page 55. Closed Loop Speed control opera- tion is described in Closed Loop Speed Mode” on page 73.
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 mode can be found in Closed Loop Position Mode on page 63.
AX500 Motor Controller Users Manual 37
General Operation
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.
Position Feedback
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 controller’s power stage turns itself off completely.
TABLE 3. Effect of Heatsink temperature on Max Amps Limit
Temperature Max Amps
Below 80 oC 15A
80 oC 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

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 sink’s temperature to rise depends on the current output, ambient temperature, and available air flow (natural or forced).
Note that the measured temperature is 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 flyback current in the motor’s inductance. In some cases, the motor current can be extremely high, causing heat and potentially damage while battery current appears low or reasonable.
The motor’s 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 current waveforms,” on page 40.
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
General Operation
FIGURE 17. Current flow during operation
Vbat
Off
Motor
On
On
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.
Off
I mot Avg
I bat Avg

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 controller’s front switches or using serial com- mands. When configuring the controller using the switches (see Configuring the Control­ler using the Switches on page 171), acceleration can be one of 6 available preset values, from very soft(0) to very quick (6). The AX500’s factory default value is medium soft (2).
40 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
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 MCU’s 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
30 Hex 0.78% 2.05 seconds
20 Hex 1.56% 1.02 seconds
10 Hex 2.34% 0.68 second
00 Hex 0 3.13% 0.51 second
31 Hex 3.91% 0.41 second
21 Hex 4.69% 0.34 second
11 Hex 5.47% 0.29 second
01 Hex 1 6.25% 0.26 second
32 Hex - 7.03% 0.23 second
22 Hex - 7.81% 0.20 second
12 Hex - 8.59% 0.19 second
02 Hex 2 (default) 9.38% 0.17 second
33 Hex - 10.16% 0.16 second
23 Hex - 10.94% 0.15 second
13 Hex - 11.72% 0.14 second
03 Hex 3 12.50% 0.128 second
34 Hex - 13.28% 0.120 second
24 Hex - 14.06% 0.113 second
14 Hex - 14.84% 0.107 second
04 Hex 4 15.63% 0.102 second
35 Hex - 16.41% 0.097 second
25 Hex - 17.19% 0.093 second
15 Hex - 17.97% 0.089 second
05 Hex 5 18.75% 0.085 second
Acceleration Setting Using Switches
%Acceleration per 16ms
Time from 0 to max speed

Important Warning

Depending on the load’s weight and inertia, a quick acceleration can cause consider- able current surges from the batteries into the motor. A quick deceleration will cause
AX500 Motor Controller User’s Manual 41
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 chan nel.
The factory default curve is a “linear” straight line, meaning that after the joystick has moved passed the deadband point, the motors speed will change proportionally to the joy­stick position.
Tw o “exponential curves, a weak and a strong, are supported. Using these curves, and after the joystick has moved past the deadband, the motor speed will first increase slowly, increasing faster as the joystick moves near the extreme position. Exponential curves allow better control at slow speed while maintaining the robot’s ability to run at maximum speed.
Tw o logarithmic curves, a weak and a strong, are supported. Using these curves, and after the joystick has moved past the deadpoint, the motor speed will increase rapidly, and then increase less rapidly as the joystick moves near the extreme position.
The graph below shows the details of these curves and their effect on the output power as the joystick is moved from its center position to either extreme. The graph is for one joy­stick only. The graph also shows the effect of the deadband setting.
42 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Left / Right Tuning Adjustment

% Forward (Motor Output)
100
- 60
- 80
- 100
FIGURE 19. Exponentiation curves
The AX500 is delivered with the “linear” curves 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 Switches on page 171 or Using the Roborun Configuration Utility on page 131 for instructions on how to program parameters into the controller.
- 40
80
60
40
20
- 20
0
20
40
60
80
100
% Reverse
Logarithmic Strong
Logarithmic Weak
Linear (default)
Exponential Weak
Exponential Strong
% Command Input
20
40
60
80
100
Deadband
TABLE 5. Exponent selection table
Exponentiation Parameter Value Selected Curve
E or F = 0 Linear (no exponentiation) - default value
E or F = 1 strong exponential
E or F = 2 normal exponential
E or F = 3 normal logarithmic
E or F = 4 strong logarithmic
Left / Right Tuning Adjustment
By design, DC motors will run more efficiently in one direction than the other. In most situ­ations this is not noticeable. In others, however, it can be an inconvenience. When operat­ing in open loop speed control, the 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
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 (Motor Output)
100
80
60
40
20
- 20
- 40
- 60
- 80
- 100
0
20
40
60
80
100
% Reverse
20
40
60
% Forward (Motor Output)
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.
80
0%
-3%
-5.25%
% Command Input
100
5.25%
3%
0%
- 100
% Forward (Motor Output)
100
80
60
40
20
- 20
- 40
- 60
- 80
0
20
40
60
80
100
% Reverse
20
40
60
80
100
In applications where two motors are used in a mixed mode for steering, the Left/Right Adjustment parameter may be used to make the robot go straight in case of a natural ten­dency to steer slightly to the left or to the right.
The Left/Right adjustment parameter can be set from -5.25% to +5.25% in seven steps of
0.75%. See “Programmable Parameters List” on page 175 and Loading, Changing Con­troller Parameters on 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 -5.25% 8 0.75%
1-4.5%91.5%
2 -3.75% 10 2.25%
3 -3% 11 3%
4 -2.25% 12 3.75%
44 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Activating Brake Release or Separate Motor Excitation

TABLE 6. Left/Right Adjustment Parameter selection
Parameter Value Speed Adjustment Parameter Value Speed Adjustment
5 -1.5% 12 4.5%
6 -0.75% 14 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 armature’s magnetic field in a separate excitation motor. This function is disabled by default and may be configured using the Roborun PC utility. See Loading, Changing Controller Parameters on page 134. See Connecting devices to Output C on 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 controller’s output in case of emergency. This controller input can be configured as the “Inverted” detection instead of Emergency Stop. The factory default for this input is No Action”.
The switch connection is described in Connecting Switches or Devices to EStop/Invert Input on page 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 function” parameter. See Programmable Parameters List on page 175.
The switch connection is described in Connecting Switches or Devices to EStop/Invert Input on 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
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 Assignment” on page 50, while the electrical signal needed to activate them is shown on Connecting Switches or Devices to Input F on page 52.
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­tings on 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 controller’s Power MOSFET transistors will be active, and the controller will be operating normally, only when the input is pulled to ground.
When the input is pulled high, all the power MOSFETs are turned Off so that the motors are effectively disconnected from the controller.
This function is typically used to create a dead man switch when the controller is driven using an analog joystick. The motors will be active only while the switch is depressed. If the switch is left off for any reason, the motors will be disconnected and allowed to free­wheel rather than coming to an abrupt stop.
46 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 controller’s power wiring can be found at Connecting Power and Motors to the Controller on page 25
The DB15 connector is used for all low-voltage, low-current connections to the Radio, Microcontroller, sensors and accessories. This section covers only the connections to sen­sors and actuators.
For information on how to connect the R/C radio or the RS232 port, see R/C Operation on page 81 and Serial (RS-232) Controls and Operation” on page 101.
AX500 Motor Controller Users Manual 47
Connecting Sensors and Actuators to Input/Outputs
6
7
9
8
1- DC Motors
2- Optional sensors:
- Tachometers (Closed loop Speed mode)
- Potentiometers (Servo mode)
3- Motor Power supply wires
4- Logic Power supply wire (connected
optionally)5- Controller
2
4
1
3
3
5
6- R/C Radio Receiver, microcomputer, or
wireless modem
7- Command: RS-232, R/C Pulse
8- Miscellaneous I/O
9- Running Inverted, or emergency stop
switch
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
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 Use Activated
Out C 2A Digital Output User
defined
Inp F Digital Input User
defined
Activate Output C
Turn FETs On/Off
Inp E Digital Input Same as Input F
EStop/Invert Digital Input Emer-
gency stop
Invert Controls
User defined
Analog In 1 Analog Input Tachome-
ters input
Position sensing
User defined
Analog In 2 Analog Input 2 Same as Analog 1 but for Channel 2
Analog In 3 Analog Input 3 Position
sensing
User defined
Analog In 4 Analog Input 4 Same as Analog 3 but for Channel 4
Activated using R/C channel 3 (R/C mode), or serial command (RS232 mode)
Activated when any one motor is powered (when enabled)
Active in RS232 mode only. Read with serial com­mand (RS232)
When Input is configured to drive Output C
When Input is configured as dead man switch input
When Input is configured as Emergency Stop switch input.
When Input is configured as Invert Controls switch input.
When input is configured as general purpose. Read with serial command (RS232).
When Channel 1 is configured in Closed Loop Speed Control with Analog feedback
When Channel 1 is configured in Closed Loop Position Control with RC or RS232 command and Analog feedback
Read value with serial command (RS232).
When Channel 1 is configured in Closed Loop Position Control with Analog command and Ana­log feedback
Read value with serial command (RS232).
AX500 Motor Controller Users Manual 49
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
Pin1
FIGURE 22. Controller’s DB15 connector pin numbering
15
8
TABLE 8. DB15 connector pin assignment
Pin Number
1 and 9 Output Output C 100mA Accessory Output C
2Output
3 Input
4 Input
5 and 13 Power Out Ground Controller ground (-)
6 Unused Unused Unused
7 Unused Unused Unused
8 Digital In
Input or Output
and Analog In
Signal depending on Mode Description
R/C: Data Out RS232 Data Logging Output
RS232: Data Out RS232 Data Out
Analog: Data Out RS232 Data Logging Output
R/C: Ch 1 R/C radio Channel 1 pulses
RS232: Data In RS232 Data In (from PC/MCU)
Analog: Unused Unused
R/C: Ch 2 R/C radio Channel 2 pulses
RS232/Analog: Input F Digital Input F readable RS232 mode
Dead man switch activation
R/C: Ch 3 R/C radio Channel 3 pulses
RS232: Input E / Ana in 4Accessory 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

Connecting devices to Output C

TABLE 8. DB15 connector pin assignment
Pin Number
Input or Output
Signal depending on Mode Description
RC/RS232: Ana in 2 Channel 2 speed or position feedback input
10 Ana l og i n
Analog: Command 2 Analog command for channel 2
11 Analog in RC/RS232: Ana in 1 Channel 1 speed or position feedback input
Analog: Command 1 Analog command for channel 1
12 Analog in RC: Unused
RS232: Ana in 3 Analog input 3
Ana: Ana in 3 Channel 1 speed or position feedback input
14 Power Out +5V +5V Power Output (100mA max.)
15 Input Input EStop/Inv Emergency Stop or Invert Switch input
**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
+
5 to 24V DC
-
5 to 24V DC
+
-
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 Mode” on 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 Queries on page 107 for more information.
Lights, LEDs, or any other non-inductive load
Output C 1,9
Ground 5
Internal Transistor
AX500 Motor Controller User’s Manual 51
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
Input E 8
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
10kOhm
50kOhm

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.
Internal Buffer
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

Connecting Switches or Devices to EStop/Invert Input

+5V Out 14
+5V Out 14
+5V Out 14
+5V Out 14
+5V In 7
+5V In 7
+5V In 7
+5V In 7
10kOhm
10kOhm
10kOhm
10kOhm
10kOhm
10kOhm
10kOhm
10kOhm
Input F 4
Input F 4
Input F 4
Input F 4
GND In 6
GND In 6
GND In 6
GND In 6
GND Out 5
GND Out 5
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.
Internal
Internal
Internal
Internal Buffer
Buffer
Buffer
Buffer
10kOhm
10kOhm
+5V Out 14
+5V Out 14
+5V Out 14
+5V In 7
+5V In 7
+5V In 7
Input F 4
Input F 4
Input F 4
GND In 6
GND In 6
GND In 6
GND Out 5
GND Out 5
GND Out 5
10kOhm
10kOhm
10kOhm
Internal
Internal
Internal Buffer
Buffer
Buffer
Connecting Switches or Devices to EStop/Invert Input
This input is used to connect various switches or devices depending on the selected con­troller configuration.
The factory default for this input is No Action”.
This input can also be configured to be used with an optional “inverted sensor switch. When activated, this will cause the controls to be inverted so that the robot may be driven upside-down.
When neither Emergency Stop or Inverted modes are selected, this input becomes a gen­eral purpose input like the other two described above.
This input is a high impedance input with a pull-up resistor built into the controller. There­fore it will report an On state (no emergency stop, or not inverted) if unconnected. A sim­ple switch as shown on Figure 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
Connecting Sensors and Actuators to Input/Outputs
+5V 14
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.
AX2500 Internal Buffer and Resistor
10kOh m

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 controller’s analog inputs are used to obtain position information from a potentiometer coupled to the motor axle. This feature is useful in order to create very powerful servos as proposed in the figure below:
Position Feedback
Potentiometer
Gear box
FIGURE 27. Motor and potentiometer assembly for position servo operation
54 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Connecting Tachometer to Analog Inputs

Connecting the potentiometer to the controller is as simple as shown in the diagram on Figure 28.
+5V 14
Ana 1: 11 Ana 2: 10 Ana 3: 12 Ana 4: 8
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 gearbox’s out- put.
Internal Resistors and Converter
47kOhm
10kOhm
47kOhm
A/D
TABLE 9. Analog Position Sensor connection depending on operating mode
Operating Mode
Ana 1 pin 11
Ana2 pin 10
Ana 3 pin 12
Ana 4 pin 8
RC or RS232 - Dual Channel Position 1 Position 2 Unused Unused
Analog - Dual Channel Command 1 Command 2 Position 1 Position 2
RC or RS232 - Single Channel Position Unused Unused Unused
RC or RS232 - Dual Channel Command Unused Position Unused
See Closed Loop Position Mode on 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 motor’s uncontrolled rotation in case it was wired wrong.
Connecting Tachometer to Analog Inputs
When operating in closed loop speed mode, tachometers must be connected to the con­troller to report the measured motor speed. The tachometer can be a good quality brushed DC motor used as a generator. The tachometer shaft must be directly tied to that of the motor with the least possible slack.
AX500 Motor Controller Users Manual 55
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.
1kOhm
Zero Adjust 100 Ohm pot
1kOhm
Max Speed Adjust 10kOhm pot
Ta c h
+5V 14
Ana 1: 11 Ana 2: 10 Ana 3: 12 Ana 4: 8
Ground 5
Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm
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 controller’s power out- put (i.e. deliver more power if slower than desired speed, less if higher), an adjustment and calibration phase is necessary. This procedure is described in Closed Loop Speed Mode
on page 73.
TABLE 10. Analog Speed Sensor connection depending on operating mode
Operating Mode Ana 1 (p11) Ana2 (p10) Ana 3 (p12) Ana 4 (p8)
RC or RS232 - Dual Channel Speed 1 Speed 2 Unused Unused
Analog - Dual Channel Command 1 Command 2 Speed 1 Speed 2
RC or RS232 - Single Channel Speed Unused Unused Unused
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 controller’s input when the motor is rotating in the forward direction. If the polarity is inverted, this will cause the motor to run away to the maximum speed as soon as the controller is powered with no way of stopping it other than pressing the emer­gency stop button or disconnecting the power.
56 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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
47kOhm
A/D
10kOhm
47kOhm
10kOhm
10kOhm
NTC
Thermistor
Ana 1: 11 Ana 2: 10 Ana 3: 12 Ana 4: 8
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.
Ground 5
AX500 Motor Controller User’s Manual 57
Connecting Sensors and Actuators to Input/Outputs
100
50
0
-50
Analog Input Reading
-100
-150
-20
0
10
20
30
40
50
60
70
80
-10
Temperature in Degrees C
90
FIGURE 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­verter’s value. The value is a signed 8-bit hexadecimal value. Use the chart data to convert the raw reading into a temperature value.

Using the Analog Inputs to Monitor External Voltages

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
47kOhm
4.7kOhm
+5V 14
Ana 1: 11
Ana 2: 10 Ana 3: 12 Ana 4: 8
Internal Resistors and Converter
47kOhm
10kOhm
47kOhm
A/D
100
110
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

Connecting User Devices to Analog Inputs

Measured volts = ((controller reading + 128) * 0.255) -5
Note: The A/D converter’s reading is returned by the ?p command and is a signed 8-bit hexadecimal value. You must add 128 to bring its range from -127/+127 to 0/255.
Connecting User Devices to Analog Inputs
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 controller’s RS232 port.
+5V 14
Ana 1: 11 Ana 2: 10
Ana 3: 12
Ana 4: 8
Ground 5
FIGURE 33. AX500 Analog Input equivalent circuit
47kOhm
47kOhm

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 Protection on page 32 and “Under- voltage Protection on page 32). These voltages can also be read from the RS232 serial port using the ?e query.
The returned value are numbers ranging from 0 to 255. To convert these numbers into a Voltage figure, the following formulas must be used:
Measured Main Battery Volts = 55 * Read Value / 256
Measured Internal Volts = 28.5 * Read Value / 256
A/D
10kOhm

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
Connecting Sensors and Actuators to Input/Outputs
using the ?m query, or during data logging (see “Analog and R/C Modes Data Logging String Format on page 126)
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
Reported Analog Value
50
0
0
10
20
30
-40
-30
-20
-10
405060
Temperature in Degrees C
708090
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;
100
110
120
130
140
150
60 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
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 User’s Manual 61
Connecting Sensors and Actuators to Input/Outputs
62 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 servos” that 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 Controller Parameters on page 134.
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
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

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 mode” on page 105. Instead, used the wiring for Analog mode discussed in the next section.
2k - 10k 2k - 10k
Feedback 1
Feedback 2
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
14 +5V
5 Ground
11 Ana1
10 Ana2
12 Ana3*
8 Ana4*
AX500 Motor Controller User’s Manual 65
Closed Loop Position Mode
Roborun will detect the new hardware revision and display Rev B on the screen.
2k 2k 2k - 10k 2k - 10k
14 +5V
5 Ground
Command 1
Command 2
Feedback 1
Feedback 2
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 mode” on page 105

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­tion” on page 177.), the controller accepts one command and uses one input for feedback.
11 Ana1
10 Ana2
12 Ana3*
8 Ana4*

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
2k - 10k
Feedback
FIGURE 38. Pot wiring on Single Channel controllers (SCversion) and Analog Command
66 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
5 Ground
11 Ana1
10 Ana2
12 Ana3*
8 Ana4*

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
Feedback
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.
11 Ana1
10 Ana2
12 Ana3*
8 Ana4*
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 mode” on page 105
Sensor and Motor Polarity
The sensor polarity (i.e. which rotation end produces 0 or 5V) is related to the motor’s 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 Using the Roborun Configuration Utility on page 131) and following these steps:
1. Disconnect the controllers Motor Power (Vmot terminals).
2. Configure the controller in Position Mode using the PC utility.
AX500 Motor Controller User’s Manual 67
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 Start button to
5. Move the sensor manually to the middle position until a value of 0 is measured
6. Verify that the motor sliders are in the 0 (Stop) position. Since the desired posi-
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-
9. If the motor turns in the direction in which the sensor was moved, the polarity is
10. If the motor turns in the direction away from the sensor, then the polarity is
begin communication with the controller. The sensor values will be displayed in the Ana1 and Ana2 boxes.
using Roborun utility
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.
gram and Set buttons at the same time (Emergency Stop), SLOWLY move the sensor off the center position and observe the motor’s direction of rotation.
correct. The sensor axle may be tighten to the motor assembly.
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 sensor’s minimum output value or higher than the sensor’s 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
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 Switches on 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 controller’s 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
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
FIGURE 41. Safety limit using AX500’s Emergency Stop input
SW1

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

Motor
Controller
SW2
Emergency Stop InputGround
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 motor’s 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

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
Integral Gain
dE dt
dE dt
x
Σ
Output
x
Analog Position Sensor
or Optical Encoder
Desired Position
-
A/D
Measured Position
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.
Differential Gain
AX500 Motor Controller User’s Manual 71
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

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- ing, Changing Controller Parameters on page 134.
AX500 Motor Controller Users Manual 73
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.
FIGURE 43. Motor and speed sensor assembly needed for Close Loop Speed mode
Analog Tachometer
Speed feedbackSpeed feedback

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.
1kOhm
Zero Adjust 100 Ohm pot
1kOhm
Max Speed Adjust 10kOhm pot
Ta c h
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 motor’s rotation speed and the direction the motor turns when power is applied to it.
+5V 14
Ana 1: 11 Ana 2: 10 Ana 3: 12 Ana 4: 8
Ground 5
Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm
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

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 Using the Roborun Configuration Utility on page 131) and following these steps:
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 “Start button 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 “0” offset potentiometer.

Adjust Offset and Max Speed

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 motor’s 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
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

PID tuning in Speed Mode

Desired Speed
Tachometer
or
Optical Encoder
FIGURE 45. PID algorithm used in Speed mode
A/D
Measured Speed
-
Proportional Gain
E= Error
Integral Gain
Differential Gain
dE dt
dE dt
x
x
Σ
Output
x
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
Closed Loop Speed Mode
78 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 controller’s 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 controller’s processor is running normally.
RC Mode
RS232 Mode No Watchdog
RS232 Mode with Watchdog
FIGURE 46. Status LED Flashing pattern during normal operation
AX500 Motor Controller Users Manual 79
Analog Mode
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.
FIGURE 47. Status LED Flashing pattern during faults or other exceptions
Over temperature
Over Voltage
Under Voltage
Dead man switch activation (See Using the Inputs to turn Off/On the Power
MOSFET transistors on page 46.
The controller will resume the normal flashing pattern when the fault condition disappears.
Temporary Fault
Permanent Error
A rapid continuously flashing pattern indicates that the controller’s 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

Mode Description

SECTION 10 R/C Operation

This section describes the controller’s 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
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 Configuration Utility on page 131, and “Accessing & Changing Configuration Parameter in Flash on page 112

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

9
15
Pin1
8
FIGURE 49. Pin locations on the controller’s 15-pin connector
When used in R/C mode, the pins on the controller’s DB15 connector are mapped as described in the table below.
TABLE 12. Connector pin-out in R/C mode
Pin Number
1 and 9 Output Output C 100mA Accessory Output C
2 Output RS232 data RS232 Data Logging Output
3 Input Ch 1 R/C radio Channel 1 pulses
4 Input Ch 2 R/C radio Channel 2 pulses
5 and 13 Power Out Ground Controller ground (-)
6 Unused Unused Unused
7 Unused Unused Unused
8 Digital In R/C: Ch 3 / Ana In 4 R/C radio Channel 3 pulses
10 Analog in Ana in 2 Channel 2 speed or position feedback input
11 Analog in Ana in 1 Channel 1 speed or position feedback input
12 Analog in Ana in 3 Unused
14 Power Out +5V +5V Power Output (100mA max.)
15 Input Input EStop/Inv Emergency Stop or Invert Switch input
Input or Output Signal Description
82 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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.
+5V Output
R/C Channel 1
R/C Channel 2
R/C Channel 3
FIGURE 50. AX500 R/C Input equivalent circuit

Supplied Cable Description

The AX500 is delivered with a custom cable with the following wiring diagram:
14
3
4
8
5-13
Controller Power
MCU
Controller Ground
FIGURE 51. RC Cable wiring diagram
AX500 Motor Controller Users Manual 83
1 2 3
1
9
8
15
R/C Operation
FIGURE 52. RC connection cable
.
1
2
3

Powering the Radio from the controller

The 5V power and ground signals that are available on the controller’s connector may be used to power the R/C radio. The wire loop is used to bring the controller’s power to the the radio as well 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
Channel 1
Pin 1
FIGURE 53. Wiring for powering R/C radio from controller
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
8
9
Wire loop bringing power from controller to RC radio
15
84 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Connecting to a Separately Powered Radio

14
7
3
4
8
6
5-13
R/C Radio
R/C Radio Power
R/C Channel 1
R/C Channel 2
R/C Channel 3
R/C Radio 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.
MCU
Controller Power
Controller Ground
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
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
Channel 1
Pin 1
15
3: Channel 1 Command Pulses 4: Channel 2 Command Pulses 6: Radio battery (-) Ground 7: Radio battery (+) 8: Channel 3 Command Pulses
FIGURE 55. Wiring when receiver is powered by its own separate battery
R/C Radio Power
Radio
Battery
R/C Radio
Cut
R/C Channel 1
R/C Channel 2
R/C Channel 3
14
7
3
4
8
8
9
Cut red loop
MCU
Controller Power
R/C Radio Ground
6
5-13
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
Controller Ground
86 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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.
min center maxjoystick position:
1. 0 5 m s
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.
0.45ms
0.9ms
Internally, the measured pulse width is compared to the reference minimum, center and maximum pulse width values. From this is generated a number ranging from -127 (when the joystick is in the min. position), to 0 (when the joystick is in the center position) to +127 (when the joystick is in the max position). This number is then used to set the motors desired speed or position that the controller will then attempt to reach.
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 ctrl message is displayed again.
AX500 Motor Controller Users Manual 87
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 condition value) 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 AX500’s 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/C’s command pulses with great accuracy. It will therefore be able to take advantage of the more precise joysticks and timings that can be found in higher quality R/C radio, if such added precision is desired in the application.
Another important consideration is the R/C receiver’s 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 Techniques on 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

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 No deadband
d = 1 8%
d = 2 16% - default value
d = 3 24%
d = 4 32%
d = 5 40%
d = 6 46%
d =7 54%
Note that the deadband only affects the start position at which the joystick begins to take effect. The motor will still reach 100% when the joystick is at its full position. An exagger­ated illustration of the effect of the deadband on the joystick action is shown in the Figure 58 below.
Deadband
Min
Reverse
Max
Reverse
(no action)
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 Curves on page 42, in the General Operation section of this manual.
Min
Forward
Max
Forward
AX500 Motor Controller User’s Manual 89
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 Adjustment on page 43, in the General Operation section of this manual.

Joystick Calibration

This feature allows you to program the precise minimum, maximum and center joystick positions of your R/C transmitter into the controllers memory. This feature will allow you to use the full travel of your joystick (i.e. minimum = 100% reverse, maximum = 100% for­ward). It also ensures that the joystick’s center position does indeed correspond to a “0” motor command value.
Joystick calibration is also useful for modifying the active joystick travel area. For example, the figure below shows a transmitter whose joystick’s center position has been moved back so that the operator has a finer control of the speed in the forward direction than in the reverse position.
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, Changing Controller Parameters on page 134
New Desired
Center Position
Min
Reverse
Max
Reverse
Min
Forward
FIGURE 59. Calibration example where more travel is dedicated to forward motion
Max
Forward
90 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Data Logging in R/C Mode

Data Logging in R/C Mode
Output C OFF
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
Output C OFF
Output C
ON
The entire string is repeated every 200 milliseconds with the latest internal parameter val­ues. This information can be logged using the Roborun Utility (see Viewing and Logging Data in Analog and R/C Modes on page 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- mat on page 126. The serial port’s output can be safely ignored if it is not required in the application.
To read the output string while operating the controller with the R/C radio, you must mod­ify the R/C cable to add an RS232 output wire and connector that will be connected to the PC’s communication port. Figure 61 and below shows the wiring diagram of the modified R/C cable for connection to a PC.
AX500 Motor Controller Users Manual 91
R/C Operation
RX Data
GND
DB9 Female
To PC
1
6
2
7
3
8
4
9
5
DB15 Male
To Controller
1
9
2
10
3
11
4
12
5
13
6
14
15
RS232 Data Out
GND
7
8
FIGURE 61. Modified R/C cable with RS232 output for data logging to a PC
R/C Ch 1
R/C Ch 2
R/C GND
R/C +5V
92 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 User’s Manual 93
Analog Control and Operation

Connector I/O Pin Assignment (Analog Mode)

9
15
Pin1
When used in the Analog mode, the pins on the controllers DB15 connector are mapped as described in the table below
8
TABLE 14. DB15 Connector pin assignment in Analog mode
Pin Number Signal
1 Output C Output 100mA Accessory Output C (same as pin 9)
2 Data Out Output RS232 data output to the PC for data logging
3 Data In Input unused
4 Input F Input See Special Use of Accessory Digital Inputs on
5 Ground Out Power Output Controller ground (-)
6 Unused Unused
7 Unused Unused
8 Input E / Ana In 4 Input Channel 2 position feedback input (servo mode)
9 Output C Output 100mA Accessory Output C (same as pin 1)
10 Channel 2 In Analog in Channel 2 Command Input
11 Channel 1 In Analog in Channel 1 Command Input
12 Analog Input 3 Input Channel 1 position feedback input (servo mode)
13 Ground Out Power Controller ground (-)
14 +5V Out Power Output +5V Power Output (100mA max.)
15 Switch Input Input Emergency Stop or Invert Switch input
Input or Output Description
page 46
94 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

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 inputs’ equivalent circuit is show in Figure 62 below.
+5V
Analog In1: pin 11 In2: pin 10
0V = Min
2.5V = Off
5V = Max
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.
14
Internal Resistors and Converter
47kOhm
A/D
10kOhm
47kOhm
13
The controller considers 2.5V to be the zero position (Motor Off). 2.5V is the potentiome­ter’s mid point position.
AX500 Motor Controller Users Manual 95
Analog Control and Operation
Analog
Input 1
10kOhm
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
+5V
or 4
14
Internal Resistors and Converter
10 11
2
12
3
8
47kOhm
A/D
10kOhm
47kOhm
13

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­tiometer’s 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 controller’s exponentiation parameters (see Command Control Curves on page 42.
96 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007

Analog Deadband Adjustment

Voltage at Input
5V
4V
3V
2V
1V
0V
Min MaxCenter
1K Pot
100K Pot10K Pot
Potentiometer Position
FIGURE 64. Effect of the controller’s 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 potentiometer’s 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 controller’s switches (see Configuring the Controller using the Switches on page 171) or the Roborun utility on a PC (see Loading, Changing Controller Parameters on page 134).
TABLE 15. Analog deadband parameters and their effects
Parameter Value
0 0% 2.5V 94% 0.15V and 4.85V
1 0% to 2.4% 2.44V to 2.56V 96% 0.10V and 4.90V
2 0% to 4.7% 2.38V to 2.62V 93% 0.18V and 4.83V
Pot. Position resulting in Motor Power at 0%
Pot. Position resulting in Motor Power at -/+100%
AX500 Motor Controller User’s Manual 97
Analog Control and Operation
TABLE 15. Analog deadband parameters and their effects
Pot. Position resulting in
Parameter Value
3 (default) 0% to 7.1% 2.32V to 2.68V 95% 0.13V to 4.88V
4 0% to 9.4% 2.27V to 2.74 93% 0.18V and 4.83V
5 0% to 11.8% 2.21V to 2.80V 95% 0.13V to 4.88V
6 0% to 14.2% 2.15V to 2.86V 94% 0.15V and 4.85V
7 0% to 16.5% 2.09V to 2.91V 96% 0.10V and 4.90V
Motor Power at 0%
Pot. Position resulting in Motor Power at -/+100%

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
Data Logging in Analog Mode
Data in Analog and R/C Modes on 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- mat on page 126. The serial port’s output can be safely ignored if it is not required in the application.
To read the output string while operating the controller with an analog command, the cable must be modified to add an RS232 output wire and connector that will be connected to the PC’s communication port. Figure 65 below shows the wiring diagram of the modified cable for connection to a PC or to a PDA, respectively.
RX Data
GND
DB9 Female
To PC
1
6
2
7
3
8
4
9
5
DB15 Male
To Controller
1
9
2
10
3
11
4
12
13
14
15
6
RS232 Data Out
5
7
8
Ana Ch2
Ana Ch1
GND
+5V
FIGURE 65. Modified Analog cable with RS232 output data logging for PC
RX Data
GND
DB9 Male
To PDA
1
6
2
3
4
5
7
8
9
DB15 Male To AX2500
9
10
11
12
13
14
15
1
2
RS232 Data Out
3
4
5
6
7
8
FIGURE 66. Modified Analog cable with RS232 output data logging for PDA
Ana Ch2
Ana Ch1
GND
+5V
AX500 Motor Controller User’s Manual 99
Analog Control and Operation
100 AX500 Motor Controller Users Manual Version 1.9b. June 1, 2007
Loading...