application note: electric bike bldc hub motor control ...using the z8fmc16100 mcu in an electric...

18
AN026004-0413 Page 1 of 18 Abstract This application note describes a controller for a 200 W, 24 V Brushless DC (BLDC) motor used to power an e-bike (i.e., electric bicycle). The design uses Zilog’s Z8FMC16100 MCU and associated circuitry to implement motoring control, regenerative braking, and fault protection. The source code file associated with this application note, AN0260-SC01.zip , is available for download on zilog.com. This source code has been tested with version 5.0.0 of ZDS II for Z8 Encore! XP MCUs. Subsequent releases of ZDS II may require you to modify the code supplied with this application note. Features The main features of this high-torque motor control application include: Hall sensor commutation Motor speed measurement Potentiometer-adjustable motor speed Open-loop or closed-loop speed control for precise speed regulation Protection logic for over-voltage, over-current, and thermal protection. Discussion The Z8FMC16100 MCU features a flexible Pulse Width Modulation (PWM) module with three complementary pairs or six independent PWM outputs supporting dead-band opera- tion 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 pulse-by- pulse or latched fast shutdown of the PWM pins during fault condition. The Z8FMC16100 MCU features up to eight single-ended channels of 10-bit analog-to- digital conversion (ADC), with a sample and hold circuit. It also features one operational amplifier for current sampling and one comparator for over-current limiting or shutdown. A high-speed ADC enables voltage and current sensing, while dual-edge interrupts and a 16-bit timer provide a Hall-effect sensor interface. A full-duplex 9-bit UART provides serial, asynchronous communication and supports an option for the Local Interconnect Network (LIN) serial communications protocol. The Note: Application Note AN026004-0413 Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCU

Upload: others

Post on 05-Feb-2021

3 views

Category:

Documents


1 download

TRANSCRIPT

  • AN026004-0413

    AbstractThis application note describes a controller for a 200 W, 24 V Brushless DC (BLDC) motor used to power an e-bike (i.e., electric bicycle). The design uses Zilog’s Z8FMC16100 MCU and associated circuitry to implement motoring control, regenerative braking, and fault protection.

    The source code file associated with this application note, AN0260-SC01.zip, is available for download on zilog.com. This source code has been tested with version 5.0.0 of ZDS II for Z8 Encore! XP MCUs. Subsequent releases of ZDS II may require you to modify the code supplied with this application note.

    FeaturesThe main features of this high-torque motor control application include:

    • Hall sensor commutation• Motor speed measurement• Potentiometer-adjustable motor speed• Open-loop or closed-loop speed control for precise speed regulation• Protection logic for over-voltage, over-current, and thermal protection.

    DiscussionThe Z8FMC16100 MCU features a flexible Pulse Width Modulation (PWM) module with three complementary pairs or six independent PWM outputs supporting dead-band opera-tion 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 pulse-by-pulse or latched fast shutdown of the PWM pins during fault condition.

    The Z8FMC16100 MCU features up to eight single-ended channels of 10-bit analog-to-digital conversion (ADC), with a sample and hold circuit. It also features one operational amplifier for current sampling and one comparator for over-current limiting or shutdown.

    A high-speed ADC enables voltage and current sensing, while dual-edge interrupts and a 16-bit timer provide a Hall-effect sensor interface.

    A full-duplex 9-bit UART provides serial, asynchronous communication and supports an option for the Local Interconnect Network (LIN) serial communications protocol. The

    Note:

    AN026004-0413

    Application Note

    Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCU

    Page 1 of 18

    http://www.zilog.com/docs/appnotes/an0260-sc01.zip

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    LIN bus is a cost-efficient single Master, multiple Slave organization that supports speed up to 20 kbps.

    The Z8FMC16100 MCU has a rich set of peripherals and other features such as: additional 16-bit timer with capture/compare/PWM capability, SPI, and I2C Master/ Slave for serial communication, and an internal precision oscillator.

    The single-pin debugger and programming interface simplifies code development and allows easy in-circuit programming.

    A block diagram of the Z8FMC16100 MCU is shown in Figure 1.

    Figure 1. Z8FMC16100 MCU Block Diagram

    Braking and Regenerative ChargingIn this e-bike application, the Z8FMC16100 MCU’s PWM registers are configured to operate in a complementary PWM mode when applied to an inverter bridge that consists of six MOSFETs. This complementary PWM mode allows for greater control of the e-bike’s braking and regenerative charging process. The BLDC motor will effectively run in either a motoring mode or a generative mode.

    Generative Mode is achieved when the the applied operating voltage is less than the BEMF voltage produced by the rotating motor. Motoring Mode is achieved when the applied voltage is equal to or greater than the BEMF voltage produced by the rotating motor. Varying the applied operating voltage can be accomplished by changing the duty cycle for each phase in the inverter bridge.

    For quicker braking, the lower MOSFET devices of the inverter bridge are turned on while the upper MOSFETs are turned off, thereby quickly producing a negative current (i.e., a negative torque) to stop the motor. To gain a regenerative charge, the upper MOSFETs are

    12-Bit PWMModule for

    Motor Control

    16-Bit Timer Capture/

    Compare/PWM

    Operational Amplifier

    Up to 16 KB Flash

    20 MHzeZ8 CPU

    8-Channel10-Bit ADC

    512 B SRAM VBO/POR and Reset

    ControlI2C, SPI, and

    UART with LIN

    Watchdog Timer

    Single-Pin Debugger

    Internal Precision Oscillator

    Comparator Interrupt Controller

    17 General Purpose I/O Pins

    AN026004-0413 Page 2 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    turned on to allow current flow back to the battery, while the lower MOSFETs are turned off.

    Hardware ArchitectureIn a Brushed DC motor, commutation is controlled by brush position. In a BLDC motor, however, commutation is controlled by the supporting circuitry. The rotor's position must therefore be fed back to the supporting circuitry to enable proper commutation.

    Two different techniques can be used to determine rotor position:

    Hall Sensor-Based Commutation. In the Hall sensor technique, three Hall sensors are placed inside the motor, spaced 120 degrees apart. Each Hall sensor provides either a High or Low output based on the polarity of magnetic pole close to it. Rotor position is deter-mined by analyzing the outputs of all three Hall sensors. Based on the output from hall sensors, the voltages to the motor's three phases are switched.

    The advantage of Hall sensor-based commutation is that the control algorithm is simple and easy to understand. Hall sensor-based commutation can also be used to run the motor at very low speeds. The disadvantages are that its implementation requires both separate Hall sensors inside the motor housing and additional hardware for sensor interface.

    Sensorless Commutation. In the sensorless commutation technique, the back-EMF induced in the idle phase is used to determine the moment of commutation. When the induced idle-phase back-EMF equals one-half of the DC bus voltage, commutation is complete.

    The advantage of sensorless commutation is that it makes the hardware design simpler. No sensors or associated interface circuitry are required. The disadvantages are that it requires a relatively complex control algorithm and, when the magnitude of induced back-EMF is low, it does not support low motor speeds.

    When a BLDC motor application requires high torque, when the motor is running at low speed, or when the motor is moving from a standstill, the Hall sensor commutation tech-nique is an appropriate choice. A motor used in an electric bicycle application, for exam-ple, requires high initial torque and is a perfect application for Hall sensor commutation.

    Furthermore, two voltage application techniques can be applied, based on the configura-tion of the supply-to-motor windings:

    Sinusoidal. Sinusoidal voltage is continuously applied to the three phases. Sinusoidal voltage provides a smooth motor rotation and fewer ripples.

    Trapezoidal. DC voltage is applied to two phases at a time, and the third phase remains idle. Trapezoidal voltage is less complex to implement. The idle phase is generating the BEMF from the rotating magnet that passes the unenergized idle phase and provides the BEMF zero-crossing data.

    How Hall Sensor Commutation WorksTo better understand how Hall sensor commutation works, let's look at how it's imple-mented with a two-pole motor. Six different commutation states are required to turn the rotor one revolution. The motor’s commutation states are shown in Figure 2.

    AN026004-0413 Page 3 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Figure 2. Hall Sensor Commutation States for a 2-Pole Motor

    AN026004-0413 Page 4 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Table 1 indicates the relationship between the Hall sensor output and phase switching opera-tions shown in Figure 2.

    Table 2 lists the rating of the motor used to develop this application.

    Additionally, the application uses a 3-amp High Rupturing Capacity (HRC) fuse.

    Table 1. Relationship Between Hall Sensor Output and Phase Switching

    State Hall A Hall B Hall C Phase B Phase C Phase A1 0 1 1 0 +VDC –VDC2 0 0 1 +VDC 0 –VDC3 1 0 1 +VDC –VDC 04 0 1 0 0 –VDC +VDC5 1 1 0 –VDC 0 +VDC6 1 0 0 –VDC +VDC 0

    Table 2. Motor Rating for Electric Bike BLDC Motor Control Application

    Type of Motor Linix BLDCPower Rating 30 WSpeed 3200 RPMNumber of poles 6Voltage 24 V

    AN026004-0413 Page 5 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Using the Z8FMC16100 MCU in an Electric Bike BLDC Motor Controller

    Figure 3 offers a visual overview of the electric bike BLDC motor controller. For more details about hardware connections, see Appendix A. Schematics on page 12.

    Hardware ArchitectureThe design involves running the BLDC motor in a closed loop or an open loop, with speed as set by a potentiometer. As shown in the architecture diagram, the design generates PWM voltage via the Z8FMC16100 MCU’s PWM module to run the BLDC motor.

    After the motor is running, the states of the three Hall sensors change based on the rotor position. Voltage to each of the three motor phases is switched based on the state of the sensors (commutation). Hall sensor interrupts capture timer ticks every sixty degrees to

    Figure 3. Electric Bike BLDC Motor Controller Block Diagram

    AN026004-0413 Page 6 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    measure the rotor speed of the motor. Other peripheral functions can be used to protect the system in case of overload, undervoltage, and overtemperature.

    The hardware is described in the following sections.

    Three-Phase Bridge MOSFETThe three-phase bridge MOSFET consists of six MOSFETs connected in bridge fashion used to drive the three phases of the BLDC motor. The DC bus is maintained at 24 V, which is same as voltage rating of BLDC motor. A separate Hi-Lo gate driver is used for each high- and low-side MOSFET phase pair, making the hardware design simpler and robust. The high-side MOSFET is driven by charging the bootstrap capacitor.

    The DC bus voltage is monitored by reducing it to suitable value using a potential divider. The DC bus current is monitored by putting a shunt in the DC return path. An NTC-type temperature sensor is mounted on MOSFET heat sink, providing analog voltage output proportional to temperature.

    PWM ModuleThe Z8FMC16100 MCU contains a six-channel, 12-bit PWM module configured in this application to run in Complementary Mode. The switching frequency is set to 20 KHz. The output on the PWM outputs is controlled according to the inputs from the Hall sen-sors.

    The inputs from the Hall sensors determine the sequence in which the three-phase bridge MOSFET is switched. The Duty cycle of the PWM is directly proportional to the acceler-ator potentiometer input. The change in the duty cycle controls the current through the motor winding, thereby controlling motor torque.

    Commutation LogicThe Hall sensors are connected to ports PB0, PB1 and PB2 on the Z8FMC16100 MCU. An interrupt is generated when the input state on any pin changes. An interrupt service routine checks the state of all three pins and accordingly switches the voltage for the three phases of the motor.

    Trapezoidal commutation is used for this application to make implementation simple. In this process of commutation, any two phases are connected across the DC bus by switch-ing the top MOSFET of one phase and bottom MOSFET of another phase ON. The third phase is left un-energized (both top and bottom MOSFET of that phase are switched OFF).

    Speed MeasurementThe Hall sensor outputs are connected to to ports PB0, PB1 and PB2. One out of three Hall sensors is used to capture the Timer0 ticks, which represent the actual Hall period for closed loop calculations.

    AN026004-0413 Page 7 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Closed Loop Speed ControlClosed-loop speed control is implemented using a PI loop, which works by reducing the error between the speed set by the potentiometer and actual motor speed. The output of this PI loop changes the duty cycle of the PWM module, thereby changing the average voltage to the motor, and ultimately changing the power input. The PI loop adjusts the speed at the same rate as the Hall frequency from one of three Hall sensors. In this applica-tion, Open Loop operation is selected in the software by default because any rider of the e-bike will control the speed of the bike.

    Protection LogicThe ADC module periodically checks DC bus voltage, DC bus current, and heat sink tem-perature. If these values go beyond the set limits, the motor is shut down. These checks are timed by Timer0 interrupt.

    Over-Current Hardware ProtectionThe Z8FMC16100 MCU has a built-in comparator that is used to shut down the PWM for over-current protection. When the current exceeds the set threshold, a PWM Comparator Fault is generated to turn OFF the PWM Module.

    Software ImplementationDuring implementation of the software, the following actions are performed:

    Initialization. Hardware modules are initialized for the following functions:

    • Switch from internal to external oscillator for system operation• Enable alternate function on respective pins for ADC, Comparator, UART, PA6 as

    GPIO configured to drive LED

    • Configure Timer0 to run in Continuous Mode to capture the Hall period timing• Configure the comparator to shut down the PWM module when an overcurrent results• Enable the Op Amp to measure the DC bus current flowing to the motor• Configure the ADC to read analog values such as DC bus voltage, current, temperature,

    and acceleration potentiometer (only one channel at a time)

    • Configure the PWM module for the individual mode of operation with a 20 kHz switch-ing frequency, control output depending on the values in the PWMOUT Register, and drive the PWMOUT as defaulted to a low off state at Power-On Reset and at any Reset

    • Configure the Reset/Fault0 pin functions as a Fault0 function• Write-protect Flash memory• Enable Open Loop operation (shown in the main.h file)• Hardware control of the application, with the UART disabled

    AN026004-0413 Page 8 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Interrupt. The Port B interrupt controls commutation. The Hall sensor output is read on pins PB0:2, the software performs its filtering operation, and the switching sequence of the MOSFET is determined. The PWM timer interrupt is used to time periodically occur-ring tasks and for the background loop to read analog values from different channels and average these values, update the LED indicator status, and update the read parameters on the UART.

    For a visual representation of the application, see Appendix B. Flowcharts on page 17.

    Testing/Demonstrating the ApplicationThis section presents a list of the equipment used and procedures observed to test this e-bike application.

    Equipment UsedTesting for this application was conducted using the following equipment:

    • Z8FMC16100 Series Motor Control Development Kit• Tektronix digital oscilloscope• Fluke multimeter• 30 W BLDC motor• 24 V 7 Ah battery• Tektronix power supply

    System ConfigurationThe system requirements on your PC are as follows:

    • Windows 7 OS• ZDS II version 5.0.0 installed• Optically isolated USB smart cable for program download and debugging

    ProcedureObserve the following steps to test the BLDC motor:

    1. On the Zilog MC MDS Board, configure the following jumpers:a. Shunt the 1–2 positions on J4, J5, and J6b. Shunt J2 and J3

    2. Set the R7 potentiometer on MC MDS Board (99C0987; contained in the Z8FMC16100 Series Motor Control Development Kit) to the middle position to start the motor.

    3. Connect the following wires from the motor to the 3-Phase Motor Control Application Board (contained in the Z8FMC16100 Series Motor Control Development Kit but not shown in the schematic).

    AN026004-0413 Page 9 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    a. Connect the heavy-gauge blue wire to Motor Phase A (P1)b. Connect the heavy-gauge green wire to Motor Phase B (P2)c. Connect the heavy-gauge white wire to Motor Phase C (P3)

    4. Connect the following wires from the motor to the MC MDS Board (contained in the Z8FMC16100 Series Motor Control Development Kit but not shown in the sche-matic).a. Connect the Hall Sensor-C light gauge blue wire to PB2 at J1 pin 6 with additional

    added 680 pF ceramic capacitor to GND.b. Connect the Hall Sensor-B light gauge green wire to PB1 at J1 pin 4 with addi-

    tional added 680 pF ceramic capacitor to GND.c. Connect the Hall Sensor-A light gauge white wire to PB0 at J1 pin 2 with addi-

    tional added 680 pF ceramic capacitor to GND.d. Connect the light gauge black wire (Sensor Power Ground) to GND at TP1.e. Connect the light gauge red wire (Sensor Power VCC) to VCC (3.3V) at TP2.

    5. Connect the oscilloscope across the motor terminals.

    6. Connect the motor control board to the 24 V power supply.

    7. Build the code on ZDS II v5.0.0 and download the code through USB smart cable.

    8. Measure the performance of motor at different loads, for each speed setting of the potentiometer.

    9. Record the readings and carry out the process for each step in the test sequence.

    Test ResultsLaboratory performance test of BLDC motor is as follows:

    1. Minimum motor speed: 800 RPM

    2. Maximum motor speed: 3200 RPM

    3. Power consumption: 6 W at 3200 RPM (no load)

    4. Regenerative Current at 200 RPM: 350 mA

    Future ImplementationThe application discussed in this document covers the motoring and regenerative braking features for a BLDC hub motor used in an electric bike. Further improvements can be made to the design by adding the following features:

    • Controlled charging of SLA batteries by plugging to the AC Mains adaptor• Implementing ‘Torque-boost’ functionality (through a push-switch), which will give a

    boost to motor performance

    AN026004-0413 Page 10 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    • Utilizing LIN/UART communication to create a dashboard display of measured parameters (speed, Battery voltage, Current, and Fault conditions)

    ReferencesThe following supporting documents are available free for download from the Zilog web-site.

    • eZ8 CPU User Manual (UM0128)• Z8FMC16100 Series Product Specification (PS0246)• PID Motor Control with the Z8PE003 Application Note (AN0030)• Z8 Encore!-Based SLA Battery Charger Application Note (AN0223)• Sensorless Brushless DC Motor Control with Z8 Encore! MC Microcontrollers

    (AN0226)

    • Z8 Encore! XP-Based BLDC Fan Control Application Note (AN0228)

    AN026004-0413 Page 11 of 18

    http://www.zilog.com/docs/z8encoremc/ps0246.pdfhttp://www.zilog.com/docs/um0128.pdfhttp://www.zilog.com/docs/z8/appnotes/pid_motor_control.pdfhttp://www.zilog.com/docs/z8encorexp/appnotes/an0223.pdfhttp://www.zilog.com/docs/appnotes/an0226.pdfhttp://www.zilog.com/docs/z8encorexp/appnotes/an0228.pdf

  • AN0260 Page 12 of 18

    rol Using the Z8FMC16100 MCUApplication Note

    Appe

    C

    0-001 B

    PPLICATION BOARD

    veR

    C_

    H

    S+

    S-

    Q6

    IRFZ48

    C3

    0.1uF 50V

    P3

    Q5

    IRFZ48

    04-0413

    Electric Bike BLDC Hub Motor Cont

    ndix A. SchematicsFigures 4 through 8 show schematic representations of each of the application’s key blocks.

    Figure 4. Electric Bike BLDC Motor Controller Application Schematic, #1 of 5

    3 PHASE POWER STAGE

    HEATSINK TEMP SENSOR

    BA

    96C096

    3 PHASE MOTOR CONTROL A

    A

    Title

    rebmuN tnemucoDeziS

    V+

    B_ESAHPA_ESAHP PHASE_B ESAHPB_ESAHP

    GATE_AH

    LB_ETAGLA_ETAG

    GATE_BHGATE_C

    GATE_CL

    +BUS+BUS+BUS+BUS+BUS+BUS+BUS+BUS+BUS+BUSSUB+CDV+ +BUS+BUS+BUS+BUS+BUS+BUS+BUS+BUS+BUS

    GND

    TH

    C

    C

    TH

    C2

    0.1uF 50V

    Q3

    IRFZ48

    F1

    5A FUSE

    Q4

    IRFZ48

    + C4

    3300uF 50V

    R510.00k

    R4NTC 10k

    R2 10.0k

    P2

    + C5

    3300uF 50V

    P1

    Q1

    IRFZ48

    Q2

    IRFZ48

    P5

    R6150k

    P4

    C1

    0.1uF 50V

    R10.100 OHM

    R3 10.0k

  • AN0260 Page 13 of 18

    rol Using the Z8FMC16100 MCUApplication Note

    0960-001 B

    PPLICATION BOARD

    2 3

    veR

    teehS of

    GATE_AL

    GATE_AH

    PHASE_A

    PHASE_B

    GATE_BL

    GATE_BH

    PHASE_C

    GATE_CL

    GATE_CH

    22.1

    C13

    10uF

    22.1

    C12

    0.1uF

    22.1

    22.1

    22.1

    C8

    0.1uF

    C17

    10uF

    C16

    0.1uF

    22.1

    C9

    10uF

    04-0413

    Electric Bike BLDC Hub Motor Cont

    Figure 5. Electric Bike BLDC Motor Controller Application Schematic, #2 of 5

    GATE DRIVE

    BEMF DIVIDERS

    12V SUPPLY

    96C

    3 PHASE MOTOR CONTROL A

    A

    Wednesday June 08 2005

    Title

    rebmuN tnemucoDeziS

    :etaD

    AL

    AH

    BL

    BH

    CH

    PHASE_A PHASE_B PHASE_C

    VAVA VBVBVBVB

    CL

    VCC_33V

    VC

    +12V

    +12V

    +12V

    +12V

    R10150k

    C6

    10uF

    R18

    C19

    10uF

    C11

    0.1uF

    R12150k R13

    R2086.6k

    R710.00k

    U2

    IR2101

    1

    2

    3

    4 5

    6

    7

    8VCC

    HIN

    LIN

    COM LO

    VS

    HO

    VB

    D3 BAV19

    L1

    10uH

    R15

    R14

    R910.00k

    C14

    10uF

    C20

    68pF

    R1110.00k

    R16

    U1

    IR2101

    1

    2

    3

    4 5

    6

    7

    8VCC

    HIN

    LIN

    COM LO

    VS

    HO

    VB

    D4 BAV19

    D2 BAV19

    C15

    0.1uFU3

    IR2101

    1

    2

    3

    4 5

    6

    7

    8VCC

    HIN

    LIN

    COM LO

    VS

    HO

    VB

    U4

    TPS61041

    1

    2

    3

    4

    5 SW

    GND

    FB

    EN

    VIN

    R8150k

    D1 BAV19

    C18

    10uF

    C7

    0.1uF

    R17

    C10

    10uF

    R1910.0k

  • AN0260 Page 14 of 18

    rol Using the Z8FMC16100 MCUApplication Note

    LH

    BS+

    L

    H

    04-0413

    Electric Bike BLDC Hub Motor Cont

    Figure 6. Electric Bike BLDC Motor Controller Application Schematic, #3 of 5

    ECAFRETNI REWOPDESUNU

    BH

    BL

    VCC_33V

    AA

    VCC_33V

    VCC_33V

    VC

    C

    T

    VA

    V+

    CH

    CS-

    VC

    JP1

    HEADER 30x2/SM

    24681012141618202224262830323436384042444648505254565860

    13579

    11131517192123252729313335373941434547495153555759

    JP2

    HEADER 30x2/SM

    24681012141618202224262830323436384042444648505254565860

    13579

    11131517192123252729313335373941434547495153555759

  • AN0260 Page 15 of 18

    rol Using the Z8FMC16100 MCUApplication Note

    connector 2

    NCNCNCNC

    NC

    NCNC

    NC

    NCNC

    NCNC

    NC

    NC

    NCNC

    NCNCNC

    DIR

    Z8FMC16 AND MDS CONNECTORS

    PC0_T0OUT

    ANA5PB3_ANA3_OPOUT

    PA1_OP_CNANA1_M

    PWM2L

    GND

    GND

    C_33VET

    PWM0L

    ANA7

    GND

    VREF

    PA5_TXD

    GND

    PWM0H

    GNDVCC_33V

    _33V

    PA7_COUT

    VCC_33V

    GND

    GND

    GND

    GND

    VCC_33V

    VCC_33V

    GND

    GND

    PC0_

    GNDGND

    -DIS_IRDA-DIS_232

    VC

    JP1

    HEADER 30x2/SM

    24681012141618202224262830323436384042444648505254565860

    13579

    11131517192123252729313335373941434547495153555759

    C5

    22pF

    1

    JP2

    HEADER 30x2/SM

    24681012141618202224262830323436384042444648505254565860

    13579

    11131517192123252729313335373941434547495153555759

    C

    0

    04-0413

    Electric Bike BLDC Hub Motor Cont

    Figure 7. Electric Bike BLDC Motor Controller Application Schematic, #4 of 5

    RUN/ST OP

    ECT ION

    Connection between AG ND and GNDshould be done as close as possibleto the pin 5, AGND.Connection between AVCC and VCC_33Vshould be done as close as possibleto the pin 4, AVCC.

    SPEED

    LOCAL/ MDS

    ANA4PA0_OPINNANA2_MANA0_M

    PWM2HANA6

    PWM1H

    PWM1L

    PA2_CINP

    PA4_RXDPA6_CTS

    VC-RES

    VCC

    PA1_OP_CN

    ANA0ANA1ANA2

    GND

    PA3_TXDE

    PA6_CTS

    VREF

    ANA2_M

    ANA1

    ANA0

    ANA0_M

    ANA1_M

    ANA2

    PA0_OPINN

    PA2_

    CIN

    P

    PA4_

    RXD

    PWM

    2LPA

    5_TX

    DPWM0H

    PWM

    2H

    ANA5

    XIN

    PA3_TXDE

    -RESET

    DBG

    T0OUT

    -RES

    ET

    ANA6

    PWM

    1L

    PB3_

    ANA3

    _OPO

    UT

    ANA7

    PA

    6_C

    TSPC

    0_T0

    OU

    T

    VCC_33V

    PWM1H

    AGNDAVCC

    VCC_33V

    GNDAN

    A6XOUT

    PWM0L

    PA7_

    CO

    UT

    ANA4

    DBG

    PA5_TXDPA4_RXD

    PA6_CTS

    -RESET

    VCC_33V

    VCC_33V

    C_33V

    S1

    SW SPDT

    R9 49.9K

    J6HEADER 3

    1 2 3

    C22

    100pF

    C4

    22pF

    R10 100

    C17

    0.01

    C23

    0.1uF

    C20

    0.01

    R7 5K

    13

    2

    R12 10K

    R60

    D1

    RED

    2 1

    R1410K

    R241KC18

    0.01

    C24

    0.1uF

    R13 10K

    R1510K

    Y1

    20MHz2

    31

    2

    3

    J1

    HEADER 5X2

    2 4 6 8 10

    1 3 5 7 9

    S2

    SW SPDT

    C19

    0.01

    J4HEADER 3

    1 2 3

    C25

    0.1uF

    D2

    LED YEL

    2 1

    U1Z8FMC16110_32

    12345678

    9

    28

    1112131415161718192021222324

    25 26 27 29 30 31 3210

    PB2/ANA2/T0IN2PB1/ANA1/T0IN1PB0/ANA0/T0IN0

    AVDDAGNDVREF

    PA0/OPINNPA1/OPINP/CINN

    PA2/

    CIN

    P

    PB7/

    ANA7

    RE

    SE

    T/FA

    ULT

    0D

    BGP

    C0/

    T0O

    UT

    PWM

    2LPW

    M2H

    PWM

    1LPWM1HPWM0LPWM0HGNDXOUTXINVDDPA3/TXDE/SCL

    PA4/

    RXD

    PA5/

    TXD

    PA6/

    CTS

    /SD

    A

    PB6/

    ANA6

    PB5/

    ANA5

    PB4/

    ANA4

    /CIN

    NPB

    3/AN

    A3/O

    POU

    TP

    A7/

    FAU

    LT1/

    T0O

    UT/

    CO

    UT

    R1 100

    C1

    0.1uF

    R23 10K

    C6 12pF

    R5 10K

    J5HEADER 3

    1 2 3

    R4

    10K

    C21

    100pF

    R27.5K

    R8 100

    16

    .01

    R312.4K

    D3

    LED GRN

    2 1

    C2

    100pF

    C3

    1000pF

    R11 10K

    C26

    10uF

  • AN0260 Page 16 of 18

    rol Using the Z8FMC16100 MCUApplication Note

    CONSOLE

    USER

    POWER AND COMMUN ICATIONS

    CTS0RXD0

    PA5_TXD

    IRDA_SD

    PA4_RXD

    TXD0

    3V

    GND

    GND

    R19

    68

    C70.1uF

    C15

    330nFR20

    2R7

    C110.1uF

    U5

    ZHX1810

    2

    4

    3

    1

    5

    6

    0

    TXD

    SD

    RXD

    LEDA

    VCC

    GND T

    P1

    PWR JACK P2

    DB9 Female

    594837261

    22EBCA

    3

    7

    17

    8

    16

    9

    1114

    +

    -

    T

    T

    04-0413

    Electric Bike BLDC Hub Motor Cont

    Figure 8. Electric Bike BLDC Motor Controller Application Schematic, #5 of 5

    3.3 O K

    DIS IRDA

    DIS RS 232

    DBGINTERF ACE

    change p inout

    VCC_33V

    GNDVCC_33V

    VCC_33V

    DBG

    VCC_33V

    -RESET

    GND

    PA5_TXD

    GND

    VCC_5V

    VCC_3

    VCC_33V

    PA4_RXD

    GND

    GND

    GND

    GND

    PA5_TXD

    -RESET

    PA4_RXD

    PA6_CTS

    DBG

    VCC_33V

    -DIS_IRDA

    -DIS_232

    R17 0

    C80.1uF

    C100.1uF

    U4E

    74LVC04/SO

    11 10

    147

    U4A

    74LVC04/SO

    1 2

    147

    C120.1uF

    J212

    U4D

    74LVC04/SO

    9 8

    147

    P3

    Header 3x2

    1 23 45 6

    R1810K

    U4B

    74LVC04/SO

    3 4

    147

    U3SPX2815AU-3.3

    3

    1

    2VI

    GN

    D

    VO

    U4F

    74LVC04/SO

    13 12

    147

    J312

    R16

    680

    231

    +C13

    100/10C14

    0.1uF

    R2110K

    + C9

    100/10

    U4C

    74LVC04/SO

    5 6

    147

    U2

    SP32

    1

    2

    4

    5

    6

    13

    12

    15

    10

    20

    1918

    EN

    C1+

    C1-

    C2+

    C2-

    T1IN

    T2IN

    R1OUT

    R2OUT

    V

    V

    T1OU

    T2OU

    R1IN

    R2IN

    SHDN

    VCC

    GN

    D

    NCNC

    TP1

    1 2 3 4 5D4

    LED

    21

    R2210K

    TP2

    1 2 3 4 5

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Appendix B. FlowchartsFigure 9 presents a simple flow chart of the main, timer interrupt and Port B interrupt rou-tines for the electric bike BLDC motor controller application.

    Figure 9. Electric Bike BLDC Motor Controller Application Flowchart

    Main()

    Hall interrupt?

    Capture 3 Hallsensor binary

    states

    Switch into nextcommutation state

    Hall states = 3? Timer0rollover?

    Hall period = 0xFFFF

    Capture Timer0period and reset

    Timer0

    Obtain ADC resultfor set-speed used

    for open/closedloop

    Initialize MCUperipherals

    Apply PI controlvalue to PWM

    registers

    Closed loopselected?

    Start

    Yes No

    Yes No

    Yes

    Yes

    No

    No

    AN026004-0413 Page 17 of 18

  • Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUApplication Note

    Customer SupportTo 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 POLICYZILOG’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 hereinLife 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©2013 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.

    Z8 Encore! MC is a trademark or registered trademark of Zilog, Inc. All other product or service names are the property of their respective owners.

    Warning:

    AN026004-0413 Page 18 of 18

    http://support.zilog.comhttp://zilog.com/kbhttp://zilog.com/kbhttp://zilog.com/forumhttp://www.zilog.com

    Electric Bike BLDC Hub Motor Control Using the Z8FMC16100 MCUAbstractFeaturesDiscussionBraking and Regenerative ChargingHardware Architecture

    Using the Z8FMC16100 MCU in an Electric Bike BLDC Motor ControllerHardware ArchitectureSoftware ImplementationTesting/Demonstrating the Application

    Future ImplementationReferencesAppendix A. SchematicsAppendix B. FlowchartsCustomer Support