gaspar leandro souza

66
LEANDRO SOUZA GASPAR PLATAFORMA PARA MEDIÇÃO DE VELOCIDADE EM MOTOR CC SEM O USO DE SENSOR ACOPLADO AO EIXO Trabalho de Conclusão de Curso apresen- tado à Escola de Engenharia de São Carlos, da Universidade de São Paulo Curso de Engenharia Elétrica com ênfase em Eletrônica ORIENTADOR: Prof. Dr. Evandro Luis Linhari Rodrigues São Carlos 2011

Upload: kettuley-fernanda

Post on 25-Nov-2015

17 views

Category:

Documents


1 download

TRANSCRIPT

  • LEANDRO SOUZA GASPAR

    PLATAFORMA PARA MEDIO DE VELOCIDADE EM MOTOR CC SEM O

    USO DE SENSOR ACOPLADO AO EIXO

    Trabalho de Concluso de Curso apresen-tado Escola de Engenharia de So Carlos,

    da Universidade de So Paulo

    Curso de Engenharia Eltrica com nfase em Eletrnica

    ORIENTADOR: Prof. Dr. Evandro Luis Linhari Rodrigues

    So Carlos2011

  • ii

    AUTORIZO A REPRODUO E DIVULGAO TOTAL OU PARCIAL DESTE TRABALHO, POR QUALQUER MEIO CONVENCIONAL OU ELETRNICO, PARA FINS DE ESTUDO E PESQUISA, DESDE QUE CITADA A FONTE.

    Ficha catalogrfica preparada pela Seo de Tratamentoda Informao do Servio de Biblioteca EESC/USP

    Gaspar, Leandro Souza. G153a Plataforma para medio de velocidade em motor CC sem

    o uso de sensor acoplado ao eixo. / Leandro Souza Gaspar ; orientador Evandro Luis Linhari Rodrigues - So Car-los, 2011.

    Monografia (Graduao em Engenharia Eltrica com n-fase em Eletrnica) -- Escola de Engenharia de So Car-los da Universidade de So Paulo, 2011.

    1. Motor de corrente contnua. 2. Sensor de velocida-de. 3. Controle de motores. 4. IHM. 5. Aquisio. 6. Fora eletromotriz. I. Titulo.

  • iii

  • iv

  • vDedico este trabalho a todos que contriburam

    para sua concretizao, de forma direta e indi-

    reta, seja com ideias ou mesmo uma conversa

    informal. Professores, tcnicos, funcionrios,

    alunos, amigos, namorada, pais e familiares.

    Pequenos gestos somados fazem a diferena.

  • vi

  • vii

    Agradecimentos

    Aos antigos grupos de robtica USPdroids do ICMC-USP e GEAR da EESC-USP, atual grupo

    unificado WARTHOG ROBOTICS, que ofereceram toda a estrutura necessria para meu cres-

    cimento profissional durante minha graduao e tambm pelo apoio durante este projeto.

    Aos Professores por toda a dedicao e apoio.

    Ao apoio de minha famlia durante todos esses anos e em especial durante minha graduao.

  • viii

  • ix

    Resumo

    O presente trabalho aborda o desenvolvimento do mtodo da fora eletromotriz (F.E.M) para

    mensurar a velocidade de um motor corrente continua de im permanente e com escovas sem a

    utilizao de sensores acoplados ao seu eixo, evitando assim a utilizao de um equipamento

    mecnico junto ao motor, que adicionaria volume e peso ao sistema, sujeito a desgastes fsicos e

    que aumentam o custo final do projeto. Juntamente com o estudo deste mtodo foi desenvolvido

    um sistema composto por uma plataforma de aquisio e controle, software para controle da

    plataforma, e uma interface de usurio utilizando o MATLAB para comunicao com a plata-

    forma, desta forma o processo de aquisio de dados do motor fica facilitada. O Sistema capaz

    de realizar o teste da resposta ao degrau para o motor CC, encontrar a constante de velocidade

    para o motor, dado este necessrio para o uso do mtodo da F.E.M, traar grficos comparativos

    para anlise do mtodo e tambm monitorar as velocidades medidas do motor pelo mtodo da

    F.E.M e pelo encoder em tempo real. Todo o estudo e desenvolvimento do sistema foram pen-

    sados para que seja possvel sua reproduo, assim toda a plataforma foi montada com compo-

    nentes comuns.

    Palavras-Chave: Motor de Corrente Contnua; Sensor de Velocidade; Controle de Motores;

    IHM; Aquisio; Fora Eletromotriz.

  • x

  • xi

    Abstract

    This work discusses the development of electromotive force (EMF) method to measure the

    speed of a permanent magnet direct current motor with brushes without the use of sensors cou-

    pled to its axis, thus avoiding the use of a mechanical equipment next to the motor, which would

    add weight and volume to the system, subject to physical damage and increasing the final cost

    of the project. With the study of this method was developed a system composed of a platform

    for acquisition and control, software to control the platform, and a user interface using

    MATLAB for communication with the platform, thus the data acquisition process of the motor

    is facilitated. The system is able to perform the step response test for the DC motor, to find the

    speed constant for the DC motor, this is necessary for the electromotive force (EMF) method, to

    plot graphs for comparative analysis of the sensorless method and with the encoder in real time.

    All the study and development of the system were designed to allow its reproduction, so the

    entire platform was mounted with common components, and MATLAB was chosen because it

    is a common tool for engineers, thus avoiding the use of proprietary equipment.

    Keywords: Direct current motor; Speed sensor; Motor control; HMI; Acquisition; Electromotive

    force.

  • xii

  • xiii

    Lista de Figuras

    Figura 1 (a) Estator, (b) Rotor, (c) Comutador e (d). [3]............................................... 3

    Figura 2 - Esquema eletromecnico do motor CC ........................................................... 4

    Figura 3 - Sinal do encoder .............................................................................................. 5

    Figura 4 - Ponte H genrica.............................................................................................. 6

    Figura 5 - Encoder ptico. [3] ......................................................................................... 7

    Figura 6 - Sinal tpico de um encoder............................................................................... 8

    Figura 7 - Motor 2224 com encoder acoplado ................................................................. 8

    Figura 8 - Sistema Hardware-Software-IHM................................................................. 10

    Figura 9 - Sinal nos terminais do motor ......................................................................... 11

    Figura 10 - Relao tenso gerada por velocidade do motor 2224 ................................ 13

    Figura 11 - Diagrama da Plataforma de Aquisio e Controle....................................... 15

    Figura 12 - Sinais QEA e QEB do encoder .................................................................... 20

    Figura 13 - Software de Simulao ................................................................................ 21

    Figura 14 - Fluxograma do programa do microcontrolador ........................................... 22

    Figura 15 - Interface Grfica .......................................................................................... 23

    Figura 16 - Curva da Relao Velocidade por F.E.M .................................................... 26

    Figura 17 - Curva da F.E.M pelo Tempo ....................................................................... 27

    Figura 18 - Curva Caracterstica do Motor..................................................................... 27

    Figura 19 - IHM no teste "Continuos"............................................................................ 28

    Figura 20 - Acoplamento dos motores ........................................................................... 29

    Figura 21 - Curva da Relao Velocidade por F.E.M para o motor da Action .............. 30

    Figura 22 - Curva da Relao Velocidade por FEM para o motor Action com filtro.... 30

    Figura 23 - Curva da F.E.M pelo Tempo para o motor da Action ................................. 31

    Figura 24 - Curva caracterstica para o motor da Action ............................................... 31

  • xiv

  • xv

    Lista de Tabelas

    Tabela 1 - Acionamento da Ponte-H ................................................................................ 6

    Tabela 2 Relao da tenso gerada por RPM do motor 2224 ..................................... 12

    Tabela 3- "BAUD RATES" para a serial [5].................................................................. 18

  • xvi

  • xvii

    Lista de abreviaes e siglas

    A/D Conversor Analgico para Digital

    AMPOP Amplificador Operacional

    ASCII American Standard Code for Information Interchange

    CA Corrente Alternada

    CC Corrente Contnua

    F.C.E.M Fora Contra Eletromotriz

    F.E.M Fora Eletromotriz

    FIFO First In, First Out

    IDE Integrated Development Environment

    IHM Interface Homem-Mquina

    PWM Pulse-Width Modulation

    RPM Rotaes por Minuto

    USB Universal Serial Bus

  • xviii

  • xix

    SumrioResumo ............................................................................................................................ ix

    Abstract............................................................................................................................ xi

    Lista de Figuras ............................................................................................................. xiii

    Lista de Tabelas .............................................................................................................. xv

    Lista de abreviaes e siglas......................................................................................... xvii

    1. Introduo ............................................................................................................ 1

    1.1. Motivao .......................................................................................................... 2

    1.2. Objetivos ............................................................................................................ 2

    1.3. Organizao ....................................................................................................... 2

    2. Fundamentos tericos ......................................................................................... 3

    2.1. Motores CC com im permanente e com escovas ............................................. 3

    2.1.1. Funcionamento do motor CC ......................................................................... 3

    2.1.2. Modelo do motor de corrente contnua .......................................................... 3

    2.2. Acionamento para motores CC.......................................................................... 5

    2.3. Mtodos para medio de velocidade em motores CC...................................... 6

    2.3.1. Medio de velocidade para motores CC utilizando sensores ....................... 6

    2.3.2. Medio de velocidade para motores CC sem o uso de sensores .................. 8

    3. Material e mtodo .............................................................................................. 10

    3.1. Estudo prtico de um motor CC ...................................................................... 10

    3.2. Viso geral do Sistema .................................................................................... 13

    3.3. Plataforma de aquisio e controle .................................................................. 14

    3.4. Ambiente de desenvolvimento......................................................................... 17

    3.5. Software de simulao ..................................................................................... 21

    3.6. Interface Homem-Mquina (IHM) .................................................................. 23

    4. Resultados .......................................................................................................... 26

    5. Concluses .......................................................................................................... 32

    Referncias Bibliogrficas.............................................................................................. 33

    Apndice A Eletrnica da Plataforma de Aquisio e Controle .................................. 34

    Apndice B Programa do Microcontrolador ............................................................... 35

    Apndice C Programa da IHM .................................................................................... 40

    ANEXO A Folha de dados do Motor 2224-006SR..................................................... 45

    ANEXO B Folha de dados do Motor PM080-AU-S................................................... 46

  • xx

  • 11. Introduo

    O progresso tecnolgico e a automatizao de vrios processos que antes eram realizados

    manualmente provocaram um aumento no uso de pequenos motores, como por exemplo, na

    simples tarefa de abrir e fechar a janela de um carro, que antes era realizada manualmente e

    agora realizado pela ao de um apertar de boto que aciona um motor eltrico. Nas aplica-

    es onde primordial a preciso tanto em velocidade quanto em posicionamento e no exige

    eficincia nem alta potncia, est sendo dominada pelo emprego de motores de corrente conti-

    nua (MCC). Este domnio vem em parte pela grande vantagem que apresentam os motores CC

    na simplicidade de seu controle. [1]

    Na maioria das aplicaes onde exigido o controle de velocidade dos motores CC neces-

    srio um sistema de controle em malha fechada sendo utilizado algum tipo de sensor para leitura

    da velocidade real do motor, como por exemplo, os encoders pticos, tacogeradores e sensores

    de efeito hall. O uso desses sensores apresentam algumas desvantagens como maior volume ao

    motor, encarecimento do sistema e aumento do risco de falhas j que necessitam de um acopla-

    mento mecnico junto ao motor.

    Outra desvantagem encontrada no uso de sensores de velocidade est na dificuldade de se

    encontrar no mercado brasileiro motores que j possuam esses sensores incorporados, sendo

    necessria sua importao, encarecendo ainda mais o projeto.

    Neste trabalho ser apresentado um estudo geral de alguns mtodos para medio de veloci-

    dade em motores CC sem o uso de sensores, o estudo terico do mtodo da fora eletromotriz

    (F.E.M), o desenvolvimento de um sistema computacional com interface homem mquina

    (IHM) para o estudo prtico do mtodo da F.E.M e tambm, generalizando, ser indicada as

    possibilidades do uso deste sistema na caracterizao de motores CC e finalizando ser apresen-

    tado discusses praticas das vantagens e desvantagens do mtodo em questo.

  • 21.1. Motivao

    Este projeto surgiu com o intudo de resolver um problema encontrado pelo grupo de Rob-

    tica Mvel Uspdroids, atualmente conhecido por Warthog Robotics que est vinculado ao LAR

    Laboratrio de Aprendizado de Robs, da Universidade de So Paulo, Campus de So Carlos.

    Com o objetivo de tornar a robtica mvel mais acessvel, e possibilitar ao grupo a construo

    de robs mveis a um custo reduzido, surgiu a necessidade de se trocar os motores importados

    que eram utilizados por possurem sensores de velocidade por motores de fabricao brasileira

    que tinham a desvantagem de no possurem esses sensores, desta maneira foram propostos os

    objetivos deste trabalho.

    1.2. Objetivos

    Uma das dificuldades encontradas na construo de pequenos robs mveis com controle de

    velocidade o alto custo dos motores que possuem encoders para a medio de velocidade.

    Considerando isso como tema relevante, este trabalho prope estudar e implementar uma plata-

    forma capaz de realizar a leitura da velocidade de um motor corrente contnua de im perma-

    nente e com escovas sem a utilizao de sensores acoplados a esses motores.

    1.3. Organizao

    Este trabalho est organizado da seguinte forma:

    O Captulo 2 apresenta contedos tericos necessrios para o entendimento do projeto.

    O Captulo 3 contm todo o desenvolvimento do projeto com a descrio dos materiais utiliza-

    dos, assim como da metodologia adotada durante o projeto.

    O Captulo 4 apresenta os resultados dos testes realizados com a plataforma.

    O Captulo 5 apresenta as concluses pertinentes a este trabalho.

  • 32. Fundamentos tericos

    Neste captulo sero apresentados contedos tericos necessrios para o entendimento deste

    projeto.

    2.1. Motores CC com im permanente e com escovas

    Quando se tratando de motores de corrente contnua de baixa potncia, da ordem de alguns

    amperes, e que so utilizados para propsitos gerais, os mais utilizados so os motores de cor-

    rente contnua com im permanente e com escovas.

    2.1.1. Funcionamento do motor CC

    Este tipo de motor composto de duas estruturas magnticas, estator (im permanente)

    (Figura 1a), e rotor (enrolamento/bobinas de armadura) (Figura 1b.) O rotor um eletrom

    constitudo de um ncleo de ferro com enrolamentos em sua superfcie que so alimentados por

    um sistema mecnico de comutao (Figura 1c). Esse sistema formado por um comutador,

    solidrio ao eixo do rotor, que possui uma superfcie cilndrica com diversas lminas s quais

    so conectados os enrolamentos do rotor; e por escovas fixas (Figura 1d), que exercem presso

    sobre o comutador e que so ligadas aos terminais de alimentao. O propsito do comutador

    o de inverter a corrente na fase de rotao apropriada de forma a que o conjugado desenvolvido

    seja sempre na mesma direo. [2]

    Figura 1 (a) Estator, (b) Rotor, (c) Comutador e (d). [3]

    2.1.2. Modelo do motor de corrente contnua

    O motor de corrente contnua pode ser descrito matematicamente por meio de seus pa-

    rmetros eltricos e mecnicos.

    Primeiramente temos o conjunto de espiras que constitui a armadura. Estas espiras ca-

    racterizam uma resistncia eltrica de armadura denominada e tambm uma indutncia de

    armadura denominada . A tenso induzida nas espiras pode ser deduzida como sendo direta-

  • 4mente proporcional velocidade de rotao (t), desde que (fluxo magntico), l (comprimen-

    to do fio) e d (largura da espira) sejam constantes. Assim temos a Equao (1).

    () = () (1)

    Onde denominado de tenso ou constante de fora contra eletromotriz (fcem). Tambm, pelo fato de B, l, d e serem constantes, obtm-se que o torque desenvolvido no motor de cor-rente contnua diretamente proporcional intensidade da corrente que circula na armadura, como em (2).

    = () (2)

    Onde denominado constante de torque e (t) a corrente instantnea de armadura.

    Desde que o torque e a tenso induzida () dependem de , , , no sistema internacional

    de unidades o valor de numericamente igual ao valor de . A estrutura que compe a ar-

    madura representa uma massa em rotao, portanto, define-se para ela: momento de inercia J,

    coeficiente de atrito viscoso (proporcional a ) B, e o coeficiente de atrito esttico denotado F.

    O esquema eletromecnico do motor CC pode ser visto na Figura 2.

    Figura 2 - Esquema eletromecnico do motor CC

    Atravs do diagrama eletromecnico do motor de corrente contnua, obtm se o seguinte

    equacionamento dinmico do motor de corrente contnua. [4]

    () = () +

    () + ()

    (3)

    () = () (4)

  • 5() =

    () + () +

    (5)

    2.2. Acionamento para motores CC

    Utilizando a tcnica do PWM (Pulse-Width Modulation) podemos controlar a potncia

    dos motores CC, atravs de um sinal digital. Configurando uma frequncia de pulso alta o sufi-

    ciente para que o motor no responda a ela, o motor ir se comportar de forma diretamente pro-

    porcional tenso mdia do PWM. Um critrio de escolha da frequncia de acionamento

    fazer com que a indutncia do motor resulte em uma grande impedncia nesta frequncia,

    desta forma temos a equao (6).

    2 (6)

    A tenso mdia do PWM dada por (7).

    =

    (7)

    Onde:

    Tenso mdia

    tp Durao do pulso em nvel alto

    T Perodo da onda

    Tenso mxima do pulso

    Na Figura 3, observa-se a frequncia constante e a possvel variao da largura de pul-

    so do sinal PWM.

    Figura 3 - Sinal do encoder

  • 6Como o sinal PWM gerado a partir de um microprocessador e este possuir baixa capa-

    cidade de corrente em suas portas, e ainda por termos a necessidade de inverso de sentido de

    rotao do motor utilizamos uma ponte-H para realizar a interface entre microprocessador e o

    motor.

    Uma ponte-H genrica pode ser vista na Figura 4.

    Figura 4 - Ponte H genrica

    Seu funcionamento segue conforme Tabela 1.

    Tabela 1 - Acionamento da Ponte-H

    V1 V2 V3 V4 Resultado

    H L H L Q1 e Q3 fechados, corrente da esquerda para a direita.

    L H L H Q2, Q4 fechados, corrente da direita para a esquerda.

    L L L L Motor desligado.

    2.3. Mtodos para medio de velocidade em motores CC

    2.3.1. Medio de velocidade para motores CC utilizando sensores

    Uma das formas de se medir a velocidade rotacional de um motor utilizar algum dis-

    positivo que transforme diretamente esta grandeza mecnica em uma grandeza eltrica. O dis-

    positivo mais clssico que realiza esta operao o tacogerador.

    Tacogerador

    O tacogerador possui ms permanentes no estator, com a funo de produzir um campo

    magntico. No rotor bobinado gerada uma tenso contnua de amplitude proporcional rota-

    o e de polaridade que depende do sentido de giro da mquina eltrica a qual ele est acoplado.

  • 7 Encoder

    O encoder um dispositivo que gera um pulso para um determinado incremento de ro-

    tao do eixo ao qual est acoplado (encoder rotativo). Embora seja mais utilizado no controle

    de posio, o encoder tambm utilizado para medir velocidade, uma vez que medindo o ngu-

    lo total percorrida (atravs da contagem dos pulsos na sada do encoder) e o tempo necessrio

    para este ngulo ser percorrida, consegue-se calcular a velocidade. H vrios tipos em uso:

    magntico, contato, resistivo, e ptico.

    O principio de funcionamento bsico do encoder ptico pode ser observado na Figura

    5.

    Figura 5 - Encoder ptico. [3]

    Onde um disco perfurado fixado ao eixo do motor, quando esse disco entra em movi-

    mento, essas perfuraes interrompem, periodicamente, um feixe ptico que detectado por um

    foto sensor gerando os pulsos.

    Um sinal tpico deste tipo de encoder pode ser visto na Figura 6, onde se observa que a

    velocidade do motor est aumentando j que a frequncia dos pulsos aumenta.

  • 8Figura 6 - Sinal tpico de um encoder

    A Equao (8) nos mostra a relao entre o perodo dos pulsos e a velocidade do motor.

    =60

    P(8)

    Onde:

    T Perodo dos pulsos

    n Velocidade em RPM

    P Quantidade de pulsos por volta do encoder

    O motor 2224 utilizado neste projeto possui um encoder magntico de 64 pulsos por

    volta acoplado ao seu eixo, como pode ser observado na Figura 7.

    Figura 7 - Motor 2224 com encoder acoplado

    2.3.2. Medio de velocidade para motores CC sem o uso de sensores

    Alm dos dispositivos utilizados para medio de velocidade, mencionados no item

    acima, existem outras tcnicas que dispensam o uso de sensores, ou seja, dispensam o uso de

    dispositivos mecnicos externos ao motor.

  • 9 Leitura de Ripple

    A corrente em um motor CC composta por uma componente contnua, referente ao

    torque, sobre a qual se superpe uma componente alternada conhecida como ripple. As caracte-

    rsticas da componente ripple dependem da velocidade de giro e dos parmetros do motor. [1]

    A componente ripple da corrente do motor decorrente do chaveamento das bobinas do rotor

    atravs do comutador do motor CC, assim a frequncia do ripple proporcional velocidade do

    rotor como indicado na Equao (9).

    = 2

    60(9)

    Onde p o nmero de pares de polo, o nmero de seguimentos do comutador, n

    a velocidade em RPM e o maior denominador comum de 2p e K.

    Leitura da fora eletromotriz (F.E.M)

    Este mtodo parte do principio de que um motor de corrente contnua pode tambm ser

    um gerador eltrico de corrente contnua, desta maneira observando a equao (3), colocando o

    motor para operar como gerador eltrico, ou seja, fornecendo (), e com o gerador operando

    sem carga =0, encontramos a Equao (10).

    () = () = () (10)

    Indicando que a tenso gerada nos terminais do motor/gerador igual fora eletromo-

    triz, que por sua vez diretamente proporcional velocidade angular do rotor.

    Portanto, para a leitura da velocidade, basta desligar o motor periodicamente durante um

    pequeno intervalo de tempo, suficiente para que ocorra o transitrio entre o comportamento de

    motor para gerador eltrico, e ento realizar a aquisio do valor da tenso gerada que divi-

    dida por nos fornece o valor da velocidade.

    Este o mtodo escolhido para ser desenvolvido neste trabalho, assim maiores detalhe

    sero apresentados no captulo seguinte.

  • 10

    3. Material e mtodo

    Para atingir o objetivo final de se desenvolver uma plataforma de leitura de velocidade

    em motores CC sem o uso de sensores foi desenvolvido um Sistema Hardware-Software-IHM,

    Figura 8, para que fosse possvel automatizar o processo de aquisio da curva velocidade por

    fora eletromotriz para qualquer motor CC e testar, em tempo real, o funcionamento do mtodo.

    Figura 8 - Sistema Hardware-Software-IHM

    Posteriormente foi proposta a generalizao deste Sistema para um sistema capaz de re-

    alizar a caracterizao de motores CC, oferecendo a resposta transitria do motor entrada de-

    grau.

    Inicialmente foi realizado um estudo prtico e especifico em um motor do fabricante

    Faulhaber, quanto as suas caractersticas funcionando como gerador eltrico. O principal dado

    obtido neste estudo o tempo necessrio para que ocorra a transio do estado motor para o

    estado gerador do motor CC. Com base nessas informaes foi projetado o hardware necessrio

    para automatizar o processo de aquisio da F.E.M, a aquisio do sinal do encoder provendo a

    velocidade real do motor em RPM, e a comunicao serial para comunicao com o microcom-

    putador, onde sero processados os dados atravs de uma interface grfica para o usurio requi-

    sitar aes e recolher dados do motor.

    3.1. Estudo prtico de um motor CC

    Todo o estudo inicial deste trabalho baseado em apenas um motor CC, no Captulo

    Resultados o leitor poder observar a generalizao para outros motores CC.

  • 11

    O motor CC escolhido para estudo o 2224-006SR do fabricante Faulhaber. Este motor

    foi escolhido por j possuir acoplado ao seu eixo um encoder incremental magntico de 64 pul-

    sos por volta, sendo ideal para a realizao do estudo proposto. um motor de 6V de tenso

    nominal e 4,55W de potncia mxima. Sua folha de dados pode ser visto no Anexo A.

    Utilizando um gerador de funo foi gerado uma onda quadrada de aproximadamente

    60 Hz com seu duty cycle negativo em 85%. Ligando este sinal a uma ponte H (L298) acionou-

    se o motor para que fosse possvel observar a tenso gerada pelo motor quando este est desli-

    gado, ou seja, quando este est girando por inercia e se comportando como um gerador eltrico.

    O sinal observado nos terminais do motor pode ser visto na Figura 9.

    Em (A) pode ser visto um perodo completo da onda quadrada, com semiciclo positivo

    de 5 Volts de pico. Observando o estado gerador, quando a onda quadrada est em seu semiciclo

    negativo, temos uma componente CC decorrente da fora eletromotriz com tenso mxima de 3

    Volts, este o nvel CC que estamos interessados em mensurar. O sinal alternado que aparece

    sobreposto ao nvel CC da fora eletromotriz decorrente do chaveamento das bobinas do rotor,

    ou seja, esta ondulao introduzida pelo comutador. Para o mtodo aqui proposto, que o

    mtodo da F.E.M, esse sinal alternado indesejado, j que adiciona rudo ao nvel CC que dese-

    jamos mensurar. J para o mtodo do ripple justamente esta ondulao o sinal desejado, sendo

    sua frequncia diretamente proporcional velocidade do rotor, dependendo do nmero de se-

    guimentos que o comutador tenha, situao anloga explicitada no item 2.3.2.

    Em (B) pode ser visto mais detalhadamente o momento do chaveamento de 5 para 0

    Volts na tenso de alimentao do motor, sendo possvel observar o comportamento do transit-

    rio do estado motor para gerador, este transitrio tem um tempo aproximado de 30s. O tempo

    do transitrio importante para que seja definido o momento em que ser realizada a leitura da

    tenso gerada, evitando a leitura de valores de tenso do transitrio.

    Figura 9 - Sinal nos terminais do motor

  • 12

    Com o intuito de traar a curva de velocidade do rotor pela tenso gerada foi ligado no

    canal 2 do osciloscpio o sinal proveniente do encoder incrementar, desta maneira foi possvel

    fazer a leitura da frequncia do sinal do encoder, assim como a tenso gerada no estado gerador.

    Variando o duty cicle da onda quadrada e fazendo as medidas obteve-se a Tabela 2.

    Tabela 2 Relao da tenso gerada por RPM do motor 2224

    f(Hz) n(RPM) ()

    1000 937,5 0,70

    2000 1875 1,44

    3000 2812,5 2,10

    4000 3750 2,82

    5000 4687,5 3,53

    6000 5625 4,20

    7000 6562,5 4,85

    8000 7500 5,70

    9000 8437,5 6,30

    A Equao (8) foi utilizada para fazer a converso da frequncia do sinal do encoder

    para velocidade em RPM.

    Utilizando o Software MATLAB, e a partir da Tabela 2, foram plotados os pontos ex-

    perimentais da relao tenso gerada por velocidade do motor 2224 (Figura 10). Utilizando a

    funo polyfit do MATLAB possvel encontrar os termos da funo da reta, equao (11),

    que melhor representa os pontos plotados no grfico, onde a velocidade em RPM, a ten-

    so gerada pelo rotor, o coeficiente angular da reta e o coeficiente linear da reta.

    = + (11)

    Utilizando a funo polyval do MATLAB possvel encontrar os valores numricos

    da reta (11), desta maneira, plotando esses valores temos a reta aproximada no grfico da Figu-

    ra 10.

  • 13

    Figura 10 - Relao tenso gerada por velocidade do motor 2224

    O termo da reta chamado de (constante de velocidade do motor) que o inverso

    de (constante de fora contra eletromotriz) da equao (1). Conforme o datasheet do motor

    2224, Anexo A, a constante de 1380 RPM/V muito prximo do valor encontrado experi-

    mentalmente de 1335 RPM/V, indicando que a metodologia utilizada satisfatria para a leitura

    da fora eletromotriz.

    3.2. Viso geral do Sistema

    Como j foi explicitado na introduo deste Captulo o Sistema proposto composto

    por hardware de interface com o motor CC, programa do microcontrolador para controle do

    hardware e interface grfica do usurio. O funcionamento geral do Sistema Hardware-Software-

    IHM ocorre da seguinte maneira:

    Primeiramente o programa do microcontrolador inicializa todas variveis e perifricos

    necessrios, feito isso, o algortimo fica em estado de espera, aguardando algum pedido

    da IHM via porta serial.

    Na IHM o usurio deve realizar a conexo da porta serial, configurando qual a porta e

    qual a velocidade. Estando o sistema conectado o usurio pode requisitar do microcon-

    trolador dois tipos de teste com o motor CC.

  • 14

    O primeiro teste possvel, chamado de Step, consiste em ligar o motor CC durante meio

    segundo (500ms) realizando uma amostragem da velocidade via encoder e da F.E.M do

    motor a cada 5ms. O microcontrolador transmite ento esses dados para a IHM onde

    so montados trs grficos, um da relao velocidade por tenso gerada, outro da tenso

    gerada pelo tempo, e o ultimo grfico contendo a velocidade mensurada pelo encoder e

    a velocidade mensurada atravs da F.E.M pelo tempo.

    O segundo teste possvel, chamado de Continuos, consiste em ligar o motor continua-

    mente at que seja realizada uma requisio pelo usurio para que seja desligado. Desta

    forma, a IHM recebe continuamente amostras da velocidade proveniente do encoder e

    da velocidade proveniente da F.E.M a cada 100ms, plotando um grfico em tempo real

    com essas velocidades.

    3.3. Plataforma de aquisio e controle

    A plataforma de aquisio e controle consiste no hardware necessrio para realizar a

    aquisio de dados dos sensores (encoder e A/D), processamento destes dados e a comunicao

    com o microcomputador que incorpora a interface do usurio.

    A fim de atender um dos objetivos deste projeto que diminuir o custo final de um sis-

    tema de controle para motores CC, a plataforma de aquisio e controle foi projetada, construda

    e programada durante este trabalho, ficando o usurio independente de qualquer tecnologia re-

    servada ou proprietria, podendo substituir facilmente qualquer componente do sistema ou

    mesmo transpor os cdigos para outros microcontroladores.

    Uma viso geral da plataforma de aquisio e controle pode ser vista na Figura 11. O

    projeto completo do hardware encontra-se no Apndice A.

  • 15

    Figura 11 - Diagrama da Plataforma de Aquisio e Controle

    Microcontrolador

    Dentre todo o leque de opes disponveis no mercado de microcontroladores algumas

    opes foram escolhidas para estudo e futura escolha de qual a opo que melhor se enquadra

    na aplicao. Em ordem crescente de custo e complexidade os microcontroladores estudados

    so: PIC18F, DsPIC33F, e a Famlia ARM7 da Atmel. Atendendo a exigncia de um projeto de

    baixo custo optou-se pelo PIC18F4431 do fabricante Microchip [5]. Este um microcontrolador

    projetado para aplicaes onde envolva o controle de motores, oferecendo uma gama de perif-

    ricos necessrios para este projeto, como:

    14-Bit Power Control PWM Module: Modulo para gerao de sinal PWM com reso-

    luo de 14-Bit.

    Motion Feedback Module w/ Quadrature Encoder Interface : Modulo para leitura

    da frequncia do sinal gerado por um encoder incremental.

    High-Speed, 200 ksps 10-Bit A/D Converter: Conversor Analgico/Digital de alta ve-

    locidade com resoluo de 10-Bit.

    Enhanced USART module: Modulo para comunicao serial.

    40 MHz Max Speed: Velocidade mxima do clock de 40 MHz.

  • 16

    8 x 8 Hardware Multiplier: Multiplicador implementado em hardware capaz de rea-

    lizar multiplicaes de 8-bit em um nico ciclo de mquina, reduzindo de 6,9us para

    100ns o tempo de uma multiplicao, para um clock de 40 MHz.

    Aquisio da fora eletromotriz

    Para a aquisio da tenso gerada pelo motor quando em estado gerador, ou seja, quan-

    do o PWM est desligado, adicionou-se um divisor por 2 de tenso ao terminal positivo do mo-

    tor, fazendo = = 100 e ento se adicionou um buffer (amplificador operacional com

    ganho 1) para que o A/D do microcontrolador no carregasse o circuito anterior.

    O conversor Analgico/Digital do microcontrolador foi programado para utilizar como

    tenso de referncia sua prpria alimentao, neste caso, 5 Volts. Isto se fez porque a alimenta-

    o do microcontrolador proveniente de um regulador de tenso, sendo esta uma alimentao

    mais estvel quanto a flutuaes, garantindo uma tenso de referncia confivel. Desta forma a

    tenso mxima admitida pelo sistema para a leitura da F.E.M de 10 Volts j que a tenso

    dividida por 2 no divisor resistivo. Esta configurao para o conversor A/D tambm proporciona

    liberdade na tenso de alimentao do motor podendo ser de no mnimo 6 Volts, fixado pelo

    regulador de tenso de 5 Volts, e de no mximo 10 volts para que a F.E.M tambm no ultra-

    passe esse valor, que o mximo aceito pelo conversor A/D nesse caso.

    Aquisio do sinal do encoder

    Para a aquisio do sinal do encoder foi utilizado o perifrico Quadrature Encoder In-

    terface que o microcontrolador PIC18F4431 possui. Com este perifrico dispensou-se qual-

    quer outro dispositivo de interface, sendo, portanto o encoder ligado diretamente no microcon-

    trolador. Para isto, so utilizados dois fios, QEA e QEB que fornecem dois sinais de quadratura

    defasados de 45 graus, necessrios para a possibilidade de deteco de sentido de rotao do

    motor.

    O funcionamento de um encoder incremental foi explicado no item 2.3.1.

    Ponte H

    O componente utilizado para a ponte H foi o L298. Este componente possui duas pontes

    H em um mesmo encapsulamento com capacidade de acionar cargas de 50 Volts com at 2A em

    modo continuo e 3A para correntes de pico. Esses valores so para cada um dos dois canais, se

  • 17

    utilizados em modo paralelo, os valores de corrente dobram, podendo chavear correntes de at

    4A.

    Com esta ponte possvel, alm de chavear o motor com o sinal do PWM, inverter seu

    sentido de rotao. Porm esta funo no foi implementada por no ser necessria ao projeto.

    3.4. Ambiente de desenvolvimento

    Para o desenvolvimento do programa para o microcontrolador PIC18F4431 foi utilizado

    o Ambiente de Desenvolvimento Integrado MPLAB do prprio fabricante do microcontrolador,

    a MICROCHIP. Este um software distribudo gratuitamente pelo fabricante.

    Segundo o fabricante [5]

    [...] MPLAB Integrated Development Environment (IDE) um conjunto

    de ferramentas livres integrado para o desenvolvimento de aplicaes em-

    barcadas utilizando o PIC da Microchip e tambm os dsPIC microcon-

    troladores. MPLAB IDE executado como um aplicativo de 32 bits em

    MS Windows e inclui uma srie de componentes de software livre para

    desenvolvimento de aplicaes rpidas e para depurao. MPLAB IDE

    tambm serve como uma interface de usurio unificada e grfica para sof-

    twares Microchip adicionais e software de terceiros e ferramentas de de-

    senvolvimento de hardware [...].

    Para a programao do microcontrolador utilizando a linguagem de programao C foi

    utilizado o software adicional MPLAB C18 C Compiler [6] que deve ser instaldo de maneira

    conjunta com o MPLAB (IDE).

    Descriso do Programa de Controle

    Com todos os requisitos de projeto em mente, o mtodo a ser desenvolvido e o material

    necessrio como descrito no item 3, foi projetado o programa de controle para o microcontrolo-

    dor como pode ser visto no fluxograma da Figura 14.

    No Apndice B encontra-se o programa escrito em linguagem C utilizando o MPLAB

    (IDE). A seguir sero explanados os principais pontos do programa de controle.

  • 18

    Inicializao

    Este projeto exige do microcontrolador o uso de vrios perifricos. Para que eles pos-

    sam ser utilizados o programa deve inicializ-los, configurando todos os seus registradores de

    acordo com as funcionalidades requeridas. Os cinco perifricos que devem ser inicializados so:

    porta serial, timer, modulo de controle PWM, interface de quadratura do encoder e o conversor

    A/D.

    Porta Serial

    Para a comunicao serial foi escolhida a velocidade de 115,2Kbps na configurao as-

    sincrona. O Baudrate da comunicao serial deve ser configurado utilizando os registradores

    SPBRG e SPBRGH. Conforme Tabela 3 retirada da folha de dados do microcontrolador

    PIC18F4431 e considerando que = 40 temos o valor 86 para o registrador SPBRG.

    Tabela 3- "BAUD RATES" para a serial [5].

    Os registradores TXSTA e RCSTA tambm devem ser configurados. Maiores detalhes

    podem ser encontrados na folha de dados do microcontrolador.

    A comunicao serial entre microcontrolador (plataforma de aquisio e controle) e mi-

    crocomputador (IHM) ocorre de maneira bidirecional, com a IHM realizando pedidos e a plata-

    forma transmitindo dados.

    A mensagem de pedido, transmitido pela IHM e recebido pelo microcontrolador,

    composta por quatro caracteres o primero podendo ser Sou C indicando dois tipos de rotinas

    distintas. O segundo caracter escrito como um inteiro sem sinal, ou seja, um valor de 0 a

    255, porm sero usados apenas valores de 0 a 100 para indicar a porcentagem do sinal PWM

  • 19

    requerida pelo usurio. Os caracteres seguintes no esto sendo usados, foram adicionados para

    serem usados em futuras aplicaes.

    A mensagem de transmisso de dados, transmitida do microcontrolador para a IHM,

    formada por caracteres ASCII. A cada pacote transmitido forma-se uma linha contendo trs

    colunas, sendo cada uma das colunas um dado diferente, a primeira coluna contm a velocidade

    em RPM mensurada pelo encoder, a segunda coluna contm o do conversor A/D para a F.E.M e

    a terceira coluna pode conter o timer do microcontrolador ou o valor do conversor A/D para a

    corrente do motor.

    Timer

    O timer do microcontrolador foi utilizado para que fosse fixado o tempo de amostragem

    dos valores de velocidade dos sensores. Desta forma a cada iterao do programa existe uma

    rotina de espera para que o timer atinja o tempo desejado. Os tempos escolhidos para as amos-

    tragens so de 5ms para a funco Step e de 100ms para a funo Continuos.

    Modulo de controle PWM

    Para a configurao do PWM so utilizados os registradores PTCON0, PWMCON0 e

    PTCON1 onde so configurados quesitos como canais, portas, postscale e prescale. Os registra-

    dores PTPERH e PTPERL so resposveis pela frequncia do PWM, desta maneira, seguindo

    recomendas da folha de dados do microcontrolador PIC18F4431, foi utilizado o valor 01FFh

    para estes registradores, assim a frequncia do PWM ser de 19,5KHz, com preciso de 11bits

    para o duty cicle do PWM, com isso os registradores PDC0L e PDC0H podem ser carregados

    com valores de 0 a 2047 para a escolha de 0 a 100% do duty cicle do sinal PWM.

    Interface de quadratura do encoder

    Para este perifrico so trs registradores os responsveis por sua configurao, QEI-

    CON, CAP1CON e T5CON. Deve ser selecionado o modo como o periodo do sinal de quadra-

    tura do encoder ser lido, como o encoder utilizado neste projeto um encoder de baixa resolu-

    o, no caso 64 pulsos por volta, foi escolhido o modo que oferece a maior resoluo possivel.

    Este modo realiza a contagem de tempo entre a borda de subida de um canal e a borda de desci-

    da do outro canal, como indicado na Figura 12.

  • 20

    Figura 12 - Sinais QEA e QEB do encoder

    Para uma velocidade de 10000rpm, utilizando a equao (8), o perodo de um dos sinais

    do encoder de 93,75 s, como o tempo entre as bordas de subida de um canal e a de descida

    do outro canal um quarto do perodo de um sinal, temos um tempo de 23,43 s, sendo este o

    tempo minimo que o timer do encoder, neste caso o timer 5, deve ser capaz de mensurar para a

    leitura de velocidades de at 10000rpm.

    Para satisfazer a necessidade acima o timer 5 foi configurado com um prescale de 1:8,

    sendo o clock de 10MHz e o timer de 16-bit, o tempo minimo medido pelo timer de 0,8 s,

    mais do que suficiente para leituras de at 10000rpm. Porm este tempo minimo para o timer

    no pode ser muito grande para que se tenha uma preciso de leitura suficiente.

    O tempo mximo que o timer 5 pode contar de 52,4 ms o que corresponde a aproxi-

    madamente 4 rpm, sendo esta a velocidade mnima possvel de ser lida.

    Conversor A/D

    Para o perifrico conversor anlgico-digital so vrios os registradores para configura-

    o. As configuraes principais so a escolha dos canais A/D, quais sero as tenses de refe-

    rncia, configuraes referentes memoria FIFO para registrar os valores lidos, clock de con-

    verso, entre outros.

    Para realizar a leitura da F.E.M o programa realiza a seguinte rotina. Primeiramente o

    motor desligado, fazendo o sinal do PWM ir a zero; uma rotina de delay adicionada para

    esperar o transitrio do motor, no caso do motor 2224 o transitrio mdio de 30s, para o de-

    lay foi utilizado 300s para garantia de qualidade no sinal lido. Aps este delay inicia-se a con-

    verso, o tempo de converso varivel, desta maneira utiliza-se a funo While( ) para espera

    da converso. Realizada a converso o motor acionado novamente.

  • 21

    O tempo mdio que o motor deve permanecer desligado para que ocorra a leitura da

    F.E.M a soma do tempo do transitrio mais o tempo para que ocorra a converso A/D, para

    este projeto utilizando o motor 2224 este tempo de no mximo 350s.

    3.5. Software de simulao

    Durante o desenvolvimento do algoritimo para o microcontrolador foi utilizado o Software

    ISIS-PROTEUS v7.8 SP2 onde foi montado todo o hardware incluindo o microcontrolador.

    Neste Software possivel rodar o programa no microcontrolador, possibilitando testes rpidos e

    eficazes. Posteriormente foi utilizado o Software Free Virtual Serial Ports capaz de criar um

    duto de dados entre duas portas seriais virtuais, desta maneira foi possivel comunicar o hardwa-

    re simulado no ISIS com o MATLAB para testes com a IHM. Na Figura 13 est a imagem do

    software ISIS com o esquemtico do hardware testado.

    Figura 13 - Software de Simulao

  • 22

    Figura 14 - Fluxograma do programa do microcontrolador

  • 23

    3.6. Interface Homem-Mquina (IHM)

    Com o intuito de facilitar todo o processo de ao de comando e consecutiva aquisio

    de dados pela plataforma de aquisio e controle, foi criada uma interface para que o usurio

    possa realizar algumas aes de forma rpida e eficiente.

    Desenvolvimento da IHM

    O MATLAB possui uma ferramenta muito prtica para o desenvolvimento de interfaces

    grficas. Com o utilitrio GUI Graphical User Interface possvel montar rapidamente uma

    interface, selecionando e arrastando as componentes desejadas, como botes, caixa de texto,

    campos de seleo e at mesmo grficos. Este utilitrio pode ser acessado atravs do comando

    GUIDE na janela de comandos do MATLAB. Na Figura 15 est a interface montada para este

    projeto. Os seguintes componentes foram utilizados para compor a interface: Push Button, Lis-

    tBox, Edit Text, Slider, Table e Axes.

    Figura 15 - Interface Grfica

    Funcionamento da IHM

    Tendo a interface montada com os componentes necessrios, quando o usurio clicar

    em Run Figure na Toolbar do GUIDE, ser gerado o cdigo em linguagem do MATLAB da

  • 24

    interface grfica montada. Este cdigo composto por uma parte que o usurio no deve editar,

    referente construo da interface, e outra parte onde se encontram todos os Callbacks dos

    componentes da interface.

    Callback uma funo que chamada/executada quando o usurio executa alguma ao na

    interface grfica, desta forma, quando um boto pressionado o Callback referente a este boto

    chamado e ento executada a ao programada para este boto.

    O boto Connect

    A primeira ao que o usurio deve executar para colocar o sistema em funcionamento

    selecionar em qual porta serial est conectada a plataforma de aquisio e controle atravs da

    ListBox que lista todas as portas seriais disponveis no microcomputador, deve tambm entrar

    com o valor do Baud Rate da comunicao serial e por fim clicar no boto Connect para que a

    porta serial seja aberta ficando disponvel para troca de dados.

    Step Response

    Estando o sistema conectado, os botes Start e On/Off ficam liberados para seleo. O

    boto Start aciona a ao chamada aqui de Step, ao referente Mens=Step no fluxograma

    da Figura 14. Esta ao roda o programa que pode ser visto a seguir:

    PWM=get(handles.slider1, 'Value');

    fwrite(handles.serConn, 's');fwrite(handles.serConn, PWM, 'uint8');fwrite(handles.serConn, 'xx');

    data1=fscanf(handles.serConn,'%u', [3 100]);

    encoder=data1(1,:);AD=data1(2,:);time=(0.005)*data1(3,:);%time em 5msRPM_AD=(AD*2*(5/1023)*1340);%2224

    ..Continua

    A primeira linha do cdigo realiza a leitura do Slider referente ao valor do PWM esco-

    lhido pelo usurio na interface grfica. As trs linhas seguintes possuem a funo fwrite( ), fun-

    o esta que escreve na porta serial, neste caso ela inicia escrevendo a letra S seguida do valor

    do PWM e ento duas letras X. A letra S indicativa de funo Step, e as letras XX apenas pre-

    enchem um espao vazio no pacote da mensagem. Este espao vazio foi deixado para que o

    software fique flexvel, possibilitando futuras modificaes.

  • 25

    A funo fscanf( ) responsvel por ler o contedo do buffer da serial do microcompu-

    tador, um de seus parmetros [3 100] indicando que deve ser lido do buffer uma matriz de 3

    colunas e 100 linhas. As linhas seguintes do cdigo mostram como esta matriz 3x100 foi sepa-

    rada. O valor da velocidade em RPM proveniente do encoder encontra-se na primeira coluna. O

    valor da F.E.M proveniente do conversor A/D est na segunda coluna da matriz.

    O valor transmitido pelo microcontrolador e lido pela IHM para o valor da F.E.M est

    em seu estado no tratado, ou seja, este um valor entre 0 e 1024, escala referente as tenses

    de referncia 0 e 5 Volts do conversor A/D. Esta varivel ainda deve ser multiplicada por 2 j

    que existe uma diviso por 2 no valor da F.E.M, e ento multiplicada por (constante de ve-

    locidade do motor), que no exemplo acima se usou o valor 1340, assim o resultado desta opera-

    o o valor da velocidade em RPM proveniente da F.E.M. Estas operaes podem ser coloca-

    das no processamento do microcontrolador , mas foi escolhido faz-las no MATLAB para que o

    usurio tenha a possibilidades de adapt-las de maneira rpida.

    As linhas seguintes deste cdigo podem ser consultadas no Apndice C onde se encon-

    tra todo o cdigo da IHM. As linhas seguintes so responsveis pela gerao dos trs grficos

    propostos, um da relao velocidade por tenso gerada, outro da tenso gerada pelo tempo, e o

    ultimo grfico contendo a velocidade mensurada pelo encoder e a velocidade mensurada

    atravs da F.E.M pelo tempo. O comando utilizado para gerar estes grficos o comando plot(

    ) com algumas funes auxiliares para adicionar legendas e cores aos grficos. Neste ponto do

    programa o usurio tem total liberdade de alterar os tipo, os dados, e a maneira como estes gr-

    ficos sero gerados de acordo com suas necessidades.

    Test Continuos

    O boto On aciona a ao chamada aqui de Continuos, ao referente Mens=Cont

    no fluxograma da Figura 14. Este Callback funciona de maneira idntica ao Step com a dife-

    rena de que os dados so lidos da serial em tempo real e o grfico gerado atualizado tambm

    em tempo real. Esta funo executada at que o usurio aperte a tecla On/Off novamente.

  • 26

    4. Resultados

    Realizando o teste Step para o motor 2224-006SR da Faulhaber que j possui encoder

    acoplado ao seu eixo. Encontramos o grfico da relao velocidade por F.E.M, Figura 16. Pela

    equao resultante para a reta aproximada temos que o coeficiente angular da reta, que tambm

    corresponde constante de velocidade do motor () igual a 1374 rpm/V, valor prximo ao

    esperado para este motor que de 1380 rpm/V conforme folha de dados do Anexo A.

    Figura 16 - Curva da Relao Velocidade por F.E.M

    O segundo grfico produzido pelo sistema a curva da F.E.M pelo tempo, Figura 17.

    Como pode ser observada, a tenso mxima desta curva de 6 Volts correspondendo veloci-

    dade mxima do motor 2224 quando alimentado com uma tenso de 6 Volts. O rudo sobrepos-

    to ao sinal CC devido ao comutador para este motor no muito significativo, assim no foi

    adicionado nenhum tipo de filtro para este sinal.

  • 27

    Figura 17 - Curva da F.E.M pelo Tempo

    O terceiro grfico produzido pelo sistema a curva caracterstica do motor contendo

    dois traos, um referente velocidade em RPM lida por meio do encoder e o outro referente

    velocidade em RPM lida por meio da F.E.M, (Figura 18). Como pode ser observada no grfico,

    a velocidade lida pela F.E.M muito prxima da velocidade lida pelo encoder indicando que o

    sistema est operando satisfatoriamente. No foi calculado o erro mdio para este grfico j que

    os dois sinais so ruidosos, no existindo, portanto, um valor exato de referncia para a veloci-

    dade do motor.

    Figura 18 - Curva Caracterstica do Motor

  • 28

    Realizando o teste Continuos para o motor 2224-006SR obteve-se a Figura 19. Como

    pode ser observado no grfico da IHM ocorre uma variao no sinal, isto porque foi adicionado

    um torque variado ao motor para que pudesse ser visto o comportamento da velocidade. O gr-

    fico possui trs traos distintos, o de cor azul refere-se velocidade em RPM mensurada pelo

    encoder, o de cor vermelha velocidade mensurada pela F.E.M e o de cor verde referente a

    velocidade mensurada pela F.E.M atravs de um filtro de mdia mvel.

    Figura 19 - IHM no teste "Continuos"

  • 29

    Os testes foram realizados tambm com o motor PM080-AU-S da Action, Anexo B,

    que um motor CC de baixo custo de fabricao brasileira. Para possibilitar a leitura da veloci-

    dade real do motor fez-se a montagem da Figura 20. Acoplando o eixo do motor PM080 ao

    eixo do motor 2224 foi possvel utilizar o encoder do motor 2224.

    Figura 20 - Acoplamento dos motores

    Na Figura 21 pode ser observado o grfico da relao velocidade por F.E.M. O valor

    encontrado para a constante de velocidade do motor () igual a 2058 RPM/V, porm com os

    testes realizados foi constatado que este valor no corresponde ao valor correto e que observan-

    do o grfico da Figura 23 percebe-se que o valor da F.E.M muito ruidoso para este motor.

    Para diminuir a influncia do rudo adicionado pelo comutador foi projetado um filtro de mdia

    mvel para este sinal. Obteve-se o melhor resultado para o filtro de mdia mvel utilizando a

    mdia das trs ultimas amostras do sinal, com isso o valor encontrado para a constante foi de

    2160 RPM/V, Figura 22.

  • 30

    Figura 21 - Curva da Relao Velocidade por F.E.M para o motor da Action

    Figura 22 - Curva da Relao Velocidade por FEM para o motor Action com filtro

    Utilizando = 2160/ obteve-se o grfico da Figura 24 para a curva caracte-

    rstica do motor PM080-AU-S da Action, no grfico podem ser observados trs diferentes tra-

    os, velocidade mensurada pelo encoder, mensurada pela F.E.M e a velocidade mensurada pela

    F.E.M com o filtro de mdia mvel das trs ultimas amostras. O valor nominal de para este

    motor no disponibilizado pelo fabricante, desta maneira seu valor foi determinado por meio

    de testes.

  • 31

    Figura 23 - Curva da F.E.M pelo Tempo para o motor da Action

    Figura 24 - Curva caracterstica para o motor da Action

  • 32

    5. Concluses

    Este projeto possibilitou a integrao de vrias tecnologias e conceitos adquiridos du-

    rante o curso de Engenharia Eltrica da Escola de Engenharia de So Carlos, como teorias nas

    reas de Microcontroladores, Programao C, Controle, Instrumentao, Eletrnica de Potncia,

    entre outros.

    O objetivo inicial deste projeto era apenas estudar e implementar uma metodologia de

    leitura de velocidade em motores CC, porm o trabalho foi alm do estudo da metodologia, foi

    desenvolvido todo um sistema Hardware Software IHM de baixo custo que possibilita futu-

    ros estudos nas reas de controle, filtros, aquisio de sinais, e controles gerais por meio de

    interface com o computador. Todas as tcnicas aqui utilizadas fazem uso de componentes e

    programas comuns a estudantes de Engenharia Eltrica, possibilitando fcil entendimento e fcil

    acesso aos materiais necessrios para construo deste Sistema. Um exemplo o uso do MA-

    TLAB para a implementao da IHM, software este muito estudado e utilizado por estudantes

    de Engenharia Eltrica.

    O Sistema mostrou-se satisfatrio dentro do esperado; Pode-se concluir que para moto-

    res CC de melhor qualidade, ou seja, com perdas resistivas internas menores, com um nmero

    maior de polos, e um comutador de maior qualidade, que a adio de rudo consideravelmente

    menor comparado com motores CC de baixa qualidade. Porm, com a introduo do filtro, veri-

    ficou-se que mesmo para motores de menor qualidade possvel obter um bom sinal para leitura

    da velocidade para aplicaes onde no exigida grande preciso.

    As limitaes do sistema esto relacionadas com a preciso de leitura dos sinais e tam-

    bm com a frequncia de amostragem. A primeira limitao encontrada est no fato do encoder

    utilizado possuir apenas 64 pulsos por volta de resoluo, limitando a taxa de amostragem da

    velocidade. A comunicao serial utilizada tambm adiciona limitaes ao sistema, sua taxa de

    transferncia baixa quando comparada a sistemas que utilizam a porta USB para comunicao,

    desta forma a frequncia de amostragem dos sinais fica limitada velocidade com que essas

    amostragens podem ser transmitidas IHM. A terceira limitao est no microcontrolador utili-

    zado que possui frequncia mxima de operao de 40MHz.

    Para a continuao deste projeto so sugeridas implementaes de algumas ferramentas

    junto IHM no MATLAB, como: adicionar ao teste Step (resposta ao degrau) a automatizao

    do processo de obteno dos parmetros do motor atravs da curva caracterstica, encontrando a

    funo transferncia do motor CC; Implementar um sistema de sintonia automtica para contro-

    ladores do tipo PID para motores CC de maneira interativa utilizando a IHM e as ferramentas do

    MATLAB.

  • 33

    RefernciasBibliogrficas

    [1] E. V. Snchez e J. G. Gil, Anlisis de tres mtodos para la deteccin de la velocidad de giro de un motor DC, sin el empleo de sensores externos, REE, pp. 72-79, 2009.

    [2] SIEMENS, MOTORES DE CORRENTE CONTNUA/Guia rpido para uma especificao precisa, 2006.

    [3] How stuff works, [Online]. Available: http://www.howstuffworks.com. [Acesso em 01 11 2011].

    [4] V. A. Oliveira, M. L. Aguiar e J. B. Vargas, Sistemas de Controle, So Carlos: EESC-USP, 2005.

    [5] http://www.microchip.com/, [Online].

    [6] Microchip Technology Inc., MPLAB C18 C COMPILER GETTING STARTED, 2005.

  • 34

    Apndice A Eletrnica da Plataforma de Aquisio e Controle

    11

    22

    33

    44

    DD

    CC

    BB

    AA

    Tit

    le

    Num

    ber

    Rev

    isio

    nS

    ize

    A4

    Dat

    e:23

    /10/

    2011

    She

    et

    of

    Fil

    e:D

    :\T

    CC

    \pla

    ca\M

    icro

    .Sch

    Doc

    Dra

    wn

    By:

    15pF

    Cc3

    15pF

    Cc4

    12

    10M

    Hz

    10K

    R4

    Res

    1

    5V

    5V

    100K

    R5

    0.1u

    F

    Cc1

    Cap

    5V

    EN

    12345

    ICS

    P

    Hea

    der

    5

    MC

    LR

    /VP

    P/R

    E3

    18

    RA

    0/A

    N0

    19

    RA

    1/A

    N1

    20

    RA

    2/A

    N2/

    VR

    EF

    -/C

    AP

    1/IN

    DX

    21

    RA

    3/A

    N3/

    VR

    EF

    +/C

    AP

    2/Q

    EA

    22

    RA

    4/A

    N4/

    CA

    P3/

    QE

    B23

    RA

    5/A

    N5/

    LV

    DIN

    24

    RE

    0/A

    N6

    25

    RE

    1/A

    N7

    26

    RE

    2/A

    N8

    27

    AV

    DD

    28

    AV

    SS

    29

    OS

    C1/

    CL

    KI/

    RA

    730

    OS

    C2/

    CL

    KO

    /RA

    631

    RC

    0/T

    1OS

    O/T

    1CK

    I32

    RC

    1/T

    1OS

    I/C

    CP

    2/F

    LT

    A35

    RC

    2/C

    CP

    1/F

    LT

    B36

    RC

    3/T

    0CK

    I/T

    5CK

    I/IN

    T0

    37

    RD

    0/T

    0CK

    I/T

    5CK

    I38

    RD

    1/S

    DO

    39

    RD

    2/S

    DI/

    SD

    A40

    RD

    3/S

    CK

    /SC

    L41

    RC

    4/IN

    T1/

    SD

    I/S

    DA

    42

    RC

    5/IN

    T2/

    SC

    K/S

    CL

    43

    RC

    6/T

    X/C

    K/S

    S44

    RC

    7/R

    X/D

    T/S

    DO

    1

    RD

    4/F

    LT

    A2

    RD

    5/P

    WM

    43

    RD

    6/P

    WM

    64

    RD

    7/P

    WM

    75

    VS

    S6

    VD

    D7

    RB

    0/P

    WM

    08

    RB

    1/P

    WM

    19

    RB

    2/P

    WM

    210

    RB

    3/P

    WM

    311

    RB

    4/K

    BI0

    /PW

    M5

    14

    RB

    5/K

    BI1

    /PW

    M4/

    PG

    M15

    RB

    6/K

    BI2

    /PG

    C16

    RB

    7/K

    BI3

    /PG

    D17

    NC

    12

    NC

    13

    NC

    34

    NC

    33

    mic

    ro

    PIC

    18F

    4431

    -I/P

    TD

    _M

    D S

    chot

    tky

    SE

    N_F

    EM

    SE

    N_I

    _2

    PG

    CP

    GD

    Vpp

    PG

    DP

    GC

    TX

    RX

    Vpp

    Esq

    uem

    tid

    o do

    Har

    dwar

    e

    Lea

    ndro

    Gas

    par

    IN2

    IN1

    12

    Bat

    eria

    Hea

    der

    2H

    5V

    6 a

    10V

    330u

    F

    CE

    1C

    ap P

    ol1

    IN3

    OU

    T2

    GN

    D1

    TA

    B4

    RE

    G5

    LM

    111

    7S-5

    .0

    100n

    F

    Cc2

    Cap

    330u

    F

    CE

    2C

    ap P

    ol1

    100n

    F

    Cc6

    Cap

    Led

    1

    LE

    D0

    560

    R3

    Res

    1

    5V

    330u

    F

    CE

    3C

    ap P

    ol1

    S1

    SW

    -DP

    DT

    EN

    A6

    EN

    B11

    IN1

    5

    IN2

    7

    IN3

    10

    IN4

    12O

    UT

    12

    OU

    T2

    3

    OU

    T3

    13

    OU

    T4

    14

    ISE

    N A

    1

    ISE

    N B

    15

    VS

    4V

    SS

    9

    GN

    D8

    Po

    nteH

    L2

    98N

    IN1

    IN2

    EN

    M1+

    M1-

    D1

    SS

    14 D3

    SS

    14

    D2

    D4

    5V6

    a 1

    0V

    M1+

    2 31

    114

    AM

    P1A

    LM

    324

    N

    6 a

    10V

    100K

    R6

    Res

    1S

    EN

    _FE

    M

    100K

    R7

    Res

    1

    12

    34

    56

    Mot

    or 2

    224

    Hea

    der

    3X

    2

    5V

    QE

    AQ

    EBM

    1+M

    1-

    QE

    AQ

    EB

    1Ri

    Res

    1

    SE

    N_I

    2 31

    114

    AM

    P1A

    LM

    324

    N

    6 a

    10V

    SE

    N_I

    SE

    N_I

    _2

    1KR9

    Res

    1

    10K

    R8

    Res

    1

  • 35

    Apndice B Programa do Microcontrolador

    include #include #include #include #include #include

    #pragma config OSC = HSPLL#pragma config WDTEN = OFF #pragma config PWRTEN = ON

    //Macros#define IN1 PORTBbits.RB0#define IN2 PORTBbits.RB2#define IN3 PORTBbits.RB4#define IN4 PORTBbits.RB5#define AMARELO PORTAbits.RA5#define VERDE PORTEbits.RE0#define PWM_ON_OFF PTCON1bits.PTEN

    struct sent_motor{

    unsigned M1:1;unsigned M2:1;unsigned dados_ready:1;unsigned M1_zero:1;unsigned M2_zero:1;

    };

    typedef union{

    struct sent_motor bits;unsigned char data;

    }sent_motor;

    volatile sent_motor sent_motorbits;unsigned char data[4];int i=0;

    void high_isr (void);void inicializacao (void);void config_encoder (void);void config_analog (void);unsigned int get_encoder(void);void print(unsigned int x1, unsigned int x2, unsigned int y);

    ////////Interrupoes//////#pragma code high_vector=0x08void interrupt_at_high_vector (void){

    _asm GOTO high_isr _endasm}#pragma code

    ///////Sub-rotinas de interrupcao//////#pragma interrupt high_isrvoid high_isr (void){//INTCONbits.GIE=0;//turn off the interruptINTCONbits.PEIE=0;

    if(PIR3bits.IC2QEIF==1)//Encoder1{

    PIR3bits.IC2QEIF=0;sent_motorbits.bits.M1=PORTCbits.RC1;sent_motorbits.bits.M1_zero=0;

    }

    if(PIR1bits.CCP1IF==1)//Encoder

  • 36

    {PIR1bits.CCP1IF=0;sent_motorbits.bits.M2=PORTAbits.RA4;TMR1H=0;//A escrita no Low desencadeia a escrita nos dois registradores, portanto o low deve ser escrito

    depois.TMR1L=0x05;//correcao do tempo de atendimento da interrupcao

    }

    if(PIR1bits.RCIF==1)//Serial{

    data[i]=RCREG;if(i==3)sent_motorbits.bits.dados_ready=1;i++;

    }

    if(INTCONbits.TMR0IF==1);//Timer0{

    INTCONbits.TMR0IF=0;sent_motorbits.bits.M1_zero=1;

    }

    //INTCONbits.GIE=1;INTCONbits.PEIE=1;

    }//-----------------------------------------------------//void main (void){unsigned int encoder_vel_0=0;unsigned int AD3=0,AD2=0,AD1=0,AD0=0,time=0,PWM=0,j=0;unsigned int stop=0;float M;

    AMARELO=0;

    inicializacao();config_encoder();config_analog();

    INTCONbits.GIE=1; //Global Interrupt EnableINTCONbits.PEIE=1; //Peripheral Interrupt Enable

    //------------------------loop-------------------------//

    while(1){if(sent_motorbits.bits.dados_ready)

    {i=0;sent_motorbits.bits.dados_ready=0;if(data[0]=='s')//Step{

    PWM=data[1];PWM=PWM*20; //para PWM em %PDC0L=PWM; //de 0 a 2000PDC0H=PWM/0x100;

    IN1=1;IN2=0;PWM_ON_OFF=1;

    WriteTimer0(65341);// (5ms)/25.6us = 195.3 => 65536-195 = 65341sent_motorbits.bits.M1_zero=1;

    for(j=0; j

  • 37

    //////Encoder/////encoder_vel_0=get_encoder();

    ///// A/D ////PWM_ON_OFF=0;Delay100TCYx(30);//Para o 2224!//Delay100TCYx(100);//(x=> x*10us)Para o Action!ADCON0bits.GO_DONE=1; //inicia aquisicaowhile(ADCON0bits.GO_DONE);PWM_ON_OFF=1;AD0 = ADRESH;AD0 x*10us)Para o Action!ADCON0bits.GO_DONE=1; //inicia aquisicaowhile(ADCON0bits.GO_DONE);PWM_ON_OFF=1;AD0 = ADRESH;AD0

  • 38

    PWM_ON_OFF=0;time=0;stop=0;}

    }//if(dados.ready)}//while}//main

    void inicializacao (void){//Porta A

    ANSEL0 = 0b00000001; //[1] - analogANSEL1 = 0;TRISA = 0b00011101;PORTA = 0;

    //Porta BTRISB=0;PORTB=0;

    //Porta CTRISC=0b10000000;PORTC=0;

    //Porta DTRISD=0b00000000;PORTD=0;

    //Porta ETRISE=0b00000000;PORTE=0;

    //SerialBAUDCTLbits.BRG16=1;SPBRG=0x56; //Baudrate para 40mhz em 16bitsSPBRGH=0x00; //115200 0x56TXSTA=0x24; //57600 0xACRCSTA=0b10010000; //19200 0x208PIE1bits.RCIE=1; //38400 0x0103TRISCbits.TRISC6=0;TRISCbits.TRISC7=1;

    //TimeOpenTimer0( TIMER_INT_ON &T0_16BIT &T0_SOURCE_INT &T0_PS_1_256 );

    //PWMPTCON0=0b00000000; //[7-4]postscale,[3-2]prescale,[1-0]ModePTPERL=0xFF;PTPERH=0x01;PWMCON0=0b00011111; //[7]0, [6-4]ports io, [3-0]output pair //PWM1 e PWM3 outputPDC0L=0; //inicializa todos os registradores de PWMPDC0H=0;PDC1L=0;PDC1H=0;PTCON1=0b10000000;//[7]pwm on, [6]count direction. [5-0]not used

    }

    void config_encoder (void){

    QEICON=0b00010100; //4x and 1:1CAP1CON=0b01000010; //every rise start the counterT5CON=0b11011101; //Encoder 64 - prescale(1:8)

    }

    void config_analog (void){

    ADCON0=0b00000001; //[7-6]0,[5]Cont ou single conversion,[6]ADCON1=0b00000000;ADCON2=0b10111010;ADCON3=0b00000000;ADCHS= 0b00000000; //AN0-A

    }

    unsigned int get_encoder(void)

  • 39

    {unsigned int encoder;encoder = VELRH;encoder

  • 40

    Apndice C Programa da IHM

    function varargout = Motor_GUI(varargin)% Author: Leandro S. Gaspar% Version: 1.0 | Date: 17.10.2011

    % Motor_GUI M-file for Motor_GUI.fig

    % Last Modified by GUIDE v2.5 17-Oct-2011 12:08:55

    % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Motor_GUI_OpeningFcn, ... 'gui_OutputFcn', @Motor_GUI_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end

    if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT

    % --- Executes just before Motor_GUI is made visible.function Motor_GUI_OpeningFcn(hObject, eventdata, handles, varargin)

    serialPorts = instrhwinfo('serial');nPorts = length(serialPorts.SerialPorts);set(handles.portList, 'String', ... [{'Select a port'} ; serialPorts.SerialPorts ]);set(handles.portList, 'Value', 2);

    handles.output = hObject;

    % Update handles structureguidata(hObject, handles);

    % UIWAIT makes Motor_GUI wait for user response (see UIRESUME)% uiwait(handles.figure1);

    % --- Outputs from this function are returned to the command line.function varargout = Motor_GUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Get default command line output from handles structurevarargout{1} = handles.output;

    % --- Executes on selection change in portList.function portList_Callback(hObject, eventdata, handles)% hObject handle to portList (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Hints: contents = cellstr(get(hObject,'String')) returns portList contents as cell array% contents{get(hObject,'Value')} returns selected item from portList

    % --- Executes during object creation, after setting all properties.function portList_CreateFcn(hObject, eventdata, handles)% hObject handle to portList (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

  • 41

    % Hint: listbox controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end

    function history_box_Callback(hObject, eventdata, handles)% hObject handle to history_box (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Hints: get(hObject,'String') returns contents of history_box as text% str2double(get(hObject,'String')) returns contents of history_box as a double

    function baudRateText_Callback(hObject, eventdata, handles)% hObject handle to baudRateText (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Hints: get(hObject,'String') returns contents of baudRateText as text% str2double(get(hObject,'String')) returns contents of baudRateText as a double

    % --- Executes during object creation, after setting all properties.function baudRateText_CreateFcn(hObject, eventdata, handles)% hObject handle to baudRateText (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

    % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end

    % --- Executes on button press in connectButton.function connectButton_Callback(hObject, eventdata, handles) if strcmp(get(hObject,'String'),'Connect') % currently disconnected serPortn = get(handles.portList, 'Value'); if serPortn == 1 errordlg('Select valid COM port'); else serList = get(handles.portList,'String'); serPort = serList{serPortn}; serConn = serial(serPort, 'TimeOut', 1, ... 'BaudRate', str2num(get(handles.baudRateText, 'String')),... 'InputBufferSize', 32768); try fopen(serConn); handles.serConn = serConn; % enable Tx text field and Rx button set(handles.Start, 'Enable', 'On'); set(handles.on, 'Enable', 'On'); set(hObject, 'String','Disconnect') catch e errordlg(e.message); end endelse set(handles.Start, 'Enable', 'Off'); set(handles.on, 'Enable', 'Off'); set(hObject, 'String','Connect') fclose(handles.serConn);endguidata(hObject, handles);

  • 42

    % --- Executes when user attempts to close figure1.function figure1_CloseRequestFcn(hObject, eventdata, handles)% hObject handle to figure1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if isfield(handles, 'serConn') fclose(handles.serConn);end% Hint: delete(hObject) closes the figuredelete(hObject);

    % --- Executes on button press in Start.function Start_Callback(hObject, eventdata, handles)% hObject handle to Start (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%fprintf(handles.serConn, 'vaaa');

    PWM=get(handles.slider1, 'Value');

    fwrite(handles.serConn, 's');fwrite(handles.serConn, PWM, 'uint8');fwrite(handles.serConn, 'xx');

    data1=fscanf(handles.serConn,'%u', [3 100]);

    encoder=data1(1,:);AD=data1(2,:);time=(0.005)*data1(3,:);%time em 5msRPM_AD=(AD*2*(5/1023)*1340);%2224

    %%figure(1);hold on;plot(time,encoder,'b-');plot(time,RPM_AD,'r-*');%plot(time,filter(ones(1,3)/3, 1, RPM_AD),'g-o');title('Curva caracterstica do Motor');axis([0 0.2 0 Inf])xlabel('Tempo(s)');ylabel('RPM');legend('RPM lido pelo encoder','RPM lido pela FCEM','RPM lido pela FCEM com filtro',4);gridhold off%%figure(2)hold onplot(time,AD*2*(5/1023),'r-*');plot(time,AD*2*(5/1023),'r-*');title('Curva da FEM pelo Tempo ');xlabel('Tempo(s)');ylabel('FEM(volts)');gridhold off%%figure(3)hold on

    e=AD*2*(5/1023);

    p = polyfit(e(1:10),encoder(1:10),1);%Polinomio da reta (y = a1 x + a0)RPMa = polyval(p,e);%Valores numricos da curva de ajusteplot(e(1:10),encoder(1:10),'r-*');plot(e(1:10),RPMa(1:10),'b-');text(0,6000,['n =',num2str(p(1),6),' Va + (',num2str(p(2),6),')'],'FontSize',18,'BackgroundColor',[1 1 1],... 'EdgeColor','black');title('Curva da relao Velocidade por FEM');xlabel('n(RPM)');ylabel('FEM(volts)');legend('Pontos Amostrados','Reta Aproximada',4);gridhold off%%set(handles.tabela,'data',data1);

  • 43

    % --- Executes on slider movement.function slider1_Callback(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    % Hints: get(hObject,'Value') returns position of slider% get(hObject,'Min') and get(hObject,'Max') to determine range of slidervalor=get(handles.slider1, 'Value');str=['PWM: ',num2str(valor),'%'];set(handles.text4,'String', str);

    % --- Executes during object creation, after setting all properties.function slider1_CreateFcn(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

    % Hint: slider controls usually have a light gray background.if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);end

    % --- Executes on button press in on.function on_Callback(hObject, eventdata, handles)% hObject handle to on (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)

    if strcmp(get(hObject,'String'),'on') %ligar motor PWM=get(handles.slider1, 'Value'); fwrite(handles.serConn, 'c'); fwrite(handles.serConn, PWM, 'uint8'); fwrite(handles.serConn, 'xx'); RPM1 = 0; RPM2 = 0; RPM3 = 0; time = 0; count = 1; RPM3_1=0; RPM3_0=0;

    hold on;

    plotHandle1 = plot(handles.axes1,time,RPM1,'Marker','.','LineWidth',1,'Color','blue');plotHandle2 = plot(handles.axes1,time,RPM2,'Marker','.','LineWidth',1,'Color','red');plotHandle3 = plot(handles.axes1,time,RPM3,'Marker','.','LineWidth',1,'Color','green');

    xlim(handles.axes1,[min(time) max(time+1)]);ylim(handles.axes1,[0 10000]);

    set(handles.on,'UserData',1);set(hObject, 'String','off');set(hObject, 'BackgroundColor','red');

    else strcmp(get(hObject,'String'),'off'); fwrite(handles.serConn, 'xxxx');% deliga o motor set(handles.on,'UserData',0);% muda a flag set(hObject, 'String','on');% muda o nome do pushbutton set(hObject, 'BackgroundColor','green');end

    while (get(handles.on,'UserData') ==1)% testa a flag data2=fscanf(handles.serConn,'%u', [3 1]); encoder=data2(1,:); AD=data2(2,:); t=(0.1)* data2(3,:); RPM_AD =(AD*2*(5/1023)*1340);%2224

  • 44

    time(count) = t; RPM1(count) = encoder; RPM2(count) = RPM_AD; %RPM3(count) = 3*(filter(ones(1,3)/3, 1, RPM_AD)); RPM3_0=RPM_AD; RPM3(count)=(RPM3_1+RPM3_0)/2; RPM3_1=RPM3_0; set(plotHandle1,'YData',RPM1,'XData',time); set(plotHandle2,'YData',RPM2,'XData',time); set(plotHandle3,'YData',RPM3,'XData',time); xlim(handles.axes1,[max(time-2) max(time+2)]); ylim(handles.axes1,[0 max(RPM2+1000)]); pause(0.01); count = count +1; drawnowend

    if(handles.serConn.BytesAvailable > 0) fread(handles.serConn,handles.serConn.BytesAvailable);% clear the InputBuffer-Size end

    cla(handles.axes1,'reset'); guidata(hObject, handles);

  • 45

    ANEXO A Folha de dados do Motor 2224-006SR

  • 46

    ANEXO B Folha de dados do Motor PM080-AU-S