Você está na página 1de 64

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CINCIAS EXATAS E NATURAIS


CURSO DE CINCIAS DA COMPUTAO
(Bacharelado)

PROTTIPO DE UM CONTROLADOR DE TEMPERATURA


BASEADO EM LGICA FUZZY UTILIZANDO UM
MICROCONTROLADOR

TRABALHO DE CONCLUSO DE CURSO SUBMETIDO UNIVERSIDADE


REGIONAL DE BLUMENAU PARA A OBTENO DOS CRDITOS NA
DISCIPLINA COM NOME EQUIVALENTE NO CURSO DE CINCIAS DA
COMPUTAO BACHARELADO

EDUARDO KLAUS BARG

BLUMENAU JUNHO/2002
2002/1-27

PROTTIPO DE UM CONTROLADOR DE TEMPERATURA


BASEADO EM LGICA FUZZY UTILIZANDO UM
MICROCONTROLADOR

EDUARDO KLAUS BARG

ESTE TRABALHO DE CONCLUSO DE CURSO, FOI JULGADO ADEQUADO


PARA OBTENO DOS CRDITOS NA DISCIPLINA DE TRABALHO DE
CONCLUSO DE CURSO OBRIGATRIA PARA OBTENO DO TTULO DE:

BACHAREL EM CINCIAS DA COMPUTAO

Prof. Miguel Alexandre Wisintainer Orientador na FURB

Prof. Jos Roque Voltolini da Silva Coordenador do TCC

BANCA EXAMINADORA

Prof. Miguel Alexandre Wisintainer

Prof. Antnio Carlos Tavares

Prof. Srgio Stringari

ii

SUMRIO
RESUMO .................................................................................................................................VI
ABSTRACT ........................................................................................................................... VII
1 INTRODUO ..................................................................................................................... 1
1.1 OBJETIVOS........................................................................................................................ 2
1.2 ORGANIZAO DO TEXTO........................................................................................... 2
2 LGICA FUZZY .................................................................................................................. 3
2.1 FUNDAMENTOS DA LGICA FUZZY .......................................................................... 4
2.2 OPERAES DOS CONJUNTOS FUZZY ...................................................................... 5
2.2.1 COMPLEMENTO ............................................................................................................ 6
2.2.2 UNIO.............................................................................................................................. 6
2.2.3 INTERSEO.................................................................................................................. 7
2.3 VARIVEIS LINGSTICAS ........................................................................................... 8
2.4 EXPRESSO FUZZY DO CONHECIMENTO ................................................................ 8
2.5 SISTEMA DE CONTROLE FUZZY ................................................................................. 9
2.6 INTERFACE COM O PROCESSO.................................................................................. 10
2.6.1 VARIVEIS DE CONTROLE....................................................................................... 10
2.6.2 MTODOS DE DEFUZZIFICAO............................................................................ 11
2.7 EXEMPLOS DE EMPREGO DE SISTEMAS FUZZY RECENTES.............................. 13
2.8 PERSPECTIVAS DA LGICA FUZZY.......................................................................... 14
3 MICROCONTROLADORES ............................................................................................. 15
3.1 PRINCIPAIS CARACTERSTICAS................................................................................ 15
3.2 DIAGRAMA DE BLOCOS INTERNO DO 80C552 ....................................................... 16
3.3 DIFERENAS COM RELAO AO 8051..................................................................... 18

iii

3.3.1 MEMRIA DE PROGRAMAS ..................................................................................... 18


3.3.2 MEMRIA DE DADOS ................................................................................................ 18
3.3.3 O WATCHDOG TIMER.................................................................................................. 19
3.3.4 INTERFACE SERIAL IC.............................................................................................. 20
3.3.5 SADAS PWM................................................................................................................ 22
3.3.6 CONVERSOR ANALGICO-DIGITAL ...................................................................... 24
4 DESENVOLVIMENTO DO PROTTIPO ........................................................................ 27
4.1 FERRAMENTAS UTILIZADAS ..................................................................................... 27
4.2 ESPECIFICAO DO HARDWARE ............................................................................. 27
4.2.1 MEMRIAS DE DADOS E PROGRAMA ................................................................... 28
4.2.2 SISTEMTICA DE RESET ........................................................................................... 30
4.2.3 FONTE DE ALIMENTAO ....................................................................................... 31
4.2.4 CRISTAL OSCILADOR ................................................................................................ 31
4.2.5 ENTRADA ANALGICA PARA TEMPERATURA................................................... 32
4.2.6 INTERFACE SERIAL.................................................................................................... 33
4.2.7 ESQUEMA ELETRNICO COMPLETO..................................................................... 34
4.3 ESPECIFICAO DO SOFTWARE............................................................................... 36
4.3.1 SOFTWARE DE CONTROLE FUZZY......................................................................... 36
4.3.2 EXEMPLO DE FUNCIONAMENTO............................................................................ 40
4.3.3 SOFTWARE DE SUPERVISO ................................................................................... 43
4.4 IMPLEMENTAO ........................................................................................................ 45
4.4.1 MONTAGEM DO PROTTIPO ................................................................................... 46
4.4.2 SOFTWARE DO PROTTIPO ..................................................................................... 48
4.4.3 SOFTWARE DE SUPERVISO ................................................................................... 49
4.4.4 TESTES E VALIDAES DO PROTTIPO............................................................... 51

iv

5 CONCLUSO ..................................................................................................................... 53
5.1 EXTENSES .................................................................................................................... 54
REFERNCIAS BIBLIOGRFICAS ..................................................................................... 55

RESUMO
Este trabalho apresenta a especificao e implementao de um prottipo de hardware
e software, utilizando uma arquitetura de microcontrolador de 8 bits, para implementar o
processo de controle de temperatura de um ambiente, utilizando os conceitos de Lgica
Fuzzy. Todos os dados deste processo sero disponibilizados em um software de superviso.
Como objetivo secundrio apresentado um estudo sobre a arquitetura de hardware utilizada
e os conceitos gerais de Lgica Fuzzy.

vi

ABSTRACT
This work shows the specification and implementation of a hardware and software
prototype, using an 8 bit microcontroller architecture, to implement the temperature control
process of an environment using the Fuzzy Logic concepts. All process data will be avaliable
to a supervisory software. A secondary objective is show a study about the hardware
architecture used and the general Fuzzy Logic concepts.

vii

1 INTRODUO
Controles tradicionais de sistemas, neste caso, controle de temperatura, so em geral
baseados em modelos matemticos que descrevem o sistema de controle usando uma ou mais
equaes diferenciais que definem a resposta do sistema para suas entradas; tais sistemas so
freqentemente implementados pelo chamado controlador "PID" (proporcional-integralderivativo). Tais controladores so produtos de dcadas de desenvolvimento e trabalho terico
e so altamente eficazes.
Se controladores PID e outros sistemas de controle de temperatura tradicionais so to
bem desenvolvidos, por que se preocupar com Lgica Fuzzy. Somente porque em alguns
casos ela tem alguma vantagem: em muitos casos, como por exemplo, sistemas de freio ABS
ou no controle de guindastes para descarga de containers, o modelo matemtico do processo
pode no existir ou pode ser muito "caro" em termos de poder de processamento
computacional e memria - e um sistema baseado em regras empricas pode ser mais efetivo.
Operadores humanos so capazes de controlar processos bastante complexos, baseados
em informaes imprecisas ou aproximadas a respeito desses processos. A estratgia adotada
pelos operadores humanos tambm de natureza imprecisa e geralmente possvel de ser
expressa em termos lingsticos.
A Teoria de Conjuntos Fuzzy (Zadeh, 1965) e os conceitos de Lgica Fuzzy (Zadeh,
1973) podem ser utilizados para traduzir em termos matemticos a informao imprecisa
expressa por um conjunto de regras lingsticas. Se um operador humano for capaz de
articular sua estratgia de ao como um conjunto de regras da forma SE ENTO, um
algoritmo passvel de ser implementado em computador pode ser construdo, conforme
demonstrado em Mamdani (1974).
Baseado na descrio acima, este trabalho visa implementar um controle de
temperatura utilizando o microcontrolador 80C552 da Philips. Segundo Anlauf (1993), o
microcontrolador, tambm chamado de microcomputador em um s chip, rene num nico
chip vrios sistemas independentes, como contadores, unidade central de processamento,
memria para programa e dados, entradas e sadas analgicas, portas seriais, entre outros.
Com isso diminuem o tempo e o custo requeridos para o desenvolvimento do projeto. Tais

2
caractersticas tornam o microcontrolador ideal para o projeto de sistemas dedicados e,
sobretudo compactos.

1.1 OBJETIVOS
O trabalho tem como objetivo principal especificar e implementar um prottipo de
hardware, utilizando uma arquitetura de microcontrolador de 8 bits, para realizar o processo
de controle de temperatura de um ambiente, utilizando os conceitos de Lgica Fuzzy.
Os objetivos especficos do trabalho so:
a) realizar simulaes do comportamento do processo;
b) disponibilizao dos dados do processo em um software de superviso;
c) envio de setpoints ao processo atravs do software de superviso.

1.2 ORGANIZAO DO TEXTO


O captulo 1 apresenta a introduo do trabalho contendo alguns conceitos
fundamentais sobre microcontroladores e lgica fuzzy, bem como a apresentao dos
objetivos e a organizao do texto.
O captulo 2 faz um breve estudo sobre a Lgica Fuzzy, descrevendo-se os seus
fundamentos e destacando-se a definio de conjuntos fuzzy e a sua normalizao.
Apresentam-se tambm as principais operaes com conjuntos fuzzy, e os sistemas de
controle fuzzy. Finaliza-se o captulo com um estudo de utilizao e perspectivas desta lgica.
O captulo3 introduz os microcontroladores da famlia MCS51 e aspectos inerentes ao
chip 80C552 que ser utilizado no prottipo e os elementos principais desta tecnologia para
melhor entendimento do prottipo.

2 LGICA FUZZY
Aristteles, filsofo grego (384 - 322 a.C.), foi o fundador da cincia da lgica, e
estabeleceu um conjunto de regras rgidas para que concluses pudessem ser aceitas como
logicamente vlidas. O emprego da lgica de Aristteles levava a uma linha de raciocnio
lgico baseado em premissas e concluses. Como um exemplo: se observado que "todo ser
vivo mortal" (premissa 1), a seguir constatado que "Joo um ser vivo" (premissa 2),
como concluso temos que "Joo mortal".
Desde ento, a lgica Ocidental, assim chamada, tem sido binria, isto , uma
declarao falsa ou verdadeira, no podendo ser ao mesmo tempo parcialmente verdadeira e
parcialmente falsa. A lgica fuzzy viola estas suposies (Tarig, 2001).
A Lgica Fuzzy consiste em aproximar a deciso computacional da deciso humana,
tornando as mquinas mais capacitadas a seu trabalho. Isto feito de forma que a deciso de
uma mquina no se resuma apenas a um "sim" ou um "no", mas tambm tenha decises
"abstratas", do tipo "um pouco mais", "talvez sim", e outras tantas variveis que representem
as decises humanas. um modo de interligar inerentemente processos analgicos que
deslocam-se atravs de uma faixa contnua para um computador digital que podem ver coisas
com valores numricos bem definidos (valores discretos).
O conceito de conjunto Fuzzy foi introduzido, em 1965, por Lotfi A. Zadeh da
Universidade da Califrnia, Berkeley (Zadeh, 1965). No meio da dcada de 60 do sculo XX,
Zadeh observou que os recursos tecnolgicos disponveis eram incapazes de automatizar as
atividades relacionadas a problemas de natureza industrial, biolgica ou qumica, que
compreendessem situaes ambguas, no passveis de processamento atravs da lgica
computacional fundamentada na lgica booleana. Procurando solucionar esses problemas o
Professor Zadeh publicou em 1965 um artigo resumindo os conceitos dos conjuntos Fuzzy,
revolucionando o assunto com a criao de sistemas Fuzzy.
Uma representao grfica convencional de valores na lgica fuzzy ilustrada na
Figura 2.1, em que a altura das pessoas representada na abscissa e trs funes (baixo,
mediano e alto) representam a classificao das pessoas quanto altura.

4
FIGURA 2.1 REPRESENTAO DOS VALORES NA LGICA FUZZY

Uma pessoa medindo 1,65 m de altura considerada baixa, de acordo com o grfico da
Figura 2.1, mas est muito prxima de ser considerada de altura mediana. Entretanto,
possvel observar que uma pessoa totalmente baixa de 1,5 at 1,60 m (a curva baixo
indica valor 1 e as demais valor 0 na faixa de valores indicada). A partir de 1,60 m a reta que
define o valor baixo comea a decrescer, enquanto a reta que define a altura mediana comea
a crescer.
Uma pessoa com 1,75 m considerada de altura mediana e acima de 1,90 m
considerada alta. Essas medidas so totalmente imprecisas, variando de acordo com os
conceitos de cada pessoa, regio, cidade, pas e outros. Em muitas situaes porm, os valores
inexatos so mais importantes e possuem significados mais expressivos do que os valores
exatos.

2.1 FUNDAMENTOS DA LGICA FUZZY


A lgica fuzzy foi proposta por Lotfi A. Zadeh em 1965 como uma matemtica que
podia representar as incertezas do cotidiano (Cox, 1994); basicamente uma linguagem que
serve para descrever e analisar dependncias imprecisas (Zadeh, 1973). Diante dos problemas
da lgica booleana e dos recursos oferecidos pela lgica fuzzy, muitos pesquisadores
passaram a utiliz-la como ferramenta para o desenvolvimento de sistemas inteligentes.
Atualmente, h uma grande variedade de pesquisas envolvendo a lgica fuzzy.
Na teoria clssica dos conjuntos um elemento do universo de discurso (domnio)
pertencente ou no ao referido conjunto, assume valores 0 ou 1 (Cox, 1994). Na teoria dos

5
conjuntos fuzzy existe um grau de pertinncia de cada elemento que pode assumir qualquer
valor dentro do intervalo [0,1].
O valor 1 representa completa pertinncia e o valor 0 indica uma completa excluso.
Essa generalizao aumenta significativamente o poder de expresso da funo caracterstica,
onde esta funo, diz o grau de pertinncia A(x) de um elemento x pertencente a um
universo U com respeito a um conjunto A, onde A U. Quando A(x)=0, representa
nenhuma pertinncia e A(x)=1, representa pertinncia total.
Para Rabuske (1995), os conjuntos difusos se contrapem a assim chamada lei da
contradio, onde valores variam simplesmente de verdadeiro para falso, de sim para no,
permitindo assim a manuteno de proposies conflitantes.

2.2 OPERAES DOS CONJUNTOS FUZZY


Como nos conjuntos convencionais, existem operaes especificamente definidas para
combinar e modificar os conjuntos fuzzy (Cox, 1994). Estas funes so as ferramentas
fundamentais da lgica fuzzy. A teoria originria dos conjuntos fuzzy foi fundamentada nos
termos das trs operaes realizadas com conjuntos (complemento, unio e interseo) que
so equivalentes as operaes da lgica booleana (negao, ou, e e).
Para esclarecer isto, temos o seguinte exemplo. Seja A (figura 2.2) um intervalo fuzzy
entre 5 e 8, e B (figura 2.3) um nmero fuzzy em torno de 4. Temos as seguintes
representaes:
FIGURA 2.2 REPRESENTAO GRFICA DE UM INTERVALO FUZZY

6
FIGURA 2.3 REPRESENTAO GRFICA DE UM NMERO FUZZY

2.2.1

COMPLEMENTO
A operao complemento utilizada para definir a funo de pertinncia oposta de um

subconjunto, ou seja, o complemento do subconjunto A, definido como , formado pelos


pontos opostos de A de dentro do intervalo [0, 1]. Essa operao, quando tratada nos extremos
desse intervalo, equivalente operao negao da lgica booleana. A representao
formal da operao complemento descrita na equao: (x) = 1-A(x) . A sua
representao grfica ilustrada na Figura 2.4.
FIGURA 2.4 REPRESENTAO GRFICA DA OPERAO COMPLEMENTO

2.2.2

UNIO
A operao unio utilizada para associar dois subconjuntos, ou seja, a unio do

subconjunto A com B resulta em um subconjunto abrangendo os pontos mximos dos dois


subconjuntos unidos. Essa operao, quando tratada nos extremos do intervalo [0, 1],
equivalente operao ou da lgica booleana. A representao formal da operao unio

7
descrita na equao: AB A(x) B(x) = max(A(x), B(x)). A sua representao
grfica ilustrada na Figura 2.5.
FIGURA 2.5 REPRESENTAO GRFICA DA OPERAO UNIO

2.2.3

INTERSEO
A operao interseo utilizada para definir a regio comum entre dois subconjuntos,

ou seja, a interseo do subconjunto A com B resulta em um subconjunto abrangendo os


pontos que pertencem tanto ao subconjunto A quanto ao subconjunto B. Essa operao,
quando tratada nos extremos do intervalo [0, 1], equivalente operao e da lgica
booleana. A representao formal da operao interseo descrita na seguinte equao:
AB A(x) B(x) = min(A(x), B(x)). A sua representao grfica ilustrada na
Figura 2.6.
FIGURA 2.6 REPRESENTAO GRFICA DA OPERAO INTERSEO

2.3 VARIVEIS LINGSTICAS


Para expressar conceito muito comum o uso de elementos qualitativos ao invs de
valores quantitativos. Elementos tpicos incluem mais ou menos, alto, no muito,
mdio, entre outros.
Estas idias so ditas pela definio de varivel lingstica. Uma varivel lingstica
tem por caracterstica assumir valores dentro de um conjunto de termos lingsticos, ou seja,
palavras ou frases (Tarig, 2001).
Segundo Pereira (1995), variveis lingsticas, so variveis cujos valores so palavras
em linguagem natural representadas em conjuntos difusos. Por exemplo, uma varivel
lingstica altura poder assumir um dos membros do conjunto {muito alto, alto, mdio,
mdio alto, baixo, muito baixo}. Para se atribuir um significado aos termos lingsticos,
associa-se a cada um deles um conjunto fuzzy definido sobre um universo de discurso
comum.
A principal funo das variveis lingsticas fornecer uma maneira sistemtica para
uma caracterizao aproximada de fenmenos complexos ou mal definidos. Em essncia, a
utilizao do tipo de descrio lingstica empregada por seres humanos, e no de variveis
quantificadas, permite o tratamento de sistemas que so muito complexos para serem
analisados atravs de termos matemticos convencionais.
Para Pacheco (1991) o raciocnio humano por natureza aproximado, e qualquer
tcnica de modela-lo diferentemente est desprezando a principal vantagem humana, a de
tratar diretamente com conceitos inexatos. Da a importncia das variveis lingsticas.

2.4 EXPRESSO FUZZY DO CONHECIMENTO


Segundo Tarig (2001), uma das formas mais comuns de se expressar o conhecimento
por meio de regras do tipo condio-ao. Exemplificando, um conjunto de condies que
descrevem uma parcela observvel das sadas do processo, associado a uma ao de controle
que ir manter ou elevar o processo s condies de operaes desejadas.

9
A idia aqui representar o conhecimento por meio de um conjunto de regras nas
quais as condies so dadas a partir de um conjunto de termos lingsticos associados a
variveis de entrada/sada do processo (as quais so entradas do controlador).
As aes de controle ou as sadas so expressas de modo similar para cada varivel de
controle (sada). Regras do tipo se-ento-seno so freqentemente chamadas de regras de
controle fuzzy.

2.5 SISTEMA DE CONTROLE FUZZY


Segundo Welstead (1994), a combinao de conjuntos fuzzy definidos por variveis
lingsticas de entrada e sada, junto com o conjunto de regras de controle fuzzy, que por sua
vez, ligam um ou mais conjuntos fuzzy de entrada a um conjunto fuzzy de sada,
compreendido como um sistema de controle fuzzy.
O controle fuzzy no necessita da modelagem do processo, e sim, da modelagem das
aes a partir de um conhecimento de um especialista. Essa , portanto, uma abordagem
diferente dos mtodos convencionais de controle de processos, pois os mesmos so
desenvolvidos via modelagem matemtica dos processos de modo a derivar as aes de
controle como funo do estado do processo. A estrutura bsica de um controlador fuzzy est
ilustrada na Figura 2.7.
FIGURA 2.7 SISTEMA DE CONTROLE FUZZY

Fonte: Tarig (2001)

10
O ncleo do controlador s analisa variveis fuzzy. As informaes tm que ser
transformadas na forma fuzzy ou fuzzificadas (transformadas em conjuntos fuzzy). A
interface de fuzzificao recebe os valores das variveis de entrada (vindo dos sensores),
faz um escalonamento para dimensionar os valores a universos discursos normalizados e
fuzzifica os valores (transformando nmeros em conjuntos fuzzy), para torn-los instncias
de variveis lingsticas (Tarig, 2001). As regras caracterizam as estratgias de controle e seus
objetivos.
O procedimento de inferncia atua sobre os dados fuzzy de entrada, juntamente com as
regras, para inferir as aes de controle fuzzy, usando o operador de implicao fuzzy e as
regras de inferncia da lgica fuzzy. O defuzzificador atua sobre as aes de controle fuzzy
inferidas, transformando-as em aes de controle no fuzzy, efetuando, em seguida, um
escalonamento para compatibilizar os valores normalizados vindos do passo anterior com os
valores dos universos de discursos reais das variveis.
Deve-se determinar uma ao de controle no-fuzzy para ser enviada ao controlador
logo aps se inferir a ao de controle fuzzy. A ao de controle no-fuzzy escolhida deve ser
a que represente melhor a deciso fuzzy. No h nenhum procedimento sistemtico para
escolher a estratgia de defuzzificao.

2.6 INTERFACE COM O PROCESSO


Nesta seo considera-se a definio das variveis de controle e mtodos de
defuzzificao, necessrios para se estabelecer a conexo do controlador fuzzy com um
processo no-fuzzy.

2.6.1

VARIVEIS DE CONTROLE
Em controladores fuzzy de carter geral como o apresentado aqui, as variveis de

entrada so o erro, gerado a partir da diferena entre o sinal de referncia e a sada do


processo, e a variao do erro, normalmente gerada a partir da diferena entre o erro atual e o
erro anterior. A varivel de sada do controlador a variao no controle.

11
A opo por uma sada incremental, ao invs de absoluta, mais condizente com o
raciocnio empregado por operadores humanos e, alm disso, proporciona uma economia em
termos do universo da sada.
Estabelecendo uma ligao com as sees anteriores, as variveis fuzzy erro e variao
do erro so subconjuntos fuzzy em seus respectivos universos.

2.6.2

MTODOS DE DEFUZZIFICAO
Conforme Tarig (2001), a sada do controlador fuzzy um subconjunto fuzzy do

universo da sada. Como o processo requer um sinal no-fuzzy em sua entrada, deve-se fazer
uma interpretao daquele conjunto fuzzy.
Para Ross (1995), a defuzzificao o processo pelo qual um conjunto fuzzy tem a sua
abrangncia representada por um simples nmero. Segundo ele, existem pelo menos sete
mtodos que tem sido pesquisados e popularizados com o decorrer do tempo. Dentre eles
destacam-se o princpio da maior pertinncia, o mtodo centride, ou centro de gravidade, e a
mdia da pertinncia mxima.
O princpio da maior pertinncia, tambm conhecido como mtodo da altura, limita-se
ao pico da funo. A figura 2.8 mostra o comportamento deste mtodo.
FIGURA 2.8 REPRESENTAO GRFICA DO MTODO DE DEFUZZIFICAO DA
MAIOR PERTINNCIA

12

J o mtodo da centride, tambm chamado de centro da gravidade, o mais usado de


todos os mtodos de defuzzificao. Este mtodo tem como sada o ponto que divide a rea
da funo de pertinncia em duas partes iguais. A figura 2.9 ilustra o mtodo da centride.
FIGURA 2.9 REPRESENTAO GRFICA DO MTODO DE DEFUZZIFICAO DA
CENTRIDE

E finalmente, o mtodo da mdia da pertinncia mxima, tambm chamada de mdia


dos mximos, quase idntico ao primeiro mtodo. Este parte do princpio de que a
localizao da maior pertinncia pode no se limitar a um nico elemento, mas sim, a
diversos. O valor da defuzzificao dado pela mdia de a e b, que so definidos na figura
2.10.
FIGURA 2.10 REPRESENTAO GRFICA DO MTODO DE DEFUZZIFICAO
DA MDIA DOS MXIMOS

13

Na realidade, com o Centro de Gravidade nunca se consegue obter os valores extremos


do universo, devido a prpria natureza do mtodo. Isto pode dar origem a uma resposta mais
lenta do que a obtida com a Mdia dos Mximos.

2.7 EXEMPLOS DE EMPREGO DE SISTEMAS FUZZY


RECENTES
Em 1990, a lgica fuzzy era implementada em grande escala de aplicaes eletrnicas
para o lar no Japo, tais como refrigeradores, aspiradores de p, lavadoras, secadores, panelas
para cozinhar arroz e ar condicionados (Toshinori, 1994). Mas a aplicao da lgica fuzzy no
se restringiu somente ao lar. Outras aplicaes recentes tiveram a lgica fuzzy implementada,
dentre elas podemos citar:
a) vdeo cmeras: quatro funes das vdeo cmeras so baseadas em princpios da
lgica fuzzy, o ajuste automtico do foco, exposio automtica, balanceamento
automtico do branco e sistemas de estabilizao de imagem. A tcnica do
autofoco utilizava capacidade aproximada de inteligncia em regras fuzzy para
controlar a velocidade do motor, melhorando a qualidade do foco e reduzindo seu
tempo. A estabilizao da imagem detectava suficientemente os movimentos
indesejados causados pelos solavancos e tremores causados pelo movimento das
mos, corrigindo ento, muitas das imagens falhas;
b) automobilstica: o primeiro dispositivo de controle fuzzy em um carro foi vendido
em 1991. Outros estudos incluam a injeo de combustvel e sistemas de
transmisso e frenagem (ABS);
c) espao areo: um nmero significativo de algoritmos difusos e aplicaes para o
controle de problemas areos tem sido implementados pela NASA nos ltimos
anos. Durante 1992 e 1993, artefatos experimentais voavam com dispositivos
controladores de temperatura baseados na lgica fuzzy.

14

2.8 PERSPECTIVAS DA LGICA FUZZY


Diversas reas esto sendo beneficiadas pela tecnologia decorrente da lgica Fuzzy. O
controle de processos industriais foi a rea pioneira, sendo as primeiras experincias datadas
de 1975 quando foi demonstrado, que um controlador Fuzzy muito simples conseguiu
controlar eficientemente uma mquina a vapor (Mamdani, 1974).
Nos ltimos anos o potencial de manuseio de incertezas e de controle de sistemas
complexos tornados possveis pela lgica Fuzzy, esto sendo combinados com redes neurais
artificiais, que por sua vez, possuem caractersticas de adaptao e aprendizagem. Estes
controladores so conhecidos como neurofuzzy (Kosko, 1992).
Com certeza estes sistemas devero proporcionar uma significativa contribuio para
os sistemas de automao e controle do futuro, principalmente em controle de processos.

15

3 MICROCONTROLADORES
Este captulo apresenta os conceitos e demais aspectos da arquitetura dos
microcontroladores da famlia MCS51.
Existem muitas dvidas quanto a diferena entre um microprocessador e um
microcontrolador. Um microcontrolador um componente que tem, num nico chip, alm de
uma CPU, elementos tais como memrias ROM e RAM, temporizadores, contadores, canais
de comunicao e conversores analgico-digitais (Silva Jnior, 1988).
Esta caracterstica diferencia os sistemas baseados em microcontroladores daqueles
baseados em microprocessadores, onde normalmente se utilizam vrios componentes para
implementar essas funes. Com isso, os microcontroladores permitem a implementao de
sistemas mais compactos e baratos do que aqueles baseados em microprocessadores.
A Intel iniciou a produo do 8051 em 1981. Diversos fabricantes produzem
microcontroladores da famlia 8051 (Intel, AMD, Atmel, Dallas, OKI, Matra, Philips,
Siemens, SMC, SSI). Cada empresa procurou melhorar o desempenho do 8051, adicionando
novos recursos ao mesmo, mas a arquitetura bsica continua a mesma.

3.1 PRINCIPAIS CARACTERSTICAS


Citaremos a seguir as caractersticas bsicas que formam o ncleo da famlia 8051:
d) freqncia de clock de 12 MHz, com algumas verses que alcanam 40 MHz;
e) at 64KB de memria de dados externa;
f) at 64KB de memria de programa, independente da anterior;
g) 128 bytes de RAM interna;
h) 4 portas bidirecionais de I/O;
i) 2 temporizadores /contadores de 16 bits;
j) 5 fontes de interrupo (dois timers, dois pinos externos e o canal de comunicao
serial), com 2 nveis de prioridade;
k) oscilador de clock interno;
l) porta serial full-duplex.

16
No caso deste trabalho ser utilizado um variante do 8051, o 80C552 produzido pela
Philips. O 80C552 possui as mesmas caractersticas bsicas do 8051, e foi acrescido dos
seguintes componentes:
a) um temporizador / contador de 16 bits adicional;
b) 256 bytes de RAM interna;
c) 8 entradas analgicas multiplexadas de 10 bits de resoluo;
d) 2 sadas de PWM (Pulse Width Modulation), com 8 bits de resoluo;
e) watchdog timer interno;
f) porta de I/O para interface serial do tipo IC;
g) freqncia de clock de 16MHz.

3.2 DIAGRAMA DE BLOCOS INTERNO DO 80C552


A arquitetura do microcontrolador 80C552 est ilustrada na figura 3.1.
FIGURA 3.1 DIAGRAMA DE BLOCOS DO 80C552

Fonte: Philips (1996)

17
A figura 3.2 exibe a pinagem de um microcontrolador 80C552 com encapsulamento
PLCC (Plastic Leaded Chip Carrier).
FIGURA 3.2 PINAGEM DO 80C552

Fonte: Philips (1996)

As portas P0 e P2, ficam comprometidas com o uso de memria externa, assim como
os pinos P3.6 e P3.7. O sinal ALE (Address Latch Enable) permite fazer a demultiplexao de
dados e endereos na porta P0. Atravs do sinal PSEN (Program Storage Enable), o
microcontrolador informa o mundo externo se a operao em andamento uma leitura de
instruo (acesso memria de programa) ou um acesso memria de dados. Este sinal
permite que o processador tenha duas regies distintas de memria externa, uma para
armazenar cdigo e outra para dados. Ambas ocupam os endereos de 0 a FFFFH (64 kB),

18
num total de 128 kB. O pino EA um sinal de entrada, atravs do qual o usurio escolhe se
ser utilizada a memria ROM interna ou se todo o programa ser armazenado externamente.

3.3 DIFERENAS COM RELAO AO 8051


Tendo em vista que a arquitetura bsica da famlia MCS-51 bem conhecida, e j foi
amplamente discutida em Klitzke (1999) e Silva Jnior (1990), ser apresentado somente um
estudo das caractersticas que diferem o microcontrolador 80C552 do 8051.

3.3.1

MEMRIA DE PROGRAMAS
O 80C552 possui 8K bytes de memria de programa on-chip que pode ser extendida

at 64K bytes com memrias externas, como mostrado na figura 3.3. O pino EA serve para
informar ao microcontrolador onde buscar o programa a ser executado, seja na memria de
programa interna ou em uma externa. Deve ser aterrado (low) ou ligado ao VCC (high) antes
do reset do microcontrolador. Se durante o reset do microcontrolador, EA estiver em nvel
low, o microcontrolador executar o programa que estiver na memria de programa externa,
caso contrrio executar o programa na memria interna. Os endereos de memria de
programas de 0003H 0073H, so utilizados pelas rotinas de interrupo.

3.3.2

MEMRIA DE DADOS
A memria de dados interna dividida em 3 setores: os 128 bytes mais baixos da

RAM, os 128 bytes mais altos e a rea de 128 bytes dos registradores de funes especiais
(SFRs). Os 128 bytes mais baixos podem ser endereados direta ou indiretamente. J as
posies de RAM de 128 a 255 e os SFRs, compartilham a mesma rea de endereos, mas
so acessados de formas diferentes. Os SFRs somente so diretamente endereveis, j os
128 bytes mais altos de RAM so acessados somente de forma indireta. Todos os outros
aspectos da RAM interna so idnticos ao 8051.

19
FIGURA 3.3 MAPA DE MEMRIA DO 80C552

Fonte: Philips (1996)

3.3.3

O WATCHDOG TIMER
Alm dos temporizadores padro o 80C552 tambm incorpora um watchdog timer.

Watchdog significa co de guarda, analogia perfeita ao funcionamento deste dispositivo,


pois sua tarefa consiste em supervisionar a CPU. O objetivo de um watchdog timer resetar o
microcontrolador se este entrar em um estado de erro (possivelmente causado por rudos
eltricos). Quando habilitado, o circuito de watchdog ir gerar um reset no microcontrolador,
se o programa do usurio falhar em reinicializar o temporizador do watchdog dentro de um
intervalo de tempo, conhecido como intervalo do watchdog. A figura 3.4 mostra o diagrama
do circuito do watchdog.

20

FIGURA 3.4 DIAGRAMA DO CIRCUITO DE WATCHDOG

Fonte: Philips (1996)

3.3.4

INTERFACE SERIAL IC
H aproximadamente 20 anos atrs a Philips, voltada a simplificar a comunicao

digital entre dois dispositivos, desenvolveu um sistema bastante simples designado por IC.
Ele utiliza somente duas linhas de comunicao denominadas por: serial data SDA e serial
clock SCL. As linhas SDA e SCL carregam somente informaes digitais, e portanto operam
dentro dos limites de 0 a 5 volts. Para que este sistema funcione corretamente, alguns
protocolos bem definidos devem ser obedecidos, como por exemplo: o sinal de start (incio da
transmisso), o sinal de stop (final da transmisso), etc. A figura 3.5 ilustra a tpica
configurao de um barramento IC.
A seguir so apresentadas as noes bsicas desta interface.

3.3.4.1

LINHA DE CLOCK

Este sinal que fornece a cadncia para que a transmisso serial seja entendida. Por
transmisso serial entende-se que as informaes sero enviadas uma aps a outra serialmente - atravz da mesma linha digital. Nesta tarefa a linha de clock que identifica

21
quando um dado (um bit) pode ser considerado vlido - esta situao sempre definida
quando a linha de clock est high (nvel lgico 1). Portanto, sempre que a linha de clock SCL
estiver high, sabe-se que a linha SDA possui um dado vlido (nvel lgico 1 ou 0).
FIGURA 3.5 BARRAMENTO IC

Fonte: Philips (1996)

3.3.4.2

SINAL DE START

Para dar incio a uma transmisso o seguinte protocolo dever ser reconhecido:
enquanto a linha SCL se mantm em nvel lgico alto, a linha SDA deve passar de nvel alto
para baixo (transio). Esta a Start condition.

3.3.4.3

ENDEREAMENTO

A interface IC permite conexo com diversos perifricos que passam a ser


identificados por um endereo. Para este propsito foram reservados 10 bits aps o sinal de
start. Somente ao circuito endereado que ser dirigida a transferncia de dados.

3.3.4.4

SINAL DE STOP

Para finalizar uma transmisso o seguinte protocolo dever ser reconhecido: enquanto
a linha SCL se mantm em nvel lgico alto, a linha SDA deve passar de nvel baixo para alto
(transio). Esta a Stop condition.

22

3.3.4.5

MASTER SLAVE

Na interface serial IC, podemos distinguir dois circuitos: a) o principal - encarregado


de gerenciar o sistema - (normalmente o microprocessador) - designado por master (mestre), e
b) o(s) secundrio(s) que sero comandados por ele - designados por slaves (escravos).
O protocolo do IC permite a transferncia de dados bidirecional entre mestres e
escravos, bem como, possui um barramento Multimaster (no h apenas um mestre central).
Para tanto feito o controle de transmisses simultneas entre os mestres, sem que haja a
corrupo dos dados no barramento.

3.3.4.6

TAXA DE TRANSFERNCIA

Uma das vantagens do padro IC que ele no fixa a velocidade de transmisso


(freqncia), pois ela ser determinada pelo circuito master (transmisso do SCL).

3.3.5

SADAS PWM
PWM (pulse width modulation), ou modulao por largura de pulso uma tcnica

poderosa para controlar circuitos analgicos utilizando as sadas de microcontroladores.


Controlando circuitos analgicos digitalmente pode-se reduzir drasticamente custos e
consumo de energia. Por isso mais e mais microcontroladores passaram a incluir
controladores de PWM on-chip para facilitar a implementao. O 80C552 possui 2 sadas de
PWM.
Basicamente o PWM uma forma de codificar digitalmente sinais analgicos (Barr,
2001). Atravs do uso de contadores de alta resoluo o duty cycle (quantidade de tempo que
o pulso est em nvel high (1 lgico)) de uma onda quadrada modulado para codificar um
nvel especfico do sinal analgico. A figura 3.6 mostra primeiramente um duty cycle de
10%, em seguida mostra um duty cycle de 50% e depois um duty cycle de 90%. Estas trs
diferentes sadas de PWM codificam diferentes valores de sinais analgicos. Por exemplo,
para uma fonte de 5V, um duty cycle de 10% resultaria em um sinal de 0.5V.

23
FIGURA 3.6 REPRESENTAO DE SADAS PWM

Fonte: Barr (2001)

No 80C552 a freqncia de repetio definida por um registrador de pr-escala de 8


bits, chamado PWMP, que gera o clock para o contador. Ambos canais de PWM usam o
mesmo registrador de pr-escala e o mesmo contador (Philips, 1996). O valor deste contador
de 8 bits, comparado ao contedo de dois registradores: PWM0 e PWM1. Se o contedo
destes registradores for maior que o valor do contador, o pino de sada do microcontrolador
correspondente, PWM0 ou PWM1 ser low 0 lgico. Se o contedo dos registradores for
menor ou igual ao valor do contador, a sada ser high 1 lgico (Philips, 1996). A figura 3.7
apresenta o diagrama funcional das sadas de PWM do 80C552.
Segundo Barr (2001), uma das vantagens do PWM que o sinal permanece digital por
todo o caminho desde o processador at o sistema controlado, nenhuma converso digital
analgico necessria. Mantendo-se o sinal digital, os efeitos de rudos eltricos so
minimizados, pois estas interferncias s podem afetar o sistema se forem fortes o suficiente
para mudar um 1 lgico para um 0 lgico, ou vice-versa.

24
FIGURA 3.7 DIAGRAMA DAS SADAS DE PWM DO 80C552

Fonte: Philips (1996)

3.3.6

CONVERSOR ANALGICO-DIGITAL
O objetivo funcional deste dispositivo o de produzir um nmero binrio proporcional

ao valor analgico da tenso que se introduz na entrada.

3.3.6.1

RESOLUO

Tambm quanto resoluo possvel intuir que quanto maior o nmero binrio que a
sada pode produzir, maior ser a resoluo. O circuito de entradas analgicas do 80C552
consiste em 8 entradas analgicas multiplexadas (pode-se ler apenas uma de cada vez), com
uma resoluo de 10 bits (Philips, 1996). Isto faz com que a sada do ADC (analog-digital
converter) do 80C552 possa alcanar o valor de 210 1 = 1023, tendo assim, uma resoluo de
uma parte em 1023.

3.3.6.2

MTODO DE CONVERSO

O 80C552 utiliza o mtodo, ou arquitetura, de converso conhecida como ADC de


aproximaes sucessivas (Philips, 1996). Sua implementao se baseia em uma unidade

25
lgica conhecida como SAR (Successive Approximation Register), que utiliza o mesmo
algoritmo de pesagem das balanas do tipo Roberval. Nestas balanas, quando uma massa
desconhecida colocada num dos pratos, o operador comea por colocar no outro prato o
maior peso-referncia de que dispe (Correia, 2001). Pode-se desde j imaginar que os pesosreferncia obedecem a um escalonamento binrio como se indica na figura 3.8.
FIGURA 3.8 PESAGEM COM BALANA ROBERVAL E ESCALA BINRIA DE
REFERNCIAS

Fonte: Correia (2001)

Segundo Correia (2001), o operador comea sempre colocando o maior peso da escala
(que por convenincia atribumos o valor p/2) no prato B e decide, observando o fiel, se ele
excessivo (o fiel desvia-se para o lado do prato B) ou se, pelo contrrio, tem de adicionar em
B o peso-referncia seguinte, p/4.
Na primeira hiptese, deve-se retirar p/2 do prato B e atribuir ZERO ao dgito mais
significativo do nmero que est a determinar. Na segunda hiptese o peso p/2 permanece em
B e atribudo UM a esse digito. Em qualquer dos casos o operador prossegue testando o
efeito dos pesos e decidindo, com o mesmo critrio, se o digito seguinte ZERO ou UM.
O operador repete esta operao sucessivamente at chegar ao ltimo peso da escala
binria de que dispe. Se dispuser de N elementos nesta escala o nmero binrio que
construiu tem tambm N dgitos.
O ADC de aproximaes sucessivas, cujos elementos so mostrados na figura 3.9,
contm um conversor digital-analgico (DAC) que converte os valores do registrador de

26
aproximaes sucessivas (SAR) em tenso (VDAC), que comparada ao valor da tenso da
entrada analgica (Vin) (Philips, 1996).
A lgica de controle de aproximaes sucessivas primeiramente seta o bit mais
significativo do SAR e reseta todos os outros (10 0000 0000B). A sada do DAC (50% da
escala) comparada a tenso da entrada analgica (Vin). Se a tenso Vin for maior que
VDAC, o bit permanece setado, seno ele resetado.
Agora a lgica de controle de aproximaes sucessivas seta o prximo bit mais
significativo (11 0000 0000B ou 01 0000 0000B, dependendo do resultado anterior) e VDAC
comparada novamente Vin. Se Vin for maior que VDAC, o bit que est sendo testado
permanece setado, seno o bit resetado. Este processo se repete at que todos os 10 bits
sejam testados, neste ponto o resultado da converso se encontra no SAR.
FIGURA 3.9 ADC DE APROXIMAES SUCESSIVAS

Fonte: Philips (1996)

27

4 DESENVOLVIMENTO DO PROTTIPO
Neste capitulo sero apresentados a especificao do prottipo de hardware e software
e as ferramentas utilizadas.
Aps a especificao, a implementao descreve a montagem do hardware do
prottipo, o desenvolvimento do software e sua operacionalidade.

4.1 FERRAMENTAS UTILIZADAS


Para a especificao do esquema eletrnico e para a implementao da placa de
circuito impresso do prottipo de hardware, foi utilizada a ferramenta Tango. O Tango possui
todas as funes necessrias para o desenvolvimento de placas de circuito impresso, desde o
editor de esquemas eletrnicos at a ferramenta de layout da placa propriamente dita (Altium,
1992).
A especificao do software de controle de temperatura baseado em lgica fuzzy foi
realizada utilizando-se fluxogramas e a ferramenta FuzzyTech (Inform, 2001). O fluxograma
um mtodo de especificao e documentao bastante conhecido e muito utilizado
principalmente para especificar processos com execuo seqencial. J o software FuzzyTech
especializado para o desenvolvimento de aplicaes com lgica fuzzy, gerando uma ampla
documentao do sistema desenvolvido.
O software do prottipo foi implementado na linguagem C, muito difundida nos
projetos para microcontroladores. Foi utilizado o compilador da Keil Software, C51. Este
compilador especfico para a famlia de microcontroladores MCS-51 e seus derivados, como
o caso do 80C552.

4.2 ESPECIFICAO DO HARDWARE


O primeiro passo tomado na especificao do hardware deste prottipo, foi a escolha
de um processador, no caso um microcontrolador, que atendesse aos requisitos do projeto.
Optou-se por utilizar o 80C552 da Philips, devido a algumas de suas caractersticas: este
microcontrolador possui entradas analgicas e sadas de PWM on-chip. Tendo em vista que o
projeto prev o controle de temperatura de um ambiente, fica clara a necessidade de pelo

28
menos 1 entrada analgica para a leitura desta temperatura, neste prottipo, e uma sada para
controlar proporcionalmente algum dispositivo capaz de atuar sobre esta temperatura.

4.2.1

MEMRIAS DE DADOS E PROGRAMA


O modelo do microcontrolador utilizado no possui memria de programa (ROM

Read Only Memory) interna, por este motivo fez-se necessria a utilizao de uma memria
do tipo EPROM (Eraseable Programable Read Only Memory) externa. O tamanho desta
memria foi super dimensionado para este projeto para dar mais versatilidade ao prottipo,
sendo utilizada a memria 27C512 de 64 Kbytes. Pelo mesmo motivo do super
dimensionamento da memria de programa, optou-se tambm por incluir uma memria de
dados (RAM Random Access Memory) externa. Foi utilizado a memria 6264, que
acrescentou 8 Kbytes de memria de dados ao sistema. A figura 4.1 apresenta a esquema
eletrnico das conexes do microcontrolador com as memrias externas:
FIGURA 4.1 CONEXO DO MICROCONTROLADOR E MEMRIAS RAM E EPROM

29
Na figura 4.1 pode-se identificar claramente os 3 barramentos que possibilitam a
interface entre o microcontrolador e as memrias externas:
a) barramento de dados (D0..D7), local por onde trafegam os dados lidos e escritos
nas memrias;
b) barramento de endereos (A0..A15), local onde a memria endereada, ou seja,
no caso de uma escrita a memria, os dados contidos no barramento de dados sero
armazenados no endereo apontado pelo barramento de endereos;
c) barramento de controle (PSEN, ALE, WR, RD), serve para indicar o tipo de
operao (leitura ou escrita) que ser realizada, e para habilitar o chip correto.
Como em toda famlia de microcontroladores MCS-51, o barramento de dados e
endereos multiplexado ( os pinos de dados D0..D7 so usados tambm como A0..A7). Esta
multiplexao controlada pelo pino ALE (Adress Latch Enable) do microcontrolador e
utilizando um latch para separar os sinais de dados dos sinais de endereos. No caso deste
prottipo utilizou-se o chip 74HC373. O 74HC373 um latch octal que possui dois pinos de
controle independentes, o latch enable (C), e o output enable (OC). Neste caso o pino OC est
diretamente ligado ao GND (nvel lgico 0) para que as sadas do chip fiquem sempre
habilitadas, j o pino latch enable (C), est conectado ao pino ALE do microcontrolador. Este
pino em nvel alto, indica que o controlador esta endereando algum perifrico, quando a
entrada latch enable do 74HC373 sente este nvel alto, faz com que o dado contido no pinos
de entrada do latch (1D..7D), sejam transferidos sada (1Q..7Q), como pode ser visto na
figura 4.1, gerando assim, juntamente com os pinos A8..A15, um endereo de 16 bits.
A seleo da memria a ser acessada (RAM ou EPROM) controlada pelo 80C552
atravs do pino PSEN (Program Store Enable) e dos pinos RD (Read) e WR (Write). Nvel
baixo (0 lgico) no pino PSEN indica que o microcontrolador deseja acessar a memria de
programa para buscar instrues. Como a EPROM utilizada possui 64 Kbytes de tamanho, ela
utiliza toda a faixa de endereamento possvel, indo de 0000H at FFFFH.
Para o acesso a RAM so utilizados os pinos de controle RD e WR. Nvel baixo em
RD indica que o controlador ir ler dados da RAM, e nvel baixo em WR, indica uma escrita
na memria de dados. Pode-se notar na figura 4.1, que o pino 20 (enable1) do chip 6264 est
ligado linha de endereo A15, como o enable1 ativo baixo, a faixa de endereos
disponvel para a RAM fica sendo de 0000H at 7FFFH. Foi convencionado, para este

30
prottipo, utilizar a faixa de endereos de 0000H at 1FFFH, tendo em vista que a RAM
possui somente 8 Kbytes.

4.2.2

SISTEMTICA DE RESET
A figura 4.2 ilustra o circuito de reset do microcontrolador utilizando o chip de

watchdog externo, o X25043 da XICOR.


FIGURA 4.2 CIRCUITO DE RESET DO PROTTIPO

O chip X25043 foi escolhido, ao invs do watchdog timer interno do microcontrolador,


para este prottipo, devido ao seu funcionamento simples e eficaz, e pelo fato de possuir alm
da funo de watchdog, um controle de reset que detecta se a tenso de alimentao do
sistema est fora da faixa de operao do controlador (por exemplo, durante o power-up do
sistema), e mantm o mesmo resetado at que a tenso se normalize, e 512 bytes de
EPROM (Electrically Eraseble Programmable Read Only Memory), que futuramente
podero vir a ser utilizados para armazenar parmetros de controle do prottipo, dando assim
maior versatilidade ao sistema.

31
Como o pino de reset do X25043 ativo baixo, e o 80C552 necessita de um pulso alto
para ser resetado foi necessrio adicionar um pequeno circuito de inverso do sinal do
watchdog.

4.2.3

FONTE DE ALIMENTAO
Este prottipo necessita de uma tenso (VCC) de 5V para seu funcionamento. Para

gerar esta tenso o prottipo deve receber uma tenso de 9 12V em seus bornes de
alimentao. Para transformar esta tenso de entrada em 5V, utilizado um componente
simples e muito comum na eletrnica, o regulador de tenso 7805. Conforme a figura 4.3, a
tenso injetada no pino 1 do 7805 (U7) regulada para 5V e disponibilizada no pino 3. A
figura 4.3 mostra tambm os capacitores C13 e C14, responsveis pela filtragem de possveis
rudos eltricos.
FIGURA 4.3 FONTE DE ALIMENTAO DO PROTTIPO

4.2.4

CRISTAL OSCILADOR
O cristal o componente responsvel pela base de tempo para todos os processos

internos do microcontrolador. A figura 4.4 ilustra a conexo de um cristal ao 80C552. O


microcontrolador 80C552 permite um cristal de at 16 Mhz em seus pinos (34 e 36). Porm,
quanto se utiliza comunicao serial, h a preferncia a um cristal cujo valor facilite o clculo
da baud rate (taxa de transmisso). Neste caso foi utilizado um cristal de 11.0592 Mhz (X1).

32
FIGURA 4.4 CRISTAL OSCILADOR CONECTADO AO 80C552

4.2.5

ENTRADA ANALGICA PARA TEMPERATURA


Como visto no captulo 3, o microcontrolador 80C552 possui 8 entradas analgicas on-

chip, uma destas entradas utilizada no prottipo para realizar a aquisio do valor da
temperatura do ambiente a ser controlado.
Para a leitura desta temperatura foi utilizado um sensor do tipo termoresistncia, ou
tambm conhecido como PT-100. O sensor PT-100 uma resistncia que varia linearmente
com a temperatura a ela aplicada. Para 0 (zero) graus Celsius seu valor de 100 (ohms) e,
para 100 graus Celsius de 138,5 (ohms).
A entrada analgica do microcontrolador desenvolvida para leitura de tenses, no
resistncias, por este motivo necessrio utilizar um conversor de PT-100 para Volts. Neste
prottipo foi utilizado um conversor fabricado pela Multitherm Sistemas e Automao Ltda.
Este dispositivo converte a resistncia equivalente a uma temperatura de 0 100C, em uma
tenso na faixa de 0 2,5V.
A figura 4.5 ilustra o circuito que realiza a leitura da temperatura (depois de convertida
em Volts), mostrando todos os componentes discretos necessrios ao condicionamento do
sinal, bem como a gerao das tenses de referncia do conversor analgico digital.

33
FIGURA 4.5 CIRCUITO DE LEITURA DE TEMPERATURA DO AMBIENTE

Pode-se notar na figura 4.5 as conexes necessrias ao funcionamento do ADC


(Analog to Digital Converter) do microcontrolador 80C552. Primeiramente a alimentao do
conversor, que se d atravs dos pinos 60 e 61 (AVSS e AVDD respectivamente). Se faz
necessria tambm a gerao de uma tenso de referncia constante. Isso conseguido atravs
do uso de um diodo zenner, o LM336, que regula a tenso no pino 59 (AVREF+) do 80C552,
em exatos 2,5V, e conectando-se o pino 58 (AVREF-) ao GND.
A leitura da temperatura propriamente dita, se d no pino 1 (ADC0) do
microcontrolador. Antes de chegar a este pino o sinal do PT-100, j convertido para Volts,
passa por um circuito condicionador, que ir filtrar e regular o sinal.

4.2.6

INTERFACE SERIAL
Um dos objetivos especficos deste trabalho, conforme visto no item 1.1, a

disponibilizao dos dados, bem como, o envio de setpoints ao prottipo atravs de um


software de superviso. Para tanto se faz necessrio o uso de algum meio de comunicao
entre o prottipo e um computador.

34
Foi includo no projeto uma interface serial padro RS-232, que, ligada UART
(Universal Assinchronous Receiver Transmiter) do microcontrolador 80C552, que
compatvel ao padro da famlia MCS-51, faz a interface entre o prottipo e o software de
superviso que est rodando em um PC.
A figura 4.6 mostra o circuito da interface serial do prottipo:
FIGURA 4.6 CIRCUITO DA INTERFACE SERIAL DO PROTTIPO

O chip MAX232 (U6) um conversor duplo bidirecional de nvel de tenso para a


norma RS-232. Com apenas alguns capacitores possvel alimentar este chip com 5V e obter
o padro de sinais RS-232 em suas sadas de forma a possibilitar a implementao de uma
interface serial com qualquer computador que possua uma porta serial RS232.
Mais informaes sobre interface serial RS232 podem ser encontradas em Jordan
(1994) e Axelson (1998).

4.2.7

ESQUEMA ELETRNICO COMPLETO


A figura 4.7 ilustra todo o esquema eletrnico do prottipo. Como citado

anteriormente foi utilizada a ferramenta Tango para a gerao deste esquema.

35
FIGURA 4.7 ESQUEMA ELETRNICO COMPLETO DO PROTTIPO

36

4.3 ESPECIFICAO DO SOFTWARE


Nesta seo sero abordadas as especificaes do software de controle Fuzzy, bem
como, a especificao do software de superviso e o protocolo de comunicao utilizado.

4.3.1

SOFTWARE DE CONTROLE FUZZY


Como mencionado anteriormente, a especificao do software do prottipo foi feita

com a ferramenta FuzzyTech. Inicialmente, v-se uma introduo ao princpio de


funcionamento e estrutura do sistema.

4.3.1.1

ESTRUTURA DO SISTEMA

A temperatura do sistema lida atravs da entrada analgica do prottipo. A diferena


entre a temperatura lida e o setpoint do sistema, chamada de delta_temp e uma das
entradas do sistema (medida em C). O valor da temperatura ento subtrado do valor da
temperatura lida anteriormente ( feita uma leitura por segundo), isto gera a varivel
gradiente, que a segunda entrada do controlador fuzzy(esta entrada medida em C/s).
Cada uma das regras de inferncia, do tipo se..ento, ir analizar estas entradas e gerar
uma sada apropriada. As sadas individuais de cada regra sero combinadas e posteriormente
desfuzzificadas gerando assim a sada do sistema chamada de sada_pwm, que no caso
deste sistema representa o percentual de potncia aplicada sobre um agente de aquecimento
do ambiente.
A figura 4.8 ilustra a estrutura do sistema de controle fuzzy implementado. Nela
podemos observar as duas entradas (delta_temp e gradiente), o bloco de regras (RB1 Rule
Block 1), e a sada do sistema (sada_pwm).
FIGURA 4.8 ESTRUTURA DO SISTEMA

37

4.3.1.2

VARIVEIS DE ENTRADA

Aqui apresentada a especificao das duas entradas do sistema, transformadas em


conjuntos difusos.
Primeiramente a varivel delta_temp. Esta entrada foi definida como podendo assumir
valores de 20 20C, representado, respectivamente, uma faixa de 20C abaixo do setpoint
at 20C acima do setpoint. Fora desta faixa a sada ser 100% aberta, para valores abaixo do
setpoint, e 0% aberta para valores acima do setpoint.
A figura 4.9 ilustra o conjunto fuzzy gerado para esta entrada. Definiu-se que os
valores lingsticos possveis para delta_temp sero: muito baixa, baixa, no setpoint, alta e
muito alta.
FIGURA 4.9 VARIVEL DELTA_TEMP

A varivel gradiente, por sua vez, poder variar na faixa de 2 2C/s. Valores
negativos indicam que a temperatura est caindo e valores positivos indicam temperatura em
elevao. Os valores lingsticos definidos para gradiente so: caindo rpido, caindo devagar,
estvel, subindo devagar e subindo rpido.
A figura 4.10 ilustra o conjunto fuzzy gerado para a varivel gradiente.

38
FIGURA 4.10 VARIVEL GRADIENTE

4.3.1.3

VARIVEL DE SADA

A varivel de sada do sistema, sada_pwm, representa a potncia aplicada sobre um


agente de aquecimento para possibilitar ao sistema atingir o setpoint desejado. Este dado est
sendo representado em percentual (0 100%). Notaremos que, quando a temperatura do
processo estiver acima do setpoint, o valor de saida_pwm tender a 0, pois este sistema prev
apenas o aquecimento de um ambiente.
Os valores lingsticos previstos para a varivel sada_pwm so: nula, pequena, media,
grande e muito grande. A figura 4.11 mostra a representao da varivel sada_pwm.
FIGURA 4.11 VARIVEL SADA_PWM

4.3.1.4

BLOCO DE REGRAS

A lgica fuzzy necessita de regras para definir seu comportamento. Estas regras
definem as condies esperadas durante o processo, e que atitudes sero tomadas para cada

39
condio. Elas substituem as frmulas matemticas normalmente utilizadas. Estas regras
devem cobrir todas as situaes possveis. Por este motivo o bloco de regras desta
implementao possui 25 regras, que cobrem todas as combinaes das 2 entradas.
As atitudes a serem tomadas foram definidas com base na prpria experincia do autor
em controle de processos, sem a necessidade de conhecimento aprofundado, e de um modelo
matemtico do sistema.
A figura 4.12 mostra as regras definidas dentro da ferramenta FuzzyTech.
FIGURA 4.12 BLOCO DE REGRAS

40

4.3.2

EXEMPLO DE FUNCIONAMENTO
Tomando por exemplo, uma situao onde o setpoint do processo 60C e a

temperatura atual seja 55C, isso faria com que a entrada delta_temp assumisse o valor 5.
Supondo tambm que a temperatura est subindo a uma velocidade de 0,6C/s, ou seja,
entrada gradiente igual a 0,6. A figura 4.13 ilustra graficamente a varivel delta_temp.
FIGURA 4.13 VARIVEL DELTA_TEMP COM VALOR IGUAL A 5C

Como se pode notar na figura 4.13, o valor 5C pertence ao conjunto baixa com
uma pertinncia de 0.6 e ao conjunto no setpoint, com uma pertinncia de 0.4.
A figura 4.14 ilustra graficamente a varivel gradiente.
FIGURA 4.14 VARIVEL GRADIENTE COM VALOR IGUAL A 0.6C/S

41
O valor suposto para o exemplo, 0,6C/s, pertence a dois conjuntos, estvel, com
uma pertinncia de 0.4 e ao conjunto subindo devagar com uma pertinncia de 0.6.
Esta situao ativar 4 das 25 regras definidas: 12, 13, 17 e 18. A figura 4.15 mostra
estas regras.
FIGURA 4.15 REGRAS ATIVADAS NA SITUAO DE EXEMPLO

Analisando, inicialmente, a regra 12, tem-se o conjunto baixa com pertinncia 0.6, e
o conjunto estvel com pertinncia 0.4. Lembrando que estes conjuntos esto ligados pela
operao AND, e lembrando tambm das operaes em conjuntos fuzzy, vistas no captulo 3,
a operao AND equivale a uma interseo dos conjuntos. A interseo define que o resultado
da operao deve ser o mnimo valor dos conjuntos, no nosso caso 0.4.
Ento temos como sada da regra 12, uma atuao na varivel sada_pwm de
pertinncia 0.4 no conjunto grande. A figura 4.16 demonstra graficamente este exemplo.
FIGURA 4.16 SADA DA REGRA 12 APLICADA VARIVEL SADA_PWM

Depois de determinadas as sadas de cada regra, todas so combinadas para formar o


chamado Logical Sum. As sadas so combinadas atravs da operao OR. O OR lgico

42
significa pertencente a qualquer um dos conjuntos. Segundo a teoria das operaes com
conjuntos Fuzzy, cada conjunto ir contribuir com o seu maior valor para formar o Logical
Sum. Por exemplo, duas regras geram sadas para o conjunto grande, uma com pertinncia
0.3 e outra com pertinncia 0.5. Para fins de gerao do Logical Sum ser utilizado o valor
0.5.
A figura 4.17 ilustra a varivel sada_pwm aps todas as regras serem inferidas e
realizar a desfuzzificao.
FIGURA 4.17 VARIVEL SADA_PWM DESFUZZIFICADA

O mtodo de desfuzzificao utilizado aqui o mtodo da mdia dos mximos. O


clculo deste mtodo funciona da seguinte maneira: utilizando os conjuntos nula, media e
grande, deve-se obter o mximo valor que estes conjuntos podem representar. O valor
mximo para nula 0, para mdia 50 e para grande o mximo 75. Utiliza-se ento
este valor mximo e a pertinncia de cada conjunto na formula do quadro 5.1.
QUADRO 5.1- FORMULA DA DESFUZZIFICAO MDIA DOS MXIMOS
(valor mximo * pertinncia)/ (pertinncia)
Utilizando os valores do exemplo temos: ((0*0.4)+(50*0.6)+(75*0.4)) / (0.4+0.6+0.4),
com resultado igual a 42.8%.

43

4.3.3

SOFTWARE DE SUPERVISO
A funo primordial do software de superviso a aquisio de dados e o envio de

setpoints ao prottipo. Para tanto, foi desenvolvido um protocolo de comunicao serial,


baseado no protocolo Modbus da Gould Electronics.
Este protocolo define o computador como sendo o master e o prottipo como sendo o
slave. O master controla as transaes realizadas durante a comunicao, requisitando e
enviando dados ao prottipo. Para tanto, foram utilizadas 2 funes do protocolo original, a
funo de cdigo 3, para leitura de registros e a funo de cdigo 6, para escrita de registros.

4.3.3.1

FUNO DE LEITURA DE REGISTROS (3)

O quadro 5.2 ilustra o formato da funo 3 do protocolo Modbus. Esta funo permite
ao master ler registros do prottipo. O bloco formado por 8 bytes, que possuem as seguintes
funes:
a) endereo: identifica qual dos slaves ser acessado. No caso deste projeto fixo em
1 pelo fato de haver apenas um slave;
b) funo: indica a funo a ser executada, neste caso leitura (3);
c) registro inicial (2 bytes): indica o primeiro registro do slave a ser lido;
d) quantidade de registros (2 bytes): quantos registros a partir do registro inicial sero
lidos com este comando;
e) CRC: Cyclical Redundancy Check.
QUADRO 5.2 FORMATO DA FUNO 3
Endereo

Funo

Registro
Inicial
(MSB)

Registro Quantidade Quantidade


Inicial
Registros Registros
(LSB)
(MSB)
(LSB)

CRC
(MSB)

CRC
(LSB)

O quadro 5.3 mostra o formato da resposta do slave a um comando de leitura. Vamos


supor que foi solicitada uma leitura de 2 a partir do registro 3. No caso deste exemplo o
campo Contador Bytes assumiria o valor 4, pois cada registro uma varivel de 16 bits.

44
QUADRO 5.3 FORMATO DA RESPOSTA DA FUNO 3
Endereo Funo

4.3.3.2

Contador Registro Registro Registro Registro


Bytes 3 (MSB) 3 (LSB) 4 (MSB) 4 (LSB)

CRC
(MSB)

CRC
(LSB)

FUNO DE ESCRITA DE REGISTROS (6)

A funo de cdigo 6 permite ao master escrever em um dos registros (variveis) do


slave. Este comando utilizado pelo software de superviso para enviar o valor da
temperatura programada (setpoint) ao prottipo.
O quadro 5.3 mostra o formato do comando de escrita do protocolo.
QUADRO 5.2 FORMATO DA FUNO 6
Endereo

Funo

N.
Registro
(MSB)

N.
Registro
(LSB)

Dado
(MSB)

Dado
(LSB)

CRC
(MSB)

CRC
(LSB)

A resposta do slave retornar este mesmo comando ao master indicando que a


operao foi realizada com sucesso.
O fluxograma da figura 4.18 ilustra a seqncia de operao do protocolo de
comunicao entre o software de superviso e o prottipo.

45
FIGURA 4.18 FLUXOGRAMA DO PROTOCOLO DE COMUNICAO

4.4 IMPLEMENTAO
Na parte de implementao alguns passos devem ser seguidos. O primeiro passo a
montagem do hardware do prottipo, pois sobre esta plataforma sero realizados os testes do
software. Em seguida ser apresentado o software de superviso, que a interface homemmquina do prottipo, e permite visualizar o processo de controle de temperatura que esta
sendo realizado pelo prottipo.

46

4.4.1

MONTAGEM DO PROTTIPO
O estgio final do desenvolvimento de um hardware a gerao de uma placa com

todos os dispositivos especificados no esquema eletrnico.


Existem vrias formas para se realizar montagens de placas eletrnicas, a mais
conhecida a placa de circuito impresso (PCI), encontrada nos mais diversos tipos de
aparelhos eletrnicos do mercado. Esta forma de montagem de placa muito utilizada, pois
alm de suas trilhas estarem impressas na placa, os componentes eletrnicos so soldados nas
mesmas, diminuindo bastante o risco de trilhas rompidas e componentes mal conectados(mau
contato).
Quando se trata do desenvolvimento de um prottipo, algumas desvantagens so
encontradas na placa de circuito impresso. Pelo fato de suas trilhas e componentes eletrnicos
estarem presos placa, existe muita dificuldade para eventuais alteraes do projeto, alm de
sua confeco requerer tempo e materiais especiais.
Todo o layout da placa de circuito impresso do prottipo foi feito utilizando-se
tambm a ferramenta Tango. Para tanto, importou-se o esquema eletrnico criado no mdulo
de esquemas do Tango para o mdulo de layout, tambm conhecido como Tango PCB
(Printed Circuit Board). Este, por sua vez, possui uma funo de roteamento, que, aps
delimitado o tamanho e posio dos componentes na placa, gera as ligaes(trilhas),
automaticamente. Normalmente este processo, tambm chamado de auto-route, necessita de
alguns ajustes manuais aps concludo, mas de grande auxilio, principalmente quando o
tempo de implementao do projeto um fator a ser considerado.
A figura 4.19 mostra a placa de circuito impresso do prottipo do lado dos
componentes, ou seja nesta face da placa sero inseridos todos os componentes definidos na
especificao. Esta placa possui trilhas nas duas faces, este tipo de placa conhecido como
dupla-face. Optou-se por utilizar uma placa dupla-face devido complexidade do layout, uma
placa de face simples teria que ser muito maior para comportar a mesma quantidade de
ligaes (trilhas) sem sobrep-las (uso de muitos jumpers).

47
FIGURA 4.19 PLACA DE CIRCUITO IMPRESSO(LADO COMPONENTES)

A figura 4.20 mostra o prottipo j montado com todos os componentes soldados


placa de circuito impresso.
FIGURA 4.20 PROTTIPO MONTADO

48

4.4.2

SOFTWARE DO PROTTIPO
Alm da especificao, a implementao de parte do software do prottipo tambm foi

criada utilizando a ferramenta FuzzyTech, uma vez que esta ferramenta possui uma funo de
gerao de cdigo a partir da especificao criada. Sendo assim toda parte de controle
utilizando lgica fuzzy foi implementada automaticamente. A figura 4.21 mostra a interface
da ferramenta FuzzyTech.
FIGURA 4.21 FERRAMENTA FUZZYTECH DA INFORM

Esta ferramenta se mostrou muito eficiente para a criao rpida de rotinas de controle
baseadas em lgica fuzzy. O programa apresenta vrias caractersticas teis. O modo de
debug interativo, que pode ser visto no centro da figura 4.21, foi muito importante na fase de
testes do prottipo, pois permitia comparar os resultados obtidos no prottipo com os gerados
pela ferramenta FuzzyTech, e estes foram sempre os mesmos.

49
J a parte de comunicao do prottipo bem como leitura da entrada analgica e
interpretao dos resultados gerados pelo controle fuzzy foram implementados em linguagem
C utilizando o compilador da Keil Software, o C51. A figura 4.22 mostra a interface deste
compilador.
FIGURA 4.22 COMPILADOR C51 DA KEIL

4.4.3

SOFTWARE DE SUPERVISO
O software de superviso foi implementado no ambiente Delphi 5, e tem por objetivo

apresentar graficamente o processo de controle de temperatura realizado pelo prottipo. O


ambiente de programao Delphi foi escolhido por ser um dos mais utilizados hoje para
desenvolvimento de software, alm da vasta documentao a seu respeito, e pelas facilidades

50
que oferece no desenvolvimento de aplicaes que utilizam comunicao serial e grficos.
Este software consiste de apenas uma tela onde pode-se destacar os seguintes itens:
a) grfico de tempo e temperatura do tipo linhas, onde so mostradas a temperatura
atual lida no sensor e a temperatura programada (setpoint);
b) grfico do tipo barra, mostrando o status de sada do processo, ou seja, o percentual
de potncia a ser aplicado no elemento de aquecimento;
c) boto de incio de comunicao com o prottipo;
d) boto para o envio de setpoints ao prottipo.

A figura 4.23mostra a tela do software de superviso.


FIGURA 4.23 TELA DO SOFTWARE DE SUPERVISO

Ao ser iniciado, o programa de superviso ainda no est coletando dados do prottipo,


para tanto necessrio que o usurio pressione o boto Iniciar Comunicao.
Ao fazer isto o programa iniciar a comunicao serial com o prottipo. Esta
comunicao est configurada para acontecer atravs da porta COM1, e a um baudrate de
19200. O padro do programa sempre utilizar a funo 3 do protocolo (leitura de registros),

51
lendo as variveis temperatura atual, temperatura programada e potncia de aquecimento. O
programa apenas utiliza a funo 6 (escrita de registros), quando o operador preencher a caixa
de texto ao lado do boto Envia setpoint com um novo valor para a temperatura programada
e pressionar o boto. Este valor ento enviado ao prottipo e imediatamente utilizada nos
clculos de controle do processo.

4.4.4

TESTES E VALIDAES DO PROTTIPO


Para considerar alcanados os objetivos do trabalho, alguns itens foram validados:
a) teste de funcionamento de todos os componentes do prottipo;
b) teste da comunicao serial (RS-232) entre o prottipo e o PC;
c) apresentao dos dados do processo no software de superviso;
d) comparao entre os resultados obtidos com o prottipo e os resultados gerados
pelo mdulo de debug da ferramenta FuzzyTech.
As fases de testes a e b, foram realizadas utilizando-se ferramentas comuns ao

ambiente da eletrnica, como multmetro e osciloscpio. O objetivo destes testes foi certificar
o funcionamento dos componentes bsicos do prottipo, como, a fonte de alimentao, o
cristal oscilador da CPU, a interface da CPU com as memrias e a interface serial.
O passo seguinte foi testar o funcionamento do software de superviso. Isso se deu
atravs de uma comparao entre os valores de temperatura apresentados na tela do software e
valores conhecidos que foram injetados na entrada analgica do prottipo.
J o funcionamento do sistema de controle Fuzzy que executado no prottipo, foi
validado atravs da comparao entre a sada gerada pelo prottipo com determinados valores
nas entradas, e a sada que gerada pela ferramenta FuzzyTech no modo de debug, se
inseridos os mesmos valores de entrada. A figura 4.24 ilustra este teste:

52
FIGURA 4.24 MODO DE DEBUG DO SOFTWARE FUZZYTECH

Comparando o resultado do degub interativo do software FuzzyTech, visto na figura


acima, com os valores lidos do prottipo, que podem ser vistos na figura 4.23, nota-se que,
tendo entradas iguais, delta_temp igual -6C e gradiente igual a 0C/s, o valor da sada do
controlador Fuzzy, tanto no debug, como no prottipo, tambm o mesmo, 54%.

53

5 CONCLUSO
Os objetivos do trabalho foram atingidos, os quais eram implementar um prottipo de
hardware baseado no microcontrolador 80C552, implementar um software para este prottipo
que realizasse o controle de temperatura de um ambiente utilizando os conceitos da lgica
fuzzy e disponibilizar estes dados em um software de superviso, para que o processo pudesse
ser visualizado graficamente.
Apesar disto o trabalho possui algumas limitaes, as quais so citadas abaixo.
a) o prottipo esta programado para realizar apenas o aquecimento;
b) a porta de comunicao e baudrate so fixas, obrigando que se utilize a COM1 e
baudrate de 19200;
c) no foi possvel realizar um teste utilizando sensores e elementos de aquecimento
reais, apenas simulaes do comportamento do processo.
Obervou-se durante o trabalho que a lgica fuzzy possui caractersticas fundamentais
para a soluo de determinados tipos de problemas, principalmente aqueles relacionados com
tomada de deciso sobre valores imprecisos, alem de ser bem adaptada para implementaes
de baixo custo baseadas em sensores, conversores A/D e microcontroladores.
Uma das dificuldades encontradas no uso desta tecnologia, foi a quantidade reduzida
de trabalhos mais didticos que utilizam os conceitos de lgica Fuzzy. Praticamente a
pesquisa terica se limitou a publicaes extremamente tcnicas, o que, inicialmente, dificulta
a compreenso do funcionamento da lgica.
Tambm os microcontroladores da famlia MCS51, criados pela Intel a mais de 20
anos, mostram porque ainda so muito utilizados em projetos eletrnicos nas mais diversas
reas. A grande quantidade de instrues, a arquitetura, e sua filosofia de funcionamento
fazem dos microcontroladores desta famlia uma referncia em microcontroladores de 8 bits.
Mais especificamente o derivado da famlia MCS51, 80C552, utilizado neste prottipo
mostrou ser muito eficaz e verstil em projetos de baixo custo e que necessitem de perifricos
como conversores A/D e sadas de PWM.
No que diz respeito ao hardware do prottipo, um dos problemas que surgiu, foi a
dificuldade de se encontrar alguns componentes como o 80C552 e o X5043, em lojas

54
especializadas em componentes eletrnicos da regio. A soluo foi encomenda-los de
distribuidores, que se encontram, em sua maioria, no estado de So Paulo. H tambm o custo
de fabricao da placa de circuito impresso, que deve ser levado em considerao em projetos
nesta rea.

5.1 EXTENSES
As sugestes para extenses e trabalhos futuros nesta rea so:
a) criar mais uma sada no processo responsvel por controlar o resfriamento;
b) implementar em conjunto um controlador PID e comparar suas performances;
c) implementar um controle de temperatura onde a velocidade de aquecimento e
resfriamento possa ser programada (gradiente de C/min) .

55

REFERNCIAS BIBLIOGRFICAS

ALTIUM INC. Tango users guide. San Diego: Altium, 1992.


ANLAUF, Drcio Heinz. Projeto de um coletor de dados baseado em microcontrolador.
1993. 107 f. Trabalho de Concluso de Curso (Bacharelado em Cincias da Computao) Centro de Cincias Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
AXELSON, Jan. Serial port complete: programming and circuits for RS-232 and RS-485
links and networks. Madison: Lakeview Research, 1998.
BARR, Michael. Introduction to pulse width modulation, Maryland, ago. 2001. Disponvel
em: <http://www.embedded.com/story/OEG20010821S0096>. Acesso em 08 mai. 2002.
CORREIA,

Carlos.

Conversores

AD

DA.

Coimbra,

2001.

Disponvel

em:

<http://lei.fis.uc.pt/ppessoais/correia/Electronica-2001/ADC-DAC.pdf>. Acesso em 09 mai.


2002.
COX, Earl. The fuzzy systems handbook. New York: AP Professional, 1994.
INFORM GMBH. FuzzyTech users guide. Aachen: Inform, 2001.
JORDAN, Larry. Comunicaes e redes com o PC. Rio de Janeiro: Axcel Books, 1994.
KEIL SOFTWARE INC. Keil users guide. Dallas: Keil, 2001.
KLITZKE, Marcelo. Prottipo de hardware para aquisio e transmisso de imagens via
padro serial RS-485. 1999. 77 f. Trabalho de Concluso de Curso (Bacharelado em
Cincias da Computao) - Centro de Cincias Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau.
KOSKO, Bart. Neural networks and fuzzy systems. New Jersey: Prentice Hall, 1992.

56
MAMDANI, E.H. Application of fuzzy algorithms for control of simple dynamic plant.
Proceedings of the IEEE (Control and Science), Piscataway, v.121, p. 298-316, 1974.
PACHECO, Roberto C. S. Tratamento de impreciso em sistemas especialistas. 1991. 85 f.
Dissertao (Mestrado em Engenharia de Produo) Engenharia de Produo e Sistemas,
UFSC, Florianpolis.
PEREIRA, Cledy Gonalves. Um sistema especialista com tcnicas difusas para os limites
da agncia. 1995. 91 f. Dissertao (Mestrado em Engenharia de Produo) Engenharia de
Produo e Sistemas, UFSC, Florianpolis.
PHILIPS SEMICONDUCTORS. 80C51 Family derivatives: 8XC552/562 overview.
Sunnyvale: Philips, 1996.
RABUSKE, Renato Antnio. Inteligncia artificial. Florianpolis: UFSC, 1995.
ROSS, Timothy J. Fuzzy logic with engineering applications. New York: McGraw-Hill,
1995.
SILVA JNIOR, Vidal Pereira da Silva. Microcontroladores. So Paulo: rica, 1988.
SILVA JNIOR, Vidal Pereira da Silva. Microcontrolador 8051: hardware e software. So
Paulo: rica, 1990.
TARIG, Ali Abdurrahman E. S. Controle de um brao robtico utilizando uma
abordagem de agente inteligente. 2001. 98 f. Dissertao (Mestrado em Informtica)
Coordenao Ps-Graduao em Informtica, Universidade Federal da Paraba, Joo Pessoa.
TOSHINORI, Munakata; JANI, Yashvant. Comunications of the ACM: fuzzy systems, New
York, v.37, p. 69-76, 1994.
WELSTEAD, Stephen T. Neural network and fuzzy logic applications in C/C++. New
York: Wiley, 1994.
ZADEH, Lotfi A. Fuzzy sets. Information and control, San Diego, v. 8, p. 338-353, 1965.

57
ZADEH, Lotfi A. Outline of a new approach to the analysis of complex systems and decision
processes. IEEE Transactions on Systems Man & Cybernetics, Tampa, v.3, p. 28-44,
1973.