WaveSculptor22 - Software
WaveSculptor22 - Software
WaveSculptor22 - Software
31 August 2015
1 of 20
USER'S MANUAL
TABLE OF CONTENTS
2 Observation........................................................................................3
2.1 Errors..................................................................................................................... 3
2.2 Limiting Setpoint................................................................................................... 4
2.3 Measurements....................................................................................................... 5
2.4 Traffic Monitor....................................................................................................... 6
3 Control............................................................................................... 6
4 Configuration......................................................................................7
4.1 General Configuration............................................................................................ 8
4.2 Calibration Configuration.....................................................................................10
4.3 Motor Configuration............................................................................................. 11
5 Set up a motor..................................................................................13
5.1 BLDC motor......................................................................................................... 13
5.2 IPM motor............................................................................................................ 14
5.3 Induction motor................................................................................................... 14
6 Configuration Tools...........................................................................15
6.1 PhasorSense........................................................................................................ 15
6.2 ParamExtract....................................................................................................... 16
6.3 ImExtract............................................................................................................. 17
7 Datalogging......................................................................................18
8 Revision Record................................................................................19
2 of 20
USER'S MANUAL
2 OBSERVATION
This main screen shown in Figure 1, displays the
status of WaveSculptor along with all available
measurements. Communications between the
configuration software and WaveSculptor is
achieved via the Tritium CAN-Ethernet bridge.
A Tritium CAN-Ethernet bridge must be present on
the same CAN bus as the WaveSculptor and on the
same LAN as the PC running the configuration
software. Before using the configuration software,
you must first configure the CAN-Ethernet bridge as
described in the CAN-Ethernet Bridge User's Manual
(TRI82.002).
Once the CAN-Ethernet Bridge is configured and the
WaveSculptor CAN bus is powered up, all
WaveSculptors present on the CAN bus will be
listed. The list shows each devices CAN base ID, the
type of WaveSculptor and the serial number. If
there is more than one WaveSculptor present,
select the one you wish to utilise.
No configuration information stored in the
WaveSculptor is downloaded to the PC when it
becomes selected in the list box allowing for simple
and immediate telemetry monitoring functionality.
The required configuration segments are
downloaded on demand the first time when one of
the tools in the menu are selected. The
configuration download and upload progress is
displayed in a separate pop-up window which also
allows for the current transfer to be cancelled.
A CAN BUS traffic monitor is situated at the bottom
of the screen which indicates the total traffic Figure 1: Main Screen
loading on the selected bridged network.
2.1 ERRORS
Controller errors are presented in the text box labelled Errors. Six different types
of errors can occur. These errors usually would only occur one at a time, however
it is possible to have multiple errors displayed at once. The possible error
messages are listed below:
3 of 20
USER'S MANUAL
SWOC: Software Overcurrent; This error occurs if the firmware on the controller
samples a DC bus, phase C or phase B current that is above the limit set in the
calibration section of the configuration file.
OV: Over Voltage; This occurs if the bus voltage exceeds the over voltage limit
set in the calibration section of the configuration file. This is to protect the
semiconductors against over voltage during regeneration.
HALL: Hall Sequence Error; This occurs if a hall transition is invalid. The hall
sequence is recorded during the PhasorSense routine and this same sequence
must be followed by the motor hall effect sensors at all times.
WD: Watch Dog; This is a warning message more than an error, as the controller
will still function with this error. An independent hardware watchdog needs to be
updated at least 4 times per second by the firmware in the controller. If it is not
updated the controller will reset (something that the driver of the vehicle would
feel as a short loss of power). This error will stay set until the controller is next
reset or power cycled.
CFG: Configuration File Error; An error occurred while reading the configuration
file, and will be flagged during the boot-up sequence of the WaveSculptor. If all or
some of the configuration values cannot be read from the configuration file,
default values will be used instead of the stored values. This error does not
disable the controller, it will continue to operate in the best manner possible
using the default configuration values. This does mean that the controller may
not operate as expected. Unless the error is with one of the more critical
configuration constants it may be difficult to even notice the difference in
operation.
UV15V: Under Voltage15V; The internal 15V rail has dropped below 12V.
DESAT: Desaturation; On a WaveSculptor200 this could indicate an overcurrent
desaturation of the IGBT switches or an under voltage of the IGBT driver IC. On a
WaveSculptor22 this means an under voltage of the MOSFET driver IC.
MOT: Motor interface board missing; The WaveSculptor has not received any
communication from the motor interface board within the last second.
OVSPD: The motor speed has exceeded the configured maximum by 15%. This
error will automatically clear once the motor speed reduces to 95% of maximum.
4 of 20
USER'S MANUAL
setpoint.
VdcMin: Motor drive torque is limited by the minimum bus voltage setpoint.
temp: The maximum heatsink setpoint has been reached and is limiting the
motor torque.
2.3 MEASUREMENTS
All measurements are broadcast from the WaveSculptor at periodic intervals,
unless disabled in the configuration file. For more details, please refer to the CAN
bus comms Appendix in the WaveSculptor User's Manual
Measurement Description Rate (Hz)
Bus Voltage The input bus voltage of the controller 5
Bus Current The input current to the controller 5
Controller Power Bus Voltage * Bus Current, calculated on the PC 5
Motor RPM Angular velocity of the motor in RPM 5
Vehicle Velocity Vehicle Velocity in km/h 5
Phase C Current Phase B and C motor current in Arms. Relies on a RMS 5
filter to smooth the motor frequency, so value may not
Phase B Current represent true cycle RMS at very slow motor frequencies.
BEMF (D) Component of the BEMF aligned with the motor flux. By N/A
definition this value is always zero.
BEMF (Q) The motor back EMF. Represents the peak voltage. 5
Vout (D) Component of the controller output voltage aligned with 5
the motor flux.
Vout (Q) Component of the controller output voltage aligned with 5
the motor BEMF and resistive voltage drop.
Iout (D) Aligned with the motor flux, current in this component will 5
weaken or strengthen the motor flux.
Iout (Q) This component of current produces motor torque and 5
does actual work.
Slip Speed The difference in speed between the rotor and the stator 5
flux, only valid when driving induction motors
15V rail The voltage of the internal 15V rail, used to power the low 1
voltage sections of the WaveSculptor. Note that this is
NOT the value of the 12V CAN bus supply input.
1.9V rail The voltage of the 1.9V rail, used to power the core of the 1
DSP.
3.3V rail The voltage of the 3.3 rail, used to power all the control 1
circuitry.
Motor Temp The temperature of the connected motor in degrees 1
Celsius.
Phase C temperature Heatsink temperature under the phase C semiconductors. 1
Phase B temperature Heatsink temperature under the phase B semiconductors. 1
WS200 ONLY.
DSP temperature The temperature on the surface of the DSP control board 1
within the controller.
Phase A temperature Heatsink temperature under the phase A semiconductors. 1
WS200 ONLY.
Odometer The distance travelled (in km) since reset. 1
5 of 20
USER'S MANUAL
Please note that a mouse click on any of the measurement text boxes of Figure 1
will request the measurement from the DSP (using a CAN remote request).
Hence, the measurements can still be read even if its periodic send flags are
disabled in the configuration file.
The CAN BUS traffic monitor situated at the bottom of the main screen is a useful
indicator of the total traffic loading that is occurring on the selected bridge
network. The traffic should be kept as low as possible in order to ensure smooth
operation and communication between devices, especially when transferring
configuration files or flashing devices. The colour indicator to the side of the load
percentage changes relative to the level of loading giving a good quick indication
of the network health.
Colour Description
Black Not connected to a network or traffic is very low with
respect to the sample rate of the monitor
Green Connected to a network and within recommended traffic
loading of up to 30% bus utilisation
Yellow Greater than 30% bus utilisation (Not recommended
normal operating levels)
Red Greater than 60% bus utilisation (Bus is heavily loaded
and there is a risk of packets failing to be sent or
received)
3 CONTROL
The purpose of the control dialog box is to provide a basic driver controls
interface, allowing the system to be tested. It is not meant to be used to actually
drive a vehicle on the road. Figure 2 shows a screen shot of the interface.
6 of 20
USER'S MANUAL
In order to control the motor, three setpoint sliders are provided with text boxes
to the right of the sliders displaying the selected setpoint. Fine movement of
these sliders can be achieved using the keyboard as shown in Table 3.
The Motor Current slider of Figure 2 controls the motor current setpoint, and
ranges from 0 to 100% of the maximum current setpoint in the configuration file.
Fine control of the motor current setpoint is available using the U, D and Zero
buttons to the far right.
The Velocity slider of Figure 2 controls the vehicle velocity setpoint. The setpoint
is in RPM and is displayed in the text box to right of the slider. If this slider is
pulled below the actual vehicle speed the controller will regenerate in an attempt
to slow the vehicle. If the slider is pulled above the actual vehicle speed the
controller will drive with more current in an attempt to increase vehicle speed.
The rate at which the vehicle will slow or speed up will be limited by the motor
current or other setpoints. DO NOT REGEN, if you are using a power supply to
feed the WaveSculptor bus, this may damage the supply. Avoid regen by always
setting the motor current to zero before changing the velocity.
The Bus Current slider of Figure 2 controls the DC bus current setpoint, and
ranges from 0 to 100% of the maximum current setpoint in the configuration file.
The keyboard can also be used to move the sliders, with the key mapping in the
table below:
Key Functional description
<Up Arrow> Increases motor current setpoint by 0.1%
<Down Arrow> Decrease motor current setpoint by 0.1%
<Space Bar> Zeros motor current setpoint
<Right Arrow> Increase vehicle velocity setpoint by 0.1%
<Left Arrow> Decrease vehicle velocity setpoint by 0.1%
<Enter> Zeros the vehicle velocity setpoint (will regen at the current setpoint)
‘a’ Increase bus current setpoint by 0.1%
‘z’ Decrease bus current setpoint by 0.1%
7 of 20
USER'S MANUAL
4 CONFIGURATION
The configuration screen shown in Figure 3 provides four main functions: Load
and save to PC or WaveSculptor. The load and save functions are under the File
menu, provide a means of storing the configuration file on the PC for backup
purposes. You should backup your configuration files just as you would any other
file. If the configuration file on the WaveSculptor is somehow corrupted you will
be able to restore to a known good version with a backup. If using the latest
release of the software and firmware, configuration files are interchangeable
between WaveSculptors, BUT the existing configuration must be first
downloaded in order to integrate the configuration constants with the
file.
The transfer functions move the information from all configuration tabs to and
from the WaveSculptor. The upload and download progress is reflected in a
separate popup-window as mentioned in the Observation section.
The configuration screen consists of three tabs. The first contains general
controller information that the user is free to adjust, the second contains
calibration data set in the factory and the third tab contains motor information,
also adjustable by the user.
8 of 20
USER'S MANUAL
Table 4 gives a description of the different configuration values and the impact
they have on the WaveSculptor operation.
Value Description
Sine Current Limit (Arms) Represents the 100% motor current setpoint. In sine
mode all three phases are switching and the current
target on every phase will be a percentage of this
current.
SixStep Current Limit (A) Represents the 100% motor current setpoint while in six
step mode. In sixstep mode only a pair of phases is
switching at any one time and the current target through
these two phases will be a percentage of this current.
Speed Limit (RPM) The maximum motor speed setpoint
Idc Limit (A) Represents the 100% bus current setpoint.
Phase C Limit (Heatsink Limit) (°C) The motor current will be reduced if the heatsink
temperature nears this setpoint.
9 of 20
USER'S MANUAL
Value Description
Max bus voltage (V) The controller will attempt to limit regeneration current if
this setpoint is exceeded. Below this voltage, full current
will be available.
Min bus voltage (V) The controller will attempt to limit drive current if the
bus voltage falls below this setpoint. Above this voltage,
full current will be available.
Hard current limit (A) The setpoint for the hardware based current
comparators. This is not adjustable and may not read
correctly for a second or two after reset.
Serial Number Uniquely identifies the controller. Set during
manufacture. Should match the serial number on the
case.
Firmware Version Version of firmware running on the DSP in the controller.
The number is parenthesis is the firmware build number.
Hardware Version Version of control board in the WaveSculptor.
Base Address The CAN identifier that the WaveSculptor will send all its
CAN packets relative to. The edit box will force the
address to a multiple of 32.
Driver Controls Base Address The CAN identifier that the WaveSculptor will expect to
receive driver controls CAN packet relative to. The edit
box will force the address to a multiple of 32.
Listen for BMS master packets Tick to listen to maximum and minimum cell voltages
from a Tritium BMS master. Not available at present.
BMS master address The CAN identifier that the WaveSculptor will expect to
receive BMS CAN packet relative to. The edit box will
force the address to a multiple of 32.
CAN baud rate The CAN baud rate the WaveSculptor will use.
Vehicle Mass The total mass of the vehicle. Directly affects the
velocity control loop. Vehicle mass is used to calculate
the P and I terms in the velocity loop. Drop this mass to
30 – 50kg for testing a motor by itself on the bench.
Send Measurement Flags Enables/Disables the periodic broadcast of the
associated measurements. Each flag will affect two
measurements, as each measurement CAN packet
contains two measurements.
10 of 20
USER'S MANUAL
11 of 20
USER'S MANUAL
A description of each motor configuration value along with its effect on the
system, is given in Table 4.
Value Description
Active motor The index to the motor config tab that the WaveSculptor
will use by default (in the absence of a valid ActiveMotor
CAN packet being received). THE SELECTED MOTOR
CONFIG TAB HAS NO BEARING ON THE ACTIVE MOTOR IN
THE WAVESCULPTOR.
Tyre Diameter (m) Outside diameter of the drive tyre. Used for speed
calculation. If motor is geared, scale this value by the gear
ratio.
Description Free text description of the motor.
Nr of PolePairs The number of magnet north-south pairs on the rotor of
the motor.
Motor Cut-out Temperature (°C) The controller will linearly reduce its current limit from the
configured limit at 'Motor Ramp Temperature' to 0A at
Motor Ramp Temperature (°C) 'Motor Cut-out Temperature'.
12 of 20
USER'S MANUAL
Value Description
Engage Motor Freq (Hz) The motor must reach this frequency (in revolutions per
second) before the feedback from the sensorless position
algorithm is used instead of the hall position feedback.
Disengage Freq (Hz) Below this motor frequency (in revolutions per second)
the feedback from the sensorless position algorithm is
ignored and the position feedback from the hall sensors is
used.
Ignore halls which sensorless engaged If this box is ticked, the controller will ignore any error
between the position feedback of the sensorless algorithm
and the motor hall effect sensors. If not ticked the
controller will revert to using feedback from the hall effect
sensors in the case of a large discrepancy between the
two position feedback systems. In most situations, ticking
this box will be advantageous, as the position estimation
routines used by the motor controller are more accurate
than the output of most motor hall position sensors.
Motor temperature scale Applied directly to the raw ADC reading:
Motor temperature offset tempVolt = scale * (rawTempVolt + offset)
T 0=25 o C .
Line Resistance (mR) Motor line to neutral resistance as calculated by
ParamExtract.
Line Inductance (uH) Motor line to neutral inductance as calculated by
ParamExtract.
Speed Constant The RMS voltage induced across the motor phase winding
at 1 radian per second. Measured phase relative to
neutral.
Phase Sequence Ticked if phase C leads phase B while the motor is rolling
forward. Used in the control system. Set by PhasorSense
and is read-only in the release version of the interface
software.
Hall transition table The first six entries represent actual transitions, the last
two entries are the unused hall combinations. The
transition angle is in degrees and the hall transition is in
[last hall] => [new hall] format. Set by PhasorSense.
Motor type Three different types of motor are selectable: BLDC,
Induction or IPM. The settings below this drop down box
have different meaning for different motor types.
BLDC motor type (PM motor with no overspeed [constant power region] capability)
Rotor R (mR) Not used
Rotor L (uH) Not used
Induction motor type
Rotor R (mR) Rotor resistance calculated by ImExtract
Rotor L (uH) Rotor inductance calculated by ImExtract
Min Id (Apk) The control system will keep the flux producing current
(Id) between Min Id and Max Id at all times. Max Id is a
Max Id (Apk) motor parameter and should be set as high as possible
without saturating the iron in the motor. Min Id controls
the amount of over speed, the smaller the Min Id the more
over speed. Typical defaults will be around 20A and 5A.
13 of 20
USER'S MANUAL
Value Description
IPM (Interior Permanent Magnet) motor type
Rotor R (mR) Not used
Rotor L (uH) Lq inductance of the IPM motor, whereas the Line
inductance is the Ld inductance of the IPM motor.
Id0 (A) TBD
Id m (A/Atot) TBD
5 SET UP A MOTOR
The following is list of instructions for setting up a generic motor.
1. Set the tyre diameter to match your vehicle.
2. Chose a motor slot (tab) to configure.
3. Change the active motor to match the motor slot (tab) you are
configuring.
4. Give the motor a meaningful text description
5. Enter the number of pole pairs
6. Adjust Motor ramp and cut-out temperature for your motor.
7. Leave the engage and disengage frequency alone
8. Set the ignore hall box
9. If using an encoder set the encoder count correctly (When using a resolver
ensure the encoder count is at the default value of “1024”)
10. If you wish to use a motor temperature sensor, configure these constants.
Otherwise, make sure to connect a dummy resistor in place of the
required thermistor or PT100.
11. Upload to WaveSculptor
12. Download from the WaveSculptor to confirm the upload
13. Run paramExtract
14. Select motor type
15. Follow the instructions in the appropriate section (5.1-5.3) for your motor
16. Upload to WaveSculptor
17. Download from the WaveSculptor to confirm the upload
18. Save the configuration file locally as a backup
14 of 20
USER'S MANUAL
If you can stiffly lock the rotor then ParamExtract can be used to find this
inductance. After running ParamExtract and saving the calculated
inductance as the Line Inductance, move the rotor 360 / (4 * nrPolePairs)
degrees in either direction. In an IPM motor this will align phase CB with its
highest inductance position. Run ParamExtract again, this will be the Lq
inductance. Note this inductance, don't save it. Go back to the motor
configuration screen and enter this inductance in the Rotor L field.
If you can't lock the rotor, set Rotor L to 2.35 * Line Inductance. Try
driving the motor & assess the torque output for a given current limit →
adjust the Rotor L field → try driving the motor & assess the torque output
for a given current limit → repeat until you find best performing Rotor L
value.
15 of 20
USER'S MANUAL
6 CONFIGURATION TOOLS
The wsConfig program has three configuration tools that are very important to
setting up the WaveSculptor motor controller to drive your motor. These tools are
PhasorSense, ParamExtract and ImExtract.
The next three section describe how to use these three tools.
6.1 PHASORSENSE
PhasorSense is designed to find phase and hall sequence, along with the relation
between them. Plots of both the three phase voltages and the motor hall effect
position logic are displayed. This should assist finding any errors with
motor/controller set up.
16 of 20
USER'S MANUAL
want to save the phasorSense results. If you a happy with the results of the
acquisition save the results to your chosen motor slot, otherwise cancel the save,
fix the test rig and try again.
NOTE: When an Encoder or Resolver motor interface board is connected the hall
input should appear as a single “saw-tooth” pattern ranging from 0 to 1 inclusive
(If full 0 to 1 range isn't being seen, then verify that the Encoder count in the
active motor configuration is correct).
6.2 PARAMEXTRACT
ParamExtract is designed to find the motor stator resistance and inductance.
This acquisition process requires the bus voltage and motor to be connected to
the WaveSculptor. For best results the bus voltage should be no larger than
needed to overcome the line resistance (a 60V bus voltage is usually plenty). The
higher the PWM required to source 20A out of phase CB of the WaveSculptor the
more accurate the calculation of line resistance and inductance.
The motor may rotate briefly during this test, as such KEEP AWAY FROM THE
MOTOR while running this test. It should also be disconnected from the drive
17 of 20
USER'S MANUAL
wheel of the car, or the wheel should be raised up from the ground before
performing this test.
The ExtractParams button starts the acquisition process.
The algorithm linearly ramps the current in phase CB from 0A to 20A then
switches off, noting the slope of the ramp and time constant of the decay. This
process should take no more than a few seconds, after which the results will be
presented on screen as shown in Figure 7.
A message box will appear asking if you wish to save the results.
NOTE: If the motor moved during the test, don't save the results. Repeatedly run
the test until there is no noticeable movement during the test. This is because
motor movement creates a voltage, which influences the reading. If the
acquisition was good, the blue dashed best-fit curve should lie neatly on top of
the acquired curve. Once a good fit is achieved without motor movement, allow
the software to save the results to the motor slot you are configuring.
6.3 IMEXTRACT
ImExtract is designed to find the rotor resistance and inductance in induction
motors.
This acquisition process requires the bus voltage and motor to be connected to
the WaveSculptor (a 60V bus voltage is usually plenty).
An induction motor should not move during this test, however, it is still
recommended to KEEP AWAY FROM THE MOTOR while running this test.
The Extract button starts the acquisition process, which can last for 30 seconds.
18 of 20
USER'S MANUAL
The results will be presented on the screen as shown in Figure 8. The blue best-fit
curve should lie neatly on top of the acquired red curve. If the two curves are well
matched, save the acquired rotor constants to the configuration file. If the test
failed or the two curves are poorly matched, check the test rig and try again.
7 DATALOGGING
A system for logging data is provided under Log on the main menu. It has three
options Start, Stop and Update. The Start command will start a new file name
“[date] [time]” in the current operating directory. Pressing this button while a file
is already open will close the open file and start a new log file. Clicking Stop will
close the file and stop logging. The Update sub-menu allows three different
logging speeds, 200ms, 1s and 10s. The update rate can be changed at any time.
The format of the log file is a tab delimited text file with one header row and six
decimal points of accuracy on each measurement. All of the telemetry data
received an drive commands sent are logged in the file. The table below shows
the bit decoding for the limiters and errors.
Bit Limiter bit description Error bit description
0 PWM Hardware overcurrent
1 Motor current Software overcurrent
2 Velocity Bus overvoltage
3 Bus current Bad hall sequence
4 Bus voltage upper limit Watch dog caused last reset
5 Bus voltage lower limit Config read error (WS may be using
defaults)
6 Controller or motor temperature 15V rail under voltage lockout (UV)
7 - IGBT desaturation / driver UV
8 - Motor adapter not present
9 - Motor overspeed
10 - -
11 - -
12 - -
13 - -
14 - -
15 - -
19 of 20
USER'S MANUAL
8 REVISION RECORD
REV DATE CHANGE
1 1 July 2011 Document creation (DAF)
2 16 August 2011 GUI and communication interface refinement (AKR)
3 18 April 2012 Setup procedure and error bit clarification (AKR)
4 31 August 2015 Added new error description (AKR)
20 of 20