Eduardo Leandro Delp Up Po

Embed Size (px)

Citation preview

  • 7/28/2019 Eduardo Leandro Delp Up Po

    1/56

    UNIVERSIDADE FEDERAL DO ESPRITO SANTOCENTRO TECNOLGICO

    DEPARTAMENTO DE ENGENHARIA ELTRICAPROJETO DE GRADUAO

    ACIONAMENTO MICROCONTROLADO DE UM MOTOR CC

    COM FRENAGEM REGENERATIVA

    EDUARDO LEANDRO DEL-PUPPO

    VITRIA ESAGOSTO/2007

  • 7/28/2019 Eduardo Leandro Delp Up Po

    2/56

    EDUARDO LEANDRO DEL-PUPPO

    ACIONAMENTO MICROCONTROLADO DE UM MOTOR CCCOM FRENAGEM REGENERATIVA

    Parte manuscrita do Projeto de Graduaodo aluno Eduardo Leandro Del-Puppo,apresentado ao Departamento de

    Engenharia Eltrica do CentroTecnolgico da Universidade Federal doEsprito Santo, para obteno do grau deEngenheiro Eletricista.

    VITRIA ESAGOSTO/2007

  • 7/28/2019 Eduardo Leandro Delp Up Po

    3/56

    EDUARDO LEANDRO DEL-PUPPO

    ACIONAMENTO MICROCONTROLADO DE UM MOTOR CCCOM FRENAGEM REGENERATIVA

    COMISSO EXAMINADORA:

    ___________________________________Prof. Dr. Gilberto Costa Drumond SouzaOrientador

    ___________________________________Prof. Dr. Paulo Faria Santos Amaral

    Co-orientador

    ___________________________________Prof. Dr. Jos Luiz de Freitas VieiraExaminador

    ___________________________________Eng. Alex Teixeira PradoExaminador

    Vitria - ES, 31 de agosto de 2007

  • 7/28/2019 Eduardo Leandro Delp Up Po

    4/56

    AGRADECIMENTOS

    Agradeo a todos que de alguma forma ajudaram e acreditaram na realizaodeste projeto, por mais complicado que tenho sido. Agradeo ao professor Gilberto

    pela orientao e aos professores Paulo Amaral, Jos Luiz, Arago e todos que de

    alguma forma contriburam com dicas e material didtico. Agradeo ao Engenheiro

    Pedro Federici Coelho pela grande ajuda no entendimento de microcontroladores.

    Agradeo tambm a todos na empresa onde trabalho que sempre incentivaram

    e me apoiaram em todos os momentos que eu precisava sair para fazer meu projeto.

    Enfim, agradeo a Deus por mais essa etapa vencida, e minha famlia pelo

    apoio em todos os momentos difceis.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    5/56

    LISTA DE FIGURAS

    Figura 2-1- Circuito do motor CC de excitao separada ......................................... 12

    Figura 2-2 - Caracterstica Velocidade x Torque ......................................................13Figura 3-1 (a) Chopper abaixador com carga RLE. (b) Circuitos equivalentes. .....15

    Figura 3-2 Formas de onda para conduo contnua de corrente.............................16

    Figura 3-3 Potncia mdia na carga normalizada em funo da razo cclica. .......18

    Figura 3-4 Chopper elevador circuito equivalente. .............................................18

    Figura 3-5 Formas de onda................................................................................... 19

    Figura 3-6 Chopper classe C - circuito bsico ....................................................... 21

    Figura 3-7 Chopper classe C formas de onda e conduo das chaves e diodos....22

    Figura 4-1 Circuito simplificado para controle do acionamento.............................26

    Figura 4-2 Diagrama de blocos ............................................................................. 28

    Figura 5-1 Algoritmo ............................................................................................33

    Figura 6-1 - Bancada com prottipo em funcionamento ...........................................34

    Figura 6-2 - Prottipo 1) Placa de fora 2) Placa de controle................................35

    Figura 6-3 - Operao em modo buck ciclo de trabalho em 50% (carga RL)......36

    Figura 6-4 - Operao em modo buck ciclo de trabalho em 100% (RL).............37

    Figura 6-5 - Operao em modo buck ciclo de trabalho em 50% (carga motor) .38

    Figura 6-6 - Operao em modo buck ciclo de trabalho em 100% (carga motor)38

    Figura 6-7 - Operao em modo boost frenagem ...............................................39

  • 7/28/2019 Eduardo Leandro Delp Up Po

    6/56

    SIMBOLOGIA

    = fluxo por plo, Webers

    =aI corrente de armadura, A=V tenso de armadura, V

    =aR resitncia do enrolamento de armadura,

    =m

    velocidade da armadura, rad/seg

    =eT torque desenvolvido pelo motor, N.m

    =eK constante construtiva do motor

    SV = tenso de alimentao

    OV = tenso mdia na carga

    I = corrente na carga

    CHT = perodo de chaveamento

    CH= chave

    ontdTt ==1 = intervalo de tempo com CH fechada

    2t = intervalo de tempo com CH aberta

    OI = corrente mdia na armadurad= razo cclica

  • 7/28/2019 Eduardo Leandro Delp Up Po

    7/56

    GLOSSRIO

    CC Corrente contnua, DC:Direct Current.

    Chopper CC conversor de corrente contnuaChopper elevador conversor de corrente contnua que produz na sada uma

    tenso que maior que a tenso de alimentao, baseado na carga e desgarga de um

    indutor.

    Chopper abaixador conversor de corrente contnua que produz uma tenso na

    sada que varia de 0 a 100% da tenso de entrada atravs de uma chave comandada.

    Conversor buck - Chopper abaixador

    Conversor boost - Chopper elevador

  • 7/28/2019 Eduardo Leandro Delp Up Po

    8/56

    RESUMO

    O objetivo deste trabalho foi projetar e construir um prottipo de um

    conversor CC-CC microcontrolado, capaz de produzir na sada uma tenso varivel de

    0 a 100% da tenso de entrada, produzindo ao motora direta, e que seja capaz derealizar frenagem regenerativa direta, ou seja, operao em dois quadrantes. O

    conversor utiliza um microcontrolador para receber os sinais de referncia e de

    controle, para ento controlar a tenso na sada do conversor que resulte na corrente de

    armadura desejada. O circuito utiliza semicondutores do tipo MOSFET, e a estrutura

    de controle empregou, para permitir desenvolvimento e testes com segurana, uma

    malha externa de velocidade, com malha interna de corrente. Numa aplicao real de

    um veculo eltrico, usual que o controle seja de torque, o que corresponderia a

    malha de corrente, e neste caso, quem fecha a malha de velocidade o usurio.

    O processamento de informaes foi feito por um microcontrolador da

    Microchip, e o software foi desenvolvido em linguagem C utilizando o compilador

    PIC C compiler para transformar o programa em arquivo .hex compatvel com o

    microcontrolador.

    Com o projeto concludo, obteve-se o controle de torque, e consequentemente

    a velocidade de um motor CC, e realizao de frenagem regenerativa com o mximo

    possvel de recuperao de energia.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    9/56

    SUMRIO

    1. INTRODUO...........................................................................................11 2. O MOTOR CC............................................................................................12

    2.1. Equaes de velocidade e torque.........................................................12

    2.2. Mtodos de Controle de Velocidade....................................................13

    3. CONTROLE POR TENSO DE ARMADURA CHOPPERS..........14

    3.1. Chopper Abaixador (Buck) com carga RLE - Princpio de Operao ..14

    3.1.1. Normalizao: ..................................................................................17

    3.2. Chopper elevador (Boost) Princpio de Operao .............................18

    3.3. Chopper abaixador/elevador Operao em dois quadrantes .............. 20

    4. O ACIONAMENTO PROPOSTO.............................................................25

    4.1. O circuito simplificado........................................................................25

    4.1.1. Drive de tenso:................................................................................27

    4.1.2. Filtros passa-baixa (FPB):.................................................................27

    4.1.3. Amplificador: ...................................................................................27

    4.1.4. Somador: ..........................................................................................27

    4.1.5. Gate-drive IR2104:........................................................................27

    4.2. O sistema de controle ..........................................................................28

    4.3. Operao do conversor........................................................................29

    4.3.1 Acelerando Operao Buck............................................................29

    4.3.2 Velocidade de cruzeiro - Cruise control ............................................29

    4.3.3 Desacelerando Operao Boost (frenagem)....................................29

    5. O SOFTWARE DE CONTROLE..........................................................31

    6. O PROTTIPO ..........................................................................................34

    6.1. Formas de onda...................................................................................35

    6.1.1 Modo Buck com carga RL ................................................................35

    6.1.2 Modo Buck com motor operando a vazio..........................................37

    6.1.3 Modo Boost (frenagem)....................................................................39

    7. CONCLUSO.............................................................................................40

  • 7/28/2019 Eduardo Leandro Delp Up Po

    10/56

    ANEXO A...............................................................................................................41

    ANEXO B...............................................................................................................53

    ANEXO C...............................................................................................................54

    REFERNCIAS BIBLIOGRFICAS..................................................................56

  • 7/28/2019 Eduardo Leandro Delp Up Po

    11/56

    1. INTRODUOO motor de corrente contnua muito usado em aplicaes onde ocorrem

    freqentes partidas e paradas, e que requerem um bom controle de velocidade. Por

    esses motivos e pela possibilidade de variar o torque de 0 a 100% do torque nominal

    em quaisquer faixas de velocidade, o motor CC muito utilizado em trao eltrica,

    em aplicaes tais como: locomotivas, carros eltricos, bondes, bicicletas eltricas,

    walk machines e outros.

    Neste projeto foi desenvolvido um prottipo de um conversor CC-CC que

    opera em dois quadrantes: ao motora direta e frenagem direta. O projeto utiliza uma

    configurao clssica desse tipo de conversor (buck-boost), e um sistema de controle

    baseado na operao simultnea das duas chaves tipo MOSFETS, possibilitando uma

    transio suave entre a ao motora e a frenagem.

    Inicialmente foi feito um apanhado geral sobre o motor CC de excitao

    separada com fluxo de campo constante, pois o caso que se assemelha a um motor

    CC de m permanente muito utilizado em veculos eltricos de baixa potncia. Em

    seguida foi mostrado as formas de controle do motor CC por variao da tenso,

    mostrando a operao dos dois tipos bsicos de conversores, buck-abaixador e

    boost-elevador, e do terceiro tipo (buck-boost) que incorpora os dois tipos citados.O buck-boost compe o conversor proposto no captulo3.

    No captulo 4 apresentado o software de controle, que utiliza um PIC16F876

    como processador de informaes. O software foi desenvolvido utilizando o conceito

    de aritmtica fracionria e controle por ponto fixo.

    No ltimo captulo so mostrados os resultados obtidos e as formas de onda. O

    conversor dever ser capaz de controlar o torque e por conseqncia a velocidade

    desenvolvida pelo motor, e dever fazer frenagem regenerativa e dissipar a potncia dafrenagem em um resistor atravs do chaveamento de um MOSFET, pois no h

    disponibilidade de uma fonte receptora para utilizar nos testes. Os testes foram feitos

    com uma carga RL e com um motor de 220 Vcc /0,9A/1800rpm.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    12/56

    2. O MOTOR CC2.1. Equaes de velocidade e torque

    Tomou-se como base um motor CC de excitao separada (fig.2.1), mas com

    o fluxo de campo mantido constante para simular um motor CC de m permanente,

    muito usado em bicicletas eltricas e walk machines. A seguir sero apresentadas as

    equaes do motor CC sob esta condio de operao.

    A fig. 2.1 mostra o circuito do motor CC de excitao separada.

    EV

    IaR La a I

    V

    f

    f

    Figura 2-1- Circuito do motor CC de excitao separada

    As equaes bsicas so:

    meKE = (2.1)

    aaIREV += (2.2)

    aeeIKT = (2.3)

    Para o motor de excitao separada considerando-se fluxo constante, tem-se:

    KKe = (constante) (2.4)

    Das equaes (2.1), (2.3) e (2.4), resulta:

    mKE = (2.5)

    ae KIT = (2.6)

    Usando as equaes (2.2), (2.5) e (2.6), obtm-se:

    a

    a

    mI

    K

    R

    K

    V= (2.7)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    13/56

    13

    e

    a

    m TK

    R

    K

    V2

    = (2.8)

    De acordo com (2.8) pode-se observar que a caracterstica Velocidade x Torque

    do motor CC com excitao separada uma linha reta, como mostrado na fig. 2.2. Na

    equao (2.6), pode-se observar que o torque varia linearmente com a corrente,

    portanto a caracterstica Velocidade x Corrente equivalente caracterstica

    Velocidade x Torque. Pode-se ento ter ampla variao de torque numa pequena faixa

    de velocidade.

    ex TmW Motor CC de excitaseparada1

    0.5

    0 0.5 1

    Torque, p.u.

    Velocidade,p.u.

    Figura 2-2 - Caracterstica Velocidade x Torque

    2.2. Mtodos de Controle de VelocidadeA relao de Velocidade x Torque para fluxo constante, equao (2.8) mostra

    que a velocidade pode ser controlada de duas formas:

    - Controle por tenso de armadura.

    - Controle por resistncia de armadura.

    O controle por resistncia de armadura apesar de ser simples e barato, no

    muito utilizado, pois dissipa muita potncia e, portanto, tem baixa eficincia. O

    controle por tenso de armadura o mais utilizado, j que a dissipao de potncia

    mnima e existem diversas tcnicas de controle.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    14/56

    14

    3. CONTROLE POR TENSO DE ARMADURA CHOPPERSPara a aplicao pretendida, onde a fonte de potncia uma bateria, faz-se

    necessrio o uso de um conversor CC-CC, denominado chopper. Um chopper pode

    ser considerado um equivalente do transformador em corrente contnua, porm com

    uma variao contnua da tenso de sada. Assim como o transformador, um chopper

    usado para abaixar ou aumentar a tenso.

    Os choppers, muito usados em controle de motores CC, possibilitam um

    controle de acelerao suave, tm alta eficincia, rpida resposta dinmica, so leves e

    de tamanho reduzido, e possibilitam realizar a frenagem regenerativa mesmo em

    baixas velocidades. So muito usados em frenagem regenerativa de motores CC,

    devolvendo energia para a fonte nas freqentes paradas, e nas aceleraes foradas por

    agentes externos. Tambm so usados em reguladores de tenso CC (fontes

    chaveadas).

    Para o controle de motores CC em malha aberta e em malha fechada, o

    chopper oferece uma grande vantagem em relao aos retificadores controlados: a alta

    freqncia de chaveamento da tenso de sada faz com que o ripple na corrente de

    armadura seja pequeno, e a regio de conduo descontnua no grfico Velocidade x

    Torque (proporcional tenso x corrente) tambm seja muito pequena.

    3.1. Chopper Abaixador (Buck) com carga RLE - Princpio de OperaoO chopper abaixador, tambm conhecido como chopper classe A, produz

    uma tenso na sada que varia de 0 a 100% da tenso de entrada e muito usado em

    fontes reguladas de potncia e principalmente no controle de velocidade de motores

    CC. O circuito do conversor buck mostrado na fig. 3.1. Quando a chave CH est

    fechada (intervalo de tempo t1) a tenso Vs alimenta a carga, e a corrente I1 cresce.Quando a chave CH est aberta (intervalo de tempo t2) a tenso na carga igual a zero,

    e a corrente (I2) de descarga do indutor flui pelo diodo de roda-livre. A figura 3.2

    mostra as formas de onda para conduo contnua. Imn e Imx so determinadas em

    funo do mximo ripple de corrente desejado.

    A Tenso mdia na sada dada por:

  • 7/28/2019 Eduardo Leandro Delp Up Po

    15/56

    15

    =11 t

    OOO dtv

    TV =

    SVT

    t1 =S

    kV (3.1)

    Mas tambm pode ser escrita da seguinte forma:

    OO

    IREV .+= (j que a tenso mdia no indutor zero) (3.2)

    Corrente mdia:

    k

    II S

    O = (3.3)

    (a) Chopper abaixador com carga RLE

    R

    --

    ++CH

    I

    V

    L

    E

    E

    L

    +

    -

    I 1

    R

    (b) Circuitos equivalentes

    R

    2I

    L

    E

    D

    D

    Modo 1 Modo 2

    +

    -

    -++

    -

    VS

    SV

    I

    O

    S

    Figura 3-1 (a) Chopper abaixador com carga RLE. (b) Circuitos equivalentes.

    Mximo ripple de corrente:

    mnmxIII = (3.4)

    fL

    V

    I

    S

    mx 4=

    (3.5)

    Razo cclica:

    S

    O

    V

    V

    T

    tk == 1 (3.6)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    16/56

    16

    0 t

    I

    t0 kT T

    kT T

    TkT

    0

    0 t

    t

    VO

    SV

    t1 2t

    IS = 1I

    mxIImn

    I 2

    mnIImx

    mxIImnOI

    T

    Figura 3-2 Formas de onda para conduo contnua de corrente.

    A razo cclica k, pode variar de 0 a 1 variando-se t1 ou T. Consequentemente, a

    tenso de sada Vo pode variar de 0 a VS atravs da variao de k, controlando o fluxo

    de potncia.

    Existem duas formas de variao da razo cclica k: operao com freqnciaconstante e operao comfreqncia varivel.

    Freqncia constante a freqncia f (ou perodo T ) de operao do chopper

    mantida constante, e o tempo de chave fechada (t1) variado. A largura de pulso

    variada e esse tipo de controle chamado Pulse-Width-Modulation (PWM).

  • 7/28/2019 Eduardo Leandro Delp Up Po

    17/56

    17

    Freqncia varivel a freqncia f de operao do chopper variada, e

    ambos os tempos t1 e t2 so mantidos constantes. chamada modulao por

    freqncia. Esse tipo de controle gera muitas harmnicas e a implementao de filtros

    dificultada.Neste projeto ser utilizado o mtodo de modulao por largura de pulso-PWM.

    3.1.1. Normalizao:

    Dividindo a equao 3.2 por Vs:

    S

    o

    SS

    o

    V

    IR

    V

    E

    V

    V .+= (3.7)

    Onde:

    kV

    V

    S

    o= ; a

    V

    E

    S

    = ; NS I

    R

    V= ; NI corrente mdia de normalizao (3.8)

    Da:

    akI

    I

    N

    o= (3.9)

    Da equao de potncia (P=VI) e das equaes 3.8 e 3.9, a potncia mdia

    normalizada pode ser escrita da seguinte forma:

    )(.

    .

    .akk

    IV

    IV

    IV

    P

    NS

    oo

    NS

    o== (3.10)

    Com base na anlise das equaes 3.7 a 3.10, conclui-se que:

    1a para funcionamento correto do circuito. (3.11) ak Para que se tenha corrente mdia no circuito. (3.12)

    Portanto:

    1 ka (3.13)E a potncia mdia na carga satisfaz a seguinte equao, que representada

    graficamente na figura 3.3:

    )1(.

    0 aIV

    P

    NS

    o (3.14)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    18/56

    18

    a

    1,0

    (1-a)

    1,0a

    k

    Po/Vs.In

    Figura 3-3 Potncia mdia na carga normalizada em funo da razo cclica.

    3.2. Chopper elevador (Boost) Princpio de OperaoO Chopper elevador da figura 3.4, tambm conhecido como chopper classe B

    ou boost, produz na sada uma tenso que maior que a tenso de alimentao,

    baseado na carga e descarga do indutor L atravs do chaveamento da chave CH. As

    formas de onda so mostradas na figura 3.5.

    DI

    ICH

    _

    +

    aV

    b

    aL

    Carga

    I

    -

    +

    CH

    Io

    VS

    S D1

    C1

    Figura 3-4 Chopper elevador circuito equivalente.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    19/56

    19

    T

    TkT

    oV

    SV

    CH

    0 t

    V

    I

    t0

    D

    I1

    I2

    kT T

    T

    T

    TkT

    2I

    1I

    CH

    I1

    I2

    S

    kT T0

    0

    t

    t

    T

    I

    IS

    I

    t1 t2

    1t t2

    1t t2

    1t t2

    Figura 3-5 Formas de onda.

    Durante o intervalo de tempo t1, a chave CH est fechada e ICH = IS a corrente

    de magnetizao do indutor. Durante o intervalo de tempo t2, a chave CH est aberta e

    IS=ID a corrente que flui pelo circuito formado pelo capacitor e pela carga. Devido s

    caractersticas da indutncia, a tenso se eleva rapidamente no momento que a chave

    CH abre, e a corrente decai de acordo com uma exponencial. No instante que a chave

    CH estiver abrindo, a corrente da fonte IS e a corrente da carga no so iguais. Na

  • 7/28/2019 Eduardo Leandro Delp Up Po

    20/56

    20

    ausncia do capacitor C1, o turn-off da chave CH forar as duas correntes terem o

    mesmo valor, ou seja, durante o turn-off o capacitor drena essa diferena de corrente.

    O capacitor C1 tambm serve para reduzir o ripple de tenso na carga. O diodo D1

    previne contra correntes reversas que possam vir da carga para a fonte ou para a chaveCH.

    Para entender melhor a ao step-up (elevador), o capacitor C1 assume um valor

    suficientemente grande para manter constante a tenso Va na carga.

    A tenso mdia na carga ser dada por:

    )1( k

    VV Sa

    = (3.15)

    De acordo com a equao 3.15, teoricamente a tenso de sada Va pode ser

    escolhida de VS at , variando k de 0 a 1. Na prtica Va pode ser controlado de VS

    at uma tenso muito superior a VS, e este limite mximo para a tenso V a vai

    depender do capacitor C1, das caractersticas da carga e do prprio chopper (chaves,

    diodos, etc.).

    A ondulao de corrente dada por:

    L

    kTV

    L

    tVI SS

    ... 1== (3.16)

    Uma das grandes vantagens do chopper elevador o baixo ripple na corrente dafonte. muito utilizado nos carregadores de baterias de veculos eltricos, no

    acionamento de motores de corrente contnua de tenso maior que a da fonte

    disponvel, e em freios regenerativos de veculos eltricos como carros de golfe,

    trolleys, bicicletas eltricas e outros.

    3.3. Chopper abaixador/elevador Operao em dois quadrantes

    Tambm conhecido como chopper classe C, o chopper abaixador/elevador

    muito utilizado no controle de servo motores e nas situaes que requerem uma

    transio suave entre a ao motora e a frenagem, e vice-versa. Uma estrutura muito

    utilizada a mostrada na figura 3.6. A chave CH1 e o diodo D2 constituem um

    chopper abaixador (chopper classe A) que opera durante a ao motora direta. A

  • 7/28/2019 Eduardo Leandro Delp Up Po

    21/56

    21

    chave CH2 e o diodo D1 constituem um chopper elevador (chopper classe B) que

    opera durante a frenagem regenerativa direta. Portanto o chopper classe C opera em

    dois quadrantes: ao motora direta (+V e +I) e frenagem regenerativa direta (+V e -I).

    Ambos os choppers so controlados simultaneamente, de forma que o fluxo depotncia pode ser invertido suavemente. Para isso as chaves CH1 e CH2 so fechadas

    alternadamente. As principais formas de onda so mostradas na figura 3.7, onde

    tambm so mostrados os intervalos de conduo de cada chave e de cada diodo.

    Durante o perodo T de chaveamento, CH1 est fechada no intervalo de tempo

    que vai de zero a kT, e a chave CH2 est fechada no intervalo de tempo que vai de kT

    a T. Para que no ocorra curto-circuito, as chaves CH1 e CH2 nunca podero estar

    fechadas no mesmo instante, por esse motivo introduzido um atraso (delay) entre o

    turn-off da chave CH1 e o turn-on da chave CH2, e vice-versa.

    +

    -

    Figura 3-6 Chopper classe C - circuito bsico

    Na figura 3.7, foi desconsiderado o intervalo de tempo entre o turn-off de

    uma chave o turn-on da chave complementar, visto que muito pequeno para ser

    representado nesta figura. Os sinais de controle das chaves CH1 e CH2 so

    respectivamente Vc1 e Vc2 , e assumido que as chaves conduzem somente quando o

    sinal de controle est em nvel alto. Esta figura mostra as formas de onda para

    operao motora (corrente positiva), e frenagem (corrente negativa) senda esta ltima

  • 7/28/2019 Eduardo Leandro Delp Up Po

    22/56

    22

    causada por um aumento de velocidade do motor, por exemplo, durante um declive, o

    que resulta numa diminuio da razo cclica.

    V

    t1

    T

    t0 TkT

    t2

    c1

    c2

    kT T0 t

    V

    I

    t0kT

    a

    o

    t

    V

    CH1Conduo dos diodose das chaves

    VSE EVS

    D2 CH1 D2 D2 D1

    t3

    T T T

    Figura 3-7 Chopper classe C formas de onda e conduo das chaves e diodos

    Com relao ao chopper classe C, para este modo de controle PWM, pode-se

    destacar quatro pontos:

    1) Neste circuito a conduo descontnua no acontece, independentementeda freqncia de operao. A circulao da corrente de roda-livre se d no

    momento que CH1 est desligada e o diodo D2 est conduzindo, e isto

    esperado no intervalo de tempo TtkT , que tambm o intervalo de

    tempo que a chave CH2 recebe o sinal de controle. Se a corrente Ia chegar

  • 7/28/2019 Eduardo Leandro Delp Up Po

    23/56

    23

    a zero no intervalo de roda livre, a fora contra-eletromotriz ir

    imediatamente fazer com que a corrente flua na direo reversa passando

    pela chave CH2. Similarmente, quando CH2 est desligada e D1

    conduzindo e a corrente chegar a zero, CH1 conduzir imediatamenteporque Vc1 est em nvel alto e VS > E.

    2) Desde que no exista conduo descontinua, a corrente estar fluindo todoo tempo. Assim, durante o intervalo de tempo t1, a armadura estar

    conectada fonte atravs de CH1 ou D1, consequentemente, a tenso

    aplicada nos terminais do motor ser igual a Vs e a taxa de variao de Ia

    ser positiva porque VS > E. Similarmente, durante o intervalo de tempo

    t3, a armadura do motor estar conectada a CH2 ou D2, consequentemente,

    a tenso aplicada nos terminais do motor ser zero e a taxa de variao de

    Ia ser negativa. Isso explica a natureza das formas de onda de VO e Ia.

    3) Durante o intervalo de tempo t1, a corrente Ia que positiva flui por CH1,equando D1 est em conduo a corrente negativa. A corrente na fonte

    flui somente nesses intervalos de tempo e igual a Ia. Durante o intervalo

    de tempo t3, a parte da corrente Ia que positiva flui por D2 e a parte que

    negativa flui por CH2.

    4) A partir das formas de onda da figura 3.7:So kVV = (3.21)

    E da equao bsicaaa

    IRE+=oV , pode-se obter:

    a

    S

    aR

    EkVI

    = (3.22)

    A equao 3.22 pode ser expressa da seguinte forma:

    SS

    aa

    V

    Ek

    V

    RI=

    S

    a

    V

    ERaIk

    +=

    )((3.23)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    24/56

    24

    A equao 3.22 mostra que a operao motora direta ocorre quando

    kV

    E

    S

    < , e que a frenagem regenerativa ocorre quando kV

    E

    S

    > . A operao

    a vazio acontece quandoSV

    Ek = .

    O mximo ripple de corrente pode ser dado pela equao 3.5, e no depende

    da velocidade do motor. Uma mudana na velocidade para um dado valor de k,

    somente muda o valor da corrente e no muda o ripple.

    Supondo que o conversor esteja operando a vazio, ento Ia mdio ser zero e

    sua forma de onda ser simtrica ao eixo do tempo. Um decrscimo na velocidade

    causar um acrscimo na corrente e a forma de onda de Ia se deslocar para cima.

    Quando Ia for maior que o mximo ripple, Ia ser sempre positiva e somente D2 ou

    CH1 estaro conduzindo. Embora CH2 esteja recendo sinal de controle em nvel alto,

    CH2 no conduzir devido polarizao reversa aplicada pelo diodo D2 em conduo.

    Desde que o ripple seja at 5% da corrente nominal, CH2 e D1 tero que conduzir

    somente quando o motor estiver operando em carga baixa.

    Similarmente, um incremento na velocidade poder produzir uma corrente Ia

    negativa e a forma de onda da corrente se deslocar para baixo. Enquanto a corrente

    for negativa, esta estar fluindo por CH2 e D1, e ento, CH1 e D2 no tem nenhumachance de conduzir (aps o intervalo de tempo t3 fig.3.7).

    A discusso precedente mostra que durante a ao motora direta a corrente flui

    por CH1 ou por D2, e durante a frenagem regenerativa a corrente flui por CH2 ou D1.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    25/56

    25

    4. O ACIONAMENTO PROPOSTOO acionamento CC-CC proposto uma implementao do chopper

    abaixador/elevador ou chopper classe C, sendo as chaves do tipo MOSFETs, e o

    controle destas, feito pelo microcontrolador PIC16F876 da microchip. O

    microcontrolador recebe o sinal de referncia de velocidade e os sinais dos sensores de

    corrente e de tenso, previamente filtrados por filtros passa - baixa, para ento, usando

    um controlador PI digital, comandar o chaveamento dos MOSFETs via sadas PWM

    do PIC, fechando assim as malhas do circuito.

    4.1. O circuito simplificadoNa figura 4.1 mostrado o circuito simplificado do acionamento proposto. O

    capacitor C1 alisa a tenso da fonte. Os resistores R1 e R2 formam um divisor de

    tenso para monitorao da tenso no capacitor C1, de forma que a energia a ser

    transferida do motor para a fonte, durante a frenagem, possa ser dissipada pelo resistor

    Rd atravs do comando da chave CH3. Esta monitorao da tenso no capacitor e

    dissipao de potncia pelo resistor R6 se d pelo fato da no disponibilidade de uma

    fonte receptora para testes do conversor. No momento que a tenso comear a subir

    alm da tenso na fonte, o divisor de tenso formado por R1 e R2 manda um sinalanalgico que equivale a uma tenso ligeiramente acima da tenso da fonte e desta

    forma o microcontrolador comanda o fechamento da chave CH3 via sada digital a ser

    amplificada pelo drive de tenso.

    Os MOSFETs CH1 e CH2 possuem diodos intrnsecos D1 e D2, e constituem o

    conversor abaixador/elevador (chopper classe C) mostrado na figura 3.6 e descrito no

    item 3.3.

    Os resistores R3 e R4 formam um divisor de tenso para leitura da tenso nosterminais do motor (sensor de velocidade), que proporciona uma boa estimativa da

    velocidade como mostrado na equao 2.5.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    26/56

    26

    10

    tensoDrive de

    5

    D2

    D1

    +

    -

    PWM1

    CLK

    9

    21 13

    8,1920

    +5V

    PIC16F876

    C1

    -

    + MCC

    Vs

    Vo

    +

    -

    -

    R6

    +

    CH1

    CH2D3CH3

    Gate driveIR2104

    FPB1

    FPB2

    AMPLIFICADOR

    SOMADOR0-5V

    0-5V0-5V

    2

    4

    FPB3

    +5V

    3FPB4R7velocidade

    Referncia de

    POT1

    C2

    R8

    Figura 4-1 Circuito simplificado para controle do acionamento.

    O resistor R5 um resistor shunt de 0,05 Ohms e 3W, que constitui o sensor

    de corrente. Ele produz uma queda de tenso proporcional corrente, que devidamente

    amplificada e filtrada, proporcionar uma boa preciso quanto leitura da corrente.

    O capacitor C2 filtra as altas freqncias que podem influenciar no

    funcionamento dos MOSFETS CH1 e CH2.

    O resistor R8 utilizado para fins de teste do conversor durante o

    desenvolvimento do prottipo, limitando a corrente que pode fluir pelos MOSFETSprotegendo o circuito contra altas correntes de falta. No entanto para uma boa

    proteo, se faz necessrio o uso de um circuito que detecte o curto-circuito e desligue

    a fonte num intervalo de tempo suficientemente pequeno, para que no ocorra a

    queima de algum componente. Essa proteo no foi implementada neste projeto.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    27/56

    27

    4.1.1. Drive de tenso:O drive de tenso constitudo por um transistor BC548 pnp, funcionando

    em corte ou em saturao. Quando em corte o transistor aplica 15V de uma fonte

    externa, no gate do MOSFET CH3 e este entra em saturao. Quando em saturao, otransistor aplica 0V e o MOSFET entra em corte. Desta forma, ser necessria uma

    lgica invertida para comandar o MOSFET CH3. D3 o diodo intrnseco do MOSFET

    CH3.

    4.1.2. Filtros passa-baixa (FPB):Os filtros passa-baixa utilizados tm freqncia de corte de 1,2kHz, e so

    necessrios para filtrar as altas freqncias da tenso e da corrente, de forma que o

    microcontrolador leia apenas a componente CC.

    4.1.3. Amplificador: usado para amplificar o sinal de corrente (na forma de tenso) para um

    patamar compatvel com o microcontrolador, j que o sinal lido nos terminais do

    resistor R5 varia de zero a aproximadamente 130mV e amplificado este varia de -2,5 a

    +2,5V.

    4.1.4. Somador:Utilizado para somar cerca de 2,5V ao sinal de corrente, j que este pode ter

    valores negativos, e o microcontrolador no recebe sinais negativos. O sinal de

    corrente que pode variar -2,5 a +2,5V, passa a variar de 0 a 5V, que agora

    compatvel com o microcontrolador e passa a ser tratado em software, em que 2,5V

    significa que a corrente igual a zero.

    4.1.5. Gate-drive IR2104:O gate-drive utilizado para acionamento dos MOSFETS o IR2104 da

    International Rectifier, que comanda os dois MOSFETS de uma s vez,

    permitindo nesse caso especfico, gerar o segundo sinal PWM que vai comandar o

  • 7/28/2019 Eduardo Leandro Delp Up Po

    28/56

    28

    MOSFET CH2 a partir do PWM1 e de uma entrada shutdown que estar sempre

    em nvel alto. Isso se deve ao fato que o segundo PWM simplesmente o

    complementar do primeiro com um tempo morto introduzido entre a descida de um e a

    subida do outro. O tempo morto introduzido pelo gate drive IR2104 e tem umvalor fixo tpico de 520ns.

    4.2. O sistema de controleO sistema de controle ser composto de uma malha interna de corrente e uma

    malha externa de velocidade, como mostra a figura 4.2.

    m

    H (s)

    aVV*aeIaaI*e I*a

    afImf

    mMOTORK

    Vmx

    Vmin

    Kp+

    -Imin

    Imx

    -

    +Kp+K /s

    *1 2

    1

    cim

    Ke

    +

    c

    2H (s)

    Ia

    mf

    E

    Figura 4-2 Diagrama de blocos

    *m a referncia de velocidade e mf a velocidade medida na forma de

    tenso nos terminais do motor, filtrada por um filtro passa-baixa ativo de segunda

    ordem H2(s). O erro de velocidade em passa por um controlador PI e produz a

    corrente de referncia I*a , que devidamente limitada por software. Iaf a corrente

    medida em forma de tenso na sada do motor atravs de um resistor shunt de alta

    preciso, e filtrada por um filtro passa-baixa ativo de segunda ordem H1(s). Kp2 forma

    um controlador proporcional, que a partir do erro de corrente e Ia somado tenso de

    armadura calculada, produz a tenso de referncia, que devidamente limitada via

    software e com a qual calculada a razo cclica de operao do conversor. K c o

    ganho do conversor.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    29/56

    29

    4.3. Operao do conversorA principal aplicao do conversor proposto o acionamento de veculos

    eltricos, portanto, sero apresentadas a seguir as vrias situaes de operao do

    conversor de acordo com a figura 4.2 e com as situaes possveis para veculosmotorizados.

    4.3.1 Acelerando Operao Buck

    mm >* e 0aI

    Neste caso, o erro de velocidademe ser positivo e a corrente de referncia

    *aI

    ser positiva, indicando assim operao motora direta. O erro de correnteIa

    e tambm

    ser positivo e multiplicado por uma constante determinar a tenso de referncia a

    partir da qual calculada a razo cclica.

    4.3.2 Velocidade de cruzeiro - Cruise control

    mm =* e 0>aI

    Nesta situao o erro de velocidadem

    e

    zero e o conversor opera com razo

    cclica constante.

    4.3.3 Desacelerando Operao Boost (frenagem)

    mm

  • 7/28/2019 Eduardo Leandro Delp Up Po

    30/56

    30

    porm essa situao fisicamente distinta daquela descrita anteriormente. Neste caso

    no a referncia que trazida para um patamar inferior velocidade do motor, mas

    sim a velocidade do motor que aumenta, aumentando a fora contra-eletromotriz e

    invertendo o fluxo de potncia.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    31/56

    31

    5. O SOFTWARE DE CONTROLEO software foi implementado em linguagem de programao C, utilizando o

    compilador PCW C compiler IDE verso 3.32, prprio para programao de

    microcontroladores das famlias 16F e 18C da microchip. Para a descarga do

    programa .hex no microcontrolador foi utilizado o software MPLAB IDE verso 7.5

    e o programador PIC START Plus. A figura 4.1 mostra o algoritmo do software

    implementado.

    Inicializao Parte do software que inicializa o PIC configurando as sadas

    PWM, as entradas analgicas, sada digital e o timer de interrupo, alm de zerar

    todas as variveis e fazer uma pr-leitura das portas analgicas. A pr-leitura analgica

    necessria na inicializao, pois ao inicializar o programa propriamente dito feito

    uma mdia dos valores analgicos lidos anteriormente com os atuais, desta forma, se

    no fosse feita essa pr-leitura, o primeiro valor seria irreal e esse erro se propagaria

    medida que fossem feitas novas leituras.

    Background Loop Janela de tempo do software. Neste estgio o PIC

    fica esperando por um timer de interrupo interna para que todo o software seja

    executado. Depois que o software executado, o PIC espera at a prxima interrupo

    para execut-lo novamente. O timer de interrupo gerado internamente no PIC enesse caso foi configurado para 1ms, e define tambm o tempo de amostragem dos

    sinais, j que os sinais sero lidos uma vez a cada execuo do software. Por uma

    questo de simplicidade, optou-se por utilizar um nico tempo de amostragem de 1 ms

    para ambas as malhas corrente e velocidade. A separao dinmica foi obtida com a

    seleo adequada dos ganhos dos controladores.

    (1) Leitura das variveis analgicas.

    (2)

    Clculo da mdia. A mdia feita com os valores atuais e os valores daexecuo anterior do software, exceto na primeira execuo, como j descrito na

    inicializao.

    (3) Clculo da tenso de armadura. Neste estgio calculada a tenso de

    armadura utilizando o valor da corrente de armadura lida e devidamente tratada em

    software, o valor da tenso nos terminais do motor e o valor de software da resistncia

  • 7/28/2019 Eduardo Leandro Delp Up Po

    32/56

    32

    da armadura. Para realizao dos clculos foi utilizado o conceito de aritmtica

    fracionria.

    (4) Clculo da velocidade do motor. Neste estgio, o clculo da velocidade

    feito multiplicando-se o valor da tenso calculado anteriormente pelo inverso daconstante eltrica do motor. Para realizao dos clculos foi utilizado o conceito de

    aritmtica fracionria.

    (5) Clculo do erro de velocidade. a diferena entre a velocidade de

    referncia (valor lido) e a velocidade calculada em (4).

    (6) Controlador PI. Faz o controle proporcional e integral da corrente a

    partir do erro de velocidade, ou seja, um controle de corrente (torque) comandado

    por tenso (velocidade). composto por duas partes: controle proporcional (constante

    Kp1 multiplicada pelo erro de velocidade) e pelo controle integral (constante Ki

    multiplicada pelo tempo de amostragem e pelo erro de velocidade). O controle integral

    acumula seu valor anterior, de forma que a segunda parcela do PI torna-se um

    somatrio do valor atual com os valores anteriores.

    (7) Limitao por software da corrente de armadura.

    (8) Clculo do erro de corrente.

    (9) Clculo da tenso de referncia da armadura. um controlador

    proporcional (constante Kp2 multiplicada pelo erro de corrente e somada com a tenso

    de armadura calculada) utilizado para obter-se a tenso de armadura que resulte na

    corrente desejada.

    (10) Limitao da tenso de armadura por software.

    (11) Clculo da razo cclica.

    (12) Clculo do tempo em nvel alto do PWM. Essa a varivel necessria

    para habilitar o PWM.

    (13) Habilita o PWM(14) Teste da tenso Vs nos terminais da fonte. Caso Vs seja maior que o

    valor nominal, condio prevista quando ocorre a frenagem, comandado o

    fechamento da chave CH3 (via sada digital) dissipando desta forma a energia da

    frenagem no resistor R6.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    33/56

    33

    (15) Atualizao das variveis para ser feita a mdia na execuo seguinte, e

    atualizao do erro de velocidade para clculo da parte integral do controlador PI na

    prxima execuo.

    E =

    * -

    * , V,

    * , V,

    PW MAtualiza

    CHt = d.fon

    . 1Vad=V

    kaV * > Va m x

    m naV * < Va

    k

    N

    N

    m xaV* = Va k

    kaV * = Va m n

    S

    S

    aV * =k Kp .e +E2 I a k a k

    ka

    S

    S

    a

    m naI* = Ia k

    kaI* = I am x

    N

    N

    aIe = aI* - Ik k k

    kaI* < I a m n

    m xaI* > Ia k

    kaI* =

    Tint

    SmmaI ,

    kkkk

    kkk m m=e m

    Smma

    Clculo da mdiaI ,

    Ler entradas analgicas

    Inicializao

    V

    V

    V -R .mk a

    Ia k

    km a k= E

    k

    variveisAtualiza

    N

    m x

    N

    S

    SfrenagemS kV SV>

    liga

    frenagemdesliga

    < VSVkS m n

    R E S E T

    "BackgroundLoop"

    (1 )

    (2 )

    (3 )

    (4 )

    (5 )

    (6 ) Kp .e1 m k km

    Ki.T .e+k= 0 am

    (7 )

    (8 )

    (9 )

    (10)

    (11)

    (12)

    (13)

    (14)

    (15)

    8

    Figura 5-1 Algoritmo

  • 7/28/2019 Eduardo Leandro Delp Up Po

    34/56

    34

    6. O PROTTIPONa figura 6.1 so mostrados os equipamentos utilizados para a realizao de

    testes com o prottipo:

    1 Fonte de potncia;

    2 Motor ;

    3 Ampermetro para medio de corrente no resistor de frenagem;

    4 Placa de controle;

    5 Placa de fora;

    6 Ponteira de tenso isolada;

    7 Ampermetro para medio de corrente na carga;

    8 Mdulo ponteira de corrente;

    9 Carga RL utilizada para testes iniciais;

    10 Programador PICstart plus;

    11 Fonte simtrica -12V +12V;

    12 Osciloscpio;

    13 Computador;

    Figura 6-1 - Bancada com prottipo em funcionamento

  • 7/28/2019 Eduardo Leandro Delp Up Po

    35/56

    35

    Figura 6-2 - Prottipo 1) Placa de fora 2) Placa de controle

    6.1. Formas de onda6.1.1 Modo Buck com carga RL

    Teste feito com uma carga RL, onde:

    R=0 a 200; L=59mH; RL=18

    A tenso de alimentao da fonte de 120Vcc.

    No caso do conversor operando em 50% do ciclo de trabalho (figura 6.3),variou-se a carga R de 200 a 40 (do ponto de vista da rede isso significa aumentar

    a carga) e observou-se a corrente variando de 0,6 a 3A sem variao no ciclo de

    trabalho do conversor. Isso mostra que a malha de corrente no funciona nessa

    situao, com qualquer ganho dos controladores, pois no h regulao de corrente.

    No entanto, para operao prxima aos 100% do ciclo de trabalho foi possvel

    observar uma resposta do sistema de controle da seguinte forma: com a referncia de

    velocidade em 100% observou-se o ciclo de trabalho em 100% e corrente na carga emtorno de 2A (carga R com aproximadamente 60 ). Ao aumentar a carga R a razo

    cclica diminui, e ao diminuir novamente a carga R a razo cclica aumenta

    novamente, tentando manter constante a corrente na carga.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    36/56

    36

    O sistema de controle perde capacidade de resposta com aumento da carga R

    acima da nominal, e quando o conversor est operando em 50% do ciclo de trabalho,

    devido s limitaes do controlador tipo P na ausncia de fcem .

    Os pequenos picos de corrente e tenso durante o chaveamento se devem corrente de recuperao reversa dos diodos intrnsecos dos MOSFETS.

    Figura 6-3 - Operao em modo buck ciclo de trabalho em 50% (carga RL)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    37/56

    37

    Figura 6-4 - Operao em modo buck ciclo de trabalho em 100% (RL)

    6.1.2 Modo Buck com motor operando a vazio

    Motor utilizado:

    VN=220Vcc; IN=0,9A; Ra=40; Ivazio=0,1A;

    Neste teste no foi possvel realizar uma variao de carga, pela no

    disponibilidade de equipamento adequado para teste com este motor. O teste foi feito

    com o motor operando a vazio com ciclo de trabalho em 50% (figura 6.5) e 100%

    (figura 6.6).

  • 7/28/2019 Eduardo Leandro Delp Up Po

    38/56

    38

    Figura 6-5 - Operao em modo buck ciclo de trabalho em 50% (carga motor)

    Figura 6-6 - Operao em modo buck ciclo de trabalho em 100% (carga motor)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    39/56

    39

    6.1.3 Modo Boost (frenagem)

    Motor utilizado:

    VN=220Vcc; IN=0,9A; Ra=40; Ivazio=0,1A;

    Neste caso, o motor estava operando no modo buck com ciclo de trabalhoem 100%, quando a referncia de velocidade trazida para prximo de zero. A figura

    6.7 mostra a forma de onda obtida. No canal 1 mostrada a tenso no capacitor de

    entrada e o canal 2 mostra a corrente no motor. A forma de onda no alto da figura no

    canal 1 (tenso). Pode-se observar uma pequena variao da tenso no capacitor de

    entrada de 120Vcc para cerca de 125Vcc instantaneamente. Tambm pode-se observar

    a corrente negativa no motor em aproximadamente 0,5A.

    Os resultados obtidos com este teste foram satisfatrios, visto que uma

    variao de carga era impraticvel, e que o conversor foi projetado para operar com

    um motor de 120Vcc, IN=2,8A e Ra=3.

    Figura 6-7 - Operao em modo boost frenagem

  • 7/28/2019 Eduardo Leandro Delp Up Po

    40/56

    40

    7. CONCLUSOOs testes realizados no laboratrio de mquinas com o motor para o qual o

    prottipo foi projetado, no foram bem sucedidos pois existe alguma interferncia

    somente no laboratrio de mquinas. Os testes no LEPAC foram muito bons,

    mostrando o funcionamento do conversor buck durante a ao motora direta, e do

    conversor boost durante a frenagem regenerativa direta. Apenas foi possvel a

    realizao de testes com o motor operando a vazio e metade de sua velocidade

    nominal.

    Para operao do conversor no modo buck com carga RL e ciclo de trabalho

    em 50%, variou-se a carga e a razo cclica no variou, mostrando que para esta

    situao o sistema de controle no responde. No entanto, para operao prxima aos

    100% do ciclo de trabalho foi possvel observar uma resposta do sistema conforme

    6.1.1. No era de se esperar que houvesse uma boa resposta com carga RL, j que o

    conversor proposto para acionamento de um motor (carga RLE).

    Para testes do conversor em modo boost, a referncia de velocidade foi

    levada a 100% (com o motor operando a vazio) e depois de o motor estar com

    velocidade mxima a referncia foi trazida para prximo de zero. Desta forma

    observou-se uma corrente negativa fluindo do motor para a resistncia de dissipaoconforme 6.1.3.

    Considerando a no disponibilidade de uma fonte receptora e interferncias

    existentes somente no laboratrio de mquinas, os resultados foram satisfatrios e so

    suficientes para demonstrar o funcionamento do prottipo, apenas no foi possvel

    fazer um ajuste fino de ganho do controlador PI e do controlador Proporcional.

  • 7/28/2019 Eduardo Leandro Delp Up Po

    41/56

    41

    ANEXO A

    O software de controle em linguagem C que foi compilado e implementado

    no PIC.

    PARTE 1 Inicializao ("adress_v1+.h")

    #ifndef _ADRESSES__PIC__H__#define _ADRESSES__PIC__H__

    // Timer2

    #locate TMR2=0x11#locate T2CON=0x12

    #locate PR2=0x92// CCP1#locate CCPR1L=0x15#locate CCPR1H=0x16#locate CCP1CON=0x17

    // ADC#locate ADRESH=0x1E#locate ADCON0=0x1F#locate ADRESL=0x9E#locate ADCON1=0x9F#locate TXREG=0x19

    #define Wait_Conversion() while(ADCON0 & 4)#define Start_Conversion() ADCON0 |= 4

    unsigned int8 Vm_now, omega_mx_now, Ia_now, Vs_now;unsigned int8 Vm_ant, omega_mx_ant, Ia_ant, Vs_ant;unsigned int8 Vm_med, omega_mx_med, Ia_med, Vs_med;

    unsigned int8 Ia_ref, omega_m, Ia;unsigned int8 erro_omega, erro_Ia;unsigned int8 acao_proporcional, Ra_x_Ia_8, acao_integral_8;unsigned int8 Ea, Va_ref;

    unsigned int8 ton, Va_ref_aux;unsigned int16 Ra_x_Ia, Ia_16, Ea_16, omega_m_16, erro_Ia_16, Va_ref_16,ton_16;unsigned int16 erro_omega_16, acao_integral_16, erro_omega_ant_16;unsigned int16 acao_proporcional_16, acao_integral_ant, acao_integral,acao_integral_aux;

    #define POSITIVO 0

  • 7/28/2019 Eduardo Leandro Delp Up Po

    42/56

    42

    #define NEGATIVO 1

    unsigned int8 sinais;#bit sinal_erro_omega = sinais.0#bit sinal_erro_Ia = sinais.1#bit sinal_Ia = sinais.2#bit sinal_acao_integral_ant = sinais.3#bit sinal_acao_integral = sinais.4#bit sinal_Ia_ref = sinais.5

    #define Ra 50#define Kix 80#define Kp1 130#define Kp2 255

    #define IA_MAX 235 //positivo#define IA_MIN 235 //negativo

    #define VA_MAX 255#define VA_MIN 0

    #define VS_MAX 225#define VS_MIN 223

    void Zera_Tudo(){

    Vm_now = 0;omega_mx_now = 0;Ia_now = 0;Vs_now = 0;Vm_ant = 0;omega_mx_ant = 0;Ia_ant = 0;Vs_ant = 0;Vm_med = 0;omega_mx_med = 0;Ia_med = 0;

    Vs_med = 0;omega_m = 0;acao_proporcional = 0;

    Ra_x_Ia_8 = 0 ;Ra_x_Ia = 0 ;Ia_16 = 0 ;Ea_16 = 0 ;

  • 7/28/2019 Eduardo Leandro Delp Up Po

    43/56

    43

    omega_m_16 = 0 ;erro_Ia_16 = 0 ;Va_ref_16 = 0 ;ton_16 = 0 ;erro_omega_16 = 0 ;acao_integral_16 = 0 ;erro_omega_ant_16 = 0 ;acao_proporcional_16 = 0 ;acao_integral_aux = 0;acao_integral_ant = 0;Va_ref_aux = 0;acao_integral = 0;

    sinal_erro_omega = POSITIVO;sinal_acao_integral_ant = POSITIVO;sinal_acao_integral = POSITIVO;sinal_Ia_ref = POSITIVO;sinal_Ia = POSITIVO;sinal_erro_Ia = POSITIVO;

    }

    void primeira_leitura(){

    SET_ADC_CHANNEL(0); delay_us(10);Start_Conversion(); Wait_Conversion();

    Ia_ant = ADRESH >> 1;SET_ADC_CHANNEL(1); delay_us(10);Start_Conversion(); Wait_Conversion();Vm_ant = ADRESH >> 1;SET_ADC_CHANNEL(2); delay_us(10);Start_Conversion(); Wait_Conversion();Vs_ant = ADRESH >> 1;SET_ADC_CHANNEL(3); delay_us(10);Start_Conversion(); Wait_Conversion();omega_mx_ant = ADRESH >> 1;

    }

    #endif //_ADRESSES__PIC__H__

    PARTE 2 Programa principal// Acionamento Microcontrolado de um motor DC com frenagem regenerativa

  • 7/28/2019 Eduardo Leandro Delp Up Po

    44/56

    44

    #include #fuses HS,NOWDT,NOPROTECT,NOBROWNOUT#use delay(clock=20000000)#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BRGH1OK) //Jumpers:8to11, 7to12#include "adress_v1+.h"

    #define RESOLUTION 128

    int8 ciclos=0;

    main(){

    setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM. The cycle timewill be

    // (1/clock)*4*TMR2*(PR2+1).In this program// clock=20MHz and PR2=63(below) 63=003Fh. For the// possible selections the cycle time is:// (1/20000000)*4*1*256=51,2us or 19,531kHz// (1/20000000)*4*4*127=us or 9,692kHz ************

    setup_timer_2(T2_DIV_BY_4, RESOLUTION, 1);setup_ADC_ports (RA0_RA1_RA3_ANALOG); // RA2 tambemsetup_ADC (ADC_CLOCK_INTERNAL);set_tris_b(0);output_high(pin_b0); // inciar com frenagem desligadaZera_Tudo();

    primeira_leitura();set_pwm1_duty(0);

    setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);enable_interrupts(INT_TIMER1);enable_interrupts(GLOBAL);

    while(1){}

    }

    #INT_TIMER1 //timer de interrupo em 1msvoid timer1_isr(){

    set_timer1(64910); // Nint = 5.000.000 / (1/Tint) / 8// ciclos_T1 = 65535 - Nint

    // set_timer1(ciclos_T1)

    output_high(pin_b7); // para ver a janela de tempo

  • 7/28/2019 Eduardo Leandro Delp Up Po

    45/56

    45

    // LEITURAS DAS VARIVEIS ATUAISSET_ADC_CHANNEL(0); delay_us(10);Start_Conversion(); Wait_Conversion();Ia_now = ADRESH >> 1;SET_ADC_CHANNEL(1); delay_us(10);Start_Conversion(); Wait_Conversion();Vm_now = ADRESH >> 1;SET_ADC_CHANNEL(2); delay_us(10);Start_Conversion(); Wait_Conversion();Vs_now = ADRESH >> 1;SET_ADC_CHANNEL(3); delay_us(10);Start_Conversion(); Wait_Conversion();omega_mx_now = ADRESH >> 1;

    // Clculo da mdiaIa_med = Ia_ant + Ia_now;Vm_med = Vm_ant + Vm_now;Vs_med = Vs_ant + Vs_now;omega_mx_med = omega_mx_ant + omega_mx_now;

    // ACERTO DA CORRENTEif (Ia_med >= 130){

    Ia = Ia_med - 130;sinal_Ia = POSITIVO;

    }else{

    Ia = 130 - Ia_med;sinal_Ia = NEGATIVO;

    }

    // CLCULO DA TENSO DE ARMADURAIa_16 = (int16) Ia; // Casting (mudana de tipo)Ra_x_Ia = Ia_16*Ra;Ra_x_Ia = Ra_x_Ia >> 8;

    Ra_x_Ia_8 = (int8) Ra_x_Ia; // Castingif (sinal_Ia == POSITIVO){

    if (Vm_med >= Ra_x_Ia_8){Ea = Vm_med - Ra_x_Ia_8;

    }

  • 7/28/2019 Eduardo Leandro Delp Up Po

    46/56

    46

    else{Ea=5;}

    }else{Ea=255;}

    // CLCULO DA VELOCIDADE DO MOTORomega_m = Ea;

    // CLCULO DO ERRO DA VELOCIDADE DO MOTORif (omega_mx_med >= omega_m){

    erro_omega = omega_mx_med - omega_m;sinal_erro_omega = POSITIVO;

    }else{

    erro_omega = omega_m - omega_mx_med;sinal_erro_omega = NEGATIVO;

    }

    // CONTROLE PROPORCIONAL E INTEGRAL

    //proporcionalerro_omega_16 = (int16) erro_omega;acao_proporcional_16 = erro_omega_16 * Kp1;acao_proporcional_16 = acao_proporcional_16 >> 8 ;acao_proporcional = (int8) acao_proporcional_16;

    acao_integral_16 = erro_omega_16 * Kix;

    // aao integral // sinal de erro_omega = sinal de acao_integral_16

    if ((sinal_erro_omega == POSITIVO) && (sinal_acao_integral_ant ==POSITIVO)){acao_integral = acao_integral_ant + acao_integral_16;sinal_acao_integral = POSITIVO;//Teste de overflow positivo

    if ((acao_integral < acao_integral_ant) || (acao_integral = acao_integral_ant){acao_integral = acao_integral_16 - acao_integral_ant;sinal_acao_integral = POSITIVO;}else{acao_integral = acao_integral_ant - acao_integral_16;sinal_acao_integral = NEGATIVO;}

    }

    if ((sinal_erro_omega == NEGATIVO) && (sinal_acao_integral_ant ==POSITIVO))

    {if (acao_integral_16

  • 7/28/2019 Eduardo Leandro Delp Up Po

    48/56

    48

    }}

    acao_integral_aux = acao_integral >> 8;acao_integral_8 = (int8) acao_integral_aux;

    sinal_acao_integral_ant = sinal_acao_integral;acao_integral_ant = acao_integral;

    //PI Ia_ref = acao_integral + acao_proporcional// sinal de erro_omega = sinal_acao_proporcional

    if ((sinal_acao_integral == POSITIVO) && (sinal_erro_omega ==POSITIVO))

    {Ia_ref = acao_integral_8 + acao_proporcional;sinal_Ia_ref = POSITIVO;//Teste de overflow positivo

    if ((Ia_ref < acao_integral_8) || (Ia_ref < acao_proporcional)){

    Ia_ref = 255;}

    }

    if ((sinal_acao_integral == POSITIVO) && (sinal_erro_omega ==NEGATIVO))

    {if (acao_integral_8 >= acao_proporcional){Ia_ref = acao_integral_8 - acao_proporcional;sinal_Ia_ref = POSITIVO;}else{

    Ia_ref = acao_proporcional - acao_integral_8;sinal_Ia_ref = NEGATIVO;}

    }

    if ((sinal_acao_integral == NEGATIVO) && (sinal_erro_omega ==POSITIVO))

  • 7/28/2019 Eduardo Leandro Delp Up Po

    49/56

    49

    {if (acao_integral_8 > 1;//PI

    erro_omega_16 = (int16) erro_omega;acao_integral_16 = erro_omega_16 * Kix;acao_integral_16 = acao_integral_16 >> 8 ;acao_integral = (int8)acao_integral_16;

    erro_omega_ant_16 = (int16) erro_omega_ant;acao_proporcional_16 = erro_omega_ant_16 * Kp1;acao_proporcional_16 = acao_proporcional_16 >> 8 ;

    acao_proporcional = (int8) acao_proporcional_16;Ia_ref = Ia_acumulado;

    // Clculo da ao INTEGRALif (sinal_erro_omega == POSITIVO){

    Ia_ref_aux = Ia_ref + acao_integral;

  • 7/28/2019 Eduardo Leandro Delp Up Po

    50/56

    50

    //Teste de overflow positivoif ((Ia_ref_aux < Ia_ref) || (Ia_ref_aux < acao_integral))

    Ia_ref_aux = 255;}

    else // sinal negativo{

    Ia_ref_aux = Ia_ref - acao_integral;//Teste de overflow negativoif ((Ia_ref_aux > Ia_ref) || (Ia_ref_aux > acao_integral))

    Ia_ref_aux = 0;}

    Ia_ref = Ia_ref_aux;

    // Clculo da acao PROPORCIONALif (sinal_erro_omega_ant == POSITIVO){

    Ia_ref_aux = Ia_ref - acao_proporcional;//Teste de overflow negativoif ((Ia_ref_aux > Ia_ref) || (Ia_ref_aux > acao_proporcional))

    Ia_ref_aux = 0;}else // sinal negativo{

    Ia_ref_aux = Ia_ref + acao_proporcional;

    //Teste de overflow positivoif ((Ia_ref_aux < Ia_ref) || (Ia_ref_aux < acao_proporcional))Ia_ref_aux = 255;

    }Ia_ref = Ia_ref_aux;

    // LIMITADOR DA CORRENTE DE REFERNCIA DA ARMADURAif (Ia_ref > IA_MAX) Ia_ref = IA_MAX;

    // if (Ia_ref < IA_MIN) Ia_ref = IA_MIN;

    // CLCULO DO ERRO DA CORRENTE DE ARMADURAif ((sinal_Ia == POSITIVO) && (sinal_Ia_ref == POSITIVO)){

    if (Ia_ref >= Ia){

    erro_Ia = Ia_ref - Ia;sinal_erro_Ia = POSITIVO;

    }

  • 7/28/2019 Eduardo Leandro Delp Up Po

    51/56

    51

    else{

    erro_Ia = Ia - Ia_ref;sinal_erro_Ia = NEGATIVO;

    }}

    if ((sinal_Ia == NEGATIVO) && (sinal_Ia_ref == NEGATIVO)){

    if (Ia_ref

  • 7/28/2019 Eduardo Leandro Delp Up Po

    52/56

    52

    Va_ref_16 = Va_ref_16 >> 8;Va_ref_aux = (int8) Va_ref_16;

    if (sinal_erro_Ia == POSITIVO) //sinal_erro_Ia = sinal_Va_ref_aux{

    Va_ref = Va_ref_aux + Ea;//Teste de overflow positivoif ((Va_ref < Va_ref_aux) || (Va_ref < Ea)){Va_ref = 255;

    }}

    if (sinal_erro_Ia == NEGATIVO){

    if (Ea >= Va_ref_aux){Va_ref = Ea - Va_ref_aux;}else{Va_ref = 0;}

    }// LIMITADOR DA TENSO DE REFERNCIA DA ARMADURA

    if (Va_ref > VA_MAX) Va_ref = VA_MAX;if (Va_ref < VA_MIN) Va_ref = VA_MIN;// ATUALIZA PWM

    ton = Va_ref >> 1; //Alternativa mais rpidaif (ton > 127) ton=127;set_pwm1_duty(ton);

    // FRENAGEMif (Vs_med > VS_MAX) output_low(pin_b0);if (Vs_med < VS_MIN) output_high(pin_b0);

    // ATUALIZA VALORES ANTERIORESIa_ant = Ia_med >> 1;

    Vm_ant = Vm_med >> 1;Vs_ant = Vs_med >> 1;omega_mx_ant = omega_mx_med >> 1;output_low(pin_b7); // para ver a janela de tempo

    }

  • 7/28/2019 Eduardo Leandro Delp Up Po

    53/56

    53

    ANEXO B

    Esquemtico feito no software Eagle 4.11 para roteamento das trilhas e

    confeco da placa de circuito impresso (somente para a placa de controle).

  • 7/28/2019 Eduardo Leandro Delp Up Po

    54/56

    54

    ANEXO C

    Trilhas roteadas pelo Eagle 4.11 placa de controle.

    Trilhas Lado dos componentes (lado de cima)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    55/56

    55

    Trilhas Lado das soldas (lado de baixo)

  • 7/28/2019 Eduardo Leandro Delp Up Po

    56/56

    56

    REFERNCIAS BIBLIOGRFICAS

    [1] DUBEY, Gopal K. Power Semiconductor Controlled Drives. Prentice-Hall

    International. U.S.A.[2] MOHAN, Ned UNDELAND Tore M. ROBBINS Willian P. Power

    electronics, Converters, Applications and Design, 2 ed. John Willey & Sons,

    Inc. U.S.A, 1995.

    [3] BERLIN, Howard M. OP-Amp Circuits and principles. 1 ed. SAMS, U.S.A,

    1991.

    [4] BARBI, Ivo Apostila do professor

    [5] BOSE B. K. Introduction to Microcomputer Control. General ElectricCompany

    [6] MICROCHIP Datasheet microcontrolador PIC16F87X - [on line].

    Disponvel em URL: http://www.microchip.com/. [capturado em outubro de

    2006].

    [7] MICROCHIP Datasheet gate drive IR2104 [on line]. Disponvel em

    URL: http://www.microchip.com/. [capturado em outubro de 2006].

    [8] KOSOW, Irving L. Mquinas Eltricas e Transformadores. 8 ed. Globo.

    So Paulo, 1989.

    [9] UNIVERSIDADE FEDERAL DO ESPRITO SANTO. Biblioteca Central.

    Normalizao e apresentao de trabalhos cientficos e acadmicos:guia

    para alunos, professores e pesquisadores da UFES. 2. ed. Vitria, 1997.

    [10] UNIVERSIDADE FEDERAL DO ESPRITO SANTO. Biblioteca Central.

    Guia para normalizao de referncias bibliogrficas: NBR 6023. 2. ed.

    Vitria, 1997.