Top Banner
AN035503-1015 Page 1 of 19 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, AN03 5 5- 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: Application Note AN035503-1015 BLDC Motor Control Using Sensored Sinusoidal PWM Modulation with the Z16FMC MCU MultiMotor Series MultiMotor Series
19

Application Note: BLDC Motor Control Using Sensored ...

Oct 01, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: Application Note: BLDC Motor Control Using Sensored ...

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

Page 3: Application Note: BLDC Motor Control Using Sensored ...

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

Page 4: Application Note: BLDC Motor Control Using Sensored ...

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

Page 5: Application Note: BLDC Motor Control Using Sensored ...

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

Page 6: Application Note: BLDC Motor Control Using Sensored ...

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

Page 7: Application Note: BLDC Motor Control Using Sensored ...

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

Page 8: Application Note: BLDC Motor Control Using Sensored ...

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

Page 9: Application Note: BLDC Motor Control Using Sensored ...

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

Page 10: Application Note: BLDC Motor Control Using Sensored ...

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

Page 11: Application Note: BLDC Motor Control Using Sensored ...

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

Page 12: Application Note: BLDC Motor Control Using Sensored ...

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

Page 13: Application Note: BLDC Motor Control Using Sensored ...

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

Page 14: Application Note: BLDC Motor Control Using Sensored ...

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

Page 15: Application Note: BLDC Motor Control Using Sensored ...

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

Page 16: Application Note: BLDC Motor Control Using Sensored ...

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

Page 17: Application Note: BLDC Motor Control Using Sensored ...

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

Page 18: Application Note: BLDC Motor Control Using Sensored ...

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

Page 19: Application Note: BLDC Motor Control Using Sensored ...

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