Você está na página 1de 59

Ricardo Pereira Ceide

CONTROLADOR PID DIGITAL PARA POSICIONAMENTO


DE SERVOMOTOR CC

BAURU
Ano 2006

Ricardo Pereira Ceide

CONTROLADOR PID DIGITAL PARA POSICIONAMENTO


DE SERVOMOTOR CC

Monografia

apresentada

Faculdade

de

Engenharia da UNESP Campus de Bauru, para


a obteno do ttulo de Especialista em Engenharia
Mecatrnica.

ORIENTADOR: Prof. Dr. Mrio Eduardo Bordon

DIVISO TCNICA DE BIBLIOTECA E DOCUMENTAO


UNESP BAURU

Ceide, Ricardo Pereira.


Controlador PID digital para posicionamento
de servomotor CC / Ricardo Pereira Ceide, 2006.

59 f.
Orientador: Mrio Eduardo Bordon.
Monografia (Especializao)
Universidade Estadual Paulista.
Faculdade de Engenharia, Bauru, 2006.

1. Controlador PID. 2. Controle. 3.


Microcontrolador. I Universidade
Estadual Paulista. Faculdade de
Ficha catalogrfica elaborada por Maristela Brichi Cintra CRB 5046

unesp

UNIVERSIDADE ESTADUAL PAULISTA


"JLIO DE MESQUITA FILHO"
Campus de Bauru

ATA DA AVALIAO DA MONOGRAFIA DEFENDIDA PELO ALUNO Ricardo Pereira Ceide DO


CURSO DE ESPECIALIZAO EM ENGENHARIA MECATRNICA DA FACULDADE DE:
ENGENHARIA DO CAMPUS DE BAURU.
" 'l ? " J:S*

Aos 03 de novembro de 2006, s 14 horas, na Anfiteatro da Ps-graduao da Faculdade de


Engenharia do Campus de Bauru, em sesso pblica reuniu-se a Comisso
Examinadora da defesa da Monografia de Ricardo Pereira Ceide, visando a obteno do
ttulo de Especialista em Engenharia Mecatrnica, assim constituda: Prof. Dr. Mrio
Eduardo Bordon; Prof. Dr. Jos Alfredo Covolan Ulson e o Prof. Dr. Ivo Reis Fontes,
conforme Processo FE n 370/47/01/05. Iniciados os trabalhos o aluno submeteu-se na
forma regimental da defesa da monografia intitulada: "CONTROLADOR PID DIGITAL
PARA POSICIONAMENTO DE SERVOMOTOR CC". Terminado o exame, procedeu-se o
julgamento, cujo resultado foi o seguinte, observada a ordem de arguio: Prof. Dr. Jos
Alfredo Covolan Ulson, nota 7,5; Prof. Dr. Ivo Reis Fontes, nota 7,5 e o Prof. Dr. Mrio
Eduardo Bordon, nota 7,5 Apuradas as notas, verificou-se que o aluno foi habilitado
com nota 7,5. Nada mais havendo a registrar, eu Jos Ricardo Ferreira Pinto Supervisor- substituto da Seo da Ps-graduao da Faculdade de Engenharia Campus de Bauru lavrei a presente ATA, que aps lida e aprovada ser assinada por
todos. Bauru, 03 de novembro de
2006. Prof. Dr. Mrio Eduardo
Bordon, Prof. Dr. Jos Alfredo Covolan
Ulson_ Prof. Dr. Ivo Reis Fontes
Supervisor - Jos Ricardo Ferreira
Pinto_

Faculdade de Engenharia Bauru Seo de Ps-Graduaao


Av. Eng Luiz Edmundo Carrijo Coube 14-01 CEP 17033-360 Bauru SP Brasil
Tel 14 3103 6108 fax 14 3103 6104 spg@feb.unesp.br

Agradecimentos

Agradeo ao meu orientador Mrio Bordon pelas sugestes que enriqueceram


este trabalho.
Roseli Maria Zechi Ceide pela compreenso e apoio.
Saliento tambm que este projeto s foi possvel atravs dos conhecimentos
adquiridos

no

curso

de

especializao.

Comecei

trabalhar

com

os

microcontroladores PIC, especificamente o 16F628, aps o Prof. Marcelo Franchin


comentar que este seria utilizado em uma atividade do curso. A partir deste instante,
busquei um maior conhecimento sobre o assunto.
Comento positivamente as aulas de Controle de Processos Industriais do
Prof. Paulo Srgio da Silva, as aulas de Sistemas de Controle de Movimento do Prof.
Edwin Avolio, as aulas de Sistemas de Controle Inteligente do Prof. Mrio Eduardo
Bordon e as aulas de Sensores e Instrumentao do Prof. Jos Alfredo Covolan
Ulson.

Dedico este trabalho minha


famlia e a Deus.

CEIDE, R. P. Controlador PID Digital para Posicionamento de Servomotor CC.


Bauru, 2006, 59p. Monografia (Especializao em Engenharia Mecatrnica)
Faculdade de Engenharia, Campus de Bauru, Universidade Estadual Paulista Jlio
de Mesquita Filho.

Resumo

Os controladores do tipo PID desempenham um papel de extrema


importncia, permitindo um controle mais preciso do processo ao qual est inserido.
Com o aumento do desempenho e da qualidade dos microprocessadores, os
controladores digitais esto cada vez mais sendo utilizados nos sistemas de
controle. Outras vantagens so o baixo custo e a reduo de tamanho fsico.
Neste trabalho apresenta-se um controlador PID digital para posicionamento
de um servomotor CC, utilizando um microcontrolador PIC 18F2331 da Microchip.
O microcontrolador 18F2331 apresenta caractersticas que fazem dele um
escolha ideal para muitas aplicaes em controle de motores.
Com uma interface de comunicao e o software Matlab, foi possvel obter a
posio do motor e outras informaes, salvar em arquivos texto e apresentar em
forma de grfico.
A implementao do PID digital foi satisfatria pois obteve-se um
posicionamento preciso do servomotor CC.

PALAVRAS-CHAVE: controlador PID, controle, microcontrolador.

CEIDE, R. P. Digital PID Controller for DC Servomotor Emplacement. Bauru, 2006,


59p. Monograph (Specialization in Mechatronic Engineering) College of
Engineering, Bauru Campus, Sao Paulo State University Jlio de Mesquita Filho.

Abstract

The controllers of type PID play a role of extreme importance, allowing a more
necessary control of the process to which are inserted.
With the increase of the performance and the quality of the microprocessors,
the digital controllers are each time more being used in the control systems. Other
advantages are the low cost and the reduction of physical size.
In this work a digital controller PID for positioning of a servomotor CC presents
itself, using a microcontroller PIC 18F2331 of the Microchip. The microcontroller
18F2331 presents characteristics that make of it an ideal choice for many
applications in control of engines.
With a communication interface and Matlab software, was possible to get the
position of the engine and other information, to save in archives text and to present in
graph form.
The implementation of the digital PID was satisfactory therefore got a
necessary positioning of servomotor CC.

KEY WORDS: PID controller, control, microcontroller.

Lista de siglas

A/D

Analgico Digital

CLP

Controlador Lgico Programvel

CPU

Center Processing Unit

D/A

Digital Analgico

EEPROM

Eletrically Erasable Programmable Read-only Memory

Hz

Hertz

LCD

Liquid Cristal Dysplay

PID

Proportional, Integral e Derivative

PWM

Pulse Width Modulation

RISC

Reduced Instruction Set Computer

VCC

Voltage Current Continua

MIPS

Milhes de Instrues por segundo

TL

Transformada de Laplace

CI

Circuito Integrado

Lista de smbolos

Kp

Ganho proporcional

Ki

Ganho integral

Kd

Ganho derivativo

e(t)

Erro do sistema

u(t)

sinal de controle

Ea(t)

tenso de armadura em funo do tempo

Ra

Resistncia de armadura

La

Indutncia de armadura

Vfcem

Tenso induzida na armadura

Tm

Torque do motor

Tj

Torque inercial do sistema

Tb

Torque viscoso

Tc

Torque de carga

Ia

Corrente de armadura

Kt

Constante de torque do motor

Atrito viscoso

Inrcia do motor

Velocidade do motor

(t)

Posio do motor

m
..

Derivada da posio
Derivada segunda da posio

Tm(S)

Transformada de Laplace de Tm

(S)

Transformada de Laplace da posio

Tc(S)

Transformada de Laplace de Tc

Lista de Ilustraes

FIGURA 2.1 REPRESENTAO DO SISTEMA.....................................................20


FIGURA 2.2 - CIRCUITO ELTRICO DO MOTOR CC.............................................22
FIGURA 2.3 CIRCUITO BSICO DE PWM............................................................23
FIGURA 2.4 FORMA DE ONDA DE TENSO DO CIRCUITO...............................24
FIGURA 2.5 PINAGEM DO MICROCONTROLADOR............................................28
FIGURA 2.6 - DIAGRAMA DE MONTAGEM DO SISTEMA......................................33
FIGURA 2.7 CONVERSO DE 20 BITS EM 14 BITS............................................36
FIGURA 3.1 SISTEMA DE CONTROLE DO TIPO MALHA FECHADA..................38
FIGURA 3.2 TRECHO DO PROGRAMA RELACIONADO COM O CONTROLE PID
....................................................................................................................................38
FIGURA 4.1 GRFICO DO SINAL PWM APLICADO AO MOTOR........................44
FIGURA 4.2 GRFICO DO TEMPO DE VARREDURA DO SOFTWARE.............45
FIGURA 4.3 GRFICO DE VC_PWM E DA POSIO.........................................46
FIGURA 4.4 RESPOSTA DO SISTEMA EM FUNO DE KP...............................47
FIGURA 4.5 RESPOSTA DO SISTEMA EM FUNO DOS PARMETROS DE
CONTROLE................................................................................................................48
FIGURA 4.6 RESPOSTA DO SISTEMA EM FUNO DOS PARMETROS DE
CONTROLE................................................................................................................49
FIGURA 4.7 RESPOSTA DO SISTEMA EM FUNO DOS PARMETROS DE
CONTROLE................................................................................................................50
ANEXO 1 CARACTERISTICAS DO SERVOMOTOR CC.......................................54

Sumrio

1 INTRODUO........................................................................................................15
1.1 Controladores PID.....................................................................................15
1.2 Controladores Analgicos e Digitais..........................................................16
1.3 Microcontroladores PIC.............................................................................17
1.4 Controle de movimento..............................................................................18
1.5 Objetivo......................................................................................................19
2 DESCRIO DO SISTEMA ...................................................................................20
2.1 Introduo..................................................................................................20
2.2 Servomotor CC..........................................................................................21
2.3 PWM..........................................................................................................23
2.4 Encoder......................................................................................................25
2.5 Microcontrolador 18F2331.........................................................................26
2.5.1 Introduo....................................................................................26
2.5.2 Caractersticas de controle de movimento...................................29
2.5.3 Mdulo do PWM...........................................................................29
2.4.4 Leitura do encoder.......................................................................30
2.6 Driver de potncia......................................................................................31
2.6.1 Introduo....................................................................................31
2.6.2 Tipos de PWM..............................................................................31
2.7 Material e Mtodo......................................................................................32
2.7.1 Introduo....................................................................................32
2.7.2 Material utilizado..........................................................................33
2.7.3 Descrio do sistema..................................................................34

2.7.3.1 Hardware........................................................................34
2.7.3.2 Software.........................................................................35
2.7.3.3 Controle PID...................................................................35
3 SISTEMA DE CONTROLE .....................................................................................38
3.1 Controle.....................................................................................................38
3.2 Controlador...............................................................................................39
3.2.1 Proporcional.................................................................................39
3.2.2 Integral.........................................................................................40
3.2.3 Derivativo.....................................................................................41
3.2.4 Controlador PID............................................................................41
3.2.5 Discretizao do Controlador PID................................................42
4 RESULTADOS E DISCUSSES............................................................................44
4.1 Freqncia do PWM..................................................................................44
4.2 Tempo de varredura do programa.............................................................45
4.3 Resposta do sistema.................................................................................46
5 CONCLUSES.......................................................................................................51
REFERNCIAS BIBLIOGRFICAS ..........................................................................52
ANEXO 1 CARACTERSTICAS DO MOTOR .........................................................53
ANEXO 2 ALGORITMO DE CONTROLE NO MICROCONTROLADOR................54
ANEXO 3 SOFTWARE NO MATLAB......................................................................56
ANEXO 4 EXEMPLO DO ARQUIVO GERADO PELO MATLAB............................58

15

CAPITULO 1
Introduo

1.1 Controladores PID

Os controladores do tipo PID, tm sido largamente utilizados no controle de


processos industriais desde a dcada de 30, e sua simplicidade e popularidade
levaram aos estudos realizados por Ziegler-Nichols (1942).
Com o grande avano tecnolgico ocorrido nas ltimas duas dcadas, os
projetos na rea de sistemas de controle foram direcionados aos sistemas lineares
com dados amostrados, com a grande vantagem de se trabalhar com controle
digital, surgindo assim a possibilidade de se implementar um controlador digital,
utilizando as novas tcnicas e dispositivos eletrnicos disponveis.
O controle automtico tem sido vital para o avano da cincia e da
engenharia. Suas aplicaes so inmeras, sendo parte fundamental de sistemas
blicos, aeronaves, robs e muitos outros. O controle automtico atualmente parte
importante dos atuais processos industriais e de fabricao. Neste contexto, o
controle automtico essencial no controle numrico de mquinas-ferramenta nas
indstrias de fabricao, sendo tambm fundamental em operaes industriais tais
como: controle de presso, temperatura, umidade, viscosidade e fluxo em processos
industriais.
Recentes desenvolvimentos em teoria de controle moderno esto no campo
do controle timo, tanto de sistemas determinsticos quanto de estocsticos, bem
como do controle de aprendizado e adaptativo de sistemas complexos. Com os

16

computadores digitais tornando-se mais baratos e mais compactos, estes so


utilizados como partes integrantes destes sistemas de controle (Ogata, 1993).
Neste contexto, os controladores PID (Proporcional, Integral e Derivativo)
desempenham um papel de extrema importncia, permitindo um controle mais
preciso e mais fiel do processo ao qual est relacionado.

1.2 - Controladores Analgicos e Digitais

Os sistemas de controle analgicos so normalmente implementados com


componentes analgicos tais como amplificadores operacionais, resistores e
capacitores. Estes componentes analgicos so dispostos de maneira a formar
estruturas do tipo filtro, que modificam a resposta em freqncia do sistema.
Com o aumento do desempenho e da qualidade dos microprocessadores os
controladores digitais esto tomando o lugar dos controladores analgicos.
Vantagens obtidas com a tcnica digital, conforme BORDON (1993):

Aumento de sensibilidade, onde valores de grande potncia podem ser


controlados por sinais de baixo nvel.

Uso direto de transdutores digitais, aumentando a imunidade a rudos e


no linearidades.

Implementao exata das leis de controle, garantindo a confiabilidade


necessria aos sistemas de controle.

Controle simultneo de vrios sinais, atravs da comunicao digital local


e remota.

17

Geralmente um controlador digital formado basicamente por um controlador,


que processa o sinal de erro. Um conversor digital para analgico (D/A) necessrio
para converter a sada digital do processador em um sinal analgico e acionar o
driver de potncia e o atuador. Para possibilitar a realimentao ao processador,
necessrio um conversor analgico para digital (A/D), como interface do sinal do
sensor para o processador.

1.3 - Microcontroladores PIC

Tipicamente os microcontroladores se caracterizam por incorporarem


internamente memrias de programa e dados. Vrios perifricos como timers,
watchdog timers, comunicao serial, conversores analgicos digitais, geradores de
PWM, etc. Fazendo com que a aplicao final fique extremamente compactada.
A

Microchip

uma

precursora

no

uso

da

tecnologia

RISC

em

microprocessadores. O nome RISC a abreviao de Reduced Instruction Set


Computer (computador com conjunto de instrues reduzido). Diferente da
arquitetura Von Newmann, a estrutura RISC baseada na arquitetura Harvard que
possui um barramento

para dados e outro para o programa, e tem como

caractersticas, tamanhos diferenciados entre o barramento de dados e de


programa, permitindo que em uma nica palavra tenha a instruo e o operando.
Existem modelos de PIC onde o barramento de dados de 8 bits e o de
programa de 12 bits. Com isso consegue-se compactar o cdigo e execut-lo em
alta velocidade.
O alto desempenho da famlia de microcontroladores PIC pode ser atribuda
s seguintes caractersticas da arquitetura RISC, conforme CANZIAN (1998).

18

Conceito de registrador arquivo

Todas as instrues com palavras simples

Palavra de instruo longa (LWI Long Word Instruction)

Arquitetura de instrues em Pipeline

Instrues de apenas um ciclo de mquina

Conjunto de instrues reduzido

1.4 - Controle de movimento

A definio exata de controle de movimento muito complexa, devido ao fato


de expressar diferentes significados para os diversos setores da indstria. Em
muitos casos, as tcnicas de controle de movimento esto intimamente ligadas aos
controladores de movimento, estrutura mecnica do posicionamento e aos
atuadores utilizados na aplicao.
Um controlador de movimento satisfaz quatro caractersticas importantes:
leitura do sinal de realimentao de posio, gerao de um comando de
posicionamento ou perfil de movimento, fechamento da malha de posio e
compensao da instabilidade.
De todas estas caractersticas, os mais importantes so a leitura do sinal de
realimentao de posio e o fechamento da malha de controle. A posio do motor
geralmente determinada por um encoder incremental. A diferena entre a posio
atual e o comando de posio o erro de posio.
O controlador minimiza o erro sem fazer oscilar a carga. Geralmente um
algoritmo PID usado para este servio.

19

1.5 Objetivo

Este trabalho tem como objetivo observar o desempenho de um sistema de


posicionamento de um servomotor CC, utilizando o algoritmo de controle PID
implementado em um microcontrolador.

20

CAPITULO 2
Descrio do Sistema

2.1 Introduo

Este captulo descreve todos os componentes utilizados no sistema e suas


respectivas caractersticas e formas de atuao. O objetivo principal do projeto o
controle de posio e a alterao das variveis de controle PID que modifiquem o
estado do motor de corrente contnua (motor CC).

10

chaves e
botes

microcontrolador

leds e
display

PC
D

encoder

driver e
motor

Figura 2.1 Representao bsica do sistema.

10

21

A informao de velocidade transferida para o microcontrolador atravs de


um dispositivo chamado encoder. Utilizando essas informaes, o microcontrolador
atua de forma autnoma controlando o motor. Para o controle foi implementado no
microcontrolador um algoritmo do tipo PID.
O sistema, alm do microcontrolador, conta tambm com um display LCD
16x2, 1 chave pulsante e um driver para o acionamento do motor de corrente
contnua. Atravs do display so visualizadas informaes como a leitura de
posio, os valores dos ganhos e o valor da varivel Vc_pwm. A chave serve para
habilitar e desabilitar o motor, gerando um degrau de posio.
A variao de velocidade do motor feita utilizando a sada PWM (Modulao
de Largura de Pulso) do microcontrolador e o driver de potncia.
Foi implementada uma interface de comunicao com um microcomputador
utilizando a porta serial RS-232. Foi implementado um script em Matlab para o envio
e recebimento de dados do microcontrolador. O microcomputador faz a leitura da
posio do motor e tambm pode alterar os ganhos do controle PID.

2.2 Servomotor CC

O controle dos motores CC pode ser feito atravs da corrente de campo (If)
ou da corrente da armadura (Ia). O controle por armadura o mtodo mais comum e
foi utilizado neste projeto.
O controle de velocidade do motor conseguido por meio de uma tenso
aplicada armadura (Ea). A polaridade da tenso aplicada determina o sentido do
torque obtido (Tm) e este determina o sentido de giro.

22

Na figura abaixo, Ra e La indicam a resistncia de armadura e a indutncia de


armadura respectivamente. Ia a corrente que circula no circuito de armadura
devido aplicao de Ea (DZZO-HOUPIS (1981)).

Figura 2.2 Circuito eltrico do motor CC.

A equao para o circuito de armadura fica:


.

Ea = La. Ia+ Ra.Ia + Vfcem

(2.1)

Quando a corrente de campo constante, o fluxo produzido pela bobina de


campo tambm constante e nesse caso o conjugado (Tm) desenvolvido pelo motor
proporcional corrente de armadura (Ia).

T m = K t . Ia

(2.2)

onde Kt uma constante que depende do meio magntico e do valor da corrente de


campo.

Podemos relacionar os torques envolvidos no sistema:

23

Tm = Tj + Tb + Tc

(2.3)

onde Tj torque inercial do sistema; Tb o torque viscoso e Tc o torque da carga.

Melhorando a apresentao da equao 3.11 temos:


..

Tm = j. m + B. m + Tc

(2.4)

2.3 PWM

PWM a abreviao de Pulse Width Modulation ou Modulao por largura de


pulso.
Para entender como funciona esta tecnologia no controle de potncia, vamos
partir de um circuito imaginrio formado por um interruptor de ao muito rpida e
uma carga linear que deve ser controlada, de acordo com a figura 2.3.

interruptor
fonte de alimentao CC

carga

Figura 2.3 circuito bsico de PWM.

24

Quando o interruptor est aberto no h corrente na carga e a potncia


aplicada nula. No instante que o interruptor fechado, a carga recebe a tenso
total da fonte e a potncia aplicada mxima.
Para fazermos que a potncia aplicada na carga seja intermediria, digamos
50% da potncia total, necessrio que o interruptor seja rapidamente seja
chaveado, isto , aberto e fechado. O interruptor deve ficar 50% do tempo aberto e
50% do tempo fechado.

tenso de carga (%)


T
100
valor mdio da tenso

50
0
t1

t2

tempo (segundos)

t1 = t2
Figura 2.4 forma de onda de tenso do circuito.

Podemos observar na figura acima, que a soma dos tempos t1 e t2 define o


perodo ou freqncia de chaveamento.

Fchaveamento =

1
1
=
T t1+ t 2

(2.5)

25

A relao entre o tempo do pulso (t1) e o tempo total do chaveamento (t1 + t2)
chamado de duty cycle.

duty _ cycle =

t1
100%
t1 + t 2

(2.6)

Variando-se a largura do pulso e tambm o intervalo de modo a termos ciclos


ativos diferentes, podemos controlar a potncia mdia aplicada a uma carga. Assim,
quando a largura do pulso varia de zero at o mximo, a potncia tambm varia na
mesma proporo.
Este princpio usado no controle PWM, varia-se a largura do pulso de modo
a controlar a potncia aplicada a uma carga.

2.4 Encoder
O encoder gera um pulso para um determinado incremento de rotao do eixo
(encoder rotativo), ou um pulso para uma determinada distncia linear percorrida
(encoder linear).
Embora seja mais utilizado no controle de posio, o encoder tambm
utilizado para medir velocidade, uma vez que medindo a distncia total percorrida
(atravs da contagem dos pulsos na sada do encoder) e o tempo necessrio para
esta distncia ser percorrida, consegue-se calcular a velocidade.
H vrios tipos: magntico, contacto, resistivo, e ptico. Porm, o sistema
mais preciso o encoder ptico. Os encoders pticos operam por meio de um disco

26

com ranhuras ou aberturas transparentes, que se move entre uma fonte de luz (seja
visvel ou infravermelha) e um detector.
Este disco acoplado mecanicamente em um eixo. medida que o eixo
comea a girar, o disco passa entre a fonte e o detector, fazendo com que o feixe de
luz seja interrompido quando encontra uma parte fechada e seja novamente liberado
quando passar por uma abertura transparente, gerando assim uma onda pulsante. A
fonte de luz pode ser um diodo Emissor de Luz (LED), um diodo infravermelho ou
uma pequena lmpada incandescente.
J o detector normalmente um fototransistor ou mais comumente um diodo
fotovoltaico. Esse sistema simples composto por apenas um LED prov um nico
sinal de sada o que indesejvel, uma vez que o sinal de sada, tem um offset CC
que dependente da temperatura fazendo com que o sinal fique difcil de ser usado.
Na prtica, dois fotodiodos so usados, organizados para produzir sinais com
180 de diferena de fase para cada canal, as duas sadas dos diodos so
subtradas para cancelar o offset CC.

2.5 Microcontrolador 18F2331

2.5.1 Introduo

O PIC 18F2331 um microcontrolador que tem perifricos muito teis em


aplicaes de controle de motores. Podendo operar de DC at 40MHZ (ciclo de

27

instruo de 100ns) e faz parte da famlia PIC com instrues de 16 bits, o que
garante alto rendimento computacional com baixo custo.

Caractersticas principais so:

8K (8192 bytes) de memria flash usada para a memria do programa

256 bytes de EEPROM para dados

768 bytes de RAM de dados

Stack com 31 nveis

4K (4096 ) palavras de 12 bits

Multiplicao 8 bits x 8 bits por hardware em apenas 1 ciclo de mquina

Modulo de PWM de 14 bits

Modulo de realimentao de movimento

Conversor A/D de 10 bits de alta velocidade com at 5 entradas

At 24 pinos para uso de entrada e sada

3 interrupes externas

Capacidade de drenar /fornecer 25mA / pino

4 timers programveis de 8 e 16 bits

watchdog programvel

ICSP via 2 pinos

Proteo contra leitura do cdigo

28

Figura 2.5 Pinagem do microcontrolador.

A memria de programa tem por objetivo armazenar as instrues a serem


executadas pelo processador. Esta memria tem como caracterstica no ser voltil,
isto , no perde as informaes na falta de energia.
A memria de dados onde o processador realiza todas as funes de
clculo e armazenamento de informaes transitrias. Esta memria tem como
caracterstica ser voltil, isto , perde informaes na falta de energia.
A memria eeprom de dados uma memria especial que temos no
microcontrolador, esta memria pode ser alterada para armazenar valores e de no
perder estes resultados ao se desconectar a energia. Mas a gravao nesta
memria no feito de forma rpida como na RAM.
Os usos mais indicados para a eeprom so:

gravao de senhas e parmetros de configurao

dados de contadores

29

outros que no podem ser perdidos nos desligamentos

2.5.2 Caractersticas de controle de movimento

O microcontrolador 18F2331 apresenta caractersticas que fazem dele um


escolha ideal para muitas aplicaes de alto desempenho em controle de motores,
(data Sheet do PIC18F2331 (2003)).
Podemos especificar os seguintes perifricos e suas caractersticas:

Mdulo PWM de controle de potncia (PCPWM) com resoluo de 14

bits. O PCPWM pode gerar at 8 sadas PWM complementares.

Desligamento por hardware (shutdown) atravs de entradas de falha.

Interface de encoder com canal A, canal B e sinal de ndice.

Conversor analgico digital de alta velocidade.

2.5.3 Mdulo do PWM

O mdulo de controle PWM simplifica a tarefa de gerar diversas sadas


sincronizadas PWM para uso no controle de motores e aplicaes de converso de
energia. Particularmente, as seguintes aplicaes de controle de movimento e
controle de potncia so englobadas:

Motores de induo monofsicos e trifsicos

Motores CC sem escova

Fontes de energia sem interrupo

Diversos motores CC com escova

30

2.5.4 Leitura do encoder

O microcontrolador tem um perifrico de deteco de posio, sentido e de


velocidade dos sinais de um encoder. Podemos calcular a mxima freqncia de
leitura deste perifrico.
Sabendo que o tempo de ciclo :

Tcy =

1
( f osc / 4)

(2.3)

Tcy Tempo do ciclo de mquina


Fosc freqncia do oscilador

Neste projeto utilizamos um cristal oscilador de 16MHz, logo o ciclo de


mquina ser de 250ns. O Fcy ser 4 MIPS.
Os sinais de quadratura QEA e QEB so lidos em 16 ciclos de clock (16Tcy).
Desta forma podemos calcular a mxima freqncia de leitura do canal de encoder:

Fmax =

1
1
=
= 250KHz
16tcy 16.250ns

(2.4)

Como temos 2 canais, a frequncia mxima possvel para cada canal de


encoder de 125KHz.

31

2.6 Driver de potncia

2.6.1 - Introduo

Para controlar o motor foi utilizado o LMD18200. Este componente uma


ponte H de 3A projetada para ser usada em aplicaes de controle de movimento.
Ideal para alimentar motores CC e motores de passo, o LMD18200 suporta
picos de corrente at 6A.
Este CI contm um circuito inovador que facilita a deteco da corrente de
sada do circuito.

Caractersticas:

Fornece at 3A continuamente

Opera com tenses at 55 volts

Entradas compatveis a TTL e CMOS

Flag de indicao de sobretemperatura de 145 C

Desligamento por sobretemperatura de 170 C

Proteo contra curto-circuito das sadas

Diodos internos de clamp

2.6.2 Tipos de PWM

O LMD18200 interfaceia com diferentes tipos de Sinais de PWM. Os dois


mais conhecidos tipos:

32

PWM anti-fase: o sinal composto pela informao de direo e de


amplitude. Um duty cycle de 50% no sinal do PWM representa zero drive.

PWM amplitude / sinal: consiste de sinais separados de direo e de


amplitude. O sinal de magnitude o duty cycle modulado e a falta do sinal
de pulso o zero drive.

Neste projeto utiliza-se o mtodo do PWM anti-fase. A montagem pode ser


visto na figura 2.6.

2.7 Material e mtodo

2.7.1 Introduo

Este projeto foi idealizado primeiramente como uma implementao de um


sistema de controle OFF-ON de um motor CC. Aps o termino desta etapa, viu-se
que o controle funcionava, mas que aps o motor atingir a posio desejada, ele
fugia da posio devido a sua inrcia. Ocorreu um erro de posicionamento muito
alto.
Para diminuir o erro de posio, foi implementado um controle do tipo PID.
No princpio alimentou-se o motor CC atravs de um transistor TIP137. Mas
com a implementao do controle PID foi necessrio o uso de uma ponte H de
transistores. Desta forma optou-se por utilizar o driver de acionamento LMD18200.
Para analisar a resposta do sistema, implementou-se a comunicao serial
com o software Matlab. Desta forma observou-se a resposta em forma de grfico.

33

+18Vcc

11

+
-

14

+5Vcc
+

28

27

26

25

fontes de alimentao

7
8
9

+5Vcc

3
5
9

24

10

+18Vcc

6
7
4
2
1

23

servo motor DC

22
21
20

10

19

11

18

12

17

13

16

14

15

+5Vcc

16

15

3
+
+

4
5
6

encoder

MAX 232

+ A B -

18F2331

127Vca

LMD18200

13

pwm
brake
habilita

14
13
12
11
10
9

5
9
4
8
3
7
2
6
1

+5Vcc

comunicao serial
rs-232

d7 d6 d5 d4 d3 d2 d1 d0 E RWRS V0 VDDVSS15 16

display
LCD 16x2

Figura 2.6 Diagrama de montagem do sistema

2.7.2 Material utilizado

Para a realizao deste projeto foram utilizados os seguintes componentes:

Microcontrolador PIC 18F2331 - Microchip

Motor CC c/ encoder - Canon

Cristal oscilador de 16MHz

Display LCD 16X2

Fonte de 5Vcc

Fonte de 18Vcc

34

Foram utilizados os seguintes equipamentos:

ScopeMeter 123 - Fluke

Multmetro ET-1400 - Minipa

Gravador PICSTART PLUS - Microchip

Foram utilizados os seguintes softwares:

Compilador Pascal 5.0.0.3 - Mikroelektronika

Matlab 7.0 The Math Works

Mplab IDE 7.40.00.00 - Microchip

2.7.3 Descrio do sistema

O sistema dividido em duas partes: o hardware e o software.


O hardware composto pelo microcontrolador, driver do motor, motor e um
encoder.
O

software

dividido

em

dois

programas:

um

implementado

no

microcontrolador e outro implementado no microcomputador.

2.7.3.1 Hardware

Basicamente, o microcontrolador 18F2331 alimentado por uma tenso 5Vcc


atravs dos pino 7 (VDD). O aterramento est ligado no pino 8 (VSS).
O clock externo est ligado nos pinos 9 e 10 (OSC1 e OSC2). Para gerar o
clock externo, foi utilizado um cristal oscilador de 16MHz.

35

O LCD (display de cristal lquido) est ligado nos pinos 11, 12, 13, 14, 15, 16
e 22 (RD6, RD4, RD7, RD5, E, RS e RW ). A chave est ligada no pino 3 (RA1).
Os pinos 21, 23 e 24 (PWM0, RB2 e RB3) esto ligados no driver
(LMD18200) utilizado para controlar o motor.
Os pinos 17 e 18 (TX e RX) so utilizados para a comunicao serial com o
computador atravs do CI MAX232.
Os pinos 5 e 6 (QEA e QEB) esto ligados ao encoder para aquisio do sinal
correspondente posio do motor.O pino 1 (/MCLR) est ligado uma tenso 5Vcc.
O diagrama de montagem do sistema pode ser visualizado na figura 2.6.

2.7.3.2 Software

A lgica implementada no microcontrolador foi desenvolvida utilizando a


linguagem de programao Pascal, atravs do compilador Mikropascal. Essa lgica
pode ser visualizada no Anexo 2.
A lgica implementada no microcomputador foi desenvolvida utilizando o
Matlab. Essa lgica pode ser visualizada no Anexo 3.
Convm lembrar que o programa, implementado no Matlab, faz a leitura do
canal de comunicao serial e salva os dados em um arquivo de dados em formato
texto. No final do envio, o software apresenta o resultado em forma de grfico.

2.7.4 Controle PID

A principal estratgia do controle PID, utilizar a varivel Vc com um range


de valores bem maior do que a varivel que servir como sinal de controle

36

(Vc_pwm). Com isso a varivel de controle fica mais imune s variaes muito
rpidas no clculo de Vc.
O registrador do modulo PWM tem 14 bits e a varivel de controle (Vc) tem 20
bits, logo se faz necessrio transformar Vc em uma varivel de 14 bits.
Uma varivel de 20 bits tem um range de -524288 at +524287
( 220 = 1048576 ). Uma varivel de 14 bits tem um range de -8192 at +8191
( 214 = 16384 ).
A transformao feita com a diviso por 64

( 26 = 64 ), a parte menos

significativa ser eliminada.

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

20 bits (Vc)

dividindo por 64

14 13 12 11 10 9 8 7 6 5 4 3 2 1

14 bits (Vc_pwm)

Figura 2.7 Converso de 20 bits em 14 bits.

Abaixo temos o trecho do programa que converte um range de 20 bits para


um range de 14 bits.

if (Vc>+524287) then Vc:=+524287;

//limite superior p/ 20 bits

if (Vc<-524288) then Vc:=-524288;

// limite inferior p/ 20 bits

Vc_pwm := Vc/64 + 8192;

// transf. 20 bits em 14 bits do PWM

37

Como utilizou-se o driver LMD18200 na montagem anti-fase, e o registrador


do microcontrolador trabalha com valores de 0 at 16384, logo necessrio que
para o duty cycle de 50% um valor de 8192 para a varivel Vc_pwm e um valor de 0
para Vc.

38

CAPITULO 3
Sistema de Controle

3.1 Controle

O controle do dispositivo do tipo malha fechada. Em um sistema de malha


fechada, o sinal erro a diferena entre o sinal de entrada e o sinal de sada, e
excita o controlador de modo a reduzir o erro e trazer o valor do sinal de sada para
o valor desejado. Uma caracterstica necessria de um sistema de malha fechada
a realimentao. A Figura 3.1 mostra o sistema de malha fechada.

sinal de referncia
sada (posio)
controlador
sinal de erro e(t)

processo
sinal de controle u(t)

realimentao

Figura 3.1 - Sistema de controle do tipo malha fechada.

A seguir, os elementos de um sistema de malha fechada:

Elemento de comparao: compara o valor desejado, ou de referncia, da


varivel controlada com o valor medido e determina o sinal de erro que indica
quanto o valor da sada est desviado do valor desejado;

Elemento de correo: usado para provocar uma mudana no processo de


forma a corrigir o erro e freqentemente chamado de atuador;

39

Processo: o processo ou planta o sistema no qual uma varivel est sendo


controlada;

Elemento de medida: gera um sinal relacionado com a condio da varivel


que est sendo controlada e fornece um sinal de realimentao para o
elemento de comparao, para que ele determine se existe um erro.

3.2 Controlador

O controlador o elemento no sistema de controle em malha fechada que


tem como entrada o sinal de erro e gera uma sada que se torna entrada para o
elemento corretivo. A relao entre a sada e a entrada do controlador chamada de
lei de controle. As formas mais usuais so: proporcional, integral, derivativa e suas
combinaes (PI, PD, PID).
Em alguns sistemas necessrio melhorar o desempenho do controlador, o
que conseguido introduzindo-se elementos adicionais chamados compensadores
nos sistemas de controle.

3.2.1 - Proporcional

Com o controle proporcional, a sada do controlador diretamente


proporcional a sua entrada, sendo esta o sinal de erro e, que uma funo do
tempo. A sada do controle proporcional expressa na equao 3.1 (OGATA
(1993)).

Sada (t ) = Kp.e(t )

(3.1)

40

onde kp uma constante chamada ganho proporcional.

A sada do controlador depende apenas da amplitude do erro no instante de


tempo. O controlador apenas um amplificador com um ganho constante. Um
grande erro em algum instante de tempo acarreta um valor alto na sada do
controlador nesse instante de tempo. O ganho constante tende a existir somente
para uma certa faixa de erros, chamada de banda proporcional.

3.2.2 - Integral

No controle integral, a sada do controlador proporcional a integral do sinal


de erro e com o tempo. A sada do controle integral expressa na equao 3.2.
t

Sada (t ) = Ki e(t ).dt

(3.2)

onde ki uma constante chamada de ganho integral.

A integral entre 0 e t de fato a rea sob a curva do erro entre 0 e t. Assim


quando aparece o sinal de erro, a rea sob a curva aumenta em uma razo regular e
a sada do controlador deve tambm aumentar em uma razo regular. A sada em
qualquer instante de tempo proporcional ao acmulo de efeitos do erro em
instantes anteriores.

41

3.2.3 - Derivativo

No controle derivativo, a sada do controlador proporcional a taxa de


variao do erro e com o tempo. A sada do controle derivativo expressa na
equao 3.3.

Sada(t) = Kp.

de(t)
dt

(3.3)

onde kd uma constante chamada de ganho derivativo.

Com o controle derivativo, to logo o sinal de erro aparea, a sada do


controlador pode tornar-se grande, j que a sada proporcional a taxa de variao
do sinal de erro e no do erro propriamente dito. Isto pode fornecer uma grande
ao corretiva antes que um grande sinal de erro ocorra. Entretanto, se o erro uma
constante, ento no existe ao corretiva, mesmo que o erro seja grande. O
controle derivativo insensvel a sinais de erro constantes ou de variao lenta, e
conseqentemente no usado sozinho, mas combinado com outras formas de
controle.

3.2.4 Controlador PID

Os controladores PID so muito freqentemente usados em sistemas de


controle industriais, conforme OGATA (1993).

42

O controlador PID combina as vantagens do controlador PI e PD. A ao


integral est diretamente ligada preciso do sistema sendo responsvel pelo erro
nulo em regime permanente. O efeito desestabilizador do controlador PI
contrabalanado pela ao derivativa que tende a aumentar a estabilidade relativa
do sistema ao mesmo tempo que torna a resposta do sistema mais rpida devido ao
seu efeito antecipatrio.

Sada(t ) = Kp.e(t ) + Ki e(t ).dt + Kd.


0

de(t)
dt

(3.4)

3.2.5 Discretizao do Controlador PID

Um controlador proporcional mais integral mais derivativo (PID), ou


controlador de trs termos, ter uma sada para uma entrada de um erro e(t). A
sada do controle proporcional mais integral mais derivativo expressa na equao
3.4.
A seguir mostrado a discretizao da equao 3.4, utilizado no algoritmo do
microcontrolador. A discretizao obtida substituindo a varivel tempo (t) por:

t = nT
.
Obtm-se assim uma equao discretizada:

(3.5)

43

Sada(nT) = Kpe
. (nT) + KiT
. e( jT) + Kd
j=0

e(nT) e((n 1)T)


T

(3.6)

onde T o perodo de amostragem e n o nmero da amostra.

Como nT substituda simplesmente por n, dando origem primeira equao


do PID digital:

Sada(n) = Kp.e(n) + KiT


. .e( j) + Kd.
j =0

e(n) e(n 1)
T

(3.7)

Simplificando,
n

Sada(n) = Kp.e(n) + Ki.e( j) + Kd.(e(n) e(n 1))


j =0

(3.8)

Esta equao facilmente implementada em uma linguagem de alto nvel:

Eo

:= E a;

// erro (n -1 )

Ea

:= setp o in t - co n tag em ; // erro (n )

P ro p o rc := E a * K p ;

// term o p ro p o rcio n al

som a

// s o m at ria

:= (so m a + E a);

In t
:= so m a * K i;
D erivat := (E a - E o ) * K d ;
Vc

// term o in teg ral


// term o d erivativo

:= (P ro p o rc + In t + D eriv at); // varivel d e co n tro le

Figura 3.2 Trecho do programa relacionado com o controle PID.

44

CAPITULO 4
Resultados e Discusses

4.1 Freqncia do PWM

Foi oscilografada a forma de onda do sinal do PWM gerado pelo


microcontrolador. Este grfico foi retirado quando o motor estava parado, por isso
observa-se um duty cycle de 50%.
A frequncia o inverso do perodo do sinal.

frequncia =

1
= 500 H z
2.10 3

(4.1)

A frequncia de 500Hz muito baixa, alm de gerar um rudo audvel,


pode esquentar o motor em demasia. Em futuros trabalhos dever ser aumentado.

Figura 4.1 Grfico do PWM aplicado ao motor.

45

4.2 - Tempo de Varredura do programa (scan time)

Para uma anlise da base de tempo, em que os clculos do controle PID do


algoritmo esto sendo realizados, foi oscilografada a forma de onda do tempo de
varredura.
Isto foi possvel setando uma sada digital para que em uma varredura fosse 0
(0Vcc) e na varredura seguinte fosse 1 (5Vcc).
No grfico 4.2, mostra um tempo de varredura de 35ms.
Este tempo muito alto, podendo afetar em muito a eficcia do controle PID.
Em futuros trabalhos dever ser reduzido drasticamente.

Figura 4.2 Grfico da varredura do software.

46

4.3 Resposta do sistema

Com o sistema funcionando, foram aplicados degraus de posio. Os


resultados foram retirados e plotados utilizando o software Matlab.
Estes grficos mostram o comportamento do motor em funo de diversos
valores dos ganhos do PID.

RESPOSTA AO DEGRAU APLICADO NO SERVO DC


12000
Posio do motor
Vc pwm (0 - 16383)

Posio (pulsos de encoder)

10000

8000

6000

4000

2000

10
12
Tempo (s)

14

16

18

20

Figura 4.3 Grfico de Vc_pwm e da posio.

Na figura 4.3 temos a posio do motor e a varivel Vc_pwm. interessante


observar o comportamento de Vc_pwm em funo do tempo.

47

RESPOSTA AO DEGRAU APLICADO NO SERVO DC


8000

Posio (pulsos de encoder)

7000
6000
5000

Kp=10 Ki=0 Kd=0


Kp=100 Ki=0 Kd=0
Kp=200 Ki=0 Kd=0

4000
3000
2000
1000
0

8
10
Tempo (s)

12

14

16

18

Figura 4.4 Resposta do sistema em funo de Kp.

A figura 4.4 mostra o efeito sobre a resposta de diversos valores de Kp.


O aumento do ganho proporcional faz com que o tempo de subida fique
menor no sistema. Isto ocorre devido ao valor do coeficiente de amortecimento ser
inversamente proporcional ao valor de Kp.
Conforme Ogata(1993) pg. 207, o coeficiente de amortecimento a relao
entre o amortecimento real B e o amortecimento crtico 2 JK . Isto indica a
tendncia mostrada no grfico acima.

48

RESPOSTA AO DEGRAU APLICADO NO SERVO DC


12000

Kp=10 Ki=1 Kd=0


Kp=50 Ki=1 Kd=0
Kp=100 Ki=1 Kd=0

Posio (pulsos de encoder)

10000

8000

6000

4000

2000

8
10
Tempo (s)

12

14

16

18

Figura 4.5 Resposta do sistema em funo dos parmetros de controle.

Pegando o sistema conforme os ganhos proporcionais mostrados na figura


4.4 e aplicando o ganho integral de 1, observa-se a resposta na figura 4.5.
O valor do ganho integral muito alto e o sistema tende a oscilar.
Somente com um valor alto do ganho proporcional que o sistema oscila
menos.

49

RESPOSTA AO DEGRAU APLICADO NO SERVO DC


12000
Kp=20 Ki=0.1 Kd=0
Kp=20 Ki=0.3 Kd=0
Kp=20 Ki=1 Kd=0

Posio (pulsos de encoder)

10000

8000

6000

4000

2000

8
10
Tempo (s)

12

14

16

18

Figura 4.6 Resposta do sistema em funo dos parmetros de controle.

Aplicando um valor fixo do ganho proporcional e diversos valores do ganho


integral, pode-se observar qual o melhor valor para Ki
O sistema fica mais instvel com um valor alto de Ki.

50

RESPOSTA AO DEGRAU APLICADO NO SERVO DC


10000
Kp=70 Ki=0.1 Kd=1
Kp=70 Ki=0.1 Kd=2
Kp=70 Ki=0.1 Kd=10

9000

Posio (pulsos de encoder)

8000
7000
6000
5000
4000
3000
2000
1000
0

8
10
Tempo (s)

12

14

16

18

Figura 4.7 Resposta do sistema em funo dos parmetros de controle.

No grfico 4.7 observa-se que o ganho derivativo pouco influencia na


resposta do sistema. Foram aplicados diversos valores de Kd, mas no houve
alterao significativa na resposta.

51

CAPITULO 5
Concluses

Ao longo do projeto foram surgindo problemas, tais como a compra do


microcontrolador, a isolao contra rudo, manuseio dos perifricos, etc. Mas o maior
problema enfrentado foi a falta de informaes sobre o microcontrolador 18F2331 e
a dificuldade de se implementar um sistema que utiliza-se o PWM, encoder, display
de cristal liquido, etc.
Tambm houveram dificuldades iniciais em implementar o controle PID,
devido ao fato de utilizar-se uma verso limitada do software Pascal.
Utilizando o controle PID em um sistema de servo posicionamento pode-se
comprovar a eficcia deste controle, entender o comportamento de um sistema de
posicionamento e tambm observar na prtica o funcionamento do PID digital.
A escolha da linguagem para a programao do microcontrolador foi um fator
importante para o xito, j que possibilitou a criao de um algoritmo complexo de
maneira rpida.

52

REFERNCIAS BIBLIOGRFICAS

ZIEGLER, J. G. & NICHOLS, N. B. (1942). Optimum Setting for Automatic


Controllers, Transactions of the ASME, Vol. 64, pp.759-768.

DZZO , J. J. & HOUPIS, C. H. (1981). Linear Control System Analysis and Design.
McGraw-Hill, 2 edio

BORDON, Mrio Eduardo (1993). Controlador PID Microprocessado, Dissertao de


mestrado, UNICAMP.

OGATA, Katsuhiko (1993). Engenharia de Controle Moderno. Prentice Hall, 2


edio

CANZIAN,

Edmur

(1998).

Projetos

de

Hardware

Software

utilizando

Microcontroladores, Apostila - CNZ Engenharia e Informtica Ltda.

Data Sheet (2003), PIC18F2331/2431/4331/4431 28/40/44 Pin Enhanced Flash


Microcontrolers. Microchip Technology.
URL: http://www.microchip.com.

Data Sheet (2005), LMD18200 -3A, 55V H-BRIDGE. National Semiconductor.

53

Anexo 1

Caractersticas do motor.

54

Anexo 2

Software de controle no microcontrolador.

Program PID;
Uses config_sistema;

Var
Vc_pwm, contagem, setpoint, Eo, Ea

: integer;

Enviar

: integer;

Kp, Kd, Ki

: short;

int, proporc, derivat, Vc, soma

: longint;

Procedure Controle_PID;
Begin
Leitura(contagem);
Eo

:= Ea;

// erro(n-1)

Ea

:= setpoint - contagem;

// erro(n)

Proporc := Ea * Kp;

// termo proporcional

soma

:= (soma + Ea);

// somatria

Int

:= soma * Ki;

// termo integral

Derivat := (Ea - Eo) * Kd;

// termo derivativo

Vc := (Proporc + Int + Derivat);

// varivel de controle

55

if (Vc>+524287) then Vc:=+524287;


if (Vc<-524288) then Vc:=-524288;

//limite superior p/ 20 bits


// limite inferior p/ 20 bits

Vc_pwm := Vc/64 + 8192; // transf. 20 bits em 14 bits do PWM


Ajusta_PWM(Vc_pwm);

// configuro o sinal do PWM

Mostra_display(Vc_pwm,contagem); // envio dados para o display


If (enviar = 1)
Then Envia_serial(contagem);

// envia dados da serial

End;

Begin
Iniciar_geral;

// configurao bsica do PIC

PWM_iniciar;

// configurao do PWM

Encoder_Iniciar;

// configurao do leitor de encoder

Serial_iniciar;

// configurao da serial

LCD_iniciar;

// configurao do LCD

While true do
Controle_PID;
End.

// algoritmo do PID

56

Anexo 3

Software no Matlab.

% programa que l os sinais da porta serial


% 1) primeiro enviado um sinal de inicio de envio pela plaqueta " %"
% ou 37 em decimal ou 25 em hexa
% 2) aps isto, a placa envia at 3000 dados de 2bytes para a serial

s = serial('COM1');

%configura COM1

set(s,'BaudRate', 9600);

%baudrate

set(s,'DataBits',8);

%databits

set(s,'StopBits',1);

%stopbits

fid = fopen('motion.dat','a+');

%relaciono com o arquivo

status = fseek(fid,0, 'bof');

%posiciono no inicio do arquivo

s.terminator = 'CR';

%terminao

fopen(s);

%abro serial

fwrite(s,'%','uchar');

%envio o sinal 'pode transmitir'

antigo = 0;

%inicializo

zero = clock;

%inicializo

n = 0;

%inicializo

ref = zero(5)*1000 + zero(6)

%referencia para calculo do tempo

while (n < 500)

%looping --> limite (n<= 3000)

atual = clock;

%leitura do sistema

57

if ((atual(6)-antigo) > 0)

%tenho alterao do tempo (a placa muito rpida)

fprintf(fid,'%u ',n);

%gravo o contador de linhas do arquivo

valor = (atual(5)*1000 + atual(6)) - ref; %valor do tempo em segundos


fprintf(fid,'%6.4f ',valor);

%gravo o valor do tempo no arquivo

out = fread(s,2,'uint8');

%leitura dos 2 bytes da posio do motor

a = out(1) + out(2)*256

%correo do valor lido

fprintf(fid,'%u',a);

%gravo o valor da posio no arquivo

fprintf(fid,'\n');

%pulo uma linha no arquivo

n = n+1;

%contador do looping

end;
antigo = atual(6);

%guardo o valor antigo do tempo

end;
fclose(fid);

%fecho arquivo

fclose(s);

%fecho serial

delete(s);

%deleto vinculo com a serial

clear s;
[c,x,y] = textread('motion.dat','%u %f %f');%leio os valores do arquivo acima gerado
plot(x,y,'Color','m');

%configuraes para a plotagem

xlabel('Tempo (s)');
ylabel('Posio (pulsos de encoder)');
title('RESPOSTA AO DEGRAU APLICADO NO SERVO DC');
grid

58

Anexo 4

Exemplo do arquivo gerado pelo Matlab.

N tempo posio Vc
0 0.0000 1888 13534
1 0.1090 2269 13125
2 0.1400 2627 12740
3 0.1560 2959 12384
4 0.2650 3269 12051
5 0.2810 3556 11743
6 0.3120 3823 11456
7 0.3280 4071 11190
8 0.4220 4300 10944
9 0.4530 4513 10715
10 0.4690 4708 10505
11 0.4840 4892 10308
12 0.5000 5059 10128
13 0.5940 5215 9961
14 0.6250 5358 9807
15 0.7030 5492 9663
16 0.7190 5613 9533
17 0.8280 5727 9410
18 0.8900 5832 9297
19 0.9060 5928 9194

59

20 0.9220 6015 9101


21 0.9840 6098 9011
22 1.0000 6173 8931
23 1.0150 6247 8851
24 1.0310 6308 8786
25 1.0470 6367 8722
26 1.0620 6426 8658
27 1.1870 6474 8607
28 1.2340 6521 8556
29 1.2500 6557 8518
30 1.3750 6602 8469
31 1.3900 6644 8424
32 1.5000 6660 8407
33 1.5150 6694 8370
34 1.5310 6722 8340
35 1.5470 6745 8315
36 1.5620 6765 8294
37 1.5780 6798 8258
38 1.6250 6820 8234
39 1.6720 6826 8228
40 1.7030 6839 8214
41 1.8120 6852 8200
42 1.8280 6867 8184

... apenas os 43 primeiros pontos ...

Você também pode gostar