Application Note: BLDC Motor Control Using Sensored ...
Transcript of Application Note: BLDC Motor Control Using Sensored ...
AN035503-1015MultiMotor
SeriesMultiMotor
Series
Abstract
This application note discusses the control of a 3-phase brushless BLDC motor in Sinusoi-dal PWM Modulation mode using Zilog’s Z16FMC family of microcontrollers (MCUs). Zilog’s Z16FMC family of microcontrollers is designed specifically for motor control applications and, with this MultiMotor Series, features an on-chip integrated array of application-specific analog and digital modules using the MultiMotor Development Kit. The result is fast and precise fault control, high system efficiency and on-the-fly speed/torque control, as well as ease of firmware development for customized applications.
This document further discusses ways in which to implement sinusoidal PWM modulation and phase-angle synchronization with Hall sensor feedback. Test results are based on using a MultiMotor Development kit equipped with a Z16FMC MCU module and a 3-phase, 24VDC, 30W, 3200RPM BLDC motor with internal Hall sensors.
The source code file associated with this application note, AN0355-SC01.zip, is available free for download from the Zilog website. This source code has been tested with version 5.0.1 of ZDS II for ZNEO MCUs. Subsequent releases of ZDS II may require you to mod-ify the code supplied with this application note.
Features
The power-saving features of this Z16FMC application code include:
• Smooth motor start-up with reduced starting current
• 3-Hall sensor feedback sinusoidal PWM modulation
• Microcontroller-based overcurrent protection
• Adjustable speed and current (frequency and sine magnitude)
• Selectable control of motor direction
• UART interface for PC control
• LED to indicate motor operation
• LED to indicate UART control
• LED to indicate a fault condition
Figure 1 shows a block diagram of the Z16FMC MCU architecture.
Note:
AN035503-1015
Application Note
BLDC Motor Control Using Sensored Sinusoidal PWM Modulation with the Z16FMC MCU
Page 1 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Discussion
The Z16FMC Series Flash microcontrollers upon which this Sinusoidal PWM driver has been conceived are based on Zilog’s advanced 16-bit ZNEO CPU core. The ZNEO CPU sets the standard for performance and efficiency, with up to 20 MIPS performance at 20 MHz. It supports 16-bit internal bus widths, and provides near-single-cycle instruction execution.
Up to 128 KB internal Flash memory is accessible by the CPU, 16 bits at a time, to improve processor throughput. Up to 4 KB of internal RAM provides storage of data, vari-ables and stack operations.
PWM sinusoidal operation has certain advantages over block-commutated PMSM motor driving approaches, most notably its lower electrical and lower acoustical noise signa-
Figure 1. The Z16FMC MCU Architecture
WDT withRC Oscillator
POR/VBO& Reset Control
Internal PrecisionOscillator
ZNEO20 MHz CPU
ADC 10-bit12-Channel
Comparator
OperationalAmplifier
3 x Timer
I C
ESPI
2 x LIN-UARTwith IrDA
DMAController
InterruptController
FlashController
RAMController
A B C D E F G H
128 KB
4 KB
Multi-ChannelPWM Timers
2
Ports
8 8 8 8 8 1 1 4 Number of pins available
AN035503-1015 Page 2 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
tures. By comparison, the block commutation method causes harsh current transitions through the PMSM motor coils, essentially turning the phase windings of the motor on and off between commutations. The PWM sinusoidal method does not create these harsh current transitions through the motor coils, because the current and phase voltages are sinusoidal in nature. Motors operating via the sinusoidal PWM method, however, typi-cally run at a higher efficiency than block-commutated motors.
Because of the advantages of a PWM sine driver scheme’s attributes, PWM sinusoidal operation may be a better option for certain applications in which the life of ripple capaci-tors and ball bearings are concerns, as well as electrical noise.
Sinusoidal PWM driving schemes can be used to drive either PMSM- or BLDC-type motors, however, to take advantage of a sinusoidal driving scheme, a PMSM-type motor is likely to show the best results due to its sinusoidal wound-phase wiring.
In each of the Z16FMC products, the novel device architecture allows for the realization of the following enhanced control features; each is described in this section.
• Time stamp for speed control
• Integrated operational amplifier
• Multichannel PWM timer
Time Stamp for Speed ControlThe Capture feature of the 16-bit timers can be used to take a time stamp of the Hall sen-sor’s electrical timing periods. Upon a predefined Hall state, the asynchronously operating timer is read and its value is compared against a calculated speed reference value using PI closed loop control.
Integrated Operational AmplifierAppliance controllers almost invariably monitor motor speed by sensing current through the motor windings using sensor and sensorless techniques in conjunction with the ADC. Ordinarily, sampling instances by the ADC are synchronized by the MCU. With this pro-cess, an external operational amplifier is often used to convert the current signal to a volt-age signal; the ADC next samples the voltage signal and outputs the result to the processor. The processor then synthesizes the PWM outputs to control motor speed. In the case of the Z16FMC family of microcontrollers, an on-chip integrated operational ampli-fier eliminates the requirement for an external component, thereby reducing overall sys-tem cost.
Multichannel PWM TimerEach Z16FMC MCU features a flexible PWM module with three complementary pairs – or six independent PWM outputs – supporting deadband operation and fault protection trip input. These features provide multiphase control capability for a variety of motor types and ensure safe operation of the motor by providing immediate shutdown of the PWM pins during a fault condition.
AN035503-1015 Page 3 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Theory of Operation
In a brushless DC motor, the rotor is comprised of permanent magnets, while the stator windings are similar to those in polyphase motors.
Generally, there are two methods for determining motor position and speed: sensored con-trol and sensorless control. In sensor-based control applications, the Hall elements are integrated into the motor and used to detect the position of the rotor for drive and sine wave synchronization. In contrast, sensorless control employs the detection of back-EMF (BEMF) signals, which are generated (induced) by specific phase windings to synchronize the timing of a control loop.
An inverter bridge is used to drive the PWM sine generated currents through the BLDC motor windings, as shown in Figure 2.
The algorithm for Hall sensing is based on an implementation using three I/O ports which are configured for an interrupt on edge change of the Hall sensor’s signals. One of the advantages of using Hall sensors is that the angular position of the motor is known upon startup of the motor, therefore minimizing erratic start-up behavior and the need for a start-up ramp until BEMF zero crossings are detected. The PWM duty cycle present at the motor windings then produces the torque to start the motor. The rotating motor generates the Hall signals that vector into a single I/O service interrupt routine, which determines the next commutation state.
Another advantage of using Hall sensors as opposed to BEMF sensing is that under sud-den and strong load increase, the information of the commutation angle is not in jeopardy of becoming lost. In sensorless feedbacks, an extreme load increase can cause an inductive spike – which results from the stored magnetic energy of the previously turned off phase –
Figure 2. 3-Phase BLDC Motor Control System
AN035503-1015 Page 4 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
to become wide enough to suppress the BEMF information. As a result, the commutation angle information may be lost and could cause the motor to stall.
The Hall sensor’s angular position provides the information to energize all three phase voltages at the correct commutation angle. As opposed to trapezoidal or block commuta-tion, in which two of the three phases are energized for each commutation step, the sinu-soidal commutation requires all three phases to be energized for each commutation step, as shown in Figure 2.
To save computation time, the firmware implements a look up table in which the sine val-ues are stored. The PWM timer interrupt service routine interrupts every 50 µs and is used to fetch the sine values from the sine table and update the PWM sine frequency for Phase A, Phase B, and Phase C. This method provides very regular time intervals to update the sine frequency and scaling of the sine magnitude for all three phases. Right before exiting the PWM timer interrupt service routine, these three PWM channels are updated with the new PWM modulation values.
For this application, a PWM timer frequency of 20 kHz was chosen to minimize linear switching power losses in the MOSFETs, and to be out of the audible noise range.
PWM Frequency CalculationsUsing every value in the 256 sine array, the frequency is:
If every second sine value is used instead, then the frequency is effectively doubled and becomes:
In this second equation, the numerator represents the 1 + nth number of an offset to the array elements; the larger the numerator, the higher the sine frequency. A better way of obtaining a wider sine frequency range and resolution of the sine wave is to use a 16-bit interpolating table index of which only the upper byte is used to fetch the next PWM sine value from the look-up table. Depending on the frequency demand, the values of the upper byte can change with higher granularity, hitting each sine array value more or less times while the sine index continuously rolls over. Using this method, the lowest period using a 16-bit pointer to a 256-element sine table is:
65535 × 50 µs = 3.277 seconds
Because of the interpolating index method, the values in the numerator can be small, changing only in fractions to achieve higher frequencies.
Assuming the sine frequency is 60 Hz, the offset value for the sine table pointer is:
1=
1= 78.125 Hz
(PWM period × 256) 50 µs × 256
1 + n=
2= 156.25 Hz
(PWM period × 256) 50 µs × 256
AN035503-1015 Page 5 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
The resolution of the generated sine wave is a function of the sine frequency. Using the equation above, the calculated offset value is, in essence, the speed value, to be integrated to form the theta value. As already discussed, the upper byte of this theta value then becomes the index to the sine table.
Sine and Hall Commutation and Frequency AdjustmentHall sensor interrupts are generated six times – once every sixty degrees – therefore pro-viding data about the rotor position which is used to synchronize the sine wave commuta-tion angle and frequency with the Hall commutation angle and frequency.
Figure 2 on page 4 illustrates the generation of three 120-degree shifted sine waves based on values from a look-up table (LUT) which are then reconstructed in the PWM interrupt service routine.
Speed CalculationsThe angular period times of the rotor are captured every one-sixth of an electrical commu-tation, wherein Timer0 represents the number of timer ticks. These timer ticks are then compared against the demand speed coming from a potentiometer – also represented in timer ticks – and processed in a PI closed loop to adjust the look-up table values to change the frequency of the motor. If the motor is operated with open-loop speed control, then the speed demand coming from a potentiometer is used to directly generate the look-up table (LUT) values to change the motor frequency.
The angular speed calculation is:
In this equation, dɸ is the angular displacement and dt is the time taken for the angular dis-placement.
The position information is provided by the Hall sensor binary state, and the time between angular positions is measured by Timer0 timer ticks.
The RPM of a sinusoidal operated motor is calculated using the following equation:
In the above equation, N is the number of pole pairs. By substituting for f, the following equation is obtained:
Figure 3 illustrates how these calculations can influence the PWM sine operation of a 3-phase BLDC motor.
SineIndexOffset =60 × 65536
≈ 19620000
ddt------=
RPM 120 fN
--------------=
RPM120
table index valuePWM period table size-----------------------------------------------------------
N-----------------------------------------------------------------------------=
AN035503-1015 Page 6 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
The hardware used to realize the sinusoidal PWM motor driver approach discussed above is shown in the block diagram in Figure 4.
Figure 3. Simplified PWM Sine Operation of a BLDC Motor
Figure 4. 3-Phase BLDC Motor Control System
ThetaSine ThetaHall
FreqSine FreqHall
BLDC/PMAC MOTOR
PhaseA = m * sin(θ) * 50% + 50%
PhaseB = m * sin θ – * 50% + 50%π3
PhaseC = m * sin θ + * 50% + 50%π3
Sine frequencyand magnitude
scaling
AN035503-1015 Page 7 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Overcurrent ProtectionCurrents can reach excessive amounts during startup, load changes, or catastrophic fail-ures, for which a motor and electronics must be protected. A key feature of the Z16FMC MCU is the direct coupling of the on-chip integrated comparator to the PWM module to enable a fast, cycle-by-cycle shutdown during an overcurrent event. Oscilloscope-gener-ated waveforms representing this sequence of events are shown in Figure 5.
Testing
This section describes how to run the code and demonstrate this sensored sinusoidal PWM application including its setup, implementation and configuration, and the results of testing.
Figure 5. Cycle-by-Cycle Shutdown
AN035503-1015 Page 8 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Equipment UsedThe following equipment is used for the setup; the first four items are contained in the MultiMotor Development Kit (ZMULTIMC100ZCOG).
• MultiMotor Development Board (99C1358-0001G)
• 24 V AC/DC power supply
• LINIX 3-phase 24 VDC, 30W, 3200RPM BLDC motor (45ZWN24-30)
• Opto-Isolated UART-to-USB adapter (99C1359-001G)
• Z16FMC MultiMotor MCU Module (99C1357-001G) – Order separately
• Opto-Isolated USB SmartCable (99C0968) – Order separately
• Digital Oscilloscope or Logic Analyzer
Hardware SetupFigure 6 shows the application hardware connections.
Figure 6. The MultiMotor Development Kit with Z16FMC MCU Module and SmartCable
AN035503-1015 Page 9 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
ProcedureObserve the following procedure to test the 3-Phase Sensorless BLDC Motor Control demo program on the Z16FMC MultiMotor MCU Module.
1. Install the ZDS II – ZNEO version 5.0.1 (or newer) software on your PC.
2. Connect the Opto-Isolated USB SmartCable to the PC.
– To install the driver of the Opto-Isolated USB SmartCable, refer to the installation guide for the Opto-Isolated USB SmartCable that is included in your MultiMotor Development Kit.
3. Connect the hardware as shown in Figure 6. For additional assistance, refer to the MultiMotor Series Development Kit Quick Start Guide (QS0091).
4. Power up the MultiMotor Development Board using the 24 VDC adapter included in the kit.
5. Open the AN0355-SC01 project in ZDS II for ZNEO.
6. Compile the application and download the code to the Z16FMC MultiMotor MCU Module.
7. In ZDS II, stop the Debug Mode. Unplug the power supply from the MultiMotor Development Board, then disconnect the Opto-Isolated USB Smart Cable.
8. Ensure that the RUN/STOP switch on the MultiMotor MCU Module is in the STOP position.
9. Connect the 24 V DC supply source to the MultiMotor Development Board.
10. Set the RUN/STOP switch on the MultiMotor MCU Module to RUN.
11. Set the direction of rotation of the motor by changing the position of the direction switch on the MultiMotor Development Board.
You can now add your application software to the main program to experiment with addi-tional functions.
While debugging your code, ensure that the Opto-Isolated USB SmartCable controls the reset pin of the MCU. After debugging and running your code, detach the Opto-Isolated USB SmartCable from J14 of the MultiMotor MCU Module to free the Reset pin and apply a power cycle to reset the MCU from Debug Mode.
Results
Linix BLDC-type and Teknik/Hudson PMSM-type motors were tested to compare their corresponding voltage and current waveforms. During operation of the BLDC motor, three oscilloscope probes were connected to the Hall sensors, and a scope probe was con-nected to one of the three motor phase BEMF resistor dividers to show the three 120-
Note:
AN035503-1015 Page 10 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
degree shifted Hall sensors in conjunction with one of three sine wave phase voltages. The scope channel was set to AC so that the positive and negative half of the sine wave modu-lates with respect to the midpoint. These three voltages and one current waveform are shown for the BLDC and PMSM motors in Figures 7 and 8, respectively.
Figure 7. Linix BLDC Motor Phase Voltages and One Current Waveform
AN035503-1015 Page 11 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Speed Control Performance in a Closed LoopTo monitor performance of the speed control function while operating in a closed loop, the motor speed was set to 2000 RPM at a nominal operating voltage of 24 V. As this operat-ing voltage was increased and decreased by plus and minus 4 V, motor speed was observed to remain constant. To test the PI loop under load, the motor load was increased, which caused the PI to quickly ramp up the current to maintain the set speed. PI loop stability was verified by observing the voltage sine wave while loading the running motor, a condi-tion for which the sine wave period time must be maintained constant in both amplitude and frequency.
Speed Control Performance in an Open LoopTo monitor performance of the speed control function while operating in an open loop, the motor speed was set to 2000 RPM at a nominal operating voltage of 24V. As this operating voltage was increased and decreased by plus and minus 4 V, motor speed was observed to vary. Motor load was then increased, which caused the motor current to be increased while its speed slightly dropped.
Figure 8. Linix BLDC Motor Phase Voltages and One Current Waveform
AN035503-1015 Page 12 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Summary
The purpose of this application was to demonstrate the operation of a BLDC or PMSM type machine using the sinusoidal PWM technique.
To generate sinusoidal voltages and currents 120 degrees apart for a BLDC machine, a sine look up table (LUT) was implemented to reconstruct the three sine waves and formu-las have been shown to calculate the motor frequency. Since the frequency calculations include the PWM period, all sinusoidal wave constructions are executed in the PWM interrupt service routine. The execution time for the sine wave reconstruction in the PWM service interrupt routine takes 20 µs. The execution time of the Hall interrupt service rou-tine takes 30 µs. Both execution times are based on a 20 MHz external clock.
To maintain synchronization and commutation angle between the sine frequency and hall frequency, the Hall interrupt service routine captures the binary Hall state upon each inter-rupt and fetches the corresponding reference angle from a Look Up Table (LUT).
The high byte of the PWM sine Look Up Table index is used to fetch the next value from the Sine Look Up Table (LUT). Any offset value to the high byte of the PWM sine Look Up Table index will increase the frequency of the sine wave.
Sinusoidal PWM operation has the advantage of commutating the BLDC or PMSM with less acoustical and electrical noise, because the sine current through the windings has no steep current transitions. This allows for higher life expectancy of ripple current capacitor and ball bearings because the sinusoidal commutation approach causes no torque or cur-rent ripple in a PMSM or BLDC type motor. Besides electrical and acoustical noise reduc-tion, the PWM sine approach also increases the efficiency in a BLDC-/PMSM-type motor. The efficiency can be further increased if a 3rd harmonic is injected into the PWM sine wave.
References
The following documents are each associated with the Z16FMC Series of Motor Control MCUs; each is available free for download from the Zilog website.
• Z16FMC Series Motor Control MCU Product Specification (PS0287)
• MultiMotor Series Development Kit Quick Start Guide (QS0091)
• MultiMotor Series Development Kit User Manual (UM0262)
• ZNEO CPU Core User Manual (UM0188)
• Zilog Developer Studio II - ZNEO User Manual (UM0171)
• Sensorless Brushless DC Motor Control with the Z16FMC MCU (AN0353)
• Space Vector Modulation of a 3-Phase BLDC Motor with the Z16FMC MCU (AN0354)
• Three-Phase Hall Sensor BLDC Driver Using The Z16FMC MCU (AN0356)
• Implementing a Data Logger with Spansion SPI Flash (AN0360)
AN035503-1015 Page 13 of 19
AN0355 Page 14 of 19
red Sinusoidal PWM ModulationApplication Note
Appe
UTING ALLOWS.
PB3
PH3
PC0
PC1
PH2
CS2-
CS2+
CS1-
CS1+
PC7_PWML0PC6_PWMH0
PD0_PWMH1ANA0 BEMF A
ANA1 BEMF BPD1_PWML1
ANA4PD2_PWMH2
HSB PD4HSC PD5
PD7_PWML2ANA2 BEMF C
HSA PD3
PD6
CSZ+
CSZ-
PC7_PWML0A_LPC6_PWMH0A_H
B_H PD0_PWMH1BEMF_A ANA0
BEMF_B ANA1PD1_PWML1B_L
PD2_PWMH2C_HC_L PD7_PWML2
CS1+BEMF_C ANA2
CS1-CS2+CS2-TEMP
CS2+
CS2-
PC0_T1IN_CINN
PC1_TOUT_COMPOUT
ANA6 CS1+
ANA7 CS1-
CS2+
CS2-
TEMPPH2_ANA10
PH3_ANA11_CPINP
PB3_ANA3_OPOUT
VCC_3v3
Buckeye Driveitas, CA 95035-457-9000 Website: www.zilog.com
Multi Motor Control Kit MCU Module. Z16FMC MCU
MCU
Buckeye Driveitas, CA 95035-457-9000 Website: www.zilog.com
Multi Motor Control Kit MCU Module. Z16FMC MCU
MCU
Buckeye Driveitas, CA 95035-457-9000 Website: www.zilog.com
Multi Motor Control Kit MCU Module. Z16FMC MCU
MCU
R3 0 ohm
J41
J2
HDR/PIN 2x15
1357911131517192123252729 30
28262422201816141210
8642
R5 0 ohm
J51
J61
J81
J13
HDR/PIN 1x16
12345678910111213141516
J111
J91
R4
0 ohm
J101
R6
0 ohm
J3
1
J121
03-1015
BLDC Motor Control on the Z16FMC MCU Using Senso
ndix A. Schematic Diagrams
Figures 9 and 10 show the schematics of the Z16FMC MCU Module.
Figure 9. Z16FMC MultiMotor MCU Module, #1 of 2
DBGINTERFACE
-RESET
IF VCC_3v3 is usedremove R8 andinstall R10 = 3.3K
PLACE J3 - J12 WHERE THE RO
VREF
FAULTY
FAULT0
ONVBUS CTRL
MCU
Do Not Install.
XOUT
PC7_PWML0
PC1_TOUT_COMPOUTDBG
PC6_PWMH0
PB
7_A
NA
7_O
PIN
NA
NA
7
PC0_T1IN_CINN
PB
6_A
NA
6_O
PIN
PA
NA
6P
B5_
AN
A5
AN
A5
PB
3_A
NA
3_O
PO
UT
PH
3_A
NA
11_C
PIN
P
PD2_PWMH2
-RESET
GND
VREF
GND
VR
EF
PB7_ANA7_OPINN CS1-
PD1_PWML1PD0_PWMH1
DBG
GND
AG
ND
PB6_ANA6_OPINP CS1+
PH3_ANA11_CPINP
VREF
PE0PE1PE2
PA
4_R
XD
0P
A5_
TXD
0
PB3_ANA3_OPOUT
PD7_PWML2
-RESET
AN
A0
AN
A1
AN
A4
AN
A2
PD
3P
D4
CS
Z+C
SZ-
PA
1
PD
5
VBUS_M
ENABLE
PD4HSBPD5HSC
Vbus_MANA4ENABLE
PD3HSA
PE7
PA0
PH
2_A
NA
10TE
MP
SCK
MOSI
VCC_3v3
MISO
SS-
SCK
MO
SI
MIS
OSS-
ENABLEPE7
VCC_3v3
XIN
XINXOUT
PD6
VCC_3v3
VCC_3v3
VCC_3v3
VCC_3v3
VCC_3v3
VCC_5VM
VCC_3v3
PE0PE1PE2
PA4_RXD0
PA5_TXD0
PA0
PA1
Title
1590Milp408
Page
Title
1590Milp408
Page
Title
1590Milp408
Page
R2 10K
C5100PF
R10 3.3K
C14
0.01uF
C24680pF
C11
0.01uF
+
C3 10uF
1 2
Y2
20MHZ
R12 7.87KR115K
13
2R16 10K
C19
0.01uF
J14
6-CKT R/A HOUSING
1 23 45 6
J71
C16
0.01uF
C6 0.1uF
C4 0.01uF
R1
10K
R17 10K
C13
0.01uF
C2722pF
C10
0.01uF
R9 12.4K
C7
1000pF/1nF
R26 10K
C25680pF
J21
1
C2 0.01uF
R14 49.9K
C18
0.01uF
C28
22pF
R80 ohm
C8 12pF
J22
1
U2
S25FL032P
GND4
VCC8
CS1
WP3
SO2
HOLD7
SCK6
SI5
C15
0.01uF
C12
0.01uF
J20
123
SW2B3U-1000P
1 2
Y1
20MHZ
R7 10K
J11
C9
0.01uF
C26680pF
SW1B3U-1000P
1 2
R15 10KR13 1K
LQFP
U1Z16F2810
VS
S2
1
AV
DD
2
PH
0/A
NA
83
PH
1/A
NA
94
PB
0/A
NA
0/T0
IN0
5
PB
1/A
NA
1/T0
IN1
6
PB
4/A
NA
47
PB
5/A
NA
58
PB
6/A
NA
6/O
PIN
P/C
INN
9
PB
7/A
NA
7/O
PIN
N10
PB
3/A
NA
3/O
PO
UT
11
PB
2/A
NA
2/T0
IN2
12
PH
2/A
NA
1013
PH
3/A
NA
11/C
PIN
P14
VR
EF
15
AV
SS
16
PC0/T1IN/T1OUT/CINN17PC1/T1OUT/COMPOUT18DBG19PC6/T2IN/T2OUT/PWM0H20PC7/T2OUT/PWM0L21
PG323
PE725PE626PE527
PD7/PWM2L29PC3/SCK30PD6/CTS131PA7/SDA32
PA
6/S
CL
33P
A5/
TXD
034
PA
4/R
XD
035
PC
4/M
OS
I38
PD
5/TX
D1
39P
D4/
RX
D1
40P
D3/
DE
141
PC
5/M
ISO
42P
F743
PA
3/C
TS0/
FAU
LT0
46P
A2/
DE
0/FA
ULT
Y47
PA
1/T0
OU
T48
PA0/T0IN/T0OUT49
PD2/PWM2H50
PC2/SS51
RESET52
PE454
PE355
PE257
PE158
PE059
PD1/PWM1L61
PD0/PWM1H62
XOUT63
XIN64
VDD222
VDD324
VD
D4
37
VD
D5
44
VDD153
VSS356
VSS160
VSS428
VS
S5
36
VS
S6
45
C17
0.01uF
AN0355 Page 15 of 19
red Sinusoidal PWM ModulationApplication Note
STOP/RUN
DIRECTION
VCC_3v3
J16
1 2 3
R22100K
SW3
EG1218
1
32
SW4
EG1218
1
32
R23100K
03-1015
BLDC Motor Control on the Z16FMC MCU Using Senso
Figure 10. Z16FMC MultiMotor MCU Module, #2 of 2
3.3 OK
VCC_5VVCC_5V
VCC_3v3
VCC_3v3
VCC_5V
VCC_5V
VCC_5VM
VCC_5VL PE0
PE1
PE2
PA0
PA1
PA4_RXD0PA5_TXD0
R19330
C22
4.7uF
U3
NCP551SN33T1G
Vin1
Enable3
GND2
NC4
Vout5
D4GREEN
21
R20
330
D2
RED
21
J15
1 2 3
R24
100 ohm
C23
0.1uF, 50V
D3
YELL
21
C20
0.1uF
J18HDR/PIN 1x3
1 2 3R21
330
J19
1x6 RT-ANGL
123456
D1
PMEG3020
32
1
C21
4.7uF
R18
330
R25
100 ohm
J17
HDR/PIN 1x3
123
D5
GREEN
21
AN0355 Page 16 of 19
red Sinusoidal PWM ModulationApplication Note
FOR USE WITH AC MOTOR
Phase_C
HSAHSBHSC
Phase_APhase_BPhase_C
GC_L
GC_H
VCC_12V
VCC_3v3
ENABLE
Title
1590 Buckeye DriveMilpitas, CA 95035408-457-9000 Website: www.zilog.com
PageMulti Motor Control Kit. Main Board
Mosfets, gate drivers, MCU interface
Title
1590 Buckeye DriveMilpitas, CA 95035408-457-9000 Website: www.zilog.com
PageMulti Motor Control Kit. Main Board
Mosfets, gate drivers, MCU interface
Title
1590 Buckeye DriveMilpitas, CA 95035408-457-9000 Website: www.zilog.com
PageMulti Motor Control Kit. Main Board
Mosfets, gate drivers, MCU interface
2
TY64N055T
J3
5-POS
12345
C5
0.1uF, 50V
5
TY64N055T
J5
2 POS
12
D4
BAS16V
4
1
3
5
6
2
R13150K
J1
3-POS
123
Q3
IXTY64N055T
1
23
4
R2110K
C110.1uf
Q6
IXTY64N055T
1
23
4
R2310K
R6150K
C8
0.1uF, 50V
03-1015
BLDC Motor Control on the Z16FMC MCU Using Senso
Figures 11 and 12 show the schematics for the MultiMotor Main Board.
Figure 11. MultiMotor Development Board, #1 of 2
J16 SETTINGS:1-2 AC MOTOR2-3 BLDC MOTOR
GA_H
GA_L
Phase_B
Phase_A
GA_H
GA_L
GB_L
GB_H
GC_L
GC_H
Phase_B
A_L
B_H
B_L
C_L
CS1+
CS1-
Vbus_M
Phase_CPhase_BPhase_A
BEMF_A BEMF_B
PD4HSC PD5
Vbus_M ANA4ENABLE PE7
A_LPC7_PWML0A_HPC6_PWMH0
B_HPD0_PWMH1BEMF_A
BEMF_BB_LPD1_PWML1
C_HPD2_PWMH2C_LPD7_PWML2
CS1+BEMF_C
CS1-CS2+CS2-TEMP
HSA PD3
TEMP
GB_L
GB_HA_H
C_H
Phase_A
BEMF_C
PD4HSB
Phase_C
VCC_3v3
VCC_5VM
VCC_3v3
VBUS_B
C10
0.1uF
R12150K
TR3210K
Q
IX
1
23
4
J2
HDR/PIN 2x15
1357911131517192123252729 30
28262422201816141210
8642
R1710K
U1
MIC4101YM
VC
C1
HB2
HO3
HS4
HI5
LI6
GN
D7
LO8
D2
BAV19WS
2 1
R9 22.1 ohm
Q7MMBT3904
3
1
2
Q
IX
1
23
4
C1
0.1uF
R3110K
R2210K
R2910K
D3
BAV19WS
2 1
R8150K
R1022.1 ohm
R2 22.1 ohm
R15 10K
C4
0.1uF
R26150K
R4150K
R7 2.2 ohm
+ C3220uF, 50V
R24150K
R28100 ohm
C9
0.1uF
R5150K
R2710K
C120.1uf
U3
MIC4101YM
VC
C1
HB2
HO3
HS4
HI5
LI6
GN
D7
LO8
Q1
IXTY64N055T
1
23
4
C2
0.1uF
R16 22.1 ohm
R3010K
J4
1 2 3
C7
0.1uF, 50V
R180.100 ohm, 2W
R14 2.2 ohm
R322.1 ohm
C6
0.1uF
R11150K
Q4
IXTY64N055T
1
23
4
U2
MIC4101YM
VC
C1
HB2
HO3
HS4
HI5
LI6
GN
D7
LO8
R1922.1 ohm R20 10K
R25150K
J6
12
SH1
shunt
R1 2.2 ohm
D1
BAV19WS
2 1
AN0355 Page 17 of 19
red Sinusoidal PWM ModulationApplication Note
5V
SHU1-22-3
USE HEATSINK
VCC_5VM
VBUS_B
C17
0.1uF
-220
U5
MIC29150-5
OUT3
GN
D2
IN
+ C1510uF
12
J12
123
2V
3
03-1015
BLDC Motor Control on the Z16FMC MCU Using Senso
Figure 12. MultiMotor Development Board, #2 of 2
24VDC
GND
GND
12V
EXTERNAL VBUSUP TO 48VDC
holderNT POSITION EXTERNAL VBUS INTERNAL VBUS
NEED to change C25 to 50V Tantalum
50V
VBUS
VCC_24VVCC_12V
VCC_12V
VBUS
ENABLE
D51N4007-T
21
HS2
TO
11
22
33
J13
123
J8
123
1
+ C1410uF
12
+ C1310uF
12
J11
123
SH2
shunt
R33
2K
F1
FUSE/250V/2A
U4
MIC29150-12
OUT3
GN
D2
IN1
J10
123
J7
2 POS
12
FH1
250V/5x20
1 2
Q8MMBT3904
3
1
2
P1
PJ-003A
1
23
RL1
JS1A-1
1
52
D6BAS16
13
2
J14
123
HS1
TO-220
11
22
33
C16
0.1uF
J9
HDR/PIN 1x3
123
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Appendix B. Flow Charts
Figure 13 presents an algorithm by which a 3-phase BLDC motor can be controlled using the Z16FMC MCU.
Figure 13. Simplified Control Algorithm
AN035503-1015 Page 18 of 19
BLDC Motor Control on the Z16FMC MCU Using Sensored Sinusoidal PWM ModulationApplication Note
Customer Support
To share comments, get your technical questions answered, or report issues you may be experiencing with our products, please visit Zilog’s Technical Support page at http://support.zilog.com.
To learn more about this product, find additional documentation, or to discover other fac-ets about Zilog product offerings, please visit the Zilog Knowledge Base at http://zilog.com/kb or consider participating in the Zilog Forum at http://zilog.com/forum.
This publication is subject to replacement by a later edition. To determine whether a later edition exists, please visit the Zilog website at http://www.zilog.com.
DO NOT USE THIS PRODUCT IN LIFE SUPPORT SYSTEMS.
LIFE SUPPORT POLICY
ZILOG’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF THE PRESIDENT AND GENERAL COUNSEL OF ZILOG CORPORATION.
As used herein
Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b) support or sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling can be reasonably expected to result in a significant injury to the user. A critical component is any component in a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system or to affect its safety or effectiveness.
Document Disclaimer
©2015 Zilog, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZILOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZILOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. The information contained within this document has been verified according to the general principles of electrical and mechanical engineering.
ZNEO and Z16FMC are trademarks or registered trademarks of Zilog, Inc. All other product or service names are the property of their respective owners.
Warning:
AN035503-1015 Page 19 of 19