fuzzy com microcontrolador

64
 UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E N ATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) PROTÓTIPO DE UM CONTROLADOR DE TEMPERATURA BASEADO EM LÓGICA FUZZY UTILIZANDO UM MICROCONTROLADOR TRABALHO DE CONCLUSÃO DE CURSO SUBMETIDO À UNIVERSIDADE REGIONAL DE BLUMENAU PARA A OBTENÇÃO DOS CRÉDITOS NA DISCIPLINA COM NOME EQUIVALENTE NO CURSO DE CIÊNCIAS DA COMPUTAÇÃO — BACHARELADO EDUARDO KLAUS BARG BLUMENAU JUNHO/2002 2002/1-27

Upload: jose-almodovar

Post on 02-Nov-2015

237 views

Category:

Documents


0 download

DESCRIPTION

logica fuzzy em microcontrolador

TRANSCRIPT

  • 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

  • ii

    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

  • iii

    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

  • iv

    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

  • v

    5 CONCLUSO .....................................................................................................................53

    5.1 EXTENSES ....................................................................................................................54

    REFERNCIAS BIBLIOGRFICAS .....................................................................................55

  • vi

    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.

  • vii

    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.

  • 1

    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-integral-derivativo). 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.

  • 3

    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

  • 8

    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 pesos-referncia 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 Inicial (LSB)

    Quantidade Registros

    (MSB)

    Quantidade Registros

    (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 Contador Bytes Registro 3 (MSB)

    Registro 3 (LSB)

    Registro 4 (MSB)

    Registro 4 (LSB)

    CRC (MSB)

    CRC (LSB)

    4.3.3.2 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 homem-mquina 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: . Acesso em 08 mai. 2002.

    CORREIA, Carlos. Conversores AD e DA. Coimbra, 2001. Disponvel em: . 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.