Professional Documents
Culture Documents
1298
1298
MODEL
INTEGRATED TRACTION
& HYDRAULIC SYSTEM
MOTOR CONTROLLER
OS 11 with VCL
© 2010 CURTIS INSTRUMENTS, INC.
CONTENTS
1. OVERVIEW ..............................................................................1
9. MAINTENANCE .................................................................122
FIGURES
FIG. 1: Curtis 1298 controller .............................................................. 1
FIG. 2: Mounting dimensions, Curtis 1298 controller ........................ 3
FIG. 3: Basic wiring diagram .............................................................. 10
FIG. 4: Wiring for Type 1 throttles .................................................... 12
FIG. 5: Wiring for Type 2 throttles .................................................... 13
FIG. 6: Wiring for Type 3 throttles .................................................... 14
FIG. 7: Acceleration response rate diagram ......................................... 29
FIG. 8: Braking response rate diagram................................................ 30
FIG. 9: Throttle mapping, torque control mode ................................ 34
FIG. 10: Effect of gear soften parameter, torque control mode ............ 34
FIG. 11: Effect of brake taper speed parameter, torque control mode ... 34
FIG. 12: Drive current limiting map .................................................... 37
FIG. 13: Regen current limiting map ................................................... 38
FIG. 14: Throttle adjustment ............................................................... 40
FIG. 15: Hydraulic system diagram ...................................................... 50
FIG. 16: Alternative hydraulic system ................................................... 50
FIG. 17: VCL motor command diagram, AC traction motor ............... 93
FIG. 18: VCL control mode processing ................................................ 96
FIG. 19: VCL hydraulics command diagram ........................................ 97
FIG. 20: VCL proportional driver processing ..................................... 100
TABLES
1
OVERVIEW
The Curtis 1298 motor controller combines AC traction motor control with
DC pump motor control. Advanced motor drive software provides smooth
control over full speed and torque, including regenerative braking and zero
speed control.
The 1298 is designed primarily for Class III material handling vehicles
needing solid state control of hydraulic pump motors. Generic software is
included for Walkie and Walkie-Stacker applications. Other applications can
be easily supported with alternative VCL programming.
Fig. 1 Curtis 1298
integrated traction and
hydraulic system motor
controller.
Like all Curtis controllers, the 1298 offers superior operator control of motor
drive performance. Features include:
✓ High efficiency, field-oriented motor control algorithms
✓ Advanced Pulse Width Modulation technology for efficient use
of battery voltage, low motor harmonics, low torque ripple, and
minimized switching losses
✓ Extremely wide torque/speed range including full regeneration capability
✓ Smooth low speed control, including zero speed
✓ Special features and I/O for DC pump motor and hydraulic valve
control, allowing economical control of the entire vehicle system
✓ Software selectable options for variable-speed lift and lower or
single-speed lift and lower
More Features ☞
NOTE: The 1311 ✓ Easily programmable through the Curtis 1311 handheld programmer
handheld programmer and 1314 PC Programming Station
has been superseded;
✓ CAN bus connection allows communication with other CAN bus
see Appendix D.
enabled system components such as the Curtis TH-1 tiller head;
protocol meets CANopen standards; other 11-bit identifier field
CAN protocols can be custom configured through VCL
✓ Field-programmable, with flash downloadable main operating code
✓ Thermal cutback, warning, and automatic shutdown provide protection
to traction motor and controller
✓ Rugged sealed housing and connectors meet IP65 environmental sealing
standards for use in harsh environments
✓ Insulated metal substrate power base provides superior heat transfer for
increased reliability
✓ Built-in Dual Drive software allows easy setup and control of typical
dual-drive vehicles, without VCL.
Note: If you have a dual-drive application, see the Dual Drive
Addendum to the 1298 manual, part number 38272-DD.
Familiarity with your Curtis controller will help you install and operate it prop-
erly. We encourage you to read this manual carefully. If you have questions,
please contact the Curtis office nearest you.
☞ Using the 1311 handheld programmer, you can set up the controller to per-
form all the basic operations. In this manual, we first show you how to wire
your system and adjust its performance characteristics without the use of VCL.
Then, in Section 7, we show you how to adjust the system using VCL (Vehicle
Control Language), an innovative software programming language developed
by Curtis. VCL interacts with a second, independent software realm resident
in a powerful logic controller embedded within the 1298 controller.
2
INSTALLATION AND WIRING
Fig. 2 Mounting
dimensions, Curtis 1298
motor controller.
You will need to take steps during the design and development of your
end product to ensure that its EMC performance complies with applicable
regulations; suggestions are presented in Appendix B.
The1234/36/38 controllers contain ESD-sensitive components. Use
appropriate precautions in connecting, disconnecting, and handling the con-
troller. See installation suggestions in Appendix B for protecting the controller
from ESD damage.
C AU T I O N
☞ Working on electrical systems is potentially dangerous. You should
protect yourself against uncontrolled operation, high current arcs, and
outgassing from lead acid batteries:
HIGH CURRENT ARCS — Batteries can supply very high power, and arcing can
occur if they are short circuited. Always open the battery circuit before
working on the motor control circuit. Wear safety glasses, and use properly
insulated tools to prevent shorts.
Lug assembly
Six aluminum M6 terminals are provided. Lugs should be installed as follows,
using M6 bolts sized to provide proper engagement (see diagram):
• Place the lug on top of the aluminum terminal, followed by
a high-load safety washer with its convex side on top. The
washer should be a SCHNORR 416320, or equivalent.
• If two lugs are used on the same terminal, stack them so the
lug carrying the least current is on top.
• Tighten the assembly to 10.2 ±1.1 N·m (90 ±10 in-lbs).
cables should not run across the center section of the controller. Low current
signal wires should not be run next to the motor cables. When necessary they
should cross the motor cables at a right angle to minimize noise coupling.
Motor wiring (U, V, W)
The three phase wires should be close to the same length and bundled together
as they run between the controller and the motor. The cable lengths should be
kept as short as possible. Use high quality copper lugs and observe the recom-
mended torque ratings. For best noise immunity the motor cables should not
run across the center section of the controller. In applications that seek the
lowest possible emissions, a shield can be placed around the bundled motor
cables and connected to the B- terminal at the controller. Typical installations
will readily pass the emissions standards without a shield. Low current signal
wires should not be run next to the motor cables. When necessary they should
cross the motor cables at a right angle to minimize noise coupling.
J1
* The related VCL columns are vital when writing VCL code (see Section 7).
VCL “functions” are used to access the various I/Os; VCL “references” are
predefined names for specific pins.
coil driver output to remove power from the controller and motor in the event
of various other faults. If the main contactor coil is not wired to Pin 6 of
the 35-pin connector as shown, the controller will not be able to open the
main contactor in serious fault conditions and the system will therefore
not meet EEC safety requirements.
Note that the basic wiring diagram is designed for generic applications
and may not fully meet the requirements of your system. These controllers have
very flexible I/O and wiring configurations; you may wish to contact your local
Curtis representative to discuss your particular application.
Switch 5: Lift input if Lift Switch Only Enable = On or Off (see page 51).
Switch 6: Lower input if Lower Switch Only Enable = On or Off (see page 51).
THROTTLE WIRING
Various throttles can be used with the 1298 controller. They are characterized
as one of five types in the programming menu of the 1311 programmer.
The two throttle inputs (drive throttle and hydraulic throttle) are programmed
independently.
For potentiometers, the controller provides complete throttle fault
protection that meets all applicable EEC regulations. For voltage throttles, the
controller protects against out-of-range wiper values, but does not detect wiring
faults; it is therefore the responsibility of the OEM to provide full throttle fault
protection in vehicles using voltage throttles.
Throttle types 1–3 use the forward and reverse inputs (switches 7 and 8) in
addition to the throttle pot input to define the throttle command (see Figure 17,
page 93). Throttle types 4 and 5 do not use the forward and reverse inputs (or
the Lift and Lower inputs, switches 5 and 6).
Wiring for the most common throttles is described in the following text
and shown in the accompanying illustrations. If a throttle you are planning to
use is not covered, contact the Curtis office nearest you.
Throttle Type 1
For these 2-wire resistive potentiometers, shown in Figure 4, full throttle request
corresponds to 0 Ω measured between the pot wiper pin and the Pot Low pin.
Fig. 4 Wiring for Type 1
throttles.
Broken wire protection is provided by the controller sensing the current flow
from the pot wiper input (pin 16 or 17) through the potentiometer and into
Pot Low (pin 18). If the Pot Low input current falls below 0.65 mA, a throttle
fault is generated and the throttle request is zeroed. Note: Pot Low (pin 18)
must not be tied to ground (B-).
Throttle Type 2
With these throttles, the controller looks for a voltage signal at the wiper input.
Zero throttle request corresponds to 0 V and full throttle request to 5 V. A variety
of devices can be used with this throttle input type, including voltage sources,
current sources, 3-wire pots, and electronic throttles. The wiring for each is
slightly different, as shown in Figure 5, and they have varying levels of throttle
fault protection.
When a voltage source is used as a throttle, it is the responsibility of the
OEM to provide appropriate throttle fault detection. For ground-referenced
0–5V throttles, the controller will detect open breaks in the wiper input but
cannot provide full throttle fault protection.
To use a current source as a throttle, a resistor must be added to the circuit
to convert the current source value to a voltage; the resistor should be sized to
provide a 0–5V signal variation over the full current range. It is the responsibil-
ity of the OEM to provide appropriate throttle fault detection.
When a 3-wire potentiometer is used, the controller provides full fault
protection in accordance with EEC requirements. The pot is used in its voltage
divider mode, with the controller providing the voltage source and return. Pot
High provides a current limited 5V source to the pot, and Pot Low provides
+
-
Current Source
3-wire Potentiometer
the return path. This is the throttle shown in the basic wiring diagram (Figure 3)
for the drive throttle and for the hydraulic throttle.
The ET-XXX electronic throttle is typically used only as a drive throttle.
The ET-XXX contains no built-in fault detection, and the controller will detect
only open wiper faults. It is the responsibility of the OEM to provide any ad-
ditional throttle fault detection necessary.
Throttle Type 3
For these 2-wire resistive potentiometers, shown in Figure 6, full throttle request
corresponds to 5 kΩ measured between the pot wiper pin and the Pot Low pin.
Fig. 6 Wiring for Type 3
throttles.
Broken wire protection is provided by the controller sensing the current flow
from the wiper input (pin 16 or 17) through the potentiometer and into Pot
Low (pin 18). If the Pot Low input current falls below 0.65 mA, a throttle
fault is generated and the throttle request is zeroed. Note: Pot Low (pin 18)
must not be tied to ground (B-).
Throttle Type 4
Type 4 throttles operate in wigwag style. No signals to the controller’s forward
and reverse inputs (or Lift and Lower inputs) are required; the direction is
determined by the wiper input value. Only 0–5V voltage sources and 3-wire
potentiometers can be used as Type 4 throttles. The controller interface for
Type 4 throttles is the same as for Type 2 throttles; see Figure 5. The neutral
point will be with the wiper at 2.5 V, measured between pot wiper input
(pin 16) and I/O ground return (pin 7). The controller will provide increas-
ing forward (Lift) speed as the wiper input value is increased, and increasing
reverse (Lower) speed as the wiper input value is decreased.
When a 3-wire pot is used, the controller provides full fault protection.
When a voltage throttle is used, the controller will detect open breaks in the
wiper input but cannot provide full throttle fault protection.
Throttle Type 5
Throttle Type 5 provides a different way of sending the throttle command to the
controller. This throttle type uses VCL to define the throttle signal that will be
“input” into the throttle signal chain; see Figures 16 and 18. This throttle type
can be used for either the drive throttle or the hydraulic throttle by using the
VCL variables VCL_Throttle and VCL_Hyd_Throttle. How the VCL program
is written will determine where the throttle signal originates from, making this
a very flexible throttle input method. VCL can be written to use the throttle
Digital inputs
These control lines can be used as digital (on/off ) inputs. Normal “on” connection
is direct to B+; “off ” is direct to B-. Input will pull low (off ) if no connection
is made. All digital inputs are protected against shorts to B+ or B-.
Nine of these lines (Switches 1–8, 16) are designed to pull current to keep
switch contacts clean and prevent leakage paths from causing false signals.
The remaining lines are digital inputs associated with driver outputs; note
that they have much higher input impedances. The two digital output lines can
also be read as inputs, and are therefore included in this group.
The lines at pins 24 and 8 can also be used as analog inputs, and are
included in that group as well.
* “MaxV” in this and the following tables is the controller’s maximum voltage: 30 V for 24V models,
and 45 V for 24–36V models.
Digital outputs
Seven control lines can be used as high power digital output drivers. One of
these, the proportional driver, can be operated in a current control mode for
driving a proportional valve or similar load. Each output can be independently
turned on continuously (low level) or pulse width modulated to set the average
output voltage. These outputs are intended to drive inductive loads such as
contactors and electromagnetic brakes but could also be used to drive resistive
loads if peak current ratings are not exceeded. All these outputs are protected
against shorts to B+ or B-.
These lines can also be used as digital inputs, and are included in that
group as well.
Analog inputs
Two control lines can be used as analog inputs. Both inputs are protected
against shorts to B+ or B-.
Typically Analog 2 is used as the input for the motor temperature sensor.
This input provides a constant current appropriate for a thermistor sensor. Some
standard predefined motor temperature sensors are supported in software (see
Sensor Type parameter, page 49). Note: The industry standard KTY tempera-
ture sensors are silicon temperature sensors with a polarity band; the polarity
☞ band of a KTY sensor must be the end connected to I/O Ground (pin 7).
These lines can also be used as digital inputs, and are included in that
group as well.
Analog output
A single line is available as a low power analog output and is intended to drive
instrumentation such as a battery discharge indicator. This output is generated
from a filtered PWM signal and has about 1% ripple. The 2% settling time
is <25ms for a 0–5V step and <30 ms for a 0–10V step. This output line is
protected against shorts to B+ or B-.
* Additionally must carry the current supplied to the driver loads by the coil return (pin 13).
**The combined current supplied by all seven output drivers should not exceed 10 A.
Throttle inputs
The two pot inputs are independently programmable to allow use of a voltage
throttle or a 2-wire or 3-wire resistance throttle. Voltage throttles require only
the Pot Wiper input (with I/O Ground for the return line). Resistance throttles
require Pot Wiper and Pot Low (2-wire) or Pot High, Pot Wiper, and Pot Low
(3-wire). All throttle I/O is protected against shorts to B+ or B-.
Alternatively, these two inputs can be used for analog signals other than
the throttle pot inputs. Configuring the inputs for use with other signals requires
VCL programming; see Section 7.
Communications ports
Separate CAN and serial ports provide complete communications and program-
ming capability for all user available controller information.
The Curtis 1311 handheld programmer plugs into a connector wired to
pins 28 and 29, along with ground (pin 7) and the +12V power supply (pin
25); see wiring diagram, Figure 3. The Curtis Model 840 display can plug into
the same 4-pin connector.
Wiring the CAN Term H and CAN Term L pins together provides a local
CAN termination of 120 Ω, 0.5 W; keep the length of these wires short. CAN
Term H and CAN Term L should never be connected to any external wiring.
Encoder inputs
Two control lines are internally configured to read a quadrature type position
encoder. The encoder is typically powered from the 5V supply (pin 26) or 12V
supply (pin 25), but can be powered from any external supply (from 5 V up
to B+) as long as the logic threshold requirements are met.
We strongly urge you to read Section 5, Initial Setup, before adjusting any of
the parameters.
Even if you opt to leave most of the parameters at their default settings, it
C AU T I O N
☞ is imperative that you perform the procedures outlined in Section 5, which
set up the basic system characteristics for your application.
CONTROL MODE SELECT ........... p. 25 2 - TORQUE MODE MENU CURRENT LIMITS MENU ............. p. 36
—Speed Limiter ................... p. 31 —Drive Current Limit
0 - SPEED MODE EXPRESS ....... p. 26 —Max Speed —Regen Current Limit
—Max Speed —Kp —Brake Current Limit
—Kp —Ki —EMR Current Limit
—Ki —Kd —Interlock Brake Current Limit
—Accel Rate —Response ........................ p. 32 —DC Pump Current Limit
—Decel Rate —Accel Rate —Power Limiting Map .... p. 37
—Brake Rate —Accel Release Rate —PL Nominal Speed
—Brake Rate —Delta Speed
1 - SPEED MODE MENU —Brake Release Rate —Drive Limiting Map ..... p. 37
—Speed Controller ............... p. 27 —Neutral Braking —Nominal
—Max Speed —Neutral Taper Speed —Plus Delta
—Kp —Fine Tuning ................ p. 33 —Plus 2xDelta
—Ki —Creep Torque —Plus 4xDelta
—Vel Feedforward ......... p. 27 —Brake Full Creep Cancel —Plus 8xDelta
—Kvff —Creep Build Rate —Regen Limiting Map .... p. 38
—Build Rate —Creep Release Rate —Nominal
—Release Rate —Gear Soften —Plus Delta
—Acc Feedforward ........ p. 28 —Brake Taper Speed —Plus 2xDelta
—Reversal Soften —Plus 4xDelta
—Kaff
—Max Speed Decel —Plus 8xDelta
—Kbff
—Build Rate
—Release Rate RESTRAINT MENU ..................... p. 35 THROTTLE MENU ....................... p. 39
—Response ..................... p. 29 —Restraint Forward —Throttle Type
—Full Accel Rate HS —Restraint Back —Forward Deadband
—Full Accel Rate LS —Soft Stop Speed —Forward Map
—Low Accel Rate —Position Hold ................... p. 35 —Forward Max
—Neutral Decel Rate HS —Position Hold Enable —Forward Offset
—Neutral Decel Rate LS —Kp —Reverse Deadband
—Full Brake Rate HS —Kp Deadband (Motor Deg) —Reverse Map
—Full Brake Rate LS —Kd —Reverse Max
—Low Brake Rate —Set Speed Settling Time —Reverse Offset
—Set Speed Threshold —HPD/SRO Type
—Fine Tuning ............... p. 30
—Entry Rate —Sequencing Delay
—Partial Decel Rate
—Exit Rollback Reduction —VCL Throttle Enable
—HS (High Speed)
—LS (Low Speed)
BRAKE MENU *
—Reversal Soften
—Max Speed Accel * The Brake menu is not typically
applicable to 1298 controllers. If
—Max Speed Decel
you will be using these parameters
in your application, refer to the
1234/36/38 manual.
EM BRAKE CONTROL MENU ........ p. 42 MOTOR MENU ............................ p. 48 DUAL DRIVE MENU ............ see Sec. 4
—Brake Type —Typical Max Speed of the Dual Drive
addendum, p/n 38272-DD.
—Pull In Voltage —Swap Encoder Direction
—Holding Voltage —Swap Two Phases
—Battery Voltage Comp —Encoder Steps VEHICLE MENU .......................... p. 58
—Set EM Brake On Fault —Metric Units
—Temperature Control .......... p. 49
—Set Speed Threshold —Speed to RPM
—Sensor Enable
—Release Delay —Capture Speed 1
—Sensor Type
—Set Speed Settling Time —Sensor Offset —Capture Speed 2
—Torque Preload Delay —Temperature Hot —Capture Distance 1
—Torque Preload Enable —Temperature Max —Capture Distance 2
—Torque Preload Cancel Delay —MotorTemp LOS Max Speed —Capture Distance 3
Note: All bit variables have two VCL parameter names. The first is the name
of the bit, and the second is the name of the byte containing the bit. The bit
position within the byte is indicated in brackets after the byte name.
Examples:
BIT NAME: Metric_Units
BYTE NAME: OptionBits3 [Bit 5]
BIT NAME: EMR_Dir_Interlock
BYTE NAME: EMR_Dir_Interlock_Bit0 [Bit 0]
In the second example, “_Bit0” is part of the byte name, and does not indicate
the bit position; this byte, like all bytes, has 8 available bits.
Within the menu charts, each pair of bit variable names is shown as a
grouped set, with the bit name appearing first and then the byte name:
Metric Units On/Off
Metric_Units On/Off
OptionBits3 [Bit 5]
Control Mode Select 0–2 This parameter determines which control method will be in effect when
Control_Mode_Select 0–2 programming AC traction motor response:
0 = SPEED MODE EXPRESS
1 = SPEED MODE
2 = TORQUE MODE.
Contact Curtis if you are interested in a custom control method.
Note: Do not change this parameter while the controller is powering
the motor. Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects
the controller and the operator.
☞ The overall maximum motor speed allowed is the least of these three constraints.
Max Speed 100–8000 rpm Defines the maximum requested motor rpm at full throttle. Partially-
Max_Speed_SpdMx 100–8000 applied throttle is scaled proportionately; e.g., 40% applied throttle
corresponds to a request for 40% of the set Max Speed Value.
Note: The maximum motor rpm is subject to the constraints on page 25.
Ki 5–100 % The integral term (Ki) forces zero steady state error, so the motor
Ki_SpdMx 50–1000 will run at exactly the commanded speed. Larger values provide tighter
control.
If the gain is set too high, you may experience oscillations as the
controller tries to control speed. If it is set too low, the motor may take
a long time to approach the exact commanded speed.
Accel Rate 0.1–30.0 sec. Sets the rate (in seconds) at which the speed command increases
Accel_Rate_SpdMx 100–30000 when throttle is applied. Larger values represent slower response.
Decel Rate 0.1–30.0 sec. Sets the rate (in seconds) that is used to slow down the vehicle when
Decel_Rate_SpdMx 100–30000 the throttle is reduced. Larger values represent slower response.
Brake Rate 0.1–30.0 sec. Sets the rate (in seconds) at which the vehicle slows down when throttle
Brake_Rate_SpdMx 100–30000 is applied in the opposite direction. Larger values represent slower
response.
Pump Enable On/Off This parameter should be programmed On to operate a pump motor
AC_Pump_Enable_SpdM On/Off rather than a vehicle drive motor. Speed controller responsiveness and
AC_Pump_Enable_SpdM_Bit0 [Bit 0] stability are enhanced, and the motor is allowed to turn only in the forward
direction.
Max Speed 100–8000 rpm Defines the maximum requested motor rpm at full throttle. Partially-applied
Max_Speed_SpdM 100–8000 throttle is scaled proportionately; e.g., 40% applied throttle corresponds to
a request for 40% of the set Max Speed Value.
If Max_Speed_SpdM is set <100 rpm (through VCL or CAN), the
throttle request is zeroed.
Note: The maximum motor rpm is subject to the constraints on page 25.
Ki 5–100 % The integral term (Ki) forces zero steady state error, so the motor will run
Ki_SpdM 50–1000 at exactly the commanded speed. Larger values provide tighter control.
If the gain is set too high, you may experience oscillations as the
controller tries to control speed. If it is set too low, the motor may take
a long time to approach the exact commanded speed.
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Kvff 0–500 A This velocity feedforward term is designed to improve throttle responsive-
Kvff_SpdM 0–5000 ness and speed controller performance, especially at low speeds.
For traction systems, set it to 50–70% of the current needed to
maintain a very low speed, unloaded, on flat ground.
For a pump system, set it to the lowest load current (i.e., the current
running at the minimum load). Alternatively, the responsiveness of a pump
speed control loop can be significantly enhanced by using a VCL program
to continuously update this parameter to the appropriate value as each
pump load is requested.
Build Rate 0.1–5.0 sec Determines how fast the Kvff term builds up.
Vel_FF_Build_Rate_SpdM 100–5000 For traction systems, if you feel or hear the mechanical slop pick up
abruptly when you move the throttle from neutral to a very small value,
slowing the build rate (i.e., setting it to a higher value) will soften the feel.
For a pump system, start with this parameter at the minimum setting.
Slowing it down (i.e., setting it to a higher value) will reduce speed over-
shoot if too much feedforward has been commanded.
Release Rate 0.1–2.0 sec Determines how fast the Kvff term releases. If the release seems too abrupt,
Vel_FF_Release_Rate_SpdM 100–2000 slowing the release rate (i.e., setting it to a higher value) will soften the feel.
It should be set fast enough (i.e., at a low enough value) to prevent the
vehicle from running on after throttle release.
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Build Rate 0.1–5.0 sec Determines how fast the Kaff and Kbff terms build up.
Acc_FF_Build_Rate_SpdM 100–5000 For traction systems, if you feel or hear the mechanical slop pick up
abruptly when you move the throttle from neutral to a very small value,
slowing the build rate (i.e., setting it to a higher value) will soften the feel.
For a pump system, start with this parameter at the minimum setting.
Slowing it down (i.e., setting it to a higher value) will reduce speed over-
shoot if too much feedforward has been commanded.
Release Rate 0.1–2.0 sec Determines how fast the Kaff and Kbff terms release. It should be set fast
Acc_FF_Release_Rate_SpdM 100–2000 enough (i.e., at a low enough value) to prevent the vehicle from running
on after throttle release.
Full Accel Rate HS 0.1–30.0 sec Sets the rate (in seconds) at which the speed command increases
Full_Accel_Rate_HS_SpdM 100–30000 when full throttle is applied at high vehicle speeds. Larger values
represent slower response. See Figure 7 for relationship between
Full Accel Rate HS, Full Accel Rate LS, and Low Accel Rate.
Full Accel Rate LS 0.1–30.0 sec Sets the rate (in seconds) at which the speed command increases
Full_Accel_Rate_LS_SpdM 100–30000 when full throttle is applied at low vehicle speeds.
Low Accel Rate 0.1–30.0 sec Sets the rate (in seconds) at which the speed command increases
Low_Accel_Rate_SpdM 100–30000 when a small amount of throttle is applied. This rate is typically
adjusted to affect low speed maneuverability.
Neutral Decel Rate HS 0.1–30.0 sec Sets the rate (in seconds) that is used to slow down the vehicle
Neutral_Decel_Rate_HS_SpdM 100–30000 when the throttle is released to neutral at high vehicle speeds.
Neutral Decel Rate LS 0.1–30.0 sec Sets the rate (in seconds) that is used to slow down the vehicle
Neutral_Decel_Rate_LS_SpdM 100–30000 when the throttle is released to neutral at slow vehicle speeds.
Full Brake Rate HS 0.1–30.0 sec Sets the rate (in seconds) at which the vehicle slows down from high
Full_Brake_Rate_HS_SpdM 100–30000 speeds when full brake is applied or when full throttle is applied in the
opposite direction. See Figure 8 for relationship between Full Brake
Rate HS, Full Brake Rate LS, and Low Brake Rate.
Full Brake Rate LS 0.1–30.0 sec Sets the rate (in seconds) at which the vehicle slows down from low
Full_Brake_Rate_LS_SpdM 100–30000 speeds when full brake is applied or when full throttle is applied in the
opposite direction.
Low Brake Rate 0.1–30.0 sec Sets the rate (in seconds) at which the vehicle slows down at all
Low_Brake_Rate_SpdM 100–30000 speeds when a small amount of brake is applied or when a small
amount of throttle is applied in the opposite direction.
Fig. 7 Acceleration
response rate diagram.
In this example,
HS = 70%,
LS = 30%,
Typ Max Spd = 5000 rpm.
Partial Decel Rate 0.1–30.0 sec. Sets the rate (in seconds) that is used to slow down the vehicle
Partial_Decel_Rate_SpdM 100–30000 when the throttle is reduced without being released to neutral.
Larger values represent slower response.
HS (High Speed) 0–100 % Sets the percentage of the Typical Max Speed (page 48) above which
HS 0–32767 the “HS” parameters will be used.
LS (Low Speed) 0–100 % Sets the percentage of the Typical Max Speed (page 48) below which
LS 0–32767 the “LS” parameters will be used.
Reversal Soften 0–100 % Larger values create a softer reversal from regen braking to drive
Reversal Soften_SpdM 0–3000 when near zero speed. This helps soften the transition when the regen
and drive current limits are set to different values.
Max Speed Accel 0.1–30.0 sec In some applications, the Max Speed value is changed frequently,
Max_Speed_Accel_SpdM 100–30000 through VCL or over the CAN bus. The Max Speed Accel parameter
controls the rate at which the maximum speed setpoint is allowed to
change when the value of Max Speed is raised. The rate set by this
parameter is the time to ramp from 0 rpm to Typical Max Speed rpm.
For example, suppose Max Speed is raised from 1000 rpm to 4000
rpm. If Typical Max Speed is 5000 rpm, and the rate is 10.0 seconds,
it will take 10.0 * (4000–1000) / 5000 = 6.0 seconds to ramp from 1000
rpm to 4000 rpm.
Max Speed Decel 0.1–30.0 sec This parameter works like the Max Speed Accel parameter, except that
Max_Speed_Decel_SpdM 100–30000 it controls the rate at which the maximum speed setpoint is allowed to
change when the value of Max Speed is lowered.
For example, suppose you change Max Speed from 4500 rpm
to 2500 rpm. If Typical Max Speed is 5000 rpm, and the rate is 5.0
seconds, it will take 5.0 * (4500–2500) / 5000 = 2.0 seconds to ramp
from 4500 rpm to 2500 rpm.
Fig. 8 Braking
response rate diagram.
In this example,
HS = 70%,
LS = 30%,
Typ Max Spd = 5000 rpm.
Max Speed 500–8000 rpm Defines the maximum allowed motor rpm for torque control mode
Max_Speed_TrqM 500–8000 (independent of throttle position). In torque control mode, full throttle
requests 100% of the available torque. Partially-applied throttle is scaled
proportionately; e.g., 40% applied throttle corresponds to a request for
40% of the available torque.
Note: The maximum motor rpm is subject to the constraints on page 25.
Kp 0–100 % Determines how aggressively the speed controller attempts to limit the
Kp_TrqM 0–8192 speed of the motor to Max Speed. Larger values provide tighter control.
If Kp is set too high, you may experience oscillations as the controller
tries to control speed. Setting Kp too low may result in a top speed much
higher than Max Speed.
Ki 5–100 % The integral term (Ki) forces zero steady state error, so the motor speed
Ki_TrqM 50–1000 will be limited to Max Speed. Larger values provide faster control.
If the gain is set too high, you may experience oscillations as the
controller tries to limit speed. If it is set too low, it may take a long time for
the motor to approach Max Speed from overspeed.
Kd 0–100 % Provides damping as the vehicle approaches top speed, thereby reducing
Kd_TrqM 0–8192 overshoot. If Kd is set too high, the vehicle may take too long to reach
top speed. If Kd is set too low, the vehicle may overshoot top speed,
especially when traveling downhill.
Accel Rate 0.1–30.0 sec. Sets the rate (in seconds) at which the motor torque increases to full
Accel_Rate_TrqM 100–30000 when full throttle is applied. Larger values represent slower response.
Accel Release Rate 0.1–2.0 sec. Determines how quickly deceleration will be initiated when the throttle
Accel_Release_Rate_TrqM 100–2000 is released while the vehicle is still accelerating. If the release rate
is fast (i.e., set to a low value), the transition is initiated abruptly.
The transition is smoother if the release rate is set to a higher value
(slower transition); however, setting the rate too high can cause the
vehicle to feel uncontrollable when the throttle is released, as it will
continue to drive for a short time.
Brake Rate 0.1–5.0 sec. Adjusts the rate (in seconds) at which braking torque builds as the
Brake_Rate_TrqM 100–5000 vehicle transitions from drive to braking when direction is reversed,
the brake pedal is applied, or neutral braking begins. Lower values
represent faster times and therefore faster braking; gentler braking is
achieved by setting the braking rate to a higher value.
Brake Release Rate 0.1–2.0 sec. Adjusts the rate (in seconds) at which braking torque releases as
Brake_Release_Rate_TrqM 100–2000 as the vehicle transitions from braking to drive.
Neutral Braking 0–100 % Neutral braking occurs progressively when the throttle is reduced
Neutral_Braking_TrqM 0–32767 toward the neutral position or when no direction is selected. The
neutral braking parameter is adjustable from 0 to 100% of the regen
current limit (see Current Limits menu, page 36).
Neutral Taper Speed 200–6000 rpm Determines the motor speed below which braking current is adjusted
Neutral_Taper_Speed_TrqM 200–6000 in both the positive and negative directions when throttle is reduced;
see Figure 9.
In the positive direction, the neutral braking current is linearly
reduced from 100% at the Neutral Taper Speed to the Creep Torque
current at zero rpm motor speed.
In the negative direction, the restraint current is linearly
increased from the Creep Torque current at zero rpm motor speed
to the restraint current at the Neutral Taper Speed.
Note: Setting the taper speed too low may cause oscillations in
the motor.
Creep Torque 0–100 % Determines the amount of torque applied to the vehicle at a stop with
Creep_Torque_TrqM 0–32767 no throttle input, to emulate the feel of an automatic transmission
automobile; see Figure 9. WARNING! When interlock is engaged,
creep torque allows vehicle propulsion if a direction is selected even
though no throttle is applied. Care should be taken when setting up
this parameter.
If pedal braking is enabled (see Brake menu in 1234/36/38
manual), creep torque is progressively disabled as brake is applied so
as to prevent the motor from driving into the brakes and thus wasting
energy.
Brake Full Creep Cancel 25–100 % Determines the amount of brake pedal input that will fully cancel the .
Brake_Full_Creep_Cancel_TrqM 8192–32767 creep torque. Amount of cancellation is proportional to the brake input.
Creep Build Rate 0.1–5.0 sec Determines how fast the programmed creep torque builds when
Creep_Build_Rate_TrqM 100–5000 a direction is selected.
Creep Release Rate 0.1–5.0 sec Determines how fast the programmed creep torque releases when the
Creep_Release_Rate_TrqM 100–5000 brake is cancelling the creep torque or when the direction switches are
cleared (neutral).
Gear Soften 0–100 % Adjusts the throttle take-up from linear (0% setting) to an S curve.
Gear_Soften_TrqM 0–5000 Larger values create softer throttle take-up, in forward and reverse.
Softening is progressively reduced at higher speeds; see Figure 10.
Brake Taper Speed 200–6000 rpm Determines the motor speed below which the maximum braking current
Brake_Taper_Speed_TrqM 200–6000 is linearly reduced from 100% to 0% at zero speed; see Figure 11.
Setting the taper speed too low for the braking current will cause
oscillations in the motor as it attempts to brake the vehicle to a stop
on very steep slopes.
Taper speed is applicable only in response to brake pedal input; it
does not affect direction reversal braking or neutral braking.
Reversal Soften 0–100 % Larger values create a softer reversal from regen braking to drive
Reversal_Soften 0–3000 when near zero speed. This helps soften the transition when the regen
and drive current limits are set to different values.
Max Speed Decel 0.1–30.0 sec In some applications, the Max Speed value is changed frequently,
Max_Speed_Accel_TrqM 100–30000 through VCL or over the CAN bus. The Max Speed Accel parameter
controls the rate at which the maximum speed setpoint is allowed to
change when the value of Max Speed is lowered. The rate set by this
parameter is the time to ramp from Typical Max Speed rpm to 0 rpm.
For example, suppose you change Max Speed from 3000 rpm to
1000 rpm. If Typical Max Speed is 5000 rpm, and the rate is 5.0 sec-
onds, it will take 5.0 * (3000–1000) / 5000 = 2.0 seconds to ramp from
3000 rpm to 1000 rpm.
Fig. 10 Effect
of Gear Soften parameter
(torque control mode). %
0% 25
%
50
%
75 0%
n
= = = = 10
=
ofte
rS
TORQUE
ea
G
TIME
RESTRAINT MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Restraint Forward 0–100 % Increases torque when on a steep hill in order to limit roll-forward speed.
Restraint_Forward 0–32767 Setting this parameter too high may cause oscillations in the motor as it
attempts to limit the roll-forward speed.
Restraint Back 0–100 % Increases torque when on a steep hill in order to limit roll-back speed.
Restraint_Back 0–32767 Setting this parameter too high may cause oscillations in the motor as it
attempts to limit the roll-back speed.
Soft Stop Speed 0–500 rpm Defines the speed below which a much slower decel rate is used.
Soft_Stop_Speed 0–500 A setting of zero disables the function. Note: This parameter works only
in Speed Mode and Speed Mode Express.
Soft Stop Speed is useful for vehicles that have fast deceleration
and vehicles operating on ramps using the Position Hold function.
With vehicles that have fast deceleration, the driver may find the
final speed reduction to zero rpm uncomfortable; the vehicle may even
rock back as a result of tire wind-up. Soft Stop Speed allows the vehicle
to slow at the same fast rate until it reaches the set threshold, at which
point it changes to a slower (softer) deceleration rate. However, if the
threshold is set too high, the vehicle will feel like it is “running on.”
When throttle is released on a ramp, the vehicle may roll back
before Position Hold (see below) takes control. Soft Speed Stop can be
used to reduce the amount of rollback, but shouldn’t be set so high the
vehicle drives up the ramp after the throttle is released.
POSITION HOLD MENU [SPEED MODE & SPEED MODE EXPRESS only]
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Position Hold Enable On/Off Allows the Position Hold mode to be entered at zero throttle when
Position_Hold_Enable On/Off the vehicle comes to a stop.
Position_Hold_Enable_Bit0 [Bit 0] Note: EM Brake Type = 2 also enables the Position Hold function.
Kp Deadband (motor degrees) 0–720 motor degrees Allows a position feedback deadband around the setpoint,
Kp_Deadband_Position_Hold 0–8192 to help avoid instability caused by gear slop.
Kd 0–100 % Determines the damping in Position Hold mode. Some damping must
Kd_Position_Hold 0–8192 be present in the control system to keep the vehicle from oscillating
slowly (“bouncing”). High Kd will improve the dynamic response of the
Position Hold controller, but too much Kd will cause fast instability.
Set Speed Settling Time 0–5000 rpm This parameter appears twice in the menu structure. For description,
Set_Speed_Settling_Time 0–156 see EM Brake Control menu, page 43.
Set Speed Threshold 5–100 rpm This parameter appears twice in the menu structure. For description,
Set_Speed_Threshold 5–100 see EM Brake Control menu, page 43.
Entry Rate 5–100 % When the vehicle transitions from forward speed to reverse speed
Entry_Rate_Position_Hold 50–1000 or from reverse speed to forward speed (for example, when coming to a stop
going up a steep ramp), Position Hold is automatically entered immediately
at zero speed—regardless of this parameter.
This parameter applies when the vehicle needs to be brought to
a stop without the assistance of gravity (for example, when moving forward
down a ramp). This rate determines how quickly zero speed is attained after
the ramped speed request reaches zero. Setting this parameter too high
will make the stop seem very abrupt, and may even cause the vehicle to
roll back slightly. When the parameter is set lower, the vehicle take longer to
come to a stop and enter Position Hold mode.
Exit Rollback Reduction 0–100 % This function is applicable only when the Torque Preload function has
Exit_Rollback_Reduction 0–2048 been disabled (see EM Brake menu), or its timer has expired. It introduces a
proportional feedforward term into the speed controller based on the position
signal. For example, suppose the vehicle is on a ramp and a forward throttle
request is given such that the vehicle rolls back slightly before climbing
the ramp (again, assuming the torque preload function is inactive). As the
vehicle rolls back a feedforward torque term proportional to the rollback posi-
tion will be added to the torque request until forward speed is sensed.
Drive Current Limit 5–100 % Sets the maximum RMS current the controller will supply to the motor
Drive_Current_Limit 1638–32767 during drive operation, as a percentage of the controller’s full rated
current.* Reducing this value will reduce the maximum drive torque.
Regen Current Limit 5–100 % Sets the maximum RMS regen current, as a percentage of the controller’s
Regen_Current_Limit 1638–32767 full rated current.* The regen current limit applies during neutral braking,
direction reversal braking, and speed limiting when traveling downhill.
Brake Current Limit 5–100 % Sets the maximum RMS regen current during braking when a brake
Brake_Current_Limit 1638–32767 command is given, as a percentage of the controller’s full rated current.*
Typically the brake current limit is set equal to the regen current limit.
The brake current limit overrides the regen current limit when the brake
input is active.
EMR Current Limit 5–100 % Sets the maximum RMS current allowed for braking and drive when in
EMR_Current_Limit 1638–32767 emergency reverse. The emergency reverse current limit is a percentage
of the controller’s full rated current.*
Interlock Brake Current Limit 5–100 % Sets the maximum RMS regen current during interlock braking, as a
Interlock_Brake_Current_Limit 1638–32767 percentage of the controller’s full rated current.*
DC Pump Current Limit 5–100 % Sets the maximum current the controller will supply to the pump motor
DC_Pump_Current_Limit 1638–32767 during lift operation, as a percentage of the controller’s full rated current.*
Nominal Speed 100–4000 rpm Sets the base speed that will be used in the drive limiting map and
PL_Nominal_Speed 100–4000 regen limiting map.
Delta Speed 50–1000 rpm Sets the width of the delta increment that will be used in the drive limiting
PL_Delta_Speed 50–1000 map and regen limiting map.
Plus Delta 0–100 % Sets These parameters define the percentage of drive current limit
PL_Drive_Nominal_Plus_Delta 0–32767 that will be applied at the speeds defined by the nominal speed
and delta speed parameters. The resulting map allows the
Plus 2xDelta 0–100 % Sets controller to reduce the drive current as a function of speed.
PL_Drive_Nominal_Plus_2xDelta 0–32767 Reducing the power requirements at certain speeds
restricts performance. This can be useful for reducing motor
Plus 4xDelta 0–100 % Sets heating. It can also be used to keep consistent vehicle power
PL_Drive_Nominal_Plus_4xDelta 0–32767 with changing battery state-of-charge.
Fig. 12 Drive
current limiting map
(typical example).
Fig. 13 Regen
current limiting map
(two examples).
THROTTLE MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Throttle Type 1–5 The 1298 controller accepts a variety of throttle inputs. The throttle
Throttle_Type 1–5 type parameter can be programmed as follows:
Note: Do not change this parameter while the controller is powering the
motor. Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects
the controller and the operator.
Forward Deadband 0–5.00 V Defines the wiper voltage at the throttle deadband threshold. Increasing
Forward_Deadband 0–32767 the throttle deadband setting will increase the neutral range. This
parameter is especially useful with throttle assemblies that do not reliably
return to a well-defined neutral point, because it allows the deadband to
be defined wide enough to ensure that the controller goes into neutral
when the throttle mechanism is released.
Forward Map 0–100 % Modifies the vehicle’s response to the throttle input. Setting the throttle
Forward_Map 0–32767 map at 50% provides a linear output response to throttle position. Values
below 50% reduce the controller output at low throttle settings, providing
enhanced slow speed maneuverability. Values above 50% give the vehicle
a faster, more responsive feel at low throttle settings.
The map value is the percentage of controller output at half throttle
((deadband + max)/2).
Forward Max 0–5.00 V Defines the wiper voltage required to produce 100% controller output.
Forward_Max 0–32767 Decreasing the throttle max setting reduces the wiper voltage and
therefore the full stroke necessary to produce full controller output.
This parameter allows reduced-range throttle assemblies to be
accommodated.
Forward Offset 0–100 % Defines the initial controller output generated when the throttle is first
Forward_Offset 0–32767 rotated out of the neutral deadband. For most vehicles, a setting of 0
is appropriate. For heavy vehicles, however, increasing the offset may
improve controllability by reducing the amount of throttle required to start
the vehicle moving.
HPD/SRO Type 0–3 Determines the type of HPD/SRO protection. One type of checks is available
HPD_SRO_Type 0–3 for material-handling vehicles, and two types for golf-style vehicles.
OptionBits1 [Bit 4] If any of the HPD/SRO checks finds an input sequencing problem, an
HPD/Sequencing Fault (flash code 47) is set.
Sequencing Delay 0.0–5.0 sec. Typically the sequencing delay feature allows the interlock switch to be cycled
Sequencing_Delay 0–312 within a set time (the defined sequencing delay), thus preventing inadvertent
activation of HPD/SRO. This feature is especially useful in applications where
the interlock switch may bounce or be momentarily cycled during operation.
VCL Throttle Enable On/Off When programmed On, the throttle processing with fault detection will operate
VCL_Throttle_Enable On/Off normally; however, the throttle command (see Figure 17, page 93) will require
VCL_Throttle_Enable_Bit0 [Bit 0] VCL to define the connection between the OS_Throttle and VCL_Throttle
variables. This allows VCL flexibility and customization of throttle processing,
while still allowing Throttle_Type 1–4 with throttle fault detection.
Brake Type 0–2 The brake type parameter determines how the EM brake responds to the
EM_Brake_Type 0–2 interlock input, throttle, and vehicle motor speed.
0 EM brake function disabled. The EM brake driver (PWM2) is
released to general I/O use with VCL.
1 EM brake controlled by interlock. The controller will command the
EM brake to release whenever the interlock is closed (Interlock =
On). If interlock braking is enabled and the interlock opens
when the vehicle is moving at motor speed greater than
EM_Brake_Set_Speed_Threshold, the controller will brake the
vehicle to a stop (with interlock braking) and then command the EM
brake to set. If the vehicle motor speed is less than this threshold,
the EM brake will engage after the Sequencing_Delay has expired.
If interlock braking is disabled, the EM brake will engage after
the Sequencing_Delay has expired.
2 EM brake controlled by interlock and neutral. The controller will
command the EM brake to set whenever the throttle command is
zero and motor speed is less than EM_Brake_Set_Speed_Threshold.
Position Hold will be enabled automatically.
Pull In Voltage 0–100 % The EM brake pull-in voltage allows a high initial voltage when the EM
EM_Brake_Pull_In_Voltage 0–32767 brake first turns on, to ensure brake release. After 1 second, this peak
voltage drops to the EM brake holding voltage.
To protect the driver hardware from overcurrent, the software puts a
limitation on driver output PWM. A PWM output of 1–59% is not allowed
and the software will “round up” the PWM to 60%. Setting this parameter
to a value <60% will therefore result in an output PWM of at least 60%.
Note: The Battery Voltage Compensated parameter controls whether
the pull-in and holding voltages are battery voltage compensated.
Holding Voltage 0–100 % The EM brake holding voltage allows a reduced average voltage to be
EM_Brake_Holding_Voltage 0–32767 applied to the brake coil once the brake has been released. This
parameter must be set high enough to hold the brake released under all
shock and vibration conditions the vehicle will be subjected to.
To protect the driver hardware from overcurrent, the software puts a
limitation on driver output PWM. A PWM output of 1–59% is not allowed
and the software will “round up” the PWM to 60%. Setting this parameter
to a value <60% will therefore result in an output PWM of at least 60%.
Note: The Battery Voltage Compensated parameter controls whether
the pull-in and holding voltages are battery voltage compensated.
Battery Voltage Compensated On/Off This parameter determines whether the EM brake pull-in and holding
EM_Brake_Battery_Voltage_ On/Off voltages are battery voltage compensated. When set On, the pull-in and
Compensated holding voltages are compensated relative to the set Nominal Voltage (see
EM_Brake_Battery_Voltage_ Battery menu, page 55). In other words, the output voltage is adjusted to
Compensated_Bit0 [Bit 0] compensate for swings in battery voltage, so the percentage is relative to
the set Nominal Voltage—not to the actual voltage.
For example, suppose Nominal Voltage is set to 48V and Holding
Voltage is set to 75% (36V) to the output driver. Now suppose the bus volt-
age dips to 40V. If Battery Voltage Compensated = On, the output will still
be 36V (Nominal Voltage × Holding Voltage) to the coil. If Battery Voltage
Compensated = Off, the output will be 30V (Actual Voltage × Holding Volt-
age) to the coil.
Set EM Brake On Fault On/Off When programmed On, the controller’s operating system will drop the
EM_Brake_Set_Upon_Fault On/Off electromagnetic brake when a fault occurs that has a fault action of
EM_Brake_Set_Upon_ ShutdownEMBrake. See Section 8 for a list of all the faults that have a fault
Fault_Bit0 [Bit 0] action of ShutdownEMBrake.
Set Speed Threshold 5–100 rpm Determines the speed below which the EM brake will be commanded
Set_Speed_Threshold 5–100 to set. Setting this speed too high may cause a jerky stop when the EM
brake sets and stops the motor.
Release Delay 40–2000 msec Estimated time for the EM brake to physically release after the pull-in
EM_Brake_Release_Delay 5–250 voltage is applied. This is used to ensure the position hold torque buildup
is complete before the brake releases. When set too low, the vehicle may
experience rollback on EM brake release.
Set Speed Settling Time 0–5000 msec Determines how long the position hold function is allowed to operate
Set_Speed_Settling_Time 0–156 before the EM brake is set. This time should be set long enough for the
position hold to settle.
Note: This parameter is applicable only when Speed Mode or Speed
Mode Express is selected and either Position Hold Enable = On or EM
Brake Type = 2.
Torque Preload Delay 0–800 msec Estimated worst-case time to build up the torque required to hold the
EM_Brake_Torque_Preload_ 0–100 vehicle stationary on a hill prior to EM brake release. This is used in
Delay conjunction with Release Delay to determine when to release the brake
and allow the speed request to slew away from zero.
Note: This parameter is applicable only when Speed Mode or Speed
Mode Express is selected and either Position Hold Enable = On or EM
Brake Type = 2.
Torque Preload Enable On/Off When enabled, this function eliminates rollback when the throttle is
EM_Brake_Torque_Preload_Enable On/Off re-engaged on a ramp by forcing the vehicle to first enter position-hold
EM_Brake_Torque_Preload_ before setting the EM brake, and then “remembering” the amount of torque
Enable_Bit0 [Bit 0] that was necessary to hold it on the ramp. When throttle is re-engaged,
this value is loaded in the motor before the EM brake is released. The
torque value is cleared automatically when KSI power is cycled.
Off = When a valid throttle input is received, the speed controller will
start with no torque preload as soon as the Release Delay expires. This will
allow some rollback when the EM brake releases.
On = When a valid throttle input is received, the speed controller will
start with a pre-set torque as measured by position-hold when the vehicle
came to a stop.
Note: This parameter is applicable only when Speed Mode or Speed
Mode Express is selected and either Position Hold Enable = On or EM
Brake Type = 2.
Torque Preload Cancel Delay 0–120 sec The timer starts after the EM brake is set. If the timer expires before the
EM_Brake_Torque_Preload_ 0–15000 throttle is re-engaged, the torque preload memory will be cleared. Setting
Cancel_Delay this parameter to zero disables the timer, i.e., the preload is never
cancelled. The purpose of this delay is to prevent the vehicle from lunging
forward if it is unloaded on a hill such that the torque measured by
position-hold is no longer valid.
Note: This parameter is applicable only when Torque Preload Enable =
On (see conditions above).
Main Enable On/Off When programmed On, the controller’s native software controls the main
Main_Enable On/Off contactor when the interlock is enabled or when Pump_Throttle >0.
OptionBits1 [Bit 0] When programmed Off, the contactor is controlled by VCL. Note: With
Main Enable programmed Off, the controller will not be able to open the
main contactor in serious fault conditions and the system will therefore not
meet EEC safety requirements.
Pull In Voltage 0–100 % The main contactor pull-in voltage parameter allows a high initial voltage
Main_Pull_In_Voltage 0–32767 when the main contactor driver first turns on, to ensure contactor closure.
After 1 second, this peak voltage drops to the contactor holding voltage.
To protect the driver hardware from overcurrent, the software puts a
limitation on driver output PWM. A PWM output of 1–59% is not allowed
and the software will “round up” the PWM to 60%. Setting this parameter
to a value <60% will therefore result in an output PWM of at least 60%.
Note: The Battery Voltage Compensated parameter (below) controls
whether the pull-in and holding voltages are battery voltage compensated.
Holding Voltage 0–100 % The main contactor holding voltage parameter allows a reduced average
Main_Holding_Voltage 0–32767 voltage to be applied to the contactor coil once it has closed. This param-
eter must be set high enough to hold the contactor closed under all shock
and vibration conditions the vehicle will be subjected to.
To protect the driver hardware from overcurrent, the software puts a
limitation on driver output PWM. A PWM output of 1–59% is not allowed
and the software will “round up” the PWM to 60%. Setting this parameter
to a value <60% will therefore result in an output PWM of at least 60%.
Note: The Battery Voltage Compensated parameter (below) controls
whether the pull-in and holding voltages are battery voltage compensated.
Battery Voltage Compensated On/Off This parameter determines whether the main pull-in and holding voltages
Main_Driver_Battery_Voltage_ On/Off are battery voltage compensated. When set On, the pull-in and holding
Compensated voltages are set relative to the set Nominal Voltage (see Battery menu,
Main_Driver_Battery_Voltage_ page 55). In other words, the output voltage is adjusted to compensate for
Compensated_Bit0 [Bit 0] swings in battery voltage, so the percentage is relative to the set Nominal
Voltage—not to the actual voltage.
For example, suppose Nominal Voltage is set to 48V and Holding
Voltage is set to 75% (36V) to the output driver. Now suppose the bus volt-
age dips to 40V. If Battery Voltage Compensated = On, the output will still
be 36V (Nominal Voltage × Holding Voltage) to the coil. If Battery Voltage
Compensated = Off, the output will be 30V (Actual Voltage × Holding Volt-
age) to the coil.
Open Delay 0–40 sec. Applicable only when Interlock Type = 0 or 1. The delay can be set to allow the
Open_Delay 0–2500 contactor to remain closed for a period of time (the delay) after the interlock
switch is opened. The delay is useful for preventing unnecessary cycling of the
contactor and for maintaining power to auxiliary functions that may be used for
a short time after the interlock switch has opened.
Checks Enable On/Off When programmed On, the controller performs ongoing checks to ensure that
Checks_Enable On/Off the main contactor has closed properly each time it is commanded to do so,
OptionBits1 [Bit 2] and that it has not welded closed. These checks (Main Contactor Welded and
Main Contactor Did Not Close) are not performed if this parameter is Off. The
main contactor driver, however, is always protected from short circuits.
Main DNC Threshold 0–84.0 V When Checks Enable = On, this parameter is used as the threshold for
Main_DNC_Threshold 0–5376 detecting a Main Did Not Close fault. The Main DNC Threshold is the
maximum voltage difference between the Keyswitch and Capacitor
voltages. When the voltage difference is above this threshold, and the
battery current is low, a Main Did Not Close fault will be set. Setting this
parameter lower will increase the sensitivity of the fault detect. Setting this
parameter too low may cause false fault trips due to normal voltage drops
between the keyswitch and capacitor voltages.
Setting this parameter = 0 V will disable the Main Did Not Close fault
check.
Precharge Enable On/Off Turns the precharge feature on and off. Precharge provides a limited
Precharge_Enable On/Off current charge of the controller’s internal capacitor bank before the main
OptionBits2 [Bit 6] contactor is closed. This decreases the arcing that would otherwise occur
when the contactor is closed with the capacitor bank discharged.
PD Enable On/Off Determines how the PWM of the proportional driver is controlled.
PD_Enable On/Off When programmed On, it is controlled by the controller’s PD current control
OptionBits1 [Bit 6] software. When programmed Off, it is controlled by the VCL function
Put_PWM (PWM5, value); see Figure 20, page 100.
Hyd Lower Enable On/Off When programmed On, lowering is controlled by throttle position.
Hyd_Lower_Enable On/Off When programmed Off, lowering is controlled by the VCL variable VCL_PD_
OptionBits1 [Bit 7] Throttle; see Figure 20, page 100.
PD Max Current 0.0–2.0 A * The Lower speed is determined by the aperture of the proportional valve.
PD_Max_Current 0–607 This parameter sets the maximum allowed current through the valve,
which in turn defines its aperture.
PD Min Current 0.0–2.0 A * Sets the minimum allowed current through the proportional valve.
PD_Min_Current 0–607 Most proportional valves need a non-zero closed current in order to start
opening immediately when Lower is requested.
PD Dither % 0–100 % * Dither provides a constantly changing current in the coil to produce a rapid
PD_Dither_Percent 0–32767 back-and-forth motion of the valve; this keeps the valve lubricated and allows
low-friction, precise movement. The PD Dither % parameter specifies the
amount of dither as a percentage of the PD max current, and is applied in
a continuous cycle of add%-subtract%.
PD Dither Period 16–112 msec * Sets the period for proportional valve dither.
PD_Dither_Period 1–7
PD Kp 1–100 % * Sets the proportional gain of the current feedback controller. Higher gains
PD_Kp 82–8192 force the control loop to respond quickly but may cause oscillations.
PD Ki 1–100 % * Sets the integral gain of the current feedback controller. Integral gain tries
PD_Ki 327–32767 to force the error to zero. Higher gains force the control loop to respond
quickly but may cause oscillations.
External Supply Max 5–200 mA Sets the upper threshold of the combined current of the 5V and 12V
External_Supply_Max 52–800 external supplies. At or above this threshold a fault will be created that
can be read by VCL.
External Supply Min 5–200 mA Sets the lower threshold of the combined current of the 5V and 12V
External_Supply_Min 52–800 external supplies. At or below this threshold a fault will be created that
can be read by VCL.
MOTOR MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Typical Max Speed 500–8000 rpm Set this parameter to the typical maximum motor speed of the vehicle.
Typical_Max_Speed 500–8000 This value does not need to be set precisely; an estimate will do.
All of the vehicle response rates are normalized to Typical Max Speed.
For example, suppose Typical_Max_Speed is fixed at 6000 rpm, and
Full_Accel_Rate_LS_SpdM = 3.0 seconds:
If Max_Speed_SpdM = 6000 rpm, it will take 3.0 sec to accelerate from
zero to top speed (6000 rpm).
If Max_Speed_SpdM = 3000 rpm, it will take 1.5 sec to accelerate from
zero to top speed (3000 rpm).
If Max_Speed_SpdM = 1000 rpm, it will take 0.5 sec to accelerate from
zero to top speed (1000 rpm).
Swap Encoder Direction On/Off Changes the motor encoder’s effective direction of rotation. The encoder
Swap_Encoder_Direction On/Off provides data used to calculate motor position and speed. This parameter
OptionBits3 [Bit 0] must be set such that when the motor is turning forward, the controller
reports back a positive motor speed.
Positive motor speed must be in the forward direction in order
for the emergency reverse feature to operate properly.
Note: Do not change this parameter while the controller is powering the
motor. Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects
the controller and the operator.
Swap Two Phases On/Off If, after Swap Encoder Direction has been set correctly, the vehicle drives
Swap_Two_Phases On/Off in the wrong direction (i.e., drives forward when in reverse, and vice
OptionBits3 [Bit 3] versa), try changing the setting of the Swap Two Phases parameter. This
parameter has the same effect as physically swapping the cables on any
two of the three motor phase connections.
Positive motor speed must be in the forward direction in order
for the emergency reverse feature to operate properly.
Note: Do not change this parameter while the controller is powering the
motor. Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects
the controller and the operator.
Encoder Steps 32–256 Sets the number of encoder pulses per revolution. This must be set to
Encoder_Steps 32–256 match the encoder; see motor nameplate.
Note: Do not change this parameter while the controller is powering
the motor. Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects
the controller and the operator.
Sensor Enable On/Off When programmed On, the motor temperature cutback and the motor
MotorTemp_Sensor_Enable On/Off temperature compensation features are enabled. This parameter can be
OptionBits3 [Bit 1] used only if a temperature sensor has been properly configured.
The motor temperature cutback feature will linearly cutback the drive
current from 100% to 0% between the Temperature Hot and Temperature
Max temperatures.
The motor temperature compensation feature will adapt the motor
control algorithms to varying motor temperatures, for improved efficiency
and more consistant performance.
Sensor Type 1–5 Five sensor types are predefined in the software:.
MotorTemp_Sensor_Type 1–5 Type 1 KTY83–122
Type 2 2× Type 1, in series
Type 3 KTY84–130 or KTY84–150
Type 4 2× Type 3, in series
Type 5 PT1000.
Custom sensor types can be set up easily, if none of the five predefined
types is appropriate for your application. Please contact your Curtis
customer support engineer.
Sensor Temp Offset -20 – 20 °C Often the sensor is placed in the motor at a location with a known offset
MotorTemp_Sensor_Offset -200–200 to the critical temperature; the offset can be corrected with this parameter.
The parameter can also be used to correct a known offset in the sensor
itself.
Temperature Hot 0–250 °C Defines the temperature at which drive current cutback begins.
MotorTemp_Hot 0–2500
Temperature Max 0–250 °C Defines the temperature at which drive current is cut back to zero.
MotorTemp_Max 0–2500
MotorTemp LOS Max Speed 100–3000 rpm When a Motor Temp Sensor Fault (fault code 29) is set, a LOS (Limited
MotorTemp_LOS_Max_Speed 100–3000 Operating Strategy) mode is engaged. The maximum speed is reduced to
the programmed Max Speed in the operating mode (Max_Speed_SpdMx,
Max_Speed_SpdM, Max_Speed_TrqM) or to the programmed MotorTemp_
LOS_Max_Speed, whichever is lower.
HYDRAULIC OPERATION
The 1298 controls the speed of the pump motor, and also the valves on the Lift
cylinder’s hydraulic line. By so doing, it controls the hydraulic path for Lift and
Lower operations. The hydraulic path for any other hydraulic operations (e.g.,
reach, tilt, sideshift, rotate) is provided by the vehicle manufacturer, with the 1298
controlling the pump motor speed. VCL programming and spare 1298 inputs
and outputs could be used to control the other hydraulic valves.
The various hydraulics parameters are used to adjust the system’s operating
characteristics—its acceleration, speed, and responsiveness. These parameters
allow the hydraulic system to be tailored to a specific application, or to a specific
operator’s preferences.
HYDRAULICS MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Lift Switch Only Enable On/Off When programmed On, closing the Lift switch turns on the DC pump,
Lift_Switch_Only_Enable On/Off at its maximum speed.
OptionBits4 [Bit 4] When programmed Off, DC pump speed varies according to the position
of the hydraulic throttle.
Note: Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects the
controller and the operator.
Lower Switch Only Enable On/Off When programmed On, closing the Lower switch opens the proportional valve
Lower_Switch_Only_Enable On/Off completely.
OptionBits4 [Bit 5] When programmed Off, the aperture of the proportional valve varies
according to the position of the hydraulic throttle.
Note: Any time this parameter is changed a Parameter Change Fault
(fault code 49) is set and must be cleared by cycling power; this protects the
controller and the operator.
Pump Max PWM 10–100% Defines the maximum allowed armature PWM output during pump operation.
Pump_Max_PWM 3276–32767 Setting the max PWM sets the maximum speed of the pump motor.
Pump Accel Rate 0.1–2.0 sec Sets the acceleration rate of the throttle request to the DC pump.
Pump_Accel_Rate 100–2000 Higher values mean slower acceleration.
Pump Decel Rate 0.1–2.0 sec Sets the deceleration rate of the throttle request to the DC pump.
Pump_Decel_Rate 100–2000 Higher values mean slower deceleration.
Lower Accel Rate 0.1–2.0 sec Sets the acceleration rate of the current request to the proportional valve
Lower_Accel_Rate 100–2000 that controls the lowering function. Higher values mean slower acceleration.
Lower Decel Rate 0.1–2.0 sec Sets the deceleration rate of the current request to the proportional valve
Lower_Decel_Rate 100–2000 that controls the lowering function. Higher values mean slower deceleration.
Load Hold Enable On/Off When programmed On, the load hold valve is controlled by Driver 4.
Load_Hold_Enable On/Off If your application does not include a load hold valve, set this
Load_Hold_Enable_Bit0 [Bit 0] parameter Off.
Load Hold Delay 0–2048 msec Defines how long the load hold valve is kept open at the end of a lift or lower
Load_Hold_Delay 0–256 action (i.e., after pump speed has reached zero at completion of a lift action,
or after the proportional valve has closed at completion of a lowering action).
The load hold valve is either open or shut, which means it closes abruptly.
To prevent jitter it is important that the delay time be set long enough for the
hydraulic fluid to stop flowing before the load hold valve snaps shut.
Lift BDI Lockout On/Off When programmed On, this parameter enables a check of the
Lift_BDI_Lockout On/Off BDI_Percentage variable. When BDI_Percentage falls to 0%,
OptionBits4 [Bit 0] the Pump BDI fault is set and pump operation is locked out starting
with the next pump operation.
Hyd Inhibit Type (HPD) 0–3 The hydraulic inhibit function prohibits lift or lowering operation if the
Hyd_Inhibit_Type 0–3 hydraulic throttle request is greater than 25% within 250 msec of KSI
being turned on.
The following types of hydraulic inhibit can be set:
0 = Hydraulic inhibit disabled.
1 = Hydraulic inhibit enabled for lift (pump) operation
and disabled for lowering operation.
2 = Hydraulic inhibit enabled for lowering operation
and disabled for lift (pump) operation.
3 = Hydraulic inhibit enabled for both lift (pump)
and lowering operation.
For variable speed control, a throttle is required. Without a throttle, when the
Lift switch is closed the pump accelerates to the set maximum pump speed in
the set Pump Accel time; when the Lower switch is closed, the lowering valve
current ramps from 0% to 100% in the set Lower Accel time.
Hyd Throttle Type 1–5 The 1298 controller accepts a variety of throttle inputs. The hydraulic
Hyd_Throttle_Type 1–5 throttle type parameter can be programmed as follows:
1 2-wire rheostat, 5kΩ–0 input
2 single-ended 3-wire 1kΩ–10kΩ potentiometer,
or 0–5V voltage source
3 2-wire rheostat, 0–5kΩ input
4 wigwag 3-wire 1kΩ–10kΩ potentiometer,
or 0–5V voltage source
5 VCL input (VCL_Hyd_Throttle)
Note: Any time this parameter is changed a Parameter Change Fault (fault
code 49) is set and must be cleared by cycling power; this protects the
controller and the operator.
Lift Deadband 0–5.00 V Defines the wiper voltage at the hydraulic throttle deadband threshold.
Lift_Deadband 0–32767 Increasing the hydraulic throttle deadband setting will increase the neu-
tral range.
This parameter is especially useful with throttle assemblies that do
not reliably return to a well-defined neutral point, because it allows the
deadband to be defined wide enough to ensure that the controller goes
into neutral when the throttle mechanism is released.
Lift Map 10–100% Modifies the pump’s response to the hydraulic throttle input. Setting
Lift_Map 3276–32767 the lift map at 50% provides linear output response to hydraulic throttle
position. Values below 50% reduce controller output at low hydraulic
throttle settings, thus providing enhanced low-speed control of the pump.
Values above 50% give the pump a faster, more responsive feel at low
throttle positions.
The map value is the percentage of controller output at half throttle
((deadband + max) / 2).
Lift Max 0–5.00 V Defines the wiper voltage required to produce 100% pump output.
Lift_Max 0–32767 Decreasing the lift max setting reduces the wiper voltage and therefore
the full stroke necessary to produce full pump output. This parameter al-
lows reduced-range throttle assemblies to be accommodated.
Lift Offset 0–100% Defines the initial pump output generated when the hydraulic throttle is
Lift_Offset 0–32767 first rotated out of the neutral deadband. For most pump systems, a set-
ting of zero is appropriate. For some pump systems, however, increasing
the offset may improve controllability by reducing the amount of throttle
required to start the pump load moving.
Lower Deadband 0–5.00 V Defines the wiper voltage at the hydraulic throttle deadband threshold.
Lower_Deadband 0–32767 Increasing the hydraulic throttle deadband setting will increase the neu-
tral range.
This parameter is especially useful with throttle assemblies that do
not reliably return to a well-defined neutral point, because it allows the
deadband to be defined wide enough to ensure that the controller goes
into neutral when the throttle mechanism is released.
Lower Map 10–100% Modifies the proportional valve driver’s response to the hydraulic throttle
Lower_Map 3276–32767 input. Setting the lower map at 50% provides linear output response to
hydraulic throttle position. Values below 50% reduce the driver’s output at
low hydraulic throttle settings, thus providing enhanced low-speed control
of the proportional valve. Values above 50% give the proportional valve a
faster, more responsive feel at low throttle positions.
The map value is the percentage of controller output at half throttle
((deadband + max) / 2).
Lower Max 0–5.00 V Defines the wiper voltage required to produce 100% proportional valve
Lower_Max 0–32767 driver current. Decreasing the lower max setting reduces the wiper
voltage and therefore the full stroke necessary to produce full driver
current. This parameter allows reduced-range throttle assemblies to be
accommodated.
Lower Offset 0–100% Defines the initial proportional valve driver current generated when the
Lower_Offset 0–32767 hydraulic throttle is first rotated out of the neutral deadband. For most
hydraulic systems, a setting of zero is appropriate. For some hydraulic
systems, however, increasing the offset may improve controllability by
reducing the amount of throttle required to open the proportional valve.
VCL Hyd Throttle Enable On/Off When programmed On, this parameter provides a VCL alternative to
VCL_Hyd_Throttle_Enable On/Off Throttle Type 5, allowing you instead to select Hyd Throttle Types 1–4,
VCL_Hyd_Throttle_Enable_ which have automatic throttle fault protection.
Bit0 [Bit 0] As shown in the hydraulic command chain (Figure 19, page 97),
enabling this parameter breaks the chain—with the first part providing
normal throttle pot processing (with throttle fault protection), and the
second part under the control of VCL.
However, in order to “combine the best of both worlds,” you must write
VCL code to define the connection between the OS_Hyd_Throttle and
VCL_Hyd_Throttle variables.
This combination allows VCL flexibility and customization of hydraulic
throttle processing, while still allowing hydraulic types 1–4 with their
automatic throttle fault detection.
BATTERY MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Nominal Voltage 24–84 V Must be set to the vehicle’s nominal battery pack voltage. This parameter
Nominal_Voltage 1536–5376 is used in determining the overvoltage and undervoltage protection thresholds
for the electronic system.
Overvoltage protection cuts back regen braking to prevent damage
to batteries and other electrical system components due to overvoltage.
Undervoltage protection prevents systems from operating at voltages below
their design thresholds.
The four threshold points are calculated from the Nominal Voltage, Under-
voltage Cutback Range, User Overvoltage, and User Undervoltage parameter
settings and the controller’s minimum voltage and maximum voltage ratings:
VOLTAGE RATINGS
BROWNOUT MIN MAX
CONTROLLER VOLTAGE * VOLTAGE VOLTAGE
24V 15V 16.8V 30V
* The Brownout Voltage is determined by the controller base type and cannot
be changed. When the capacitor voltage falls below the Brownout voltage
the bridge is switched off (i.e., motor current is switched off). If the capacitor
voltage stays below the Brownout voltage for > 64 msec the controller will reset
(equivalent to cycling the keyswitch). If the capacitor voltage rises above the
Brownout voltage before 64 msec have passed the bridge will be reenabled.
The Severe Undervoltage point can be set lower than the Brownout voltage.
Undervoltage Cutback Range 2.0–14.0 V This parameter sets the voltage range between the Undervoltage and
Undervoltage_Cutback_Range 0–4096 Severe Undervoltage points (see Nominal Voltage description).
A Severe Undervoltage fault will be set if the capacitor voltage falls
below either the Severe Undervoltage point (drive current limit set to 0) or
the Brownout voltage (bridge disabled, motor current set to 0).
User Overvoltage 115–200 % The value of this parameter is a percentage of the Nominal Voltage setting.
User_Overvoltage 293–512 The User Overvoltage parameter can be used to adjust the overvoltage
threshold, which is the voltage at which the controller will cut back regen
braking to prevent damage to the electrical system.
Typically this parameter is changed only when the controller is being
used in an application at the low end of the controller’s range: such as
a 48–80V controller being used in a system with a 48V battery pack. In
this case, the overvoltage threshold can be raised by setting the User
Overvoltage to a higher value. The overvoltage threshold can never be
raised above the controller’s power base maximum voltage rating.
User Undervoltage 50–80 % The value of this parameter is a percentage of the Nominal Voltage setting.
User_Undervoltage 128–204 The User Undervoltage parameter can be used to adjust the undervoltage
threshold, which is the voltage at which the controller will cut back drive current
to prevent damage to the electrical system.
Typically this parameter is changed only when the controller is being used
in an application at the high end of the controller’s range: such as a 24–36V
controller being used in a system with a 36V battery pack. In this case, the
undervoltage threshold can be lowered by setting the User Undervoltage to
a lower value. The undervoltage threshold can never be lowered below the
controller’s power base minimum voltage rating.
BDI Algorithm
The BDI (battery discharge indicator) algorithm continuously calculates
the battery state-of-charge whenever KSI is on. The result of the BDI algo-
rithm is the variable BDI Percentage, which is viewable in the 1311 menu
Monitor » Battery. When KSI is turned off, the present BDI Percentage is
stored in nonvolatile memory.
The standard values for volts per cell are as follows, for flooded lead
acid and sealed maintenance-free batteries.
BATTERY TYPE
FLOODED SEALED
Use the standard values for your type of batteries as the starting point in
setting the reset, full, and empty volts-per-cell parameters.
Reset Volts Per Cell 0.90–3.00 V The reset voltage level is checked only once, when KSI is first turned on.
BDI_Reset_Volts_Per_Cell 900–3000 Note that the BDI Reset Percent parameter also influences the algorithm
that determines whether BDI Percentage is reset to 100%.
Reset Volts Per Cell should always be set higher than Full Volts Per
Cell.
Reset Voltage Level = Reset Volts Per Cell × number of cells in the
battery pack.*
Full Volts Per Cell 0.90–3.00 V The full voltage level sets the Keyswitch Voltage that is considered to be
BDI_Full_Volts_Per_Cell 900–3000 100% state-of-charge; when a loaded battery drops below this voltage,
it begins to lose charge. Keyswitch Voltage is viewable in the 1311 menu
Monitor » Battery.
Full Voltage Level = Full Volts Per Cell × number of cells in the battery
pack.*
Empty Volts Per Cell 0.90–3.00 V The empty voltage level sets the Keyswitch_Voltage that is considered to
BDI_Empty_Volts_Per_Cell 900–3000 be 0% state-of-charge.
Empty Voltage Level = Empty Volts Per Cell × number of cells in the
battery pack.*
Discharge Time 0–600 min. Sets the minimum time for the BDI algorithm to count down the BDI
BDI_Discharge_Time 0–600 Percentage from 100% to 0%. The BDI algorithm integrates the time the
filtered keyswitch voltage is below the state of charge voltage level. When
that cumulative time exceeds the Discharge Time / 100, the BDI Percentage
is decremented by one percentage point and a new state of charge voltage
level is calculated.
State of Charge Level = ((Full Voltage Level - Empty Voltage Level)
× BDI Percentage / 100) + Empty Voltage Level.
BDI Reset Percent 0–100 % When a battery has a high BDI percentage, its float voltage at KSI On
BDI_Reset_Percent 0–100 can sometimes cause false resets. The BDI Reset Percent parameter
addresses this problem by allowing the user to define a BDI Percentage
value above which the BDI Percentage variable will not reset.
When KSI is first powered on, the BDI Percentage variable will reset
to 100% only if ((Keyswitch Voltage > Reset Voltage Level) and (BDI
Percentage < BDI Reset Percent)).
FOR DUAL DRIVE PARAMETERS, SEE THE DUAL DRIVE ADDENDUM, P/N 38272-DD.
VEHICLE MENU
ALLOWABLE
PARAMETER RANGE DESCRIPTION
Metric Units On/Off When this parameter is programmed On, the distance variables (Vehicle
Metric_Units On/Off Odometer, Braking Distance Captured, Distance Since Stop, Distance Fine,
OptionBits3 [Bit 5] and the Capture Distance variables) will accumulate and display in metric
units (km, meters, or decimeters). When programmed Off, the distance
variables will accumulate and display in English units (miles, feet, or inches).
Distance variables are displayed in the Monitor » Vehicle menu, page 71.
Speed to RPM 10.0–3000.0 This parameter affects the vehicle speed displayed in the Monitor » Motor
Speed_to_RPM 100–30000 menu (see page 68), and also modifies the VCL variable Vehicle_Speed;
it does not affect actual vehicle performance. The value entered for Speed
to RPM is a conversion factor that scales motor speed to vehicle speed.
KPH to RPM: (G/d)*5305, where G = gear ratio, d = tire diameter [mm].
MPH to RPM: (G/d)*336.1, where G = gear ratio, d = tire diameter [in].
Capture Speed 1 0–8000 rpm The controller captures the time it takes the motor to go from 0 rpm to the
Capture_Speed_1 0–8000 programmed Capture Speed. The result is stored as “Time to Speed 1”
in the Monitor » Vehicle menu (page 71). This timer starts every time the
motor accelerates from zero speed.
Capture Speed 2 0–8000 rpm This parameter allows a second capture speed to be defined, and works
Capture_Speed_2 0–8000 identically to Capture Speed 1. The result is stored as “Time to Speed 2”
in the Monitor » Vehicle menu.
Capture Distance 1 1–1320 The controller captures the time it takes the vehicle to travel from 0 rpm to
Capture_Distance_1 1–1320 the programmed Capture Distance. The result is stored as “Time to Dist 1”
in the Monitor » Vehicle menu (page 71). This timer starts every time the
vehicle accelerates from zero speed.
Note: For accurate distance measuring, the Speed to RPM parameter
must be set correctly.
With the Metric Units parameter programmed Off, distance is in units
of feet. With Metric Units programmed On, distance is in units of meters.
Capture Distance 2 1–1320 This parameter allows a second capture distance to be defined, and works
Capture_Distance_2 1–1320 identically to Capture Distance 1. The result is stored as “Time to Dist 2” in
the Monitor » Vehicle menu.
Capture Distance 3 1–1320 This parameter allows a third capture distance to be defined, and works
Capture_Distance_3 1–1320 identically to Capture Distance 1. The result is stored as “Time to Dist 3” in
the Monitor » Vehicle menu.
EMERGENCY REVERSE MENU [SPEED MODE & SPEED MODE EXPRESS only]
ALLOWABLE
PARAMETER RANGE DESCRIPTION
EMR Enable On/Off Determines whether the emergency reverse function is active.
EMR_Enable On/Off On = emergency reverse is enabled.
OptionBits1 [Bit 1] Off = emergency reverse is disabled.
EMR Type 0–1 Determines where the input comes from for emergency reverse.
EMR_Type 0–1 0 = emergency reverse activated by switch 1 (pin 24).
1 = emergency reverse is activated by VCL functions
Enable_Emer_Rev() and Disable_Emer_Rev().
EMR Dir Interlock On/Off Determines whether the interlock switch must be turned off after emergency
EMR_Dir_Interlock On/Off reverse before the vehicle can be driven again.
EMR_Dir_Interlock_Bit0 [Bit 0] On = Interlock and throttle and direction must all be cleared.
Off = Only throttle and direction must be cleared.
EMR Time Limit 0–30 sec Defines how long emergency reverse is allowed to be active after the vehicle
EMR_Time_Limit 0–3750 is moving in the reverse direction. This timer will restart if the vehicle ever goes
forward while emergency reverse is still active. The allowable range is 0–30
seconds, where 30 seconds is a special case of no time out.
When emergency reverse times out, the Emer Rev Timeout fault is set.
Cycling the emergency reverse input will clear the Emer Rev Timeout fault.
To stop the vehicle after an EMR event (not move in reverse direction),
set this parameter to 0.
EMR Speed 50–6000 rpm Defines the maximum reverse speed of the motor (in motor rpm), when
EMR_Speed 50–6000 emergency reverse is active.
EMR Accel Rate 0.1–3.0 sec Sets the rate (in seconds) at which the vehicle accelerates in the opposite
EMR_Accel_Rate 100–3000 direction after it has been brought to a stop. If the vehicle is already traveling in
the reverse direction below the EMR Speed, the EMR Accel Rate will bring the
vehicle to the EMR Speed.
EMR Decel Rate 0.1–3.0 sec Sets the rate (in seconds) at which the vehicle brakes to a stop when
EMR_Decel_Rate 100–3000 emergency reverse is activated and the vehicle is moving forward. If the vehicle
is already traveling in the reverse direction above the EMR Speed, the EMR
Decel Rate will bring the vehicle down to the EMR Speed.
Decel Rate HS 0.1–30.0 Sets the rate (in seconds) that is used to slow down the vehicle when the
Interlock_Brake_Decel_ 100–30000 interlock is released at high vehicle speeds. Larger values represent slower
Rate_HS response.
Decel Rate LS 0.1–30.0 Sets the rate (in seconds) that is used to slow down the vehicle when the
Interlock_Brake_Decel_ 100–30000 interlock is released at low vehicle speeds. Larger values represent slower
Rate_LS response.
Interlock Brake Timeout 0–8.0 sec Controls the maximum allowable duration of an interlock braking event.
Interlock_Brake_Timeout 0–1000 The timer starts as soon as the interlock signal is removed. If the time expires
before the vehicle has slowed below the Set_Speed_Threshold, the EM brake
will engage automatically.
This parameter can be used to allow parallel usage of regen braking and
the EM brake to reduce stopping distance. If Interlock Brake Timeout expires
and the motor is still moving, regen braking will continue to retard vehicle
motion in conjunction with the EM brake.
Note: This parameter is only applicable when EM_Brake_Type = 1 or 2
(see page 42).
CANopen Interlock On/Off When programmed On, CAN NMT State must = 5 (operational state)
CANopen_Interlock_Enable On/Off in order for the interlock to be set; see Monitor » CAN Status menu, page 73.
OptionBits3 [Bit 2]
CAN Node ID 0–127 Sets the Node ID of the CANopen Slave system. The Node ID is the
CAN_Node_ID 0–127 first 7 bits of the 11-bit identifier (the COB ID).
Baud Rate -3 – 2 Sets the CAN baud rate for the CANopen Slave system:
CAN_Baud_Rate -3 – 2 -3=20Kbps, -2=50Kbps, -1=100Kbps,
0=125Kbps, 1=250Kbps, 2=500Kbps.
Heartbeat Rate 16–200 msec Sets the rate at which the CAN heartbeat messages are sent from the
CANopen_Heart_Beat_Rate 4–50 CANopen Slave system.
PDO Timeout Period 0–200 msec Sets the PDO timeout period for the CANopen Slave system. After the
CAN_PDO_Timeout_Period 0–50 slave controller has sent a PDO MISO, it will declare a PDO Timeout Fault
if the master controller has not sent a reply PDO MOSI message within the
set time. Either PDO1 MOSI or PDO2 MOSI will reset the timer. Setting the
PDO Timeout Period = 0 will disable this fault check.
Emergency Message Rate 16–200 msec Sets the minimum rate between CAN emergency messages from the
CANopen_Emergency_ 4–50 CANopen Slave system. This prevents quickly changing fault states from
Message_Rate generating so many emergency messages that they flood the CAN bus.
Suppress CANopen Init 0–1 When Suppress CANopen Init is set = 1, at KSI On the initialization of the
Suppress_CANopen_Init 0–1 CANopen system is suppressed. Typically this is done so that the VCL
program can make changes to the CANopen system before enabling it (by
setting the variable Suppress_CANopen_Init = 0 and running the Setup_
CAN() function).
Contact your Curtis customer support engineer if you will be running the AC motor
characterization tests yourself. See Initial Setup, step bk, page 78.
FW Base Speed 200–6000 rpm This parameter needs to be reset each time the Motor Type is changed
FW_Base_Speed 200–6000 or the low speed current limit is changed. For example, if you lower
Drive_Current_Limit (page 36) or PL_Drive_Nominal (page 37), you
should consider adjusting this parameter.
To determine the correct value, perform this tuning test. The test
should be run with batteries that have a reasonable charge. In either
Torque Control Mode or Speed Control Mode, set your accel rates to be
fast—so that you’ll be accelerating at full current during the test. Next,
set the Base Speed parameter to the maximum value (so that it will not
interfere with the test result). From a stop, apply full throttle and accelerate
to high speed and then stop. After stopping, note the value displayed in
Monitor » Controller » Motor Tuning » Base Speed Captured, and enter this
value for the Base Speed setting.
The test restarts each time the vehicle comes to a stop and the
throttle is released, so be sure to note the value before driving away.
Field Weakening 0–100 % Determines the amount of high speed power the controller will allow,
Field_Weakening 0–1024 while still maintaining maximum effficiency at the allowed power. Reducing
this parameter effectively reduces controller current at high speeds, which
can reduce energy consumption and motor heating, but at the expense of
reduced available torque from the motor.
Weakening Rate 0–100 % Determines the control loop gains for field weakening. Setting the rate too
Field_Weakening_Rate 0–500 low may create surging in the vehicle as it accelerates at mid to high
speeds. Setting the rate too high may create high frequency oscillations
(usually audible) when the vehicle accelerates at mid to high speeds.
Motor Type 0–200 This parameter references a predefined table of motor parameters for many
Motor_Type 0–200 AC motors. Consult your local Curtis customer support engineer for
information on how to set this parameter based on your application and
motor.
4a
MONITOR MENU
Mapped Hyd Throttle -100 – 100 % Mapped hydraulic throttle request to slew
Mapped_Hyd_Throttle -32767 – 32767 block (from lowering valve or pump).
Steer Pot 0–5.5 V Voltage at steer pot wiper (pin 17) on Dual
Steer_Pot_Raw 0–36044 Drive traction slave.
Ext Supply Current 5–200 mA Combined current of the external +12V and
Ext_Supply_Current 52–800 +5V voltage supplies (pins 25 and 26).
VCL Error Module 0–65536 A VCL Runtime Error (fault code 68) will
Last_VCL_Error_Module 0–65536 store additional information about the
cause of a VCL runtime error in the VCL
VCL Error 0–65536 Error Module and VCL Error variables. The
Last_VCL_Error 0–65536 resulting non-zero values can be compared
to the runtime VCL module ID and error
code definitions listed in the controller’s OS
SysInfo file, which should help pinpoint the
VCL error that caused the runtime error.
Motor Characterization Error 0–65536 A Motor Characterization Error (fault code 87)
Motor_Characterization_Error 0–65536 will store additional information in the Motor
Characterization Error variable:
0 = none
1 = encoder signal seen but unable to
determine step size; must set up
Encoder Step Size manually
2 = motor temp sensor fault
3 = motor temp hot cutback fault
4 = controller overtemp cutback fault
5 = controller undertemp cutback fault
6 = undervoltage cutback fault
7 = severe overvoltage fault
8 = encoder signal not seen, or one or
both channels missing
9 = motor parameters out of character-
ization range.
Base Speed Captured 0–8000 rpm Displays the value of the motor base speed
Base_Speed_Captured 0–8000 captured in the most recent acceleration.
This value is used to set the Base
Speed parameter (Program » Motor Control
Tuning » Field Weakening Control menu),
using the Base Speed set procedure
described on page 62.
Time to Speed 1 0–128 sec Time taken for the vehicle to go from zero
Time_to_Capture_Speed_1 0–32000 rpm to the programmed Capture Speed 1
(see Program » Vehicle menu, page 58)
during its most recent such acceleration.
Time to Speed 2 0–128 sec Time taken for the vehicle to go from zero
Time_to_Capture_Speed_2 0–32000 rpm to the programmed Capture Speed 2
(see Program » Vehicle menu) during its
most recent such acceleration.
Time Between Speeds 0–128 sec Time taken for the vehicle to go from
Time_Between_Capture_Speeds 0–32000 the programmed Capture Speed 1 to
the programmed Capture Speed 2 (see
Program » Vehicle menu, page 58) during
its most recent such acceleration.
Time to Dist 1 0–128 sec Time taken for the vehicle to travel from
Time_to_Capture_Dist_1 0–32000 zero rpm to the programmed Capture
Distance 1 (see Program » Vehicle menu,
page 58) during its most recent such trip.
For accurate distance measurements,
the Speed to RPM parameter must be set
correctly (page 58).
Time to Dist 2 0–128 sec Time taken for the vehicle to travel from
Time_to_Capture_Dist_2 0–32000 zero rpm to the programmed Capture
Distance 2 (see Program » Vehicle menu)
during its most recent such trip.
For accurate distance measurements,
the Speed to RPM parameter must be set
correctly (page 58).
Time to Dist 3 0–128 sec Time taken for the vehicle to travel from
Time_to_Capture_Dist_3 0–32000 zero rpm to the programmed Capture
Distance 3 (see Program » Vehicle menu)
during its most recent such trip.
For accurate distance measurements,
the Speed to RPM parameter must be set
correctly (page 58).
PDO1 MOSI Byte Map* 0 – 232 Mapping objects for PDO1 MOSI’s eight bytes.
PDO1 MISO Byte Map* 0 – 232 Mapping objects for PDO1 MISO’s eight bytes.
PDO2 MOSI Byte Map* 0 – 232 Mapping objects for PDO2 MOSI’s eight bytes.
PDO2 MISO Byte Map* 0 – 232 Mapping objects for PDO2 MISO’s eight bytes.
4b
CONTROLLER INFORMATION MENU
This menu provides ID and version numbers for your controller hardware and
software.
Mfg Date Code 0–32767 Controller date of manufacture, with the first
Manuf_Date 0–32767 two digits indicating the year and the last
three indicating the day. For example, if the
serial number printed on your controller is
08045L.11493, the Mfg Date Code variable
will have the value of 08045 (45th day of
2008).
Param Blk Version 0–327.67 Version number of the parameter block that
Param_Blk_Ver 0–32767 is loaded into the controller.
5
INITIAL SETUP
The 1298 controller can be used in a variety of vehicles, which differ widely
in characteristics. Before driving the vehicle, it is imperative that these initial
setup procedures be carefully followed to ensure that the controller is set up to
be compatible with your application. The first step is to contact Curtis:
Once you have obtained the correct values for Motor Type, FW Base Speed,
and Field Weakening and have set them on your controller (see Motor Control
menus, page 62), you can start conducting the setup procedures. Note: If you
will be conducting the AC Motor Characterization Procedure, that will come
later.
☞
C AU T I O N
Before starting the setup procedures, jack the vehicle drive wheels up
off the ground so that they spin freely. Double-check all wiring to ensure it is
consistent with the wiring guidelines presented in Section 2. Make sure all con-
nections are tight. Turn on the controller and plug in the 1311 programmer.
1311 displays that the interlock is now Off. Contact your Curtis customer
support engineer to resolve any issues about the interlock before continuing
with the setup procedure.
Once you have verified the interlock is off, you can set up the throttle
input. The Throttle Type parameter must be set to match the type of throttle
(1–5) and wiring that you are using, as described on pages 11–15. Adjust the
Forward Deadband, Forward Max, Reverse Deadband and Reverse Max param-
eters to match the range of your throttle. The Throttle Pot value displayed on
the Monitor » Inputs menu (page 64) is useful when setting up these parameters.
For the forward and reverse directions, read the displayed throttle pot voltage
at the point when the throttle moves out of neutral and at the point just before
full throttle and enter these values for the deadband and max settings for that
direction. Set up the other parameters in the Throttle menu as required by the
application.
You will be able to verify that your throttle settings are correct by
checking the Mapped Throttle value displayed in the Monitor » Inputs menu
(page 64) over the entire range of throttle pot movement. The value displayed
for Mapped Throttle should be = 0% through the range of throttle motion
that is considered neutral. The displayed Mapped Throttle should be = 100%
through the range of motion that is considered forward throttle max and should
be = -100% through the range considered reverse throttle max. Contact your
Curtis customer support engineer to resolve any issues about the throttle setup
before continuing with the setup procedure.
that the Swap Encoder Direction setting is correctly set. If the vehicle will use
the emergency reverse feature, the reverse direction (negative Motor RPM)
must be correctly selected so that when the Emergency reverse input is active
the motor will rotate in the reverse direction. Contact your Curtis customer
support engineer to resolve any issues about encoder direction or emergency
reverse before continuing with the setup procedure.
Now that you have the encoder direction set correctly, you can test to
see which direction the motor will spin due to how the three phase cables (U,
V, and W) are connected to the motor.
Cycle KSI input Off and then On (to clear any parameter change faults)
and use the 1311 to check for faults in the controller. All faults must be cleared
before continuing with the setup procedure.
Apply the interlock input and verify that the interlock = On (as verified
in the Monitor » Inputs menu).
Then, while keeping the brake in neutral, select a direction and apply
throttle. The motor should begin to turn, but it may turn in the wrong direction.
Observe the direction of rotation of the motor and if it is turning in the wrong
direction return the throttle to neutral, and change the setting of the Swap Two
Phases parameter. Cycle power, turn on interlock, and turn on direction. Ap-
ply throttle and verify that the direction of rotation of the motor matches the
direction input. If the motor is turning in the correct direction but appears to
be “fighting itself ” (struggling at full current while jerkily turning at very low
speed), change the direction of the Swap Encoder Direction parameter. If the
motor still does not respond properly you should contact your Curtis customer
support engineer to resolve any issues about encoder direction or emergency
reverse before continuing with the setup procedure.
☞
C AU T I O N Do not take the vehicle down off the blocks until the motor is re-
sponding properly.
Once the motor is responding properly, lower the vehicle to put the drive
wheels on the ground.
6
TUNING GUIDE
Many aspects of vehicle performance can be optimized, using the wide variety
of adjustable parameters available to the 1298 controllers. Once a vehicle/mo-
tor/controller combination has been tuned, the parameter values can be made
standard for the system or vehicle model. Any changes in the motor, the vehicle
drive system, or the controller will require that the system be tuned again to
provide optimum performance.
Speed Mode Express is the same as Speed Mode with the exception that it has
fewer parameters and is therefore simpler to use. Most vehicle applications will
find success with Speed Mode Express; however, for some applications vehicle
performance cannot be satisfactorily fine-tuned in Speed Mode Express. In
this case, change your control mode to Speed Mode (i.e., set Control Mode
Select =1).
a. Adjust Max Speed to the maximum speed the motor should turn in the vehicle
application; this speed setting corresponds to an input of full throttle.
b. Adjust Typical Max Speed (page 48) to the approximate maximum speed
that the motor will spin. This is usually the same value as the setting for
Max Speed, but some applications have a Max_Speed_SpdMx that changes
(in the VCL software). If the Max_Speed_SpdMx changes, set Typical Max
Speed to the highest speed the motor is expected to reach. This value does not
need to be set precisely since it will not change motor performance. Typical
Max Speed sets a reference point for the “rate” parameters (accel, decel,
brake rates), so that applications that have a changing Max_Speed_SpdMx
will not experience changes in the rates (because the rates are referenced to
the unchanging Typical Max Speed value). Once you set the Typical Max
Speed parameter you should not readjust it without adjusting all the rate
parameters as well.
a. Adjust Max Speed to the maximum speed the motor should turn in the vehicle
application; this speed setting corresponds to an input of full throttle.
b. Adjust the Typical Max Speed (page 48) to the approximate maximum speed
that the motor will spin. This is usually the same value as the setting for Max
Speed, but some applications have a Max_Speed_SpdM that changes (in
the VCL software). If the Max_Speed_SpdM changes, set the Typical Max
Speed to the highest speed the motor is expected to reach. This value does
not need to be set precisely since it will not change motor performance. Typi-
cal Max Speed sets a reference point for the “rate” parameters (accel, decel,
brake rates), so that applications that have a changing Max_Speed_SpdM
will not experience changes in the rates (because the rates are referenced to
the unchanging Typical Max Speed value). Once you set the Typical Max
Speed parameter you should not readjust it without adjusting all the rate
parameters as well.
c. Kp typically does not need to be changed as the default value will work
well in most applications. This parameter controls how tightly the ac-
tual motor speed will track the requested speed trajectory (speed trajec-
tory is set by the accel, decel, and brake rates).
If you want to adjust the Kp (for looser or tighter following of the speed
trajectory), follow these guidelines.
• Set the following parameters. Before setting them, make a note
of their present (default) settings so you can return them to
these original values at the end of this procedure.
* If your vehicle has an EM Brake, set the Brake Type (page
42) to 1. This setting will release the EM Brake as soon as
interlock is asserted.
* In the Speed Mode » Response menu, set all the accel and
decel rates to their fastest values (0.1 seconds); this allows
better observation of the system response.
a. Set Max Speed to the maximum speed you want to limit the motor to.
b. Kp, Ki, and Kd typically do not need to be changed as the default values will
work well in most applications. These parameters control how tightly the
controller limits the speed of the motor to the programmed Max Speed.
c. Set Typical Max Speed (page 48) to the expected maximum speed of the motor.
d. Adjust the parameters shown in Figure 9 (page 34) to set up the throttle
mapping:
• Regen Current Limit (Current Limits menu, page 36)
• Drive Current Limit (Current Limits menu, page 36)
• Restraint Forward, Restraint Back (Restraint menu, page 35)
• Neutral Braking (Torque Mode » Response menu, page 32)
• Neutral Taper Speed (Torque Mode » Response menu, page 32)
• Creep Torque (Torque Mode » Response » Fine Tuning menu, page 33).
e. In the Torque Mode » Response menu, adjust the four accel, decel, and release
rate parameters as necessary while moving the throttle to different positions
(i.e., neutral to full throttle, half throttle to full throttle, full throttle to half
throttle, full throttle to neutral, neutral to low throttle, etc.).
f. The other parameters in the Torque Mode » Response » Fine Tuning menu
typically may need to be changed for some applications. Read the parameter
descriptions and adjust as necessary.
The 1298 controller has a built-in programmable logic controller with applica-
tion-specific functions. VCL (Vehicle Control Language) software provides a
way to implement unique and complex vehicle control functions.
VCL is a simple programming language that will feel very familiar to
anyone who has worked with BASIC, Pascal, or C. Working with VCL requires
the installation of the WinVCL program onto a PC. WinVCL will compile
VCL programs and flash download the software into the controller through
the computer’s serial port. The install process for WinVCL will also install two
important manuals on your PC—the VCL Programmer’s Guide and the VCL
Common Functions Manual. These two manuals, which are in PDF format,
include more detailed information about VCL than is included here.
This section of the manual summarizes VCL and also describes aspects
and functions of VCL that are specific to the 1298 controller. For a more
complete understanding of the functions and capabilities of VCL, see the the
WinVCL User’s Guide, VCL Programmer’s Guide, and VCL Common Func-
tions Manual.
The VCL functions described in the VCL Common Functions Manual are
available on 1298 controllers. The 1298 also has these additional functions:
ENABLE_PRECHARGE()............ p. 106
DISABLE_PRECHARGE()........... p. 107
SET_DIGOUT()............................ p. 108
CLEAR_DIGOUT()....................... p. 108
ENABLE_EMER_REV()............... p. 109
DISABLE_EMER_REV().............. p. 109
SET_INTERLOCK() ..................... p. 110
CLEAR_INTERLOCK() ................ p. 110
SETUP_POT_FAULTS() .............. p. 111
These functions, which are not included in the VCL Common Functions
Manual, are described at the end of Section 7.
VARIABLE TYPES
VCL provides dedicated space in which to store custom variables. There are
four types of variables, based on their type of storage: volatile storage (RAM)
and three types of non-volatile storage (EEPROM) are available.
RAM variables are stored only while power is on; they are lost at power-
down. They must be initialized on power-up by explicit VCL assignments (i.e.,
User1 = 12).
NVUser1–15 EEPROM variables are 15 variables stored at power-down
and recalled by the operating system when the NVM_NVUser_Restore func-
tion is used. Thus, they can then be recalled at the next power-on cycle, which
restores their previous values. See the section on non-volatile memory access
in the VCL Common Functions manual for more information.
Block EEPROM are 38 blocks of 15 variables (total of 570 variables),
which are stored and recalled using the functions NVM_Block_Read and NVM_
Block_Write. The 38 blocks are called NVM3–NVM40. The read and write
functions must point to the RAM variables that the EEPROM blocks should be
written from or read to. For example, NVM_Block_Read(NVM10,0,15,User20)
will read the 15 variables stored in EEPROM block NVM10 and restore
those variables to the 15 variables starting with RAM variable User20 (so the
15 EEPROM variables would be restored to User20–34). See the section on
non-volatile memory access in the VCL Common Functions manual for more
information.
Parameters EEPROM variables are a special type of EEPROM variable
that is intended to be used to create OEM defined 1311 parameters. These 1311
parameters can be defined as 16-bit by using the P_User variables or they can
be defined as bit (On/Off ) by using the P_UserBit variables. These variables
are typically written to EEPROM through the 1311 programmer interface (i.e.,
when a 1311 user changes a parameter setting using the 1311). They can be
used in the VCL code, but changing a P_User (or P_UserBit) value with VCL
will only change the variable value in RAM and will not change the value in
EEPROM. Thus, these variables are intended for creating and defining 1311
parameters only.
VCL can modify the 1311 control mode parameters in RAM by using
the VCL variable name for the 1311 parameter. For example,
will change the RAM value of the speed control mode’s Brake Rate; the new
value will be used in determining the Controller Torque Command. However,
the value of the stored EE value of this parameter remains unchanged; when
the controller is turned off, the RAM value will be lost. The next time the
controller is powered back on, the “old” value of Brake Rate will be restored
from EE memory. VCL cannot write to the EE memory. The 1311 parameter
settings in EE memory can be changed by using the 1311 to change the values
in the program menus.
if (Sw_1 = ON)
{
;put code here to run when switch 1 is On
}
if (Sw_16 = OFF)
{
;put code here to run when switch 16 is Off
}
All switch inputs are automatically debounced by the VCL operating system.
This prevents noisy contacts or contact bounce from causing erroneous events
in your VCL code. The debounce time can be varied from 0 to 32 milliseconds
in 4ms steps, using this function:
Setup_Switches(5); 20 milliseconds
If this line is not in the VCL code, the debounce time is set at 16 ms.
will continually update the Driver 2 output with the present value of variable
User1. This automate statement needs only to be run once, usually in the ini-
tialization section of the VCL program. VCL can monitor the present value of
a PWM driver: the variable PWMx_Output (where “x” is the PWM channel
number) is automatically filled with the present value of the driver output.
The proportional driver (Driver 5) is different from Drivers 1–4. It can
be controlled in two ways: with the proportional driver processing function
(see Figure 20, page 100) or with the VCL Put_PWM() function. The VCL
statement Put_PWM(PWM5, 16383) will result in a 50% PWM output on
pin 2 only if the parameter PD Enable is set to Off. See page 94 for more
information on interfacing the proportional driver.
will set Digital Output 6 On (active). VCL can monitor the present value of
a digital output driver: the bit variable Digx_Output (where “x” is the digital
output channel number) is automatically filled with the present value of the
driver output (On or Off ).
It is important to note that all outputs are active Low. With 100% PWM
or an output of “On,” the FET or transistor will be pulling hard to ground. A
DVM on the output will measure near 0 volts.
Potentiometer Inputs
The 1298 controller has two potentiometer inputs, which are typically used
for a traction motor throttle and a pump motor throttle. Many features (map-
ping, acceleration rates, etc.) are built in as 1311 parameters. Still, there are
times that these potentiometer inputs may be needed for other functions such
as steering angle or height sensing, or simply as data inputs.
The standard way to input pot information is to set the 1311 parameter
Throttle Type (or Hyd Throttle Type) to an appropriate value of 1–4 as shown
on pages 11–14. When set to a value of 1–4, the resulting signal chain can
operate without the use of any VCL.
However, if an OEM wishes to control the throttle (or hydraulic throttle)
signal chain in VCL or use either of the throttle inputs for signals that are
not throttle signals, then the 1311 parameter Throttle Type (or Hyd Throttle
Type) should be set to a value of 5. Setting the 1311 parameter Throttle Type
(or Hyd Throttle Type) to a value of 5 changes the routing of the appropriate
signal chain (drive throttle or hydraulic throttle) and allows the VCL program-
mer access to the Throttle_Pot_Output or Brake_Pot_Output variables; see
Figure 17, page 93. (Note that in VCL, the hydraulic throttle output is named
Brake_Pot_Output.)
When the Throttle Type = 5, the Throttle_Pot_Output is a VCL variable
that the OS will update with the current value of the throttle pot input. Similarly,
when the Hyd Throttle Type = 5, the Brake_Pot_Output is a VCL variable that
the OS will update with the current value of the hydraulic throttle pot input.
However, the value of the Throttle_Pot_Output (or Brake_Pot_Output) will
remain clamped to zero until the VCL function Setup_Pot() is executed.
Typically the Setup_Pot() function is executed at the beginning of a VCL
program to define the potentiometer input connection as THREE_WIRE (uses Pot
High and Pot Low connections), TWO_WIRE (variable resistor, or rheostat, uses
Pot Low but no connection to Pot High), or ONE_WIRE (a voltage input, no
connection to either Pot High or Pot Low). THREE_WIRE potentiometer con-
nections are the same as the 3-wire potentiometer connections shown on page 13
for a Throttle Type 2. TWO_WIRE potentiometer connections are the same as
the 2-wire potentiometer connections shown on page 12 for a Throttle Type 1.
ONE_WIRE potentiometer connections are the same as the Voltage Source or
Current Source connections shown on page 13 for a Throttle Type 2.
Note that the Setup_Pot() function will only work (and is only needed) if the
corresponding Type is set to 5 (Throttle Type = 5 or Hyd Throttle Type = 5).
Setup_Pot(THROTTLE_POT,THREE_WIRE)
will set up the throttle pot input for wiring using all three connections (pins
15, 16, 18).
To set up the hydraulic throttle pot input for use in VCL, use the Brake_Pot
constant in place of the Thottle_Pot constant in the Setup_Pot function.
Setup_Pot(BRAKE_POT,TWO_WIRE)
will set up the hydraulic throttle pot input for wiring using two connections
(pins 17, 18).
The 0–100% position of the potentiometer is represented by a value from
0–32767 in VCL. Once set up (through the VCL Setup_Pot() function) the
potentiometer value is automatically and continuously loaded into the variable
Throttle_Pot_Output or Brake_Pot_Output. It is important to use the correct
setup (ONE_WIRE, TWO_WIRE, or THREE_WIRE) since the input is automatically
re-scaled for 0–100% based on the wiring used; for example, the voltage at the
Pot Low pin is automatically subtracted and re-scaled on a THREE_WIRE pot.
Another effect of setting Throttle Type = 5 is that the signal chain for the
throttle now gets its input from a different source. The input to the throttle
chain is now a VCL variable called VCL_Throttle instead of the throttle pot.
Similarly, Hyd Throttle Type = 5 means that the hydraulic throttle signal chain
will get its input from a VCL variable called VCL_Hyd_Throttle rather than
from the hydraulic throttle pot. The VCL_Throttle and VCL_Hyd_Throttle
variables will need to be controlled in the VCL program.
One of the unique features of the potentiometer inputs (as opposed to the
analog inputs) is that they have automatic pot fault detection functions run-
ning in the motor controller OS. The VCL programmer has access to the pot
detection functions with the Setup_Pot_Faults() function. With this function,
VCL can set the high and low threshold at which a fault occurs. This function
also forces the pot value to a definable level if a fault occurs. Note that the
Setup_Pot_Faults() function will work for all throttle Types (1–5). See page 111
for more detail on this function.
Analog Inputs
These controllers have two generic analog inputs (pins 24 and 8). These are
shared as switch inputs 1 and 2 (Sw_1, Sw_2). The values of the analog inputs
are automatically placed in VCL variables Analog1_Input and Analog2_Input
every 1 millisecond. Scaling is 0–10V = 0–1023.
User2 = Analog2_Input
will fill the User2 RAM variable with the value of the voltage at pin 8.
The filtered values of the analog inputs are also available and are auto-
matically placed in VCL variables Analog1_Filtered and Analog2_Filtered.
Scaling is 0–10V = 0–1023. The default filter value is 328 (10 Hz) and can be
changed in VCL by changing the Analog1_Filter and Analog2_Filter values.
Scaling is 0–999Hz = 0–32767.
Analog Output
This controller has one analog output (pin 30). This output is a special driver
output. The switching stage is filtered to provide a smooth average voltage, in-
stead of the actual PWM waveform seen on Drivers 1–5. However, AnalogOut
uses the same Put_PWM() and Automate_PWM() used by these other drivers.
The scaling is 0–10V = 0–32767.
Put_PWM(PWM6,6553)
will generate 2.0 volts at the analog output. VCL can monitor this output using
the variable Analog_Output.
After the “Throttle Type = 5” switch, the throttle signal is modified by the
multiplying and summing nodes. These nodes can be adjusted by VCL through
the variables Throttle_Multiplier and Throttle_Offset. This is the basic input
point for creating functions like MultiMode, dual drive algorithms, and height
vs. speed control. Note that the throttle multiplier has a built-in “divide by 128.”
This allows the VCL to either multiply (Throttle_Multiplier > 128) or divide
(Throttle_Multiplier < 128) the nominal throttle value. Typically the default
multiplier is set to 128, thus having no net effect. Both Throttle_Multiplier
and Throttle_Offset can be positive or negative.
The output of the multiplying and summing nodes is a VCL variable
called Mapped_Throttle, which is displayed in the 1311 Monitor » Input menu.
Checking the value of Mapped_Throttle using the 1311 is a good way to see if
your Throttle menu parameters are set correctly. A VCL program can control
the throttle by changing the variables VCL_Throttle (only if Throttle Type = 5),
Throttle_Multiplier, and Throttle_Offset. The effect of these variables can be
observed as Mapped_Throttle in the 1311 Monitor » Inputs menu.
The throttle signal continues to a selector switch that will set the throttle
signal = 0% if any of the following conditions is present: Interlock_State = Off
(see page 65), a fault has set throttle request = 0% (see the Troubleshooting
Chart, Table 5), or if Main_State ≠ 5 or 10 (see page 69).
After this selector switch the throttle signal is a VCL variable called
Throttle_Command, which is displayed in the 1311 Monitor » Inputs menu.
Throttle_Command is the final value of the throttle signal chain that is input
to the Control Mode Processing block; see Figure 18. Checking the value of
Throttle_Command using the 1311 is a good way to see the final throttle sig-
nal. If ABS(Throttle_Command) > 1 count, the motor controller will output
signals to the motor to make it spin.
For investigating why a motor is not spinning, it is useful to use the
1311 to check the state of the throttle signal from beginning to end: using
Throttle_Pot_Raw, Mapped_Throttle, and Throttle_Command. Once these
values are known, the Motor Command Diagram (Figure 17) can be used to
find how that signal progressed from input to final value.
The following throttle processing variables are accessible by VCL:
parameter and the hydraulic throttle pot input (Pot2_Raw) to create a 16-bit
variable containing the magnitude of the raw command, which has the VCL
name Brake_Pot_Output. This signal and the Lift and Lower switch inputs go
to the Lift/Lower Throttle Mapping block which re-shapes the signal according
to the various Hydraulic Throttle menu parameters (page 53) and outputs the
VCL variable OS_Hyd_Throttle.
The signal then passes through a selector switch. If VCL_Hyd_Throttle_
Enable = On (or Hyd Throttle Type parameter = 5), the Lift/Lower Throttle
Mapping block output signal is not used and the command comes from the
VCL variable VCL_Hyd_Throttle. The VCL program can manipulate the
VCL_Hyd_Throttle variable to get a command. Custom hydraulic functions
can be set up in this fashion: e.g., Lift, Lower, or aux hydraulic functions (reach,
sideshift, tilt) based on a switch position or CAN bus communication. The
hydraulic throttle pot can still be used with the OS_Hyd_Throttle variable
and VCL programming.
The signal then passes through the Lower Switch Only Enable and Lift
Switch Only Enable switches. These parameters and Lift and Lower switch
inputs can be used for non-variable lift and lower inputs (either On (100%)
or Off (0%)) as an alternative to using the variable pot input.
The throttle signal is then modified by the multiplying and summing
nodes. These nodes can be adjusted by VCL through the variables Hyd_Throt-
tle_Multiplier and Hyd_Throttle_Offset. Note that the throttle multiplier has
a built-in divide by 128. This allows the VCL to either multiply (Hyd_Throt-
tle_Multiplier > 128) or divide (Hyd_Throttle_Multiplier < 128) the nominal
throttle value. Typically the default multiplier is set to 128 (thus having no
net effect). Both Hyd_Throttle_Multiplier and Hyd_Throttle_Offset can be
positive or negative.
The output of the multiplying and summing nodes is a VCL variable
called Mapped_Hyd_Throttle, which is displayed in the 1311 Monitor » Inputs
menu. Checking the value of Mapped_Hyd_Throttle using the 1311 is a good
way to see if your Hydraulic Throttle menu parameters are set correctly. A VCL
program can control the throttle by changing the variables VCL_Hyd_Throttle,
Hyd_Throttle_Multiplier, and Hyd_Throttle_Offset. The effect of these vari-
ables can be observed as Mapped_Hyd_Throttle in the 1311 Monitor » Inputs
menu. Mapped_Hyd_Throttle then passes to the Accel/Decel Processing block,
which sets the slew rate of the signal according to various Hydraulic menu
parameters (page 51).
The signal then gets split in two different directions: negative throttle
values drive the lowering valve, and positive values drive the hydraulic pump.
For negative throttle values, the signal goes through an HPD check-
ing block, which checks for HPD conditions according to the setting of the
Hyd_Inhibit_Type parameter, and then continues in the signal chain shown in
Figure 20 (page 100).
For positive throttle values (following the path of the Hydraulic pump),
this signal goes through a limiter that limits the max PWM according to the
Status1
* Bit0 = Main Contactor Welded (Code 38)
* Bit1 = Main Contactor Did Not Close (Code 39)
* Bit2 = Pot Low Overcurrent (Code 45)
* Bit3 = Throttle Wiper Low (Code 42)
* Bit4 = Throttle Wiper High (Code 41)
* Bit5 = Pot2 Wiper Low (Code 44)
* Bit6 = Pot2 Wiper High (Code 43)
* Bit7 = EEPROM Failure (Code 46)
Status2
* Bit0 = HPD/Sequencing Fault (Code 47)
* Bit1 = Severe Undervoltage (Code 17)
* Bit2 = Severe Overvoltage (Code 18)
* Bit3 = Undervoltage Cutback (Code 23)
* Bit4 = Overvoltage Cutback (Code 24)
* Bit5 = Not Used
* Bit6 = Controller Overtemp Cutback (Code 22)
* Bit7 = Controller Severe Undertemp (Code 15)
Status3
* Bit0 = Controller Severe Overtemp (Code 16)
* Bit1 = Coill Driver Open/Short (Code 31)
* Bit2 = Coi12 Driver Open/Short (Code 32)
* Bit3 = Coil3 Driver Open/Short (Code 33)
Status4
* Bit0 = Precharge Failed (Code 14)
* Bit1 = Digital Out 6 Overcurrent (Code 26)
* Bit2 = Digital Out 7 Overcurrent (Code 27)
* Bit3 = Controller Overcurrent (Code 12)
* Bit4 = Current Sensor Fault (Code 13)
* Bit5 = Motor Temp Hot Cutback (Code 28)
* Bit6 = Parameter Change Fault (Code 49)
* Bit7 = Motor Open (Code 37)
Status5
* Bit0 = External Supply Out of Range (Code 69)
* Bit1 = Motor Temp Sensor Fault (Code 29)
* Bit2 = VCL Run Time Error (Code 68)
* Bit3 = +5V Supply Failure (Code 25)
* Bit4 = OS General (Code 71)
* Bit5 = PDO Timeout (Code 72)
* Bit6 = Encoder Fault (Code 36)
* Bit7 = Stall Detected (Code 73)
Status6
* Bit0 = Not Used
* Bit1 = Not Used
* Bit2 = Emer Rev HPD (Code 47)
* Bit3 = Not Used
* Bit4 = Motor Type Fault (Code 89)
* Bit5 = Not Used
* Bit6 = Motor Characterization Fault (Code 87)
* Bit7 = Pump Hardware Fault (Code 97) — model 1298 controllers only
Status7
* Bit0 = Not Used
* Bit1 = VCL/OS Mismatch (Code 91)
* Bit2 = EM Brake Failed to Set (Code 92)
* Bit3 = Encoder LOS (Limited Operating Strategy) (Code 93)
* Bit4 = Emer Rev Timeout (Code 94)
* Bit5 = Dual Severe Fault (Code 75)
* Bit6 = Fault On Other Traction Controller (Code 74)
* Bit7 = Illegal Model Number (Code 98)
Status8
* Bit0 = Pump Overcurrent (Code 95) — model 1298 controllers only
* Bit1 = Pump BDI (Code 96) — model 1298 controllers only
* Bit2 = Pump HPD (Code 47) — model 1298 controllers only
* Bit3 = Dualmotor Parameter Mismatch (Code 99)
* Bit4 = Not Used
* Bit5 = Not Used
* Bit6 = Not Used
* Bit7 = Not Used
custom faults using VCL. Just as with system faults, the VCL fault codes are
flashed on the controller Status LEDs and fault text is displayed on the 1311
System Faults and Fault History menus. Optionally, the VCL can assign fault
actions to occur automatically when the associated fault is set. Sixteen VCL
faults are available, stored in the VCL variables UserFault1 and UserFault2.
The UserFault1,2 variables are Read/Write (R/W) and the 16 faults are stored
in the lower byte of each variable like this:
UserFaultl
* Bit0 = VCLfault1 (Code 51)
* Bit1 = VCLfault2 (Code 52)
* Bit2 = VCLfault3 (Code 53)
* Bit3 = VCLfault4 (Code 54)
* Bit4 = VCLfault5 (Code 55)
* Bit5 = VCLfault6 (Code 56)
* Bit6 = VCLfault7 (Code 57)
* Bit7 = VCLfault8 (Code 58)
UserFault2
* Bit0 = VCLfault9 (Code 59)
* Bit1 = VCLfault10 (Code 61)
* Bit2 = VCLfault11 (Code 62)
* Bit3 = VCLfault12 (Code 63)
* Bit4 = VCLfault13 (Code 64)
* Bit5 = VCLfault14 (Code 65)
* Bit6 = VCLfault15 (Code 66)
* Bit7 = VCLfault16 (Code 67)
The “Code” numbers result in the flashing of the controller status LEDs that
help identify the fault without use of a 1311. Setting the fault in VCL is done
by setting the associated fault bit in the UserFault1 and 2 variables. Clearing
the fault must also be handled by VCL and is done by clearing the associated
fault bit. For example:
This VCL will check to see if the Battery Discharge Indicator is less than 10%.
If it is, UserFault1 Bit1 (Code 52) is set. If the BDI is not less than 10%, the
fault is cleared. Using just the VCL above in a program will only result in the
flashing of a code 52 on controller status LEDs and no fault actions will result
nor will the 1311 display any text about the fault.
To add automatic fault actions to the VCL faults, the VCL program-
mer must define the desired fault actions by using the sixteen VCL variables:
User_Fault_Action_01 through User_Fault_Action_16. Each of the UserFault
bits has a corresponding User_Fault_Action_xx variable (where “xx” is the
number of the VCL fault bit). When a VCL fault bit is set, the actions defined
This time when UserFault1.2 is set, the operating system will ShutdownInterlock
and ShutdownThrottle (which will result in a Throttle_Command = 0%) in
addition to flashing the code 52 on the controller status LEDs. An additional
VCL line was added (Put_Spy_Text (“BDI Low”)) to show how additional ac-
tions beyond those provided in the User_Fault_Action_xx can be programmed
using VCL. In this example the Put_Spy_Text(“BDI Low”) will result in the
message “BDI Low” appearing on the model 840 display (presumably as a mes-
sage to the vehicle operator). This example will still not result in any display on
the 1311 System Faults and Fault History menus.
To add the fault text on the 1311 System Faults and Fault History
menus it is necessary to create a Fault Definition for the 1311. Creating fault
definitions is a subject that is covered in detail in the VCL Programmer’s Guide
(Section 5, Support for the 1311 Handheld Programmer). Here is an example
of a fault definition:
MainLoop:
if (BDI_Percentage < 10)
{
UserFault1.2 = ON ;Set User fault bit
Put_Spy_Text(“BDI Low”) ;Send message to Model 840 display
}
else
{
UserFault1.2 = OFF ;Clear User fault bit
}
goto MainLoop
This example will result in the exact same actions as the last example, except
now the fault will be displayed in the 1311 System Faults menu (only while
the fault is set) and this fault will be logged into the 1311 Fault History menu
after being set. The text displayed in either of these 1311 menus will be the
text defined in the fault definition (in this example “BDI Low Fault” will be
displayed). The variable Hist_UserFault1 is listed as an ALT_ADDRESS. This
line controls whether the fault gets logged into fault history (and thus appears
in the 1311 Fault History menu). The two variables that can be used in the
fault definitions for ALT_ADDRESS are Hist_UserFault1 and Hist_UserFault2;
these should be used in the fault definitions with the corresponding UserFault1
and UserFault2 variables. If you wish to use VCL to clear fault history, use the
VCL function Clear_Diaghist(). Also note that this example fault definition
was for bit 1 of UserFault1. The VCL example set and cleared this bit by using
the UserFault1.2 notation (“.2” being the mask that defines bit 1).
ENABLE_PRECHARGE()
This function is designed to precharge the capacitor bank before engaging a main
contactor thereby preventing current surges and to protect controller internal com-
ponents and main contactor tips. This function turns on the request for precharge
of the capacitor bank from KSI. When the precharge function is enabled, power will
be supplied to the capacitor bank until the voltage is within 3 volts of KSI, or one
second has expired, or the precharge resistor energy range has been exceeded. The
current state of precharge is shown by the precharge variable (Precharge_State),
which has the following values:
Syntax Enable_Precharge()
Parameters None.
Returns
0 – Precharge not enabled.
1 – Precharge successfully enabled.
Example Enable_Precharge()
This will attempt to precharge the capacitor bank.
DISABLE_PRECHARGE()
This function is designed to abort the precharge function and clear any precharge
fault. This function aborts the request for precharge of the capacitor bank from KSI.
The resultant state of the precharge variable (Precharge_State) will be set to = 3
(for precharge aborted). The precharge states are:
Syntax Disable_Precharge()
Parameters None.
Returns
0 – Precharge not aborted.
1 – Precharge successfully aborted.
Example Disable_Precharge()
This will attempt to abort the precharge of the capacitor bank and will clear any
precharge fault.
SET_DIGOUT()
This function turns on the selected digital output. The digital outputs are active low
(On = driver on and pulled to ground, Off = open circuit at the pin).
The low power digital output is protected from excessive current (current over
15 mA); a fault will occur when this current has been exceeded, and the driver will
be shut off (open). Running the function again will reactivate the driver, and will
attempt to clear the fault.
Syntax Set_Digout(DigOut_ID)
Parameters
DigOut_ID is the low power digital I/O identification.
DigOut6 = Digital Output 6 (pin 19).
DigOut7 = Digital Output 7 (pin 20).
Returns
0 – Selected digital output not set.
1 – Selected digital output successfully set.
Error Codes
Bad_ID is returned when DigOut_ID is not in the range of DigOut6 to
DigOut7.
Example Set_Digout(DigOut6)
This example will set Digital Output 6 (pin 19) On (active low, pulled to ground).
CLEAR_DIGOUT()
This function turns off the selected digital output. The digital outputs are active low
(On = driver on and pulled to ground, Off = open circuit at the pin).
Syntax Clear_Digout(DigOut_ID)
Parameters
DigOut_ID is the low power digital I/O identification.
DigOut6 = Digital Output 6 (pin 19).
DigOut7 = Digital Output 7 (pin 20).
Returns
0 – Selected digital output not cleared.
1 – Selected digital output successfully cleared.
Error Codes
Bad_ID is returned when DigOut_ID is not in the range of DigOut6 to
DigOut7.
Example Clear_Digout(DigOut6)
This example will set Digital Output 6 (pin 19) Off (open circuit).
ENABLE_EMER_REV()
This function is used to engage emergency reverse using VCL. The 1311 EMR
Type must be set to = 1 in order for the Enable_Emer_Rev() function to operate.
If the system emergency reverse state is enabled (EMR_State bit variable = On),
the emergency reverse function will operate according to the Emergency Reverse
parameter settings; see page 59. To view the current emergency reverse state, see
the 1311 menu Monitor » Inputs: Emer Rev.
When the EMR_Type is set to = 1 and neither the Enable_Emer_Rev() nor the
Disable_Emer_Rev() function has been called, the state for emergency reverse is
Off (EMR_State bit variable = Off).
Syntax Enable_Emer_Rev()
Parameters None.
Returns
0 – Emergency reverse not enabled.
1 – Emergency reverse successfully enabled.
Example Enable_Emer_Rev()
This will enable the emergency reverse function.
DISABLE_EMER_REV()
This function is used to disengage emergency reverse using VCL. The 1311 EMR
Type must be set to = 1 in order for the Disable_Emer_Rev() function to operate.
If the system emergency reverse state is disabled (EMR_State bit variable = Off),
the emergency reverse function will stop operating and normal motor control func-
tion will resume (including an HPD/SRO check if the HPD/SRO Enable parameter
is set to On). To view the current emergency reverse state, see the 1311 menu
Monitor » Inputs: Emer Rev.
When the EMR_Type is set to = 1 and neither the Enable_Emer_Rev() nor the
Disable_Emer_Rev() function has been called, the state for emergency reverse is
Off (EMR_State bit variable = Off).
Syntax Disable_Emer_Rev()
Parameters None.
Returns
0 – Emergency reverse not disabled.
1 – Emergency reverse successfully disabled.
Example Disable_Emer_Rev()
This will disable the emergency reverse function.
SET_INTERLOCK()
This function is used to engage the system interlock using VCL. The 1311 Interlock
Type parameter must be set to = 1 in order for the Set_Interlock() function to operate.
If the system interlock is set (Interlock_State bit variable = On), the throttle input
signal is allowed to pass along the throttle chain; see Figure 17. Additionally, if the
main contactor is used (1311 Main Enable parameter = On), setting the interlock
will request the main closed state from the main contactor state machine. To view
the current interlock state, see the 1311 menu Monitor » Inputs: Interlock. To view the
current main contactor state, see the 1311 menu Monitor » Controller: Main State.
When the Interlock_Type is set to = 1 and neither the Set_Interlock() nor the
Clear_Interlock() function has been called, the state for the interlock is Off (Inter-
lock_State bit variable = Off).
Syntax Set_Interlock()
Parameters None.
Returns
0 – Interlock not set.
1 – Interlock successfully set.
Error Codes None.
Example Set_Interlock()
This will engage the system interlock.
CLEAR_INTERLOCK()
This function is used to disengage the system interlock using VCL. The 1311 In-
terlock Type parameter must be set to = 1 in order for the Set_Interlock() function
to operate. If the system interlock is cleared (Interlock_State bit variable = Off), the
throttle input signal is not allowed to pass along the throttle chain; see Figure 14.
Additionally, if the main contactor is used (1311 Main Enable parameter = On),
clearing the interlock will request the main open state from the main contactor state
machine. To view the current interlock state, see the 1311 menu Monitor » Inputs:
Interlock. The view the current main contactor state, see the 1311 menu Moni-
tor » Controller: Main State.
When the Interlock_Type is set to = 1 and neither the Set_Interlock() nor
Clear_Interlock() function has been called, the default state for the interlock is Off
(Interlock_State bit variable = Off).
Syntax Clear_Interlock()
Parameters None.
Returns
0 – Interlock not cleared.
1 – Interlock successfully cleared.
Error Codes None.
Example Clear_Interlock()
This will disengage the system interlock.
SETUP_POT_FAULTS()
This function sets the upper and lower wiper fault voltages for a given pot input
and sets the replacement wiper voltage value that will be used if there is a fault.
The valid range for the function parameters is 0–6.25 V (0–400 counts). If this func-
tion is not run, the default thresholds depend on the 1311 Throttle Type (or Brake
Type or Hyd Throttle Type) parameter setting; see table below. If the Throttle Type
= 5 (or Brake Type = 5 or Hyd Throttle Type = 5), the VCL function Setup_Pot will
determine what fault thresholds are used.
1 0.1 V 5.5 V
2 none 5.5 V
3 0.1 V 5.5 V
4 0.1 V 5.5 V
5 (ONE_WIRE) none 5.5 V
5 (TWO_WIRE) 0.1 V 5.5 V
5 (THREE_WIRE) 0.1 V 5.5 V
Syntax Setup_Pot_Faults(Pot_ID,Low_Fault,High_Fault,
Fault_Value)
Parameters
Pot_ID identifies the throttle whose fault limits are being set:
THROTTLE_POT
BRAKE_POT (Note: In 1298 controllers, this is the hydraulic throttle pot.)
Low_Fault
Specifies the lower threshold voltage limit.
Scaling: 1 V = 64 counts.
High_Fault
Specifies the upper threshold voltage limit.
Scaling: 1 V = 64 counts.
Fault_Value
The value that is used for the pot input when there is a fault (0–32767).
Scaling: ±32767 = ±100%.
Returns
0 – Setup did not execute.
1 – Setup successful.
Error Codes
Bad_ID is returned when an incorrect pot ID is used.
Param_Range is returned when the voltage value is not within range.
Example Setup_Pot_Faults(THROTTLE_POT,19,320,4000)
For the throttle pot, this will set the lower pot voltage at 0.3 volts (19/64) and the
upper pot voltage at 5.0 volts (320/64). When there is a pot fault, the value of 4000
will be used. That is 4000/32767 of the full output, or roughly 12%.
These controllers detect a wide variety of faults or error conditions. Faults can
be detected by the operating system or by the VCL code. This section describes
the faults detected by the operating system.
Faults detected by VCL code (faults 51–67 in Table 5) cannot be defined
here as they will vary from application to application. Refer to the appropriate
OEM documentation for information on these faults.
DIAGNOSTICS
Diagnostics information can be obtained in either of two ways: (1) by reading
the display on a 1311 programmer or (2) by observing the fault codes issued
by the Status LEDs. See Table 4 for a summary of LED display formats.
The 1311 programmer will display all faults that are currently set as well
as a history of the faults that have been set since the history log was last cleared.
The 1311 displays the faults by name.
The pair of LEDs built into the controller (one red, one yellow) produce
flash codes displaying all the currently set faults in a repeating cycle. Each code
consists of two digits. The red LED flashes once to indicate that the first digit
of the code will follow; the yellow LED then flashes the appropriate number of
times for the first digit. The red LED flashes twice to indicate that the second
digit of the code will follow; the yellow LED flashes the appropriate number
of times for the second digit.
✱ ✲✲ ✱✱ ✲✲✲
(first digit) (2) (second digit) (3)
The numerical codes used by the yellow LED are listed in the troubleshooting
chart (Table 5), which also lists possible fault causes and describes the condi-
tions that set and clear each fault.
DISPLAY STATUS
Yellow and red LEDs both on solid Controller is in Flash program mode.
Red LED and yellow LED flashing Controller has detected a fault.
alternately 2-digit code flashed by yellow LED
identifies the specific fault; one or two
flashes by red LED indicate whether
first or second code digit will follow.
TROUBLESHOOTING
The troubleshooting chart, Table 5, provides the following information on all
the controller faults:
• fault code
• fault name as displayed on the programmer’s LCD
• the effect of the fault
• possible causes of the fault
• fault set conditions
• fault clear conditions.
Whenever a fault is encountered and no wiring or vehicle fault can be found,
shut off KSI and turn it back on to see if the fault clears. If it does not, shut
off KSI and remove the 35-pin connector. Check the connector for corrosion
or damage, clean it if necessary, and re-insert it.
12 Controller Overcurrent 1. External short of phase U,V, or W Set: Phase current exceeded the current
ShutdownMotor; motor connections. measurement limit.
ShutdownMainContactor; 2. Motor parameters are mis-tuned. Clear: Cycle KSI.
ShutdownEMBrake; 3. Controller defective.
ShutdownThrottle; 4. Speed encoder noise problems.
FullBrake;
ShutdownPump.
13 Current Sensor Fault 1. Leakage to vehicle frame from phase Set: Controller current sensors have
ShutdownMotor; U, V, or W (short in motor stator). invalid offset reading.
ShutdownMainContactor; 2. Controller defective. Clear: Cycle KSI.
ShutdownEMBrake;
ShutdownThrottle;
FullBrake;
ShutdownPump.
14 Precharge Failed 1. External load on capacitor bank (B+ Set: Precharge failed to charge the capacitor
ShutdownMotor; connection terminal) that prevents bank to the KSI voltage.
ShutdownMainContactor; the capacitor bank from charging. Clear: Cycle Interlock input or use VCL
ShutdownEMBrake; 2. See Monitor menu » Battery: function Precharge().
ShutdownThrottle; Capacitor Voltage.
FullBrake;
ShutdownPump.
15 Controller Severe Undertemp 1. See Monitor menu » Controller: Set: Heatsink temperature below -40°C.
ShutdownMotor; Temperature. Clear: Bring heatsink temperature
ShutdownMainContactor; 2. Controller is operating in an extreme above -40°C, and cycle interlock or KSI.
ShutdownEMBrake; environment.
ShutdownThrottle;
FullBrake;
ShutdownPump.
16 Controller Severe Overtemp 1. See Monitor menu » Controller: Set: Heatsink temperature above +95°C.
ShutdownMotor; Temperature. Clear: Bring heatsink temperature
ShutdownMainContactor; 2. Controller is operating in an extreme below +95°C, and cycle interlock or KSI.
ShutdownEMBrake; environment.
ShutdownThrottle; 3. Excessive load on vehicle.
FullBrake; 4. Improper mounting of controller.
ShutdownPump.
17 Severe Undervoltage 1. Battery menu parameters are Set: Capacitor bank voltage dropped
Reduced drive torque. misadjusted. below the Severe Undervoltage limit
2. Non-controller system drain on battery. (see page 55) with FET bridge enabled.
3. Battery resistance too high. Clear: Bring capacitor voltage above
4. Battery disconnected while driving. Severe Undervoltage limit.
5. See Monitor menu » Battery:
Capacitor Voltage.
6. Blown B+ fuse or main contactor
did not close.
18 Severe Overvoltage 1. See Monitor menu » Battery: Set: Capacitor bank voltage exceeded
ShutdownMotor; Capacitor Voltage. the Severe Overvoltage limit (see page 55)
ShutdownMainContactor; 2. Battery menu parameters are with FET bridge enabled.
ShutdownEMBrake; misadjusted. Clear: Bring capacitor voltage below
ShutdownThrottle; 3. Battery resistance too high for given Severe Overvoltage limit, and then
FullBrake; regen current. cycle KSI.
ShutdownPump. 4. Battery disconnected while regen braking.
22 Controller Overtemp Cutback 1. See Monitor menu » Controller: Set: Heatsink temperature exceeded 85°C.
Reduced drive and brake Temperature. Clear: Bring heatsink temperature below
torque. 2. Controller is performance-limited 85°C.
at this temperature.
3. Controller is operating in an extreme
environment.
4. Excessive load on vehicle.
5. Improper mounting of controller.
23 Undervoltage Cutback 1. Normal operation. Fault shows that Set: Capacitor bank voltage dropped below
Reduced drive torque. the batteries need recharging. the Undervoltage limit (see page 55) with
Controller is performance limited the FET bridge enabled.
at this voltage. Clear: Bring capacitor voltage above the
2. Battery parameters are misadjusted. Undervoltage limit.
3. Non-controller system drain on battery.
4. Battery resistance too high.
5. Battery disconnected while driving.
6. See Monitor menu » Battery:
Capacitor Voltage.
7. Blown B+ fuse or main contactor
did not close.
24 Overvoltage Cutback 1. Normal operation. Fault shows that Set: Capacitor bank voltage exceeded the
Reduced brake torque. regen braking currents elevated the Overvoltage limit (see page 55) with the
battery voltage during regen braking. FET bridge enabled.
Controller is performance limited Clear: Bring capacitor voltage below the
at this voltage. Overvoltage limit.
2. Battery parameters are misadjusted.
3. Battery resistance too high for given
regen current.
4. Battery disconnected while regen braking.
5. See Monitor menu » Battery:
Capacitor Voltage.
25 +5V Supply Failure 1. See Monitor menu » outputs: Set: +5V supply (pin 26) outside the
None, unless a fault action 5 Volts and Ext Supply Current. +5V±10% range.
is programmed in VCL. 2. External load impedance on the Clear: Bring voltage within range.
+5V supply (pin 26) is too low.
26 Digital Out 6 Overcurrent 1. External load impedance on Digital Set: Digital Output 6 (pin 19) current
Digital Output 6 driver Output 6 driver (pin 19) is too low. exceeded 15 mA.
will not turn on. Clear: Remedy the overcurrent cause
and use the VCL function Set_DigOut()
to turn the driver on again.
27 Digital Out 7 Overcurrent 1. External load impedance on Digital Set: Digital Output 7 (pin 20) current
Digital Output 7 driver Output 7 driver (pin 20) is too low. exceeded 15 mA.
will not turn on. Clear: Remedy the overcurrent cause
and use the VCL function Set_DigOut()
to turn the driver on again.
28 Motor Temp Hot Cutback 1. Motor temperature is at or above Set: Motor temperature is at or above the
Reduced drive torque. the programmed Temperature Hot Temperature Hot parameter setting.
setting, and the requested current is Clear: Bring the motor temperature
being cut back. within range.
2. Motor Temperature Control menu
parameters are mis-tuned.
3. See Monitor menu » Motor:
Temperature and » Inputs: Analog2.
4. If the application doesn’t use a motor
thermistor, Temp Compensation
and Temp Cutback should be
programmed Off.
29 Motor Temp Sensor Fault 1. Motor thermistor is not connected Set: Motor thermistor input (pin 8) is at
MaxSpeed reduced (LOS, properly. the voltage rail (0 or 10V).
Limited Operating Strategy), 2. If the application doesn’t use a motor Clear: Bring the motor thermistor input
and motor temperature thermistor, Motor Temp Sensor voltage within range.
cutback disabled. Enable should be programmed Off.
3. See Monitor menu » Motor:
Temperature and » Inputs: Analog2.
31 Coil1 Driver Open/Short 1. Open or short on driver load. Set: Driver 1 (pin 6) is either open or
ShutdownDriver1. 2. Dirty connector pins. shorted. This fault can be set only when
3. Bad crimps or faulty wiring. Main Enable = Off.
Clear: Correct open or short, and cycle driver.
31 Main Open/Short 1. Open or short on driver load. Set: Main contactor driver (pin 6) is
ShutdownMotor; 2. Dirty connector pins. either open or shorted. This fault can be
ShutdownMainContactor; 3. Bad crimps or faulty wiring. set only when Main Enable = On.
ShutdownEMBrake; Clear: Correct open or short, and cycle driver.
ShutdownThrottle;
FullBrake;
ShutdownPump.
32 Coil2 Driver Open/Short 1. Open or short on driver load. Set: Driver 2 (pin 5) is either open or
ShutdownDriver2. 2. Dirty connector pins. shorted. This fault can be set only when
3. Bad crimps or faulty wiring. EM Brake Type = 0.
Clear: Correct open or short, and cycle driver.
32 EMBrake Open/Short 1. Open or short on driver load. Set: Electromagnetic brake driver (pin 5)
ShutdownEMBrake; 2. Dirty connector pins. is either open or shorted. This fault can be
ShutdownThrottle; 3. Bad crimps or faulty wiring. set only when EM Brake Type >0.
FullBrake. Clear: Correct open or short, and cycle driver.
33 Coil3 Driver Open/Short 1. Open or short on driver load. Set: Driver 3 (pin 4) is either open or
ShutdownDriver3. 2. Dirty connector pins. shorted.
3. Bad crimps or faulty wiring. Clear: Correct open or short, and cycle driver.
34 Coil4 Driver Open/Short 1. Open or short on driver load. Set: Driver 4 (pin 3) is either open or
ShutdownDriver4. 2. Dirty connector pins. shorted.
3. Bad crimps or faulty wiring. Clear: Correct open or short, and cycle driver.
35 PD Open/Short 1. Open or short on driver load. Set: Proportional driver (pin 2) is either
ShutdownPD. 2. Dirty connector pins. open or shorted.
3. Bad crimps or faulty wiring. Clear: Correct open or short, and cycle driver.
36 Encoder Fault 1. Motor encoder failure. Set: Motor encoder phase failure detected.
ShutdownEMBrake; 2. Bad crimps or faulty wiring. Clear: Cycle KSI.
ShutdownThrottle. 3. See Monitor menu » Motor:
Motor RPM.
37 Motor Open 1. Motor phase is open. Set: Motor phase U, V, or W detected
ShutdownMotor; 2. Bad crimps or faulty wiring. open.
ShutdownMainContactor; Clear: Cycle KSI.
ShutdownEMBrake;
ShutdownThrottle;
FullBrake;
ShutdownPump.
38 Main Contactor Welded 1. Main contactor tips are welded Set: Just prior to the main contactor
ShutdownMotor; closed. closing, the capacitor bank voltage (B+
ShutdownMainContactor; 2. Motor phase U or V is disconnected connection terminal) was loaded for a
ShutdownEMBrake; or open. short time and the voltage did not
ShutdownThrottle; 3. An alternate voltage path (such as an discharge.
FullBrake; external precharge resistor) is Clear: Cycle KSI
ShutdownPump. providing a current to the capacitor
bank (B+ connection terminal).
39 Main Contactor Did Not Close 1. Main contactor did not close. Set: With the main contactor commanded
ShutdownMotor; 2. Main contactor tips are oxidized, closed, the capacitor bank voltage (B+
ShutdownMainContactor; burned, or not making good contact. connection terminal) did not charge to B+.
ShutdownEMBrake; 3. External load on capacitor bank Clear: Cycle KSI.
ShutdownThrottle; (B+ connection terminal) that pre-
FullBrake; vents capacitor bank from charging.
ShutdownPump. 4. Blown B+ fuse.
41 Throttle Wiper High 1. See Monitor menu » Inputs: Set: Throttle pot wiper (pin 16) voltage
ShutdownThrottle. Throttle Pot. is higher than the high fault threshold
2. Throttle pot wiper voltage too high. (can be changed with the VCL function
Setup_Pot_Faults()).
Clear: Bring throttle pot wiper voltage
below the fault threshold.
42 Throttle Wiper Low 1. See Monitor menu » Inputs: Set: Throttle pot wiper (pin 16) voltage
ShutdownThrottle. Throttle Pot. is lower than the low fault threshold
2. Throttle pot wiper voltage too low. (can be changed with the VCL function
Setup_Pot_Faults()).
Clear: Bring throttle pot wiper voltage
above the fault threshold.
43 Pot2 Wiper High 1. See Monitor menu » Inputs: Set: Pot2 wiper (pin 17) voltage
ShutdownPump Pot2 Raw. is higher than the high fault threshold
(if Lift_Switch_Only_Enable=Off ); 2. Pot2 wiper voltage too high. (can be changed with the VCL function
ShutdownPD Setup_Pot_Faults()).
(if Lower_Switch_Only_Enable=Off ). Clear: Bring Pot2 wiper voltage below
the fault threshold.
44 Pot2 Wiper Low 1. See Monitor menu » Inputs: Set: Pot2 wiper (pin 17) voltage
ShutdownPump Pot2 Raw. is lower than the low fault threshold
(if Lift_Switch_Only_Enable=Off ); 2. Pot2 wiper voltage too low. (can be changed with the VCL function
ShutdownPD Setup_Pot_Faults()).
(if Lower_Switch_Only_Enable=Off ). Clear: Bring Pot2 wiper voltage
above the fault threshold.
45 Pot Low Overcurrent 1. See Monitor menu » Outputs: Set: Pot low (pin 18) current exceeds 10mA.
ShutdownThrottle; Pot Low. Clear: Clear pot low overcurrent condition
ShutdownPump 2. Combined pot resistance connected and cycle KSI.
(if Lift_Switch_Only_Enable=Off ); to pot low is too low.
ShutdownPD
(if Lower_Switch_Only_Enable=Off ).
46 EEPROM Failure 1. Failure to write to EEPROM Set: Controller operating system tried to
ShutdownMotor; memory. This can be caused by write to EEPROM memory and failed.
ShutdownMainContactor; EEPROM memory writes initiated Clear: Download the correct software (OS)
ShutdownEMBrake; by VCL, by the CAN bus, by and matching parameter default settings
ShutdownThrottle; adjusting parameters with the into the controller and cycle KSI.
ShutdownInterlock; programmer, or by loading new
ShutdownDriver1;
ShutdownDriver2; software into the controller.
ShutdownDriver3;
ShutdownDriver4;
ShutdownPD;
FullBrake;
ShutdownPump.
47 HPD/Sequencing Fault 1. KSI, interlock, direction, and throttle Set: HPD (High Pedal Disable) or
ShutdownThrottle. inputs applied in incorrect sequence. sequencing fault caused by incorrect
2. Faulty wiring, crimps, or switches at sequence of KSI, interlock, direction, and
KSI, interlock, direction, or throttle throttle inputs.
inputs. Clear: Reapply inputs in correct sequence.
3. See Monitor menu » Inputs.
47 Emer Rev HPD 1. Emergency Reverse operation has Set: At the conclusion of Emergency
ShutdownThrottle; concluded, but the throttle, forward Reverse, the fault was set because various
ShutdownEMBrake. and reverse inputs, and interlock inputs were not returned to neutral.
have not been returned to neutral. Clear: If EMR_Interlock = On, clear the
interlock, throttle, and direction inputs.
If EMR_Interlock = Off, clear the
throttle and direction inputs.
47 Pump HPD 1. KSI and the hydraulic throttle input Set: Incorrect sequence of KSI and lift,
ShutdownPump. applied in incorrect sequence; lower, or hydraulic throttle inputs
hydraulic throttle input was active according to Hyd_Inhibit_Type parameter.
when KSI was turned on. Clear: Set inputs to neutral and re-apply
2. Faulty wiring, crimps, or switches at in correct sequence.
KSI, lift, lower, or hydraulic throttle
inputs.
3. See Monitor menu » Inputs.
49 Parameter Change Fault 1. This is a safety fault caused by a Set: Adjustment of a parameter setting
ShutdownMotor; change in certain parameter that requires cycling of KSI.
ShutdownMainContactor; settings so that the vehicle will not Clear: Cycle KSI.
ShutdownEMBrake; operate until KSI is cycled.
ShutdownThrottle; For example, if a user changes the
FullBrake; Throttle Type this fault will appear
ShutdownPump. and require cycling KSI before the
vehicle can operate.
51–67 OEM Faults 1. These faults can be defined by the Set: See OEM documentation.
(See OEM documentation.) OEM and are implemented in the Clear: See OEM documentation.
application-specific VCL code. See
OEM documentation.
68 VCL Run Time Error 1. VCL code encountered a runtime Set: Runtime VCL code error condition.
ShutdownMotor; VCL error. Clear: Edit VCL application software to
ShutdownMainContactor; 2. See Monitor menu » Controller: fix this error condition; flash the new
ShutdownEMBrake; VCL Error Module and VCL Error. compiled software and matching
ShutdownThrottle; This error can then be compared to parameter defaults; cycle KSI.
ShutdownInterlock; the runtime VCL module ID and
ShutdownDriver1;
ShutdownDriver2; error code definitions found in the
ShutdownDriver3; specific OS system information file.
ShutdownDriver4;
ShutdownPD;
FullBrake;
ShutdownPump.
69 External Supply Out of Range 1. External load on the 5V and 12V Set: The external supply current (combined
None, unless a fault action supplies draws either too much or current used by the 5V supply [pin 26]
is programmed in VCL. too little current. and 12V supply [pin 25]) is either greater
2. Fault Checking Menu parameters than the upper current threshold or lower
Ext Supply Max and Ext Supply Min than the lower current threshold. The two
are mis-tuned. thresholds are defined by the External
3. See Monitor menu » Outputs: Supply Max and External Supply Min
Ext Supply Current. parameter settings (page 47).
Clear: Bring the external supply current
within range.
71 OS General 1. Internal controller fault. Set: Internal controller fault detected.
ShutdownMotor; Clear: Cycle KSI.
ShutdownMainContactor;
ShutdownEMBrake;
ShutdownThrottle;
ShutdownInterlock;
ShutdownDriver1;
ShutdownDriver2;
ShutdownDriver3;
ShutdownDriver4;
ShutdownPD;
FullBrake;
ShutdownPump.
72 PDO Timeout 1. Time between CAN PDO messages Set: Time between CAN PDO messages
ShutdownInterlock; received exceeded the PDO received exceeded the PDO Timeout
CAN NMT State set Timeout Period. Period.
to Pre-operational. Clear: Cycle KSI or receive CAN NMT
message.
73 Stall Detected 1. Stalled motor. Set: No motor encoder movement detected.
ShutdownEMBrake; 2. Motor encoder failure. Clear: Either cycle KSI, or
ShutdownThrottle; 3. Bad crimps or faulty wiring. detect valid motor encoder signals while
Control Mode changed to 4. Problems with power supply for operating in LOS mode and return
LOS (Limited Operating the motor encoder. Throttle Command = 0 and
Strategy). 5. See Monitor menu » Motor: Motor RPM = 0.
Motor RPM.
74 Fault On Other Traction Dual Drive fault: see Dual Drive manual.
Controller
75 Dual Severe Fault Dual Drive fault: see Dual Drive manual.
87 Motor Characterization Fault 1. Motor characterization failed during Set: Motor characterization failed during
ShutdownMotor; characterization process. See Monitor the motor characterization process.
ShutdownMainContactor; menu » Controller: Motor Clear: Correct fault; cycle KSI.
ShutdownEMBrake; Characterization Error for cause:
ShutdownThrottle; 0=none
FullBrake; 1=encoder signal seen, but step size
ShutdownPump. not determined; set Encoder Step
Size manually
2=motor temp sensor fault
3=motor temp hot cutback fault
4= controller overtemp cutback fault
5=controller undertemp cutback fault
6=undervoltage cutback fault
7=severe overvoltage fault
8=encoder signal not seen, or one or
both channels missing
9=motor parameters out of character-
ization range.
89 Motor Type Fault 1. The Motor_Type parameter value Set: Motor_Type parameter is set to an
ShutdownMotor; is out of range. illegal value.
ShutdownMainContactor; Clear: Set Motor_Type to correct value
ShutdownEMBrake; and cycle KSI.
ShutdownThrottle;
FullBrake;
ShutdownPump.
91 VCL/OS Mismatch 1. The VCL software in the controller Set: VCL and OS software do not match;
ShutdownMotor; does not match the OS software in when KSI cycles, a check is made to verify
ShutdownMainContactor; the controller. that they match and a fault issued when
ShutdownEMBrake; they do not.
ShutdownThrottle;
ShutdownInterlock; Clear: Download the correct VCL and OS
ShutdownDriver1; software into the controller.
ShutdownDriver2;
ShutdownDriver3;
ShutdownDriver4;
ShutdownPD;
FullBrake;
ShutdownPump.
92 EM Brake Failed to Set 1. Vehicle movement sensed after the Set: After the EM Brake was commanded
ShutdownEMBrake; EM Brake has been commanded to set and time has elapsed to allow the
ShutdownThrottle. to set. brake to fully engage, vehicle movement
2. EM Brake will not hold the motor has been sensed.
from rotating. Clear: Activate the throttle.
93 Encoder LOS (Limited 1. Limited Operating Strategy (LOS) Set: Encoder Fault (Code 36) or Stall
Operating Strategy) control mode has been activated, as Detect Fault (Code 73) was activated,
Enter LOS control mode. a result of either an Encoder Fault and Brake or Interlock has been applied
(Code 36) or a Stall Detect Fault to activate LOS control mode, allowing
(Code 73). limited motor control.
2. Motor encoder failure. Clear: Cycle KSI or, if LOS mode was acti-
3. Bad crimps or faulty wiring. vated by the Stall Fault, clear by ensuring
4. Vehicle is stalled. encoder senses proper operation, Motor
RPM = 0, and Throttle Command = 0.
94 Emer Rev Timeout 1. Emergency Reverse was activated Set: Emergency Reverse was activated and
ShutdownEMBrake; and concluded because the EMR ran until the EMR Timeout timer expired.
ShutdownThrottle. Timeout timer has expired. Clear: Turn the emergency reverse input
2. The emergency reverse input is Off.
stuck On.
95 Pump Overcurrent 1. External short of pump motor. Set: Pump current exceeded the current
ShutdownPump. 2. Controller defective. measurement limit.
Clear: Cycle KSI.
96 Pump BDI 1. Battery is fully discharged. Set: BDI Percentage charge at 0% when
ShutdownPump. 2. BDI parameters are mis-tuned. the pump was activated.
Clear: Charge the battery.
97 Pump Hardware Fault 1. External short of the pump motor. Set: Controller hardware indicated
ShutdownMotor; 2. Controller defective. inappropriate voltage at pump motor
ShutdownMainContactor; M- connection, or internal supply voltage
ShutdownEMBrake; problem.
ShutdownThrottle; Clear: Cycle KSI.
FullBrake;
ShutdownPump.
98 Illegal Model Number 1. Model_Number variable contains Set: Illegal Model_Number variable; when
ShutdownMotor; illegal value (not 1298, and not KSI cycles, a check is made to confirm
ShutdownMainContactor; 1234, 1236, or 1238, which are also a legal Model_Number, and a fault is
ShutdownEMBrake; legal for the 1298 controller). issued if one is not found.
ShutdownThrottle; 2. Software and hardware do not match. Clear: Download appropriate software
FullBrake; 3. Controller defective. for your controller model.
ShutdownPump.
99 Dualmotor Parameter Mismatch Dual Drive fault: see Dual Drive manual.
9
MAINTENANCE
CLEANING
Periodically cleaning the controller exterior will help protect it against corrosion
and possible electrical control problems created by dirt, grime, and chemicals
that are part of the operating environment and that normally exist in battery
powered systems.
☞
C AU T I O N
When working around any battery powered system, proper safety
precautions should be taken. These include, but are not limited to: proper
training, wearing eye protection, and avoiding loose clothing and jewelry.
Use the following cleaning procedure for routine maintenance. Never use
a high pressure washer to clean the controller.
1. Remove power by disconnecting the battery.
2. Discharge the capacitors in the controller by connecting a load
(such as a contactor coil) across the controller’s B+ and B-
terminals.
3. Remove any dirt or corrosion from the power and signal
connector areas. The controller should be wiped clean with a
moist rag. Dry it before reconnecting the battery.
4. Make sure the connections are tight. Refer to Section 2, page 5,
for maximum tightening torque specifications for the battery
and motor connections.
FAULT HISTORY
The 1311 programmer can be used to access the controller’s fault history file.
The programmer will read out all the faults the controller has experienced
since the last time the fault history file was cleared. Faults such as contactor
faults may be the result of loose wires; contactor wiring should be carefully
checked. Faults such as overtemperature may be caused by operator habits or
by overloading.
After a problem has been diagnosed and corrected, it is a good idea to
clear the fault history file. This allows the controller to accumulate a new file
of faults. By checking the new fault history file at a later date, you can readily
determine whether the problem was indeed fixed.
APPENDIX A
THEORY OF OPERATION
Power Section
The power section efficiently generates high current 3-phase AC signals from
the DC battery voltage to drive the AC motor as requested by the motor con-
trol algorithms.
The power section is implemented as three high frequency MOSFET
half-bridge power stages controlled by three pulse width modulators, as shown
in Figure A-2. Each half-bridge power stage is a parallel array of high-side and
low-side power MOSFETs mounted to Insulated Metal Substrate (IMS) circuit
board. This technology provides a very low thermal resistance to the heatsink
and enables high power capability in a compact area.
Heavy busbars connect the IMS modules to the external motor connec-
tion studs. A bank of power capacitors keeps DC bus levels stable during high
frequency MOSFET switching and also reduces EMI on the external B+ and
B- cables.
Motor currents and motor speed and direction are the primary feedback
signals used in the motor control algorithms. Accurate Hall sensors detect the
motor currents; they do this by sensing the flux created by the motor currents
on the U and V motor output busbars where they pass through the capacitor
board on their way to the external motor connections. Motor speed and direc-
tion are simultaneously sensed by a quadrature-type speed encoder mounted
on the motor shaft.
APPENDIX B
VEHICLE DESIGN CONSIDERATIONS
REGARDING ELECTROMAGNETIC COMPATIBILITY (EMC)
AND ELECTROSTATIC DISCHARGE (ESD)
Emissions
Signals with high frequency content can produce significant emissions if con-
nected to a large enough radiating area (created by long wires spaced far apart).
Contactor drivers and the motor drive output from Curtis controllers can
contribute to RF emissions. Both types of output are pulse width modulated
square waves with fast rise and fall times that are rich in harmonics. (Note:
contactor drivers that are not modulated will not contribute to emissions.)
The impact of these switching waveforms can be minimized by making the
wires from the controller to the contactor or motor as short as possible and by
placing the wires near each other (bundle contactor wires with Coil Return;
bundle motor wires separately).
For applications requiring very low emissions, the solution may involve
enclosing the controller, interconnect wires, contactors, and motor together in
one shielded box. Emissions can also couple to battery supply leads and throttle
circuit wires outside the box, so ferrite beads near the controller may also be
required on these unshielded wires in some applications. It is best to keep the
noisy signals as far as possible from sensitive wires.
Immunity
Immunity to radiated electric fields can be improved either by reducing overall
circuit sensitivity or by keeping undesired signals away from this circuitry. The
controller circuitry itself cannot be made less sensitive, since it must accurately
detect and process low level signals from sensors such as the throttle potenti-
ometer. Thus immunity is generally achieved by preventing the external RF
energy from coupling into sensitive circuitry. This RF energy can get into the
controller circuitry via conducted paths and radiated paths.
APPENDIX C
CURTIS WEEE / RoHS STATEMENT, MARCH 2009
WEEE
The Directive 2002/96/EC on Waste Electrical and Electronic Equipment (WEEE)
was adopted by the European Council and Parliament and the Council of the Eu-
ropean Union on January 27, 2003. The aim of the directive was to improve the
collection and recycling of WEEE throughout the EU, and to reduce the level of
non-recycled waste. The directive was implemented into law by many EU member
states during 2005 and 2006. This document provides a general description of
Curtis’s approach to meeting the requirements of the WEEE legislation.
Note that the directive gave some flexibility to the member states in imple-
menting their individual WEEE regulations, leading to the definition of varying
implementation requirements by country. These requirements may involve consid-
erations beyond those reflected in this document. This statement is not intended
and shall not be interpreted or construed to be legal advice or to be legally binding
on Curtis or any third party.
Commitment
Curtis is committed to a safe and healthy environment and has been working
diligently to ensure its compliance with WEEE legislation. Curtis will comply
with WEEE legislation by:
• Designing its equipment with consideration to future dismantling,
recovery and recycling requirements;
• Marking its products that fall within the scope of the directive with
the required symbol and informing users of their obligation;
• To separate WEEE from general waste and dispose of it through the
provided recycling systems;
• Reporting information as required by each member state;
• Facilitating the collection, recycling and disposal of WEEE from private
households and other than private households (businesses) as defined
by the applicable member state regulation;
• Providing information to treatment centres according to the require-
ments defined in the local regulation.
RoHS
For several years now, Curtis has been implementing a rigorous program with the
aim of achieving full compliance with the Restrictions on the use of Hazardous
Substances (RoHS) Directive, 2002/95/EC.
Curtis has taken all available steps to eliminate the use of the six restricted
hazardous substances listed in the directive wherever possible. As a result of the
Curtis RoHS program, many of our instrumentation product lines are now fully
RoHS compliant.
However, Curtis’s electronic motor speed controller products are safety-critical
devices, switching very large currents and designed for use in extreme environmental
conditions. For these product lines, we have successfully eliminated five out of the
six restricted hazardous substances. The single remaining issue preventing full RoHS
compliance is the unsuitability of the lead-free solders available to date, due to the
well-documented issues such as tin whiskers, and premature failure (compared with
leaded solder) due to shock, vibration, and thermal cycling.
Curtis is closely monitoring all RoHS developments globally, and in par-
ticular is following the automotive industry’s attempts to introduce lead-free solder
as a result of the End of Life Vehicle (ELV) Directive, 2003/53/EC. To date, the
automotive industry has rejected all lead-free solder pastes due to a significant
reduction in reliability compared to leaded soldering.
Curtis firmly believes that the operating environments, safety requirements,
and reliability levels required of automotive electronics are directly analogous to
that of our speed controller products. As such, Curtis will not be switching to a
lead-free solder process until lead-free solder pastes and techniques are available
that meet the requirements of the RoHS study groups and ELV Automotive In-
dustry bodies. That is, when all known issues, including that of tin whiskers, are
satisfactorily resolved.
At this moment in time, all Curtis motor speed controllers used on industrial
vehicle applications are also regarded as exempt under EEE category 9 of the RoHS
directive 2002/95/EC. This means there is no requirement at this time for Curtis
control systems used on such equipment to comply with the directive. Curtis will
work closely with all key customers to ensure that whenever possible, we are in a
position to continue the supply of products should these exemptions expire.
APPENDIX D
PROGRAMMING DEVICES
PROGRAMMER FUNCTIONS
Programmer functions include:
Parameter adjustment — provides access to the individual programmable pa-
rameters.
Monitoring — presents real-time values during vehicle operation; these include
all inputs and outputs.
Diagnostics and troubleshooting — presents diagnostic information, and also a
means to clear the fault history file.
Programming — allows you to save/restore custom parameter settings files and
also to update the system software (not available on the 1311).
Favorites — allows you to create shortcuts to your frequently-used adjustable
parameters and monitor variables (not available on the 1311).
APPENDIX E
SPECIFICATIONS
Heatsink overtemperature cutoff linear cutback starts at 85°C (185°F); complete cutoff at 95°C (203°F)
Heatsink undertemperature cutoff complete cutoff at -40°C (-40°F)
Package environmental rating IP65; compliance requires a mating AMPSEAL 35-pin connector header
Weight 2.84 kg (6.3 lbs)
Dimensions (W× L×H) 155 × 212 × 75 mm (6.1" × 8.3" × 3.0")
Notes: Internal algorithms automatically reduce maximum current limit when heatsink temperature is >85°C or battery voltage is
outside the allowed limits. Heatsink temperature is measured internally near the power MOSFETs.
2-minute ratings are based on an initial controller heatsink temperature of 25°C and a maximum heatsink temperature
of 85°C. No addtitional external heatsink is used for the 2-minute rating test.
1-hour ratings assume that only one motor (traction or pump) is running for the test. For a combined rating, contact
your Curtis customer support engineer for power dissipation charts.