AVR492

Embed Size (px)

Citation preview

  • 7/28/2019 AVR492

    1/26

    AVR492: Brushless DC Motor Control usingAT90PWM3

    Features BLDC Motor Basics PSC use Hardware Implementation Code Example

    Introduction

    This application note describes how to implement a brushless DC motor control in

    sensor mode using AT90PWM3 AVR microcontroller.

    The high performance of AVR core fitted with Power Stage Controller module of

    AT90PWM3 enable the design of high speed brushless DC motor applications.

    In this document, we give a short description of brushless DC motor theory of opera-

    tion, we detail how to control brushless DC motor in sensor mode and also give the

    hardware description of ATAVRMC100 reference design used in this application note.

    Software implementation is also discussed with software control loop using PID filter.

    This application note deals only with BLDC motor control application using Hall effect

    position sensors to control commutation sequence.

    AVR

    Microcontrollers

    Application Note

    7518AAVR07/05

  • 7/28/2019 AVR492

    2/26

    2 AVR 492 Application Note7518AAVR07/05

    Theory of Operation Brushless DC motors are used in a growing number of motor applications as they havemany advantages:

    1. They have no brushes so they required little or no maintenance.

    2. They generate less acoustic and electrical noise than universal brushed DC

    motors.

    3. They can be use in hazardous operation environment (with flammable products).4. They have a good weight/size to power ratio...

    Such types of motor have a little rotor inertia, the coils are attached to the stator. The

    commutation is controlled by electronics. Commutation times are provided either by

    position sensors or by coils Back Electromotive Force measuring.

    In sensor mode, Brushless DC motor usually consists of three main parts. A Stator, a

    Rotor and Hall Sensors.

    Stator A basic three phases BLDC motor Stator has three coils. In many motors the number of

    coils is replicated to have a smaller torque ripple.

    Figure 1 shows the electrical schematic of the stator. It consists of three coils each

    including three elements in series, an inductance, a resistance and one back electromo-

    tive force.

    Figure 1. Stator Electrical Configuration (Three phases, three coils)

    Rotor The rotor in a BLDC motor consists of an even number of permanent magnets. The

    number of magnetic poles in the rotor also affects the step size and torque ripple of themotor. More poles give smaller steps and less torque ripple. The permanent magnets go

    from 1 to 5 pairs of poles. In certain cases it can goes up to 8 pairs of poles.(Figure 2).

    L

    bemf A

    bemf B

    bemf C

    L,R

    L,R L,R

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    3/26

    3

    AVR 492 Application Note

    7518AAVR07/05

    Figure 2. Three phases, three coil BLDC motor stator and rotor

    The coils are stationary while the magnet is rotating. The rotor of the BLDC motor is

    lighter than the rotor of a conventional universal DC motor where the coils are placed on

    the rotor.

    Hall Sensor For estimating the rotor position, three hall sensors are positioned. These hall sensors

    are separated by 120 each. With these sensors, 6 different commutations are possible.

    Phase commutation depends on hall sensor values.

    Power supply to the coils change when hall sensor values change. With right synchro-

    nized commutations, the torque remain nearly constant and high.

    Figure 3. Hall Sensors signals for CW rotation

    Phases Commutation To simplify the explanation of how to operate a three phases BLDC motor a typical

    BLDC motor with only three coils is considered. As previously shown, phases commuta-

    tion depends on the hall sensor values. When motor coils are correctly supplied, a

    magnetic field is created and rotor moves. The most elementary commutation driving

    method used for BLDC motors is an on-off scheme: a coil is either conducting or not

    conducting. Only two windings are supplied at the same time the third winding is float-

    ing. Connecting the coils to the power and neutral bus induces the current flow. This is

    referred to as trapezoidal commutation or block commutation.

    N S

    coils A

    coils C

    coils B

    Rotor

    Stator

    N

    S

    coils A

    coils C

    coils B

    Rotor

    Stator

    N

    S

    1 pair of poles 2 pairs of poles

    t

    t

    t

    Hall_A

    Hall_B

    Hall_C

    t

    t

    t

    Coil_A

    Coil_B

    Coil_C

  • 7/28/2019 AVR492

    4/26

    4 AVR 492 Application Note7518AAVR07/05

    To command brushless DC motors, a power stage made of 3 half bridges is used. Fig-

    ure 4 below shows 3 half bridges schematic.

    Figure 4. Power Stage

    Reading hall sensor value, indicate which switch should be closed.

    For motors with multiple poles the electrical rotation does not correspond to a mechani-

    cal rotation. A four pole BLDC motor uses four electrical rotation cycles to have one

    mechanical rotation.

    The strength of the magnetic field determines the force and speed of the motor. By vary-

    ing the current flow through the coils the speed and torque of the motor can be adjusted.

    The most common way to control the current flow is to control the average current flow

    through the coils. PWM(Pulse Width Modulation) is used to adjust the average voltage

    and thereby the average current, including the speed. The speed can be adjusted with ahigh frequency from 20 khz to 60 khz.

    For a three phase, three coils BLDC motor, the rotating field is described in Figure 5.

    Table 1. Switches commutation for CW rotation

    Hall Sensors Value (Hall_CBA) Phase Switches

    101 A-B SW1 ; SW4

    001 A-C SW1 ; SW6

    011 B-C SW3 ; SW6

    010 B-A SW3 ; SW2110 C-A SW5 ; SW2

    100 C-B SW1 ; SW4

    CmdSW1

    CmdSW2

    CmdSW3

    CmdSW4

    CmdSW5

    CmdSW6

    VDC

    -

    +

    +DC

    C

    B

    A

    0

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    5/26

    5

    AVR 492 Application Note

    7518AAVR07/05

    Figure 5. Commutation steps and rotating field

    Commutation creates a rotating field. Step1 Phase A is connected to the positive DC

    bus voltage by SW1 and Phase B is connected to ground by SW4, Phase C is unpow-

    ered. Two flux vectors are generated by phase A (red arrow) and phase B (blue arrow)

    the sum of the two vectors give the stator flux vector (green arrow). Then the rotor tries

    to follow stator flux. As soon as the rotor reach a certain position when the hall sensors

    state changes its value from 010 to 011 a new voltage pattern is selected and applied

    to the BLDC motor. Then Phase B is unpowered and Phase C is connected to theground. It results in a new stator flux vector Step2.

    By following the commutation schematic Figure 3 and Table 1, we obtain six differents

    stator flux vectors corresponding to the six commutation steps. The six steps provide

    one rotor revolution.

    coil A

    coil C

    coil B

    coil A

    coil C

    coil B

    Step1 Step2

    coil A

    coil C

    coil B

    coil A

    coil C

    coil B

    Step3 Step4

    coil A

    coil C

    coil B

    coil A

    coil C

    coil B

    Step5 Step6

    Hall_CBA

    011

    010

    110

    100

    101

    001

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    6/26

    6 AVR 492 Application Note7518AAVR07/05

    Starter KIT

    ATAVRMC100

    After this brief theoretical presentation of Brushless DC Motor Control, the practical

    implementation will be introduced with the help of an example. The next part of this

    application note will deal with the hardware and the software implementation based on

    the starter kit ATAVRMC100 running with a microcontroller AT90PWM3.

    Electrical schematics are available Figure 21, Figure 22, Figure 23 and Figure 24 at the

    end of the document. They describe the reference design for the Starter KitATAVRMC100.

    The software includes the control of the speed through a PID corrector. Such a corrector

    is composed of three main coefficients : KP, KI, and KD.

    KP is the proportionnal gain coefficient, KI is the integral gain coefficient and KD is the

    derivative gain coefficient. The error between the desired speed and the real speed

    (called error in the Figure 6) is multiplied by each gain. Then, the sum of the three ther-

    mes give the command to apply to the motor to get the right speed (Figure 6).

    Figure 6. PID diagram

    The KP coefficient fixes the motor response time, the KI coefficient is used to cancel the

    static error and the KD is used in particular for position regulation(refer to regulation loop

    in software description for tuning the coefficients).

    ++

    +

    commanderror

    PID corrector

    desired_speed

    real_speed

    +-

    BLDC Motor

    +Power Stage

    KI

    td

    dKD

    KP

    command t( ) KP e ro r t ( ) K I er r or t ( ) t( )d+ KD tdd

    error t ( )+=

    error t ( ) desired_sp ee d t( ) _sp ee d t( )real=

    http://-/?-http://-/?-http://-/?-http://-/?-
  • 7/28/2019 AVR492

    7/26

    7

    AVR 492 Application Note

    7518AAVR07/05

    Hardware

    Description

    As shown in Figure 7 the microcontroller contains 3 Power Stage Controller (PSC).

    Each PSC can be seen as a Pulse Width Modulator with two output signals. To avoid

    cross conduction a Dead Time control is integrated (see AT90PWM3 datasheet for

    more information about PSC orFigure 9 below).

    A fault input (Over_Current) is linked to PSCIN. This fault input enables the microcon-

    troller to disable all PSC outputs.

    Figure 7. Hardware implementation

    Its possible to measure the current with two differential amplified channels with pro-

    grammable 5, 10, 20 and 40 gain stage. The Shunt resistor has to be adjusted to the

    amplifier conversion range.

    The Over_Current signal results from an external comparator. The comparators refer-

    ence can be adjusted by the internal DAC.The phase commutation has to be done according to hall sensors value. HallA, HallB

    and HallC are connected to external interrupt sources or to the three internal compara-

    tors. The comparators generate the same type of interrupts as the external interrupts.

    Figure 8 shows how the microcontroller I/O ports are used in the starter kit.

    AT90PWM3

    Motor

    Power Bridge

    PSCOUT

    PSCIN

    AMP1+;AMP1-

    ACMP0

    Over_Current

    Current

    PSC00PSC10PSC20

    PSC01PSC11PSC21

    PH_A

    PH_B

    PH_C

    HallAHallBHallC

    ACMP1ACMP2

    +

    Shunt resistor

    PSCij : Power Stage Controller i (i = 0,1,2) output j (j = 0,1)ACMPi : Analog Comparator Positive input (i = 0,1,2)AMPi+/- : Analog Differential Amplified channel Positive/Negative inputs (i = 0,1,2)

    http://-/?-http://-/?-http://-/?-http://-/?-
  • 7/28/2019 AVR492

    8/26

    8 AVR 492 Application Note7518AAVR07/05

    Figure 8. Microcontroller I/O Ports use (SO32 package)

    VMOT and VMOT_Half are implemented but not used. They can be used to get the

    value of the motor supply.

    The outputs H_x and L_x are used to control the power bridge. As previously seen, they

    depend on the Power Stage Control (PSC) which generate PWM signals. For such

    application the recommended mode is the Center Aligned Mode (see Figure 9), the reg-

    ister OCR0RA is used to adjust ADC synchronization for current measurement.

    Figure 9. PSCn0 & PSCn1 Basic Waveforms in Center Aligned Mode

    O p e r a t in g M o d e

    P O R T B P IN P o r t F u n c t io n S E N S O RP B 0 / M I S O / P S C O U T 2 0 1 2 H _ C H _ CP B 1 / M O S I / P S C O U T 2 1 1 3 L _ C L _ CP B 2 / A D C 5 / I N T 1 2 0 V M O T V M O TP B 3 / A M P 0 - 2 7 E X T 1

    P B 4 / A M P 0 + 2 8 E X T 2P B 5 / A D C 6 / I N T 2 3 0 E X T 5P B 6 / A D C 7 / P S C O U T 1 1 / I C P 1 B 3 1 L _ B L _ BP B 7 / A D C 4 / P S C O U T 0 1 / S C K 3 2 L _ A L _ A

    P O R T CP C 0 / I N T 3 / P S C O U T 1 0 2 H _ B H _ BP C 1 / P S C I N 1 / O C 1 B 7 E X T 3P C 2 / T 0 / P S C O U T 2 2 1 0 E X T 4P C 3 / T 1 / P S C O U T 2 3 1 1 L IN _ N S L PP C 4 / A D C 8 / A M P 1 - 2 1 V _ S h u n t - V _ S h u n t -P C 5 / A D C 9 / A M P 1 + 2 2 V _ S h u n t+ V _ S h u n t+P C 6 / A D C 1 0 / A C M P 1 2 6 H a ll B / B E M F _ B H a l lBP C 7 / D 2 A 2 9 D A C _ O U T D A C _ O U T

    P O R T DP D 0 / P S C O U T 0 0 / X C K / S S _ A 1 H _ A H _ AP D 1 / P S C I N 0 / C L K O 4 O v e r_ C u r re n t O v e r _ C u r re n tP D 2 / P S C I N 2 / O C 1 A / M I S O _ A 5 M IS O / E X T 1 0P D 3 / T X D / D A L I / O C 0 A / S S / M O S I

    _ A6

    M O S I / L I N T x D / T x D

    / E X T 7

    P D 4 / A D C 1 / R X D / D A L I / I C P 1 A / S CK _ A 1 6 S C K / L IN R x D / R x D/ P O T / E X T 8P D 5 / A D C 2 / A C M P 2 1 7 H a ll C / B E M F _ C H a l lCP D 6 A D C 3 / A C M P M / I N T 0 1 8 V M O T _ H a l f V M O T _ H a l f P D 7 / A C M P 0 1 9 H a l lA / B E M F _ A H a l lA

    P O R T EP E 0 / R E S E T / O C D 3 N R E S / E X T 9P E 1 / O C 0 B / X T A L 1 1 4 E X T 6P E 2 / A D C 0 / X T A L 2 1 5 L E D

    D e p e n d o n t h e

    c o m m u n i c at io n m o d e

    D e p e n d o n t h e

    c o m m u n i c at io n m o d e

    D e p e n d o n t h e

    c o m m u n i c at io n m o d e

    D e p e n d o n t h e

    c o m m u n i c at io n m o d e

    OCRnRB

    OCRnSBOCRnSA

    0

    PSCn0

    PSCn1

    PSC Cycle

    On Time 0

    On Time 1 On Time 1

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    9/26

    9

    AVR 492 Application Note

    7518AAVR07/05

    On Time 0 = 2 * OCRnSA * 1/Fclkpsc

    On Time 1 = 2* (OCRnRB - OCRnSB + 1) * 1/Fclkpsc

    PSC Cycle = 2 * (OCRnRB + 1) * 1/Fclkpsc

    The dead time value between PSCn0 and PSCn1 is :

    |OCRnSB - OCRnSA| * 1/Fclkpsc

    The input clock of PSC is given by CLKPSC. Clock input from I/O clock or from PLL.

    Two strategies can be employed for the PWM signals applied on the power stage. The

    first consists in applying the PWM signals on the high side AND the low side of the

    power bridge and the second in applying the PWM signals only on the high side of the

    power bridge.

  • 7/28/2019 AVR492

    10/26

    10 AVR 492 Application Note7518AAVR07/05

    Software Description Atmel provides libraries to control Brushless DC motors. The first step is to configureand initialize the microcontroller.

    Microcontroller Configuration

    and Initialization

    The function to be used is named mc_init_motor(). It calls hardware and software initial-

    ization functions and initialize all motor parameters (motor direction, motor speed and

    stop the motor).

    Software Implentation Diagram After microcontroller configuration and initialization, the motor can be started. Only few

    functions are needed to control the motor. All user functions are define in mc_lib.h:

    void mc_motor_run(void)

    Used to start the motor. The regulation loop function is launched to set the duty

    cycle. Then the first phases commutation is executed.

    Bool mc_motor_is_running(void)

    Get the motor state. If TRUE the motor is running. Else if FALSE the motor is

    stopped.

    void mc_motor_stop(void)

    Used to stop the motor.

    void mc_set_motor_speed(U8 speed)

    Set the user requested speed.

    U8 mc_get_motor_speed(void)

    Return the current user requested speed.

    void mc_set_motor_direction(U8 direction)

    Set the motor direction, CW or CCW.

    U8 mc_get_motor_direction(void)

    Return the current direction of rotation of the motor.

    U8 mc_set_motor_measured_speed(U8 measured_speed)

    Save the measured speed in the measured_speed variable.

    U8 mc_get_motor_measured_speed(void)

    Get the measured speed.

    void mc_set_Close_Loop(void)

    void mc_set_Open_Loop(void)

    Set type of regulation Open Loop or Close Loop. See Figure 13 for more

    information.

  • 7/28/2019 AVR492

    11/26

    11

    AVR 492 Application Note

    7518AAVR07/05

    Figure 10. AT90PWM3 Configuration

    mc_init_motor()

    mc_init_HW() mc_init_SW()

    mc_init_port()

    mc_init_pwm()

    mc_init_IT()

    mc_config-

    estimation_speed()

    mc_config_samplin

    g_time()

    Enable_Interrupt()

    PSC2_Init()

    PSC1_Init()

    PSC0_Init()

    + motor direction initialization

    + motor speed initialization

    + Stop the motor

    Timer1 configuration

    Timer0 configuration

    mc_init_comparator0()

    mc_init_comparator1()

    mc_init_comparator2()

    mc_init_DAC()

    mc_init_ADC()

    mc_init_current_measure()

    mc_set_Over_Current()

  • 7/28/2019 AVR492

    12/26

    12 AVR 492 Application Note7518AAVR07/05

    Figure 11. Software Implentation Diagram.

    mc_

    switch

    _commutation()

    m

    c_

    duty

    _cycle()

    Set_QxQy()

    mc_

    hall

    _a()

    mc_

    hall

    _b()

    mc_

    hall

    _c()

    H_

    A

    L_

    A

    H_

    B

    L_

    B

    H_

    C

    L_

    C

    HallA

    HallB

    HallC

    main()

    Software

    Ha

    rdware

    Hardware

    mc_set_motor_direction()

    mc_motor_stop()

    mc_motor_run()

    HallA

    HallB

    HallC

    mc_

    regulation_

    loop()

    mc_set_motor_speed()

    mc_set_Close_Loop()

    mc_set_Open_Loop()

    mc_

    launch

    _sampling_

    period()

    mc_

    estimation_

    speed()

    ovfl

    _timer()

    Timer0

    Timer1

    TIMER0

    _OVF

    _vect

    TIMER1

    _COMPA

    _vect

    all250us

    g_

    tic

    t_timer=8us

    TCNT0

    ovf_timer

    mc_

    measured

    _speed

    mc_

    direction

    mc

    _cmd

    _speed

    mc_

    run_

    stop

    duty

    _cycle

    mc_get_motor_direction()

    mc_motor_is_runing()

    mc_get_motor_direction()

    mc_get_motor_speed()

    mc_g

    et_motor_speed()

    mc_

    get_duty

    _cycle()

    mc_set_motor_measured_speed()

    mc_get_motor_measured_speed()

  • 7/28/2019 AVR492

    13/26

    13

    AVR 492 Application Note

    7518AAVR07/05

    Figure 11 shows four variables mc_run_stop, mc_direction, mc_cmd_speed and

    mc_measured_speed. They are the main software variables which can be accessed by

    user functions previously described.

    The software can be seen as a black box named Motor Control (Figure 12) with inputs (

    mc_run_stop, mc_direction, mc_cmd_speed, mc_measured_speed) and output (All

    power bridge signals).

    Figure 12. Main Software Variables.

    Most of the functions are available in mc_drv.h. Only a few depends on the motor type.

    Functions can be distributed in four main class : Hardware initialization

    void mc_init_HW(void);

    All hardware initialization are made in this function. We can found ports initialization,

    interrupts initialization, timers and PSCs.

    void mc_init_SW(void);

    Used to initialized software. Enable all interrupts.

    void mc_init_port(void);

    Microcontroller I/O ports initialization with DDRx register initialization to choose if

    the pin acts as an Output or an Input and PORTx to activate or not the pull-up on

    Input.

    void mc_init_pwm(void);

    This function start the PLL and sets all PSC registers with their initial values.

    void mc_init_IT(void);

    Modifie this function to enable or disable types of interrupts.

    mc_run_stop

    mc_direction

    mc_cmd_speed

    Power Bridge Signals

    mc_measured_speed

    Motor Control H_A L_AH_B L_BH_C L_C

  • 7/28/2019 AVR492

    14/26

    14 AVR 492 Application Note7518AAVR07/05

    void PSC0_Init ( unsignedint dt0,

    unsignedint ot0,

    unsignedint dt1,

    unsignedint ot1);

    voidPSC1_Init (

    unsigned intdt0,

    unsigned int ot0,

    unsigned int dt1,

    unsigned int ot1);

    void PSC2_Init (unsigned int dt0,

    unsigned int ot0,

    unsigned int dt1,

    unsigned int ot1);

    PSCx_Init allows the user to select the configuration of the Power Stage Control

    (PSC) of the microcontroller.

    Phases commutation functions

    U8 mc_get_hall(void);

    Get the Hall sensors value corresponding to the six commutations steps (HS_001,

    HS_010, HS_011, HS_100, HS_101, HS_110).

    _interruptvoid mc_hall_a(void);

    _interruptvoid mc_hall_b(void);

    _interruptvoid mc_hall_c(void);

    These functions are executed when an external interrupt is detected (Hall sensor

    edge). They allow phases commutation and speed calculation.

    void mc_duty_cycle(U8 level);

    This function set the PSC duty cycle according to PSC configuration.

    void mc_switch_commutation(U8 position);

    The phases commutation is done according to hall sensors value and only if the

    user start the motor.

    Sampling time configuration

    void mc_config_sampling_period(void);

    Initialize the timer1 to generate an interrupt all 250 us.

    _interruptvoid launch_sampling_period(void);

    When the 250us interrupt is activated, a flag is set. It can be use for sampling time

    control.

  • 7/28/2019 AVR492

    15/26

    15

    AVR 492 Application Note

    7518AAVR07/05

    Estimation speed

    void mc_config_time_estimation_speed(void);

    Configuration of the timer0 to be use for the speed calculation.

    void mc_estimation_speed(void);

    This function calculate the motor speed with the hall sensor periode measure

    principle.

    _interruptvoid ovfl_timer(void);

    When an overflow occurs on the timer0 a 8bits variable is increased to obtain a

    16bits timer with a 8bits timer.

    Current measure

    _interruptvoid ADC_EOC(void);

    As soon as the amplifier conversion is finished, the ADC_EOC function is executed

    to set a flag usable for the user.

    void mc_init_current_measure(void);

    This function initializes the amplifier 1 for the current measure.

    U8 mc_get_current(void);

    Get the current value if the conversion is finished.

    Bool mc_conversion_is_finished(void);

    Indicate if the conversion is finished.

    void mc_ack_EOC(void);

    Reset the End Of Conversion flag.

    Over Current detection

    void mc_set_Over_Current(U8 Level);

    Set the level of detection of an over current. The level is output by the DAC on

    external comparator.

  • 7/28/2019 AVR492

    16/26

    16 AVR 492 Application Note7518AAVR07/05

    Regulation Loop Two functions select the regulation loop. Open loop or close loop. Figure 13 shows the

    regu la t i on l oop imp lemen ted i n t he so f twa re .The two func t i ons a re

    mc_set_Close_Loop() and mc_set_Open_Loop().

    Figure 13. Regulation Loop

    The close loop consists in a speed regulation loop with the PID corrector.

    We will further explain how to adjust the coefficients KP and KI. The KD coefficient is

    present in the regulation loop but not used.

    As previously shown, the KP coefficient is used to regulate the motor response time. In

    a first time set KI and KD to 0.Try different value of KP to get a right motor response

    time.

    If the response time is too slow increase KP gain.

    If the response time is quick but unstable decrease KP gain.

    Figure 14. Kp tuning

    +-

    mc_cmd_speed

    mc_measured_speed

    duty_cycle

    PIDMotor

    1 : mc_set_Close_Loop() 1 : mc_set_Close_Loop()

    2 : mc_set_Open_Loop() 2 : mc_set_Open_Loop()

    error

    2

    11

    2

    0

    20

    40

    60

    80

    100

    120

    140

    160

    0

    0,3

    2

    0,6

    4

    0,9

    6

    1,2

    81,6

    1,9

    2

    2,2

    4

    2,5

    6

    2,8

    83,2

    time (s)

    SpeedMeasured Kp = 1

    Kp = 2

    Kp = 3

    Kp = 6

    Speed ConsignRequested Speed

  • 7/28/2019 AVR492

    17/26

    17

    AVR 492 Application Note

    7518AAVR07/05

    KI parameter is used to cancel the static error. Leave the KP coefficient unchanged and

    set the KI parameter.

    If the error is still different from zero increase KI gain.

    If the error is cancelled but after oscillations decrease KI gain.

    Figure 15. Ki tuning

    In the Figure 14 and Figure 15 example, the right parameters are KP = 1, KI = 0.5 and

    KD = 0.

    To adjust KD parameter :

    If the reponse is still low increase KD gain.

    If the reponse is still unstable decrease KD gain.

    One another significant point is the sampling time. It has to be chosen according to the

    response time of the system. The sampling time must be at least twice smaller than the

    response time of the system (according to the Shannon-Nyquist criterie).

    Two functions are available for the sampling time configuration (explained previously).

    They result in a global variable called g_tick which is set all 250us. With this variable its

    possible to configure the sampling time.

    CPU & Memory usage All measurements has been realized with Fosc = 8MHz. It also depends on the motor

    type too (numbers of pair of poles). With a motor of 5 pair of poles, hall sensor frequencyis five times slower than motor rotation.

    All results in Figure 16 are obtained with a three phases BLDC motor with five pairs of

    poles and a maximum speed of 14000 rpm.

    0

    50

    100

    150

    200

    250

    00,

    40,8

    1,2

    1,6 2

    2,4

    2,8

    3,2

    3,6 4

    time (s)

    SpeedMeasured

    Ki=1 ; Kp=1

    Ki=2 ; Kp=1

    Ki=0,5 ; Kp=1

    Speed ConsignRequested Speed

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    18/26

    18 AVR 492 Application Note7518AAVR07/05

    Figure 16. Microcontroller utilization rate

    In the worst case, the microcontroller utilization ratio is about 18% with a sampling time

    of 80ms at 14000 rpm.

    A first estimation can be made for a faster motor and with a current regulation added.

    Activation time for mc_regulation_loop() grows up from 45us to 55us (we have to take

    into account the conversion time of the ADC about 7us). For this estimation, a BLDC

    motor with a current response time about 2-3ms, five pairs of poles and a maximum

    speed of 50000 rpm is chosen.

    The maximum speed of the motor is about 50000 rpm, with a rotor of 5 pairs of poles weobtain a Hall sensors frequency of (50000rpm/60)*5 = 4167 Hz. The function

    mc_estimation_speed() is launched at each rising edge of hall sensor A, so every 240us

    with an activation time of 31us.

    For mc_switch_commutation() the three hall sensors have to be considered. The func-

    tion is executed at each edges of the three hall sensors (rising edge and falling edge)

    we have six interrupts in one Hall sensor period. It results in an activation period of

    240/6us = 40us.

    Finally, the sampling time of the regulation loop must to be at least twice smaller than

    the current reponse time of the motor (about 1ms).

    All results are summarized Figure 17.

    Figure 17. Microcontroller utilization rate estimated

    In such case the utilization ratio of the microcontroller is about 61%.

    All ratio measurement have been made with the same software. No communicationmode are used (no UART, no LIN...).

    In these conditions, the microcontroller memory usage is :

    3175 bytes of CODE memory (Flash occupation = 38.7% ).

    285 bytes of DATA memory (SRAM occupation = 55.7%).

    Function Parameters activation time activation period Ratio uc %

    ovfl_timer() all case 2us 2,05ms 0,1

    Speed = 14000 rpm 857,14 us 3,62

    Speed = 2800 rpm 4,29 ms 0,72

    Speed = 14000 rpm 142,86 us 11,89

    Speed = 2800 rpm 714 us 2,38

    Open Loop 4,5 us 80 ms 0,0056

    Close Loop 45 us 80 ms 0,056mc_regulation_loop()

    mc_estimation_speed() 31 us

    mc_switch_commutation() 17 us

    Function Parameters activation time activation period Ratio uc %

    ovfl_timer() all case 2us 2,05 ms 0,1

    1 ms

    40 us

    240 us

    5,5

    12,91

    42,5

    mc_regulation_loop()

    mc_estimation_speed() 31 us

    mc_switch_commutation() 17 us

    Speed = 50000 rpm

    Speed = 50000 rpm

    Close Loop 55 us

  • 7/28/2019 AVR492

    19/26

    19

    AVR 492 Application Note

    7518AAVR07/05

    ATAVRMC100

    Configuration and

    Use

    Figure 18 shows us the complet schematics of the various operating mode of the starter

    kit ATAVRMC100.

    Figure 18. Microcontroller I/O Ports use and communication modes

    Operating mode Two differents operating modes are available, set jumpers JP1, JP2 and JP3 according

    to Figure 19 to select between both modes. In this application, only Sensor mode is

    used. Refer to the ATAVRMC100 User Guide for complete description of hardware.

    Operating Mode

    PORTB PIN Port Function SENSOR LIN PC Link Switchs/LEDs Debug Wire ISP

    PB0/MISO/PSCOUT20 12 H_C H_C H_C H_C H_C H_C H_C

    PB1/MOSI/PSCOUT21 13 L_C L_C L_C L_C L_C L_C L_C

    PB2/ADC5/INT1 20 VMOT VMOT VMOT VMOT VMOT VMOT VMOT

    PB3/AMP0- 27 EXT1 EXT1 EXT1 EXT1 EXT1 EXT1PB4/AMP0+ 28 EXT2 EXT2 EXT2 EXT2 EXT2 EXT2 PB5/ADC6/INT2 30 EXT5 EXT5 EXT5 EXT5 EXT5 EXT5 PB6/ADC7/PSCOUT11/ICP1B 31 L_B L_B L_B L_B L_B L_B L_B

    PB7/ADC4/PSCOUT01/SCK 32 L_A L_A L_A L_A L_A L_A L_A

    PORTC

    PC0/INT3/PSCOUT10 2 H_B H_B H_B H_B H_B H_B H_B

    PC1/PSCIN1/OC1B 7 EXT3 EXT3 EXT3 EXT3 EXT3 EXT3 PC2/T0/PSCOUT22 10 EXT4 EXT4 EXT4 EXT4 EXT4 EXT4 PC3/T1/PSCOUT23 11 LIN_NSLP LIN_NSLP LIN_NSLP LIN_NSLP LIN_NSLP LIN_NSLP

    PC4/ADC8/AMP1- 21 V_Shunt- V_Shunt- V_Shunt- V_Shunt- V_Shunt- V_Shunt- V_Shunt-PC5/ADC9/AMP1+ 22 V_Shunt+ V_Shunt+ V_Shunt+ V_Shunt+ V_Shunt+ V_Shunt+ V_Shunt+

    PC6/ADC10/ACMP1 26 HallB / BEMF_B HallB

    PC7/D2A 29 DAC_OUT DAC_OUT DAC_OUT DAC_OUT DAC_OUT DAC_OUT DAC_OUT

    PORTD

    PD0/PSCOUT00/XCK/SS_A 1 H_A H_A H_A H_A H_A H_A H_A

    PD1/PSCIN0/CLKO 4 Over_Current Over_Current Over_Current Over_Current Over_Current Over_Current Over_Current

    PD2/PSCIN2/OC1A/MISO_A 5 MISO / EXT10 EXT10 EXT10 EXT10 EXT10 MISO

    PD3/TXD/DALI/OC0A/SS/MOSI

    _A6

    MOSI / LIN TxD / TxD

    / EXT7LIN TxD TxD POT EXT7 MOSI

    PD4/ADC1/RXD/DALI/ICP1A/SC

    K_A16

    SCK / LIN RxD / RxD

    / POT / EXT8LIN RxD RxD EXT8 EXT8 SCK

    PD5/ADC2/ACMP2 17 HallC / BEMF_C HallC

    PD6ADC3/ACMPM/INT0 18 VMOT_Half VMOT_Half VMOT_Half VMOT_Half VMOT_Half VMOT_Half VMOT_Half

    PD7/ACMP0 19 HallA / BEMF_A HallA

    PORTE

    PE0/RESET/OCD 3 NRES / EXT9 EXT9 EXT9 EXT9 NRES NRES

    PE1/OC0B/XTAL1 14 EXT6 EXT6 EXT6 EXT6 EXT6 EXT6

    PE2/ADC0/XTAL2 15 LED LED LED LED LED LED

    Depend on the

    communication mode

    Depend on the

    communication mode

    Depend on the

    communication mode

    Depend on the

    communication mode

    Depend on the operating mode

    Depend on the operating mode

    Depend on the operating mode

    Communication Mode

    STK500 JTAGICE mkII

    http://-/?-http://-/?-http://-/?-http://-/?-
  • 7/28/2019 AVR492

    20/26

    20 AVR 492 Application Note7518AAVR07/05

    Figure 19. Sensor mode selection

    Figure 19 shows the default jumpers setting to use the software associated with this

    application note.

    The software delivered with the ATAVRMC100 board allows two operating modes :

    No external component, the motor start with a speed of 100%.

    One external potentiometer use to adjust the speed of the motor.

    Figure 20. Potentiometer connection.

    6

    4

    2

    5

    3

    1

    79 10

    8

    10K

    10KP

    R

    J4: IO-COM

    GND

    VCC5V

    ADC5

    http://-/?-http://-/?-
  • 7/28/2019 AVR492

    21/26

    21

    AVR 492 Application Note

    7518AAVR07/05

    Conclusion This application note provides a software and hardware solution for sensor brushlessDC motors applications. All source code is available on the Atmel web site.

    The software library provides functions to start and control the speed of any sensor

    three phases brushless DC motors.

    The hardware is based on the minimal design with minimal external components

    required for control sensor brushless DC motors.

    The AT90PWM3 CPU and memory usage allow a developer to expand his horizons with

    new functionalities.

  • 7/28/2019 AVR492

    22/26

    22 AVR 492 Application Note7518AAVR07/05

    Figure 21. Schematic page 1/4

    5 5

    4 4

    3 3

    2 2

    1 1

    D

    D

    C

    C

    B

    B

    A

    A

    PH_

    C

    BEMF_

    C

    PH_

    B

    BEMF_

    B

    BEMF_

    A

    PH_

    A

    PH_

    A

    PH_

    B

    PH_

    C

    BEMF_

    C

    BEMF_

    B

    BEMF_

    A

    Title

    Size

    D

    ocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(ZCDDetecti

    on)

    4

    4

    Title

    Size

    D

    ocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(ZCDDetecti

    on)

    4

    4

    Title

    Size

    D

    ocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(ZCDDetecti

    on)

    4

    4

    A4

    Drawn

    By:

    G

    ALLAIN

    11

    Apr

    il

    2005

    R37

    15K

    R37

    15K

    C31

    470pF(NotMounted)

    C31

    470pF(NotMounted)

    R4422K

    R4422K

    C28

    100pF

    C28

    100pF

    R33

    15K

    R33

    15K

    R3922K

    R3922K

    C30

    100pF

    C30

    100pF

    R35

    22K

    R35

    22K

    R38

    100K

    R38

    100K

    TP13

    BEMF_

    ATP13

    BEMF_

    A

    R34

    100K

    R34

    100K

    R4022K

    R4022K

    C29

    470pf(NotMounted)

    C29

    470pf(NotMounted)

    C33

    470pF(NotMounted)

    C33

    470pF(NotMounted)

    R42

    15K

    R42

    15K

    R3622K

    R3622K

    R4122K

    R4122K

    C32

    100pF

    C32

    100pF

    TP12

    BEMF_

    BTP12

    BEMF_

    BTP11

    BEMF_

    CTP11

    BEMF_

    C

    R43

    100K

    R43

    100K

  • 7/28/2019 AVR492

    23/26

    23

    AVR 492 Application Note

    7518AAVR07/05

    Figure 22. Schematic page 2/4

    5 5

    4 4

    3 3

    2 2

    1 1

    D

    D

    C

    C

    B

    B

    A

    A

    VMOT

    LIN

    EXT8/SCK/LIN_

    RxD/RxD/POT

    LIN_

    NSLP

    EXT7/MOSI/LIN_

    TxD/TxD

    LIN_

    NWAKE

    VMOT_

    Half

    VBUS

    VBUS_

    D

    VBUS_

    D

    VC

    C5V

    VBUS

    VBUS_

    D

    VBUS_

    D

    VMOT

    VMOT_

    Half

    EXT8/SCK/LIN_

    RxD/RxD/POT

    LIN_

    NSLP

    LIN_

    NWAKE

    EXT7/MOSI/LIN_

    TxD/TxD

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(POWER+LIN)

    3

    4

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(POWER+LIN)

    3

    4

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    ATAVRMC1(POWER+LIN)

    3

    4

    POWER

    LIN

    V

    measurement

    A4

    Drawn

    By:

    G

    ALLAIN

    11

    Apr

    il

    2005

    C21

    10nF

    C21

    10nF

    C23

    10uF

    C23

    10uF

    T

    P10

    G

    ND

    T

    P10

    G

    ND

    R29

    10K

    R29

    10K

    R28

    100K

    R28

    100K

    1 2 3

    J1

    LINConnector

    J1

    LINConnector

    VIN

    1

    GND3

    VOUT

    2

    U6

    MC78M05CDT

    U6

    MC78M05CDT

    D5

    LL4001

    D5

    LL4001

    C20

    100nF

    C20

    100nF

    C24

    2.2nF

    C24

    2.2nF

    C18

    100nF

    C18

    100nF

    R30

    33

    R30

    33

    R32

    22K

    R32

    22K

    R27

    15K

    R27

    15K

    D6LED_

    Green

    D6LED_

    Green

    R26

    4.7K

    R26

    4.7K

    INH

    8

    NWAKE

    3

    RxD

    1

    GND

    5

    TxD

    4

    LIN

    6

    BAT

    7

    NSLP

    2

    U7

    ATA6661

    U7

    ATA6661

    C25

    100nF

    C25

    100nF

    C27

    100nF

    C27

    100nF

    C19

    47uF

    C19

    47uF

    R31

    22K

    R31

    22K

    C22

    100nF

    C22

    100nF

    C26

    220pF

    C26

    220pF

    R2510

    R2510

  • 7/28/2019 AVR492

    24/26

    24 AVR 492 Application Note7518AAVR07/05

    Figure 23. Schematic page 3/4

    5 5

    4 4

    3 3

    2 2

    1 1

    D

    D

    C

    C

    B

    B

    A

    A

    H_

    A

    NRES/EXT9

    Over_Curre

    nt

    MISO/EXT1

    0

    EXT7/MOSI/LIN_

    TxD/TxD

    EXT3

    EXT4

    LIN_

    NSLP

    H_

    C

    L_

    C

    EXT8/SCK/LIN_

    RxD/RxD/POT

    L_

    AL_

    BDAC_

    OUT

    EXT2

    EXT1

    AGND

    V_

    Shunt+

    V_

    Shunt-

    EXT6

    HallC

    M

    ISO/EXT10

    E

    XT8/SCK/LIN_

    RxD/RxD/POT

    EXT7/MOSI/LIN_

    TxD/TxD

    EXT2

    EXT2

    EXT6

    EXT3

    EXT5

    EXT7/MOSI/LIN_

    TxD/TxD

    BEMF_C

    HallA

    BEMF_A

    VMOT_

    Half

    VMOT

    EXT5

    EXT8/SCK/LIN_

    RxD/R

    xD/POT

    N

    RES/EXT9

    EXT1

    HallB

    BEMF_B

    H_AH_BH_CV_S

    hunt+

    VMO

    T_

    Half

    L_

    AL_

    BL_

    CV_

    Shunt-

    Over_Current

    H_

    B

    VCC5V

    VCC5V

    VCC5V

    VCC5V

    VCC5V

    VCC5V

    H_

    C

    H_

    A

    H_

    B

    NRES/EXT9

    Over_Current

    MISO/EXT10

    EXT7/MOSI/LIN_

    TxD/TxD

    EXT3

    EXT4

    LIN_

    NSLP

    L_

    CEXT6

    EXT8/SCK/LIN_

    RxD/RxD/POT

    MISO/EXT10

    EXT8/SCK/LIN_

    RxD/RxD/POT

    NRES/EXT9

    EXT7/MOSI/LIN_

    TxD/TxD

    EXT3

    EXT4

    EXT7/MOSI/LIN_

    TxD/TxD

    EXT2

    EXT4

    EXT6

    EXT8/SCK/LIN_

    RxD/RxD/POT

    VMOT_

    Half

    VMOT

    V_

    Shunt-

    V_

    Shunt+

    EXT1

    EXT2

    DAC_

    OUT

    L_

    BL_

    A

    HallC

    BEMF_

    C

    HallA

    BEMF_

    A

    HallB

    BEMF_

    B

    EXT1

    EXT5

    H_

    A

    H_

    B

    H_

    C

    V_

    Shunt+

    VMOT_

    Half

    L

    _A

    L

    _C

    L

    _B

    V

    _Shunt-

    O

    ver_Current

    Title

    Size

    Do

    cumentNumber

    Rev

    Date:

    Sheet

    o

    f

    1.6

    ATA

    VRMC1(MicroController)

    1

    4

    Title

    Size

    Do

    cumentNumber

    Rev

    Date:

    Sheet

    o

    f

    1.6

    ATA

    VRMC1(MicroController)

    1

    4

    Title

    Size

    Do

    cumentNumber

    Rev

    Date:

    Sheet

    o

    f

    1.6

    ATA

    VRMC1(MicroController)

    1

    4

    A4

    Drawn

    By:

    G

    ALLAIN

    11

    Apr

    il

    2005

    PD0/PSCOUT00/XCK/SS

    _A

    1

    PC0/INT3/PSCOUT10

    2

    PE0/RESET/OCD

    3

    PD1/PSCIN0/CLKO

    4

    PD2/PSCIN2/OC1A/MISO

    _A

    5

    PD3/TXD/DALI/OC0/SS/MISO

    _A

    6

    PC1/PSCIN1/OC1B

    7

    VCC

    8

    GND

    9

    PC2/T0/PSCOUT22

    10

    PC3/T1/PSCOUT23

    11

    PB0/MISO/PSCOUT20

    12

    PB1/MOSI/PSCOUT21

    13

    PE1/OCB0/XTAL1

    14

    PE2/ADC0/XTAL2

    15

    PD4/ADC1/RXD/DALI/ICP1A/SCK_A

    16

    PD5/ADC2/ACMP2

    17

    PD6/ADC3/ACMPM/INT0

    18

    PD7/ACMP0

    19

    PB2/ADC5/INT1

    20

    PC4/ADC8/AMP1M

    21

    PC5/ADC9/AMP1P

    22

    AVCC

    23

    AGND

    24

    AREF

    25

    PC6/ADC10/ACMP1

    26

    PB3/AMP0M

    27

    PB4/AMP0P

    28

    PC7/D2A

    29

    PB5/ADC6/INT2

    30

    PB6/ADC7/PSCOUT11/ICP1B

    31

    PB7/ADC4/PSCOUT01/SCK

    32

    U1

    AT90PWM3

    U1

    AT90PWM3

    R110

    R110

    MISO

    1

    VCC

    2

    SCK

    3

    MOSI

    4

    RST

    5

    GND

    6

    J2

    JTAGISP

    J2

    JTAGISP

    C1

    100nF

    C1

    100nF

    R45

    1K

    R45

    1K

    R46

    1K

    R46

    1K

    R471K

    R471K

    D1

    LED_

    Green

    D1

    LED_

    Green

    R48

    10

    R48

    10

    R24.7K

    R24.7K

    C4

    1uF

    C4

    1uF

    R3

    100K

    R3

    100K

    C2

    100nF

    C2

    100nF C

    3

    100nF

    C3

    100nF

    EXT1

    1

    EXT2

    2

    EXT3

    3

    EXT4

    4

    EXT5

    5

    EXT6

    6

    EXT7

    7

    GND

    9

    EXT8

    8

    VCC

    10

    J4

    CON2x5

    PORT_

    COM

    J4

    CON2x5

    PORT_

    COM

    1 2 3

    JP1

    Sel_Sensor_Sensorless_

    AJP1

    Sel_Sensor_Sensorless_

    A

    1 2 3

    JP3

    Sel_Sensor_Sensorless_

    CJP3

    Sel_Sensor_Sensorless_

    C

    1 2 3

    JP2

    Sel_Sensor_Sensorless_

    BJP2

    Sel_Sensor_Sensorless_

    B

    H_

    A

    1

    L_

    A

    2

    H_

    B

    3

    L_

    B

    4

    H_

    C

    5

    L_

    C

    6

    V+

    7

    Vmot

    9

    V-

    8

    OCur

    10

    J3

    STK500_

    CON

    J3

    STK500_

    CON

  • 7/28/2019 AVR492

    25/26

    25

    AVR 492 Application Note

    7518AAVR07/05

    Figure 24. Schematic page 4/4

    5 5

    4 4

    3 3

    2 2

    1 1

    D

    D

    C

    C

    B

    B

    A

    A

    V_

    Shunt-

    HS_

    C

    HS_

    B

    HS_

    A

    HallC

    HallB

    HallA

    PH_

    C

    PH_

    B

    PH_

    A

    V_

    Shunt+

    L_

    CH_

    B

    L_

    BH_

    A

    L_

    AH_

    C

    Over_Current

    VBU

    S_

    D

    VBUS_

    D

    VBUS_

    D

    VBUS_

    D

    VCC5V

    VCC5V

    VCC5V

    VBUS_

    D

    VIR2101

    VIR2101

    VIR2101

    VIR2101

    H_

    C

    L_

    CH_

    B

    L_

    BH_

    A

    L_

    A

    PH_

    C

    PH_

    B

    PH_

    A

    V_

    Shunt+

    V_

    Shunt-

    HallC

    HallB

    HallA

    PH_

    A

    PH_

    B

    PH_

    C

    Over_Current

    DAC_

    OUT

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    2

    4

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    2

    4

    Title

    Size

    DocumentNumber

    Rev

    Date:

    Sheet

    of

    1.6

    2

    4

    ATA

    VRMC1(POWERBRIDG

    E)

    A4

    DrawnB

    y:

    G

    ALLAIN

    11

    Apr

    il

    2005

    TP1

    PH_

    C

    TP1

    PH_

    C

    R12

    100

    R12

    100

    C17

    100nF

    C17

    100nF

    Q4SUD35N05-26L

    Q4SUD35N05-26L

    D2BAS21

    D2BAS21

    R13

    100

    R13

    100

    R21

    10K

    R21

    10K

    12345678

    J5

    BLDCCon

    J5

    BLDCCon

    R4

    10K

    R4

    10K

    R19

    22

    R19

    22

    C7 1

    00nF

    C7 1

    00nF

    D3BAS21

    D3BAS21

    C6

    100nF

    C6

    100nF

    C5

    100nF

    C5

    100nF

    TP3 HallBTP3 HallB

    R22

    10K

    R22

    10K

    C12

    100nF

    C12

    100nF

    C13

    1nF

    C13

    1nF

    TP7

    V_

    Shunt-

    TP7

    V_

    Shunt-

    R18

    R_

    Shunt

    R18

    R_

    Shunt

    R9

    10K

    R9

    10K

    D7

    SMBJ18(notmounted)

    D7

    SMBJ18(notmounted)

    TP6V_

    Shunt+

    TP6V_

    Shunt+

    TP9

    PH_

    A

    TP9

    PH_

    A

    R5 2

    2R5 2

    2

    R84.7K R84.7K

    R174.7K

    R174.7K

    Q1SUD35N05-26L

    Q1SUD35N05-26L

    Q5SUD35N05-26L

    Q5SUD35N05-26L

    TP14

    Cur_Dtc

    TP14

    Cur_DtcC111nF C111nF

    TP2 HallCTP2 HallC

    R74.7K R74.7K

    VCC

    1

    HIN

    2

    LIN

    3

    COM

    4

    LO

    5

    VS

    6

    HO

    7

    VB

    8

    U2

    IR2101S

    U2

    IR2101S

    VCC

    1

    HIN

    2

    LIN

    3

    COM

    4

    LO

    5

    VS

    6

    HO

    7

    VB

    8

    U4

    IR2101S

    U4

    IR2101S

    Q2SUD35N05-26L

    Q2SUD35N05-26L

    C101nF C101nF

    R2015K

    R2015K

    TP8

    Over_Cur

    TP8

    Over_Cur

    R16

    10K

    R16

    10K

    TP5

    PH_

    B

    TP5

    PH_

    B

    R64.7K R64.7K

    C14

    100nF

    C14

    100nF

    Q3SUD35N05-26L

    Q3SUD35N05-26L

    C91nF C91nF

    R23

    22

    R23

    22

    Q6SUD35N05-26L

    Q6SUD35N05-26L

    VCC

    1

    HIN

    2

    LIN

    3

    COM

    4

    LO

    5

    VS

    6

    HO

    7

    VB

    8

    U3

    IR2101S

    U3

    IR2101S

    C15

    100nF

    C15

    100nF

    R14

    10K

    R14

    10K

    C16

    10nF

    C16

    10nF

    43

    1

    5 2

    + -

    U5

    LMV7219M5

    + -

    U5

    LMV7219M5

    C8

    100nF

    C8

    100nF

    TP4HallA

    TP4HallA

    R10

    22

    R10

    22

    R24

    22

    R24

    22

    R49

    0R49

    0

    R11

    100

    R11

    100

    D4BAS21

    D4BAS21R

    15

    22

    R15

    22

  • 7/28/2019 AVR492

    26/26

    Printed on recycled paper.

    Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise,to anyintellectu-

    alproperty right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMELS TERMS AND CONDI-TIONS OF

    SALE LOCATED ON ATMELS WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORYWAR-

    RANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICU-

    LARPURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL

    OR INCIDEN-TAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMA-

    TION) ARISING OUTOF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAM-

    AGES.Atme l makes norepresenta tionsor warranties with respec t to the accuracy or comple teness of the contents of this document and reserves the right to make

    changes to specificationsand product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein.

    Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmels products are not intended,

    authorized, or warranted for useas components in applications intended to support or sustainlife.

    Atmel Corporation 2005 . All rights reserved.Atmel, logo and combinations thereof, are registered trademarks, and Everywhere You AreSM

    are the trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.

    Atmel Corporation Atmel Operations

    2325 Orchard ParkwaySan Jose, CA 95131, USA

    Tel: 1(408) 441-0311

    Fax: 1(408) 487-2600

    Regional Headquarters

    Europe

    Atmel Sar l

    Route des Arsenaux 41

    Case Postale 80

    CH-1705 Fribourg

    Switzerland

    Tel: (41) 26-426-5555Fax: (41) 26-426-5500

    Asia

    Room 1219

    Chinachem Golden Plaza

    77 Mody Road Tsimshatsui

    East Kowloon

    Hong Kong

    Tel: (852) 2721-9778

    Fax: (852) 2722-1369

    Japan

    9F, Tonetsu Shinkawa Bldg.

    1-24-8 Shinkawa

    Chuo-ku, Tokyo 104-0033

    Japan

    Tel: (81) 3-3523-3551

    Fax: (81) 3-3523-7581

    Memory2325 Orchard Parkway

    San Jose, CA 95131, USA

    Tel: 1(408) 441-0311

    Fax: 1(408) 436-4314

    Microcontrollers

    2325 Orchard Parkway

    San Jose, CA 95131, USA

    Tel: 1(408) 441-0311

    Fax: 1(408) 436-4314

    La Chantrerie

    BP 7060244306 Nantes Cedex 3, France

    Tel: (33) 2-40-18-18-18

    Fax: (33) 2-40-18-19-60

    ASIC/ASSP/Smart Cards

    Zone Industrielle

    13106 Rousset Cedex, France

    Tel: (33) 4-42-53-60-00

    Fax: (33) 4-42-53-60-01

    1150 East Cheyenne Mtn. Blvd.

    Colorado Springs, CO 80906, USA

    Tel: 1(719) 576-3300

    Fax: 1(719) 540-1759

    Scottish Enterprise Technology Park

    Maxwell Building

    East Kilbride G75 0QR, Scotland

    Tel: (44) 1355-803-000

    Fax: (44) 1355-242-743

    RF/AutomotiveTheresienstrasse 2

    Postfach 3535

    74025 Heilbronn, Germany

    Tel: (49) 71-31-67-0

    Fax: (49) 71-31-67-2340

    1150 East Cheyenne Mtn. Blvd.

    Colorado Springs, CO 80906, USA

    Tel: 1(719) 576-3300

    Fax: 1(719) 540-1759

    Biometrics/Imaging/Hi-Rel MPU/

    High Speed Converters/RF DatacomAvenue de Rochepleine

    BP 123

    38521 Saint-Egreve Cedex, France

    Tel: (33) 4-76-58-30-00

    Fax: (33) 4-76-58-34-80

    Literature Requests

    www.atmel.com/literature