Allegro A89301 User manual

User Manual
A89301 Application Note
UM-A89301 February 27, 2019
Summary
This application note provides step-by-step instructions on how to use the A89301 Evaluation Board to program the Allegro
A89301 motor controller IC. In addition, this document contains feature descriptions and detailed circuit descriptions that are
not shown in the datasheet.
Table of Contents
Summary ............................................................................ 1
Step-by-Step Instructions ...................................................... 2
Step 1: Evaluation Board Connections................................. 2
Step 2: Launch the GUI ..................................................... 3
Step 3: Load saved parameters, if previously saved .............. 5
Step 4: Configure the basic parameters ............................... 6
Step 5: Start the motor....................................................... 7
Step 6: If motor does not move at all ................................... 8
Step 7: If motor shakes a little and stops.............................. 9
Step 8: If motor spins more than 5 cycles and stops ............ 10
Step 9: While the motor is spinning, go to the Status page;
click ‘Read Status’..........................................................11
Step 10: Adjust the motor inductance ................................ 12
Step 11: Fine tune the general parameters......................... 16
Step 12: PID Parameters ................................................. 17
Step 13: Startup Mode and Startup Settings....................... 18
Step 14: Lock detect parameters....................................... 20
Step 15: Speed control mode ........................................... 21
Step 16: Other settings .................................................... 22
Step 17: MOSFET CISS settings (CISS tab)....................... 25
Step 18: Save the settings and write into the EEPROM ....... 26
Default values of Allegro-only bits ..................................... 27
Note 1. How to determine the number of poles ................... 28
Note 2. Testing the IPD performance ................................. 29
Note 3. Debugging the lock detect feature.......................... 31
Note 4. Testing Motor Startup ........................................... 33
Other Operating Features of A89301 .................................... 34
Motor Operation Status Readback .................................... 34
I2C Hardware Connection ................................................ 35
OCL and OCP ................................................................ 35
OCP Masking Time and Filtering Time ............................... 35
Bus Current vs. Q-Axis Current......................................... 36
Gate Driver .................................................................... 36
Current Limit Level Ramping Up With Speed...................... 36
Charge Pump Capacitor Selection .................................... 37

2
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
STEP-BY-STEP INSTRUCTIONS
Step 1: Evaluation Board Connections.
B. Connect
power cables to
VBBIN and GND
A. Connect USB
cable to computer
C. Set the switch
to U1 PROG E. *Do NOT
connect motor
phases
SA,SB,SC yet
* The default sengs in the A89301 may
not be appropriate, which could cause
damage to the IC or motor. Sengs should
be veried before connecng a motor.
F. Turn on power
(to rated voltage)
D. Set JMP2 to
upper posion

3
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 2: Launch the GUI.

4
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 2: Launch the GUI. (continued)
B. If you see this error message,
install the USB to I2C chip driver
(FTDI D2XX). Check USB cable
connecon.
C. Make sure the power supply is
ON, and the switch is set to ‘U1
PROG’.
D. Try talking to the IC again. (As I2C_SDA
is shared with funconal mode FG pin, it
is possible the rst aempt failed because
the FG is pulled low).
To guarantee this won’t happen again in
the future, disable the FG funcon:

5
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 3: Load saved parameters, if previously saved.
Device parameters can be saved to a file. If a file for this (or similar) application has been created, open that file. Verify the Allegro-
only bits in the file are their default values.
B.
C.
E. F.
A.
D.

6
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 4: Configure the basic parameters.
Note: These numbers do not need to be very accurate; use the best estimation. There is fine tuning later in the process.
The number of pole pairs. For example,
12 pole motor: input 6 pole pairs.
See NOTE 1 to determine the number of poles.
The supply voltage that motor will be
working at. For example:
•Computer fan, 12 V power supply:
input 12 V.
•Supply voltage speed control, range
8 V to 24 V: input 24 V.
•Lithium baery system, voltage
11.1 V to 12.6 V: input 12 V.
Expected motor speed at ‘Rated Voltage’,
normal load condion, and 100% control
demand.
For example, pedestal fan, 1300 rpm with
blades and 1450 rpm without blades:
input approximately 1300 rpm.
Motor operaon current under ‘Rated
Voltage’, with normal load condion.
Rated Voltage, Rated Speed, and Rated
Current must be consistent.
Motor phase to center tap resistance,
measure phase to phase R and divide by
two.*
*Be sure to use an accurate mmeter. A ber oon may be to
apply a current through the motor, measure voltage across it, and
calculate resistance.
In the “Advanced” page, there is a
parameter defining the current sensing
resistor value. Program this value
appropriately.

7
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 5: Start the motor.
A. Connect motor phase A, B, and C.
B. Keep ‘Set speed demand via I2C’ checked.
C. Select the speed demand to 50%, and click Toggle Run/Stop.
The motor should start spinning.
If it does, go to step 9.
If not:
Doesn’t move at all,
go to step 6.
Shook a li�le bit
then stopped, go
to step 7.
Spun more than 5
cycles and stopped,
go to step 8.

8
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 6: If motor does not move at all:
A. Look at the LED indicator
connected to the Fault pin,
and follow the fault table to
determine the root cause.
B. If the LED is o, connect a current probe and
voltage probe to the motor outputs and check
if there is any current / voltage output to the
motor phase. If there is voltage but no current,
check motor phase connecons.
C. If the fault indicator LED is showing the “zero speed demand”, double
check the I2C speed demand seng is correct.
D. Toggle Run/Stop to retry startup.

9
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 7: If motor shakes a little and stops:
B. If it is OCP, check the phase output
wire connecons.
C. Otherwise, it is likely lock
detecon. If so, lower/slow down
the acceleraon seng. Note there
are two acceleraon ranges.
D. Toggle Run/Stop to retry the startup.
A. Look at the LED indicator
connected to the Fault pin,
and follow the fault table to
determine the root cause.

10
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 8: If motor spins more than 5 cycles and stops:
B. The problem is likely lock detec�on. If so,
go to the Standby / Protec�on page and
disable all the lock detect features.
C. Toggle Run/Stop to retry the startup.
A. Look at the LED indicator
connected to the Fault pin,
and follow the fault table to
determine the root cause.
D. One by one, enable each lock detect
feature to determine which is the cause of
the fault and which can be re-enabled.

11
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 9: While the motor is spinning, go to the Status page; click ‘Read Status’.
A. While the motor is spinning, go to the Status page. Click ‘Read Status’.
B. The system diagnos�cs
func�on will show you IC
temperature, motor
speed, supply current,
phase current, and supply
voltage. Compare the
supply current and voltage
data with the result
showing on the power
supply.
C. The Control demand is the amplitude that is
commanded (it should match the I2C speed demand
value). The Amplitude command is the actual
amplitude provided to the motor phase. If the
command is less than the demand, it is because of the
current limit. This problem is solved in Step 11.

12
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 10: Adjust the motor inductance.
A. Motor inductance is difficult to measure—it
varies with opera�on frequency, phase
current (satura�on), and also with the rotor
posi�on. Thus, A89301 provides an easy
method to adjust the inductance value and
achieve the best efficiency.
B. While the motor is spinning, connect a current probe to phase A, and connect a
voltage probe to phase A.
C. Enable the open window which is a debug
func�on. Remember to disable the
window before finalizing the parameters.

13
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 10: Adjust the motor inductance. (continued)
D. There will be a small window opened
on phase A (winding current is flat at
0A). Observe phase A voltage inside
the window:
•If voltage > VBB/2, increase L.
•If voltage < VBB/2, decrease L.
•If voltage = VBB/2, best efficiency.

14
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 10: Adjust the motor inductance. (continued)
E. It may not be possible t an inuctance value that makes the phase A
voltage exactly VBB/2. If not, choose the closest seng.
F. Theorecally, jusng the inuctance value at one speell ork for all other
spees. Hever, it is recommeneto verify at another spee. If it esn’t
ork at other speeit is recommeneto make the justment at ratespee.
G. For motors running at high spe500 Hz), opening the iomay cause a
big storon in the phase current, ich can trigger the lock etecon. In this
case, capture the rst inoaveform, stop the oscilloscope, anthen make
the justment.
H. For motors ith very loinuctance, if
the phase current looks like this, set
the inuctance value to level 0 or 1,
anthen start the justment.
I. The Direct ive angle feature bypasses
automac phase angle justment. If
enable, uctor seng slier is
useto set the xeavance angle, in
units of grees.

15
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 10: Adjust the motor inductance. (continued)
J. There is another way to double-conrm the inductance is opmized.
•Control the motor to xed high speed (around 80% of rated speed).
•Read phase current RMS from scope.
•Change the inductance seng around the value from the previous step.
•List the RMS current for each inductance seng and choose the one with
smallest RMS current.
•For example, look at the table, inductance seng 2 will cause the minimum
current axed speed (3000 rpm). Therefore, choose seng 2.
inductance se�ng phase RMS current motor speed
0 2.35 A 3000 rpm
1 2.25 A 3000 rpm
22.21 A 3000 rpm
3 2.28 A 3000 rpm
4 2.39 A 3000 rpm

16
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 11: Fine tune the general parameters.
A. Increase the speed demand to 100%, and
read the status.
B. The bus current value should match the
actual bus current shown on the power
supply or a mul�-meter. If not, adjust the
sense resistor value slightly (on the
advanced page).
C. The ‘Control demand’ and ‘Amplitude
command’ should be both 100% (511).
D. If the ‘Amplitude command’ is less than 511, go to the general parameter
page and increase the ‘Rated current’ value. The motor speed should
increase while the ‘Rated current’ value is increased.
E. When the ‘Control demand’ and ‘Amplitude command’ are both 511,
record the ‘Motor speed’ from the status page. Enter this value as the
‘Rated speed’ parameter.
F. Record the ‘Bus current’ from the status page. Enter this value as the
‘Rated current’ parameter.

17
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A. Restart the motor.
B. If the PID parameter is too high or too low, opera�on will fail. Connect a
current probe and voltage probe for the debugging.
•If current shows low frequency oscilla�on,
the PID parameter is too low.
•If current shows distor�on within in one
electrical cycle, the PID parameter is too
high.
Step 12: PID Parameters.

18
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 13: Startup Mode and Startup Settings.
A. If this is an air purifier type of applica�on
which doesn’t requirezero reverse
rota�on startup, and startup �me is not
cri�cal, select ‘Align & go’.
B. If this is a ceiling fan or polefan applica�on which strictly requires no reverse
rota�on at startup, select ‘2 pulseIPD’.
•The ‘IPD current threshold’ must beset high enough so that startup is
reliable, and as low as possibleto minimizethe acous�c noiseduring IPD.
C. For somemotors, dueto manufacturing tolerance (inductance error between
phase to phase), the 2 pulse IPD won’t be able to detect the ini�al posi�on
reliably. In that case, select ‘6 pulseIPD’.
D. If this is a seat cooling fan or pump wherefaster startup is desirable and slight
reverseoscilla�on at startup is acceptable, select ‘Slight move’.
•Adjust the ‘Slight move amplitudedemand’, and choose the best startup
performance. Too high a valuewill causeseverestartup oscilla�on, and
too low a valuewill cause startup failure.
E. NOTE 2 explains how to use the GUI’s IPD page to test the performance.
F. Compare these three op�ons in the applica�on and choosethe best fit.

19
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 13: Startup Mode and Startup Settings. (continued)
G. A89301 provides 7 opons for the
startup current. The motor phase
current will gradually increase from the
programmed value.
H. Reducing the startup current may cause startup to fail in open-loop mode,
even if startup was veri successful before the change. In this case, reduce
the acceleraon accordingly.
I. If faster startup is required, increase the
acceleraon value. Startup current may
need to be increased accordingly.
If ‘Max start current’ is enabled, the
control demand is ignored, and 100%
control demand is always used. The current will
be limited by the startup current seng.
K. Increasing the rst cycle speed will
make the startup faster.
L. Perform a comprehensive test to ensure startup reliability.
1) Dierent inial posion.
2) Dierent inial speed.
3) Dierent supply voltage.
4) Dierent operaon temperature.
J. Note the startup current and acceleraon only aects the reliability and
startup me. If the motor fails aer at least 5 cycles, then changing the startup
parameters won’t help.
The GUI provides the startup test tool of reliability test. Refer to Note 4.

20
Allegro MicroSystems, LLC
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Step 14: Lock detect parameters.
Note: If there is any issue with lock detect, refer to NOTE 3 for further debugging.
Detect the lock during startup. If it is
disabled, a locked motor condion can
sll be detecon aer startup stage, it
just takes longer.
A89301 aempts to start the motor again aer 5s or 10s
waing. But it will only aempt so many mes, then stop
aempng un power cycle, or restart the motor
demand (speed demand).
Lock detect waing me.
Enabled, the IC will report a failure if the
motor “speed” is abnormally fast.
For ceiling fan, with exible shaconnecon, there
is a lock condion when the shaand motor keep
vibrang and cause ‘papapa’ noise.
In the normal operaon, the motor generates
BEMF. The algorithm observes the BEMF by
calculang the current and voltage, and reports
abnormal BEMF. Select Robust will get rid of the
mis-trigger but it takes longer to detect.
Disabled, lock detect begins once the motor reaches
6% of rated speed. Enabled, it becomes 12%.
Table of contents