Click here to load reader

Adaptação de um sistema microcontrolado de detecção e ... · Um exemplo de aplicação seria a família do microcontrolador 8051 e seus derivados, originalmente da Intel e com

  • View
    212

  • Download
    0

Embed Size (px)

Text of Adaptação de um sistema microcontrolado de detecção e ... · Um exemplo de aplicação seria a...

  • i

    ESCOLA POLITCNICA DE PERNAMBUCO

    Trabalho de Concluso de Curso

    Engenharia de Computao

    Adaptao de um sistema microcontrolado de deteco e

    monitoramento de corrente de fuga para inserir comunicao sem fio

    Autor: David Edson Ribeiro Orientador: Sergio Campello Oliveira

  • ii

    ESCOLA POLITCNICA DE PERNAMBUCO

    Monografia apresentada como requisito parcial para obteno do diploma de Bacharel em Engenharia da Computao pela Escola Politcnica de Pernambuco Universidade de Pernambuco.

    David Edson Ribeiro

    Adaptao de um sistema microcontrolado de deteco e

    monitoramento de corrente de fuga para inserir comunicao sem fio

    Recife, Junho de 2010.

  • iii

    ESCOLA POLITCNICA DE PERNAMBUCO

  • iv

    ESCOLA POLITCNICA DE PERNAMBUCO

    Agradecimentos

    Agradeo primeiramente a Deus por ter me dado foras durante todas as

    etapas do curso de graduao, pois sem ele temos uma vida vazia.

    Agradeo a Srgio Campello Oliveira, que alm de me orientar no Trabalho

    de concluso de curso, me deu a oportunidade de ser monitor por duas vezes em

    duas disciplinas da graduao.

    Agradeo a minha famlia que sempre me apoiou durante os tempos difceis e

    a minha Noiva, Kssia Regiane que me deu muito apoio durante esses anos de

    curso.

    Agradeo a todos os meus colegas de curso, da minha turma e de outras

    turmas tambm, a convivncia foi muito importante.

    Agradeo a meus colegas de faculdade Giovane Boaviagem, Ismael

    Mascarenhas e a Fellipe Nery e a meu colega de trabalho Antnio Carlos Negreiros

    pelas contribuies a este trabalho.

    Enfim, agradeo a todos que me incentivaram a seguir em frente e no

    desistir nos momentos difceis, pessoas que tenho orgulho de chamar de amigos.

  • v

    ESCOLA POLITCNICA DE PERNAMBUCO

    Resumo

    Uma das formas de saber o momento realizar a manuteno de isoladores de

    linhas de transmisso o monitoramento da corrente de fuga para mostrar perdas

    nas propriedades isolantes do material. Um sistema de deteco de corrente de fuga

    eficiente, que j possui resultados consolidados atravs de testes experimentais de

    campo, pode ser aperfeioado, melhorado em processamento, correo de falhas no

    circuito e adaptaes a dispositivos e componentes de melhor desempenho,

    mantendo sempre as caractersticas de custo baixo, baixo consumo de energia e

    fcil transporte para que se consolide na rea de monitoramento e manuteno de

    isoladores eltricos de linhas de transmisso. A necessidade imediata que esse

    dispositivo possa prover suporte comunicao sem fio, melhorando a coleta de

    informaes sobre o meio monitorado.

  • vi

    ESCOLA POLITCNICA DE PERNAMBUCO

    Abstract

    One way to know when to perform maintenance of insulators of transmission

    lines is monitoring the leakage current to show losses in the insulating properties. A

    system for detecting leakage current efficiency, which already has consolidated

    through experimental testing of field, can be refined, improved in processing,

    correction of faults in the circuit and adjust the devices and components for better

    performance, while maintaining the features of low cost, low power consumption and

    easy transport in order to establish the area of monitoring and maintenance of

    insulators electric transmission lines. The immediate need is this device can provide

    support for wireless communication, improving the collection of information about

    monitored environment.

  • vii

    ESCOLA POLITCNICA DE PERNAMBUCO

    Sumrio

    ndice de Figuras __________________________________________________ ix

    ndice de Tabelas ___________________________________________________x

    Listas de Smbolos e Siglas _________________________________________ xi

    1 Introduo ____________________________________________________12

    2 Microcontroladores_____________________________________________13

    2.1 Arquiteturas dos microcontroladores _______________________________ 14

    2.1.1 Arquitetura CISC_______________________________________________________ 15

    2.1.2 Arquitetura RISC_______________________________________________________ 15

    2.1.3 Arquitetura Von Neumann _______________________________________________ 17

    2.1.4 Arquitetura Havard _____________________________________________________ 17

    2.2 Microcontroladores PIC __________________________________________ 19

    3 Sistema de deteco de corrente de fuga___________________________21

    3.1 Componentes do detector ________________________________________ 21

    3.1.1 Sensor ptico _________________________________________________________ 22

    3.1.2 Mdulo de processamento _______________________________________________ 23

    4 Desenvolvimento do projeto _____________________________________25

    4.1 Ferramentas utilizadas no projeto __________________________________ 26

    4.1.1 MPLab IDE__________________________________________________________ 26

    4.1.2 CCS C compile_______________________________________________________ 27

    4.1.3 Proteus_____________________________________________________________ 28

    4.1.4 TraxMaker __________________________________________________________ 28

    4.2 Alteraes no Hardware __________________________________________ 28

  • viii

    ESCOLA POLITCNICA DE PERNAMBUCO

    4.2.1 Microcontrolador PIC18F4550 ____________________________________________ 29

    4.2.2 Alteraes no desenho da placa de circuito impresso. _________________________ 30

    4.3 Alterao do cdigo em linguagem C _______________________________ 34

    4.3.1 Diretivas de compilao Usadas __________________________________________ 35

    4.3.2 Alterao no cdigo fonte________________________________________________ 37

    4.3.3 Integrao do projeto utilizando o MPLab ___________________________________ 40

    5 Concluses e trabalhos futuros___________________________________42

    Bibliografia _______________________________________________________43

    Apndice A:Circuito eltrico adaptado do mdulo de processamento. ______47

    Apndice B: Desenho da placa de circuito impresso adaptada. ____________48

    Apndice C: Cdigo fonte dos programas principal e contagem de nveis

    adaptados. _______________________________________________________49

  • ix

    ESCOLA POLITCNICA DE PERNAMBUCO

    ndice de Figuras Figura 1: Organizao interna dos microcontroladores 12

    Figura 2: Grfico da estatstica de instrues de Tanenbaum 15

    Figura 3: Von Neumann: compartilhamento de dados e instrues 16

    Figura 4: Comparativo entre as arquiteturas Havard e Von neumann 17

    Figura 5: Evoluo da familia PIC 19

    Figura 6: Sistema detector de corrente de fuga 21

    Figura 7: LED conectado a cabea do sensor ptico 22

    Figura 8: Diagrama de blocos do modulo de processamento 23

    Figura 9: Fluxo de projeto do trabalho 25

    Figura 10: Encapsulamento PDIP de 40 pinos do PIC18F4550 28

    Figura 11: Esquema eltrico das ligaes do PIC18F4550 32

    Figura 12: Aterao da pinagem na placa de circuito impresso 32

    Figura 13: Interface da IDE CCS C compiler 33

    Figura 14: Opes do menu view CCS C compile 34

    Figura 15: Organizao modular do cdigo fonte do mdulo de processamento 37

    Figura 16: Opo de compilar no CCS C compile 39

    Figura 17: mensagem de sada do compilador 40

    Figura 18: Compilao do projeto no MPLab 41

  • x

    ESCOLA POLITCNICA DE PERNAMBUCO

    ndice de Tabelas

    Tabela 1 - Comparativo entre as pinagens anterior e posterior a adaptao 30

  • xi

    ESCOLA POLITCNICA DE PERNAMBUCO

    Lista de Smbolos e Siglas Em Ordem Alfabtica:

    ALU: arithmetic logic unit

    ANSI: American National Standards Institute

    BNC: Bayonet Neill-Concelman conector

    CCS: Custom Computer Services

    CISC: Complex Instruction Set Computer

    CPU: Central Processing Unit

    EEPROM: Electrically-Erasable Programmable Read-Only Memory

    FC: Fiber Optic Connector

    GPIB: General Purpose Interface Bus

    I2C: Inter-Intergrated Circuit

    LCD: Liquid Crystal Display

    LED: Light-Emitting Diode

    PCB: Printed Circuit Board

    PIC: Peripherical Interface Controller

    PWM: Pulse Width Modulation

    RISC: Reduced Instruction Set Computer

    ROM: Read Only Memory

    UART: Universal Synchronous Receiver/Transmitter

    USB: Universal Serial Bus

  • 12

    ESCOLA POLITCNICA DE PERNAMBUCO

    1 Introduo

    Sistemas de monitoramento de corrente de fuga se mostram eficientes para

    direcionar a manuteno de cadeias de isoladores eltricos de linhas de transmisso

    de energia. Neste momento existe um sistema consolidado e de comprovada

    eficincia, testada experimentalmente, em uso e monitorando a corrente de fuga em

    seis diferentes localidades da regio Nordeste do Brasil. Porm h a necessidade de

    atualizar o hardware e o software deste sistema para que ele continue competitivo e

    se mantenha como opo de uso na aplicao.

    Para atingir os objetivos do trabalho, deve-se entender o problema para o

    qual o sistema foi proposto, a arquitetura desenvolvida para o dispositivo e explorar

    pontos que possam ser melhorados dentre suas funcionalidades, observando as

    metas propostas por seus desenvolvedores e tambm por pessoas que trabalham

    atualmente em sua melhoria.

    Uma das funcionalidades imediatas que se busca oferecer nesse sistema o

    suporte comunicao sem fio. Para tal o sistema requer uma atualizao de

    hardware e nessa adaptao, devem ser preservadas a funo de contagem de

    eventos de descarga de corrente de fuga e seu respectivo armazenamento para a

    coleta de dados e manter a compatibilidade com os sistemas existentes para facilitar

    a transio de tecnologia, e como objetivos podemos descrever trs etapas do

    trabalho: Adaptar o Hardware existente, modificar o software atual e alterar o

    desenho da placa de circuito impresso do dispositivo.

  • 13

    ESCOLA POLITCNICA DE PERNAMBUCO

    2 Microcontroladores

    Os microcontroladores [1] so dispositivos eletrnicos dotados de

    processamento, memria e interface de entrada e sada, exatamente como os

    computadores, porm com todos esses recursos agregados em uma nica pastilha

    de circuito integrado (CI) [2]. Dentro dele h um processador programvel, e inserido

    no mesmo CI com sua memria para armazenamento de instrues e dados, suas

    interfaces de entrada e sada (pinos) para a interao com o meio externo. So

    produzidos na forma de circuitos integrados, com diversos tipos e formatos de

    encapsulamento e com pinagens variveis de acordo com as necessidades de

    aplicao. Largamente utilizados na automao industrial e na construo de

    aparelhos eletrnicos de uso geral tornando-se um dos componentes eletrnicos de

    maior sucesso em aplicao, por terem reduzido tamanho, custo e consumo de

    energia, se comparados forma de utilizao de microprocessadores convencionais,

    aliados a facilidade de desenvolvimento de aplicaes, juntamente com o seu baixo

    custo, os microcontroladores so uma alternativa eficiente para controlar muitos

    processos e aplicaes.

    Destacam-se vantagens da integrao, junto da Unidade Central de

    Processamento (CPU) [3], dos circuitos necessrios aos sistemas de controle e

    dessa forma, no preciso um processador sofisticado, com uma grande

    capacidade de processamento. Oferece um conjunto de instrues simples, que

    geram programas pequenos e de rpida execuo, ou seja, instrues de tamanho

  • 14

    ESCOLA POLITCNICA DE PERNAMBUCO

    reduzido. Alm disso, interessante que a Unidade Central de Processamento

    possa efetuar expresses booleanas [4], para facilitar a construo de sistemas de

    controle. preciso ainda oferecer uma forma simples de se interfacear com outros

    perifricos que venham a ser adicionados, com pinos especficos para entrada de

    clock [5], sinais analgicos, digitais e de controle do prprio dispositivo. A

    organizao de um microcontrolador descrita na Figura 1.

    Figura 1. Organizao interna dos microcontroladores.

    2.1 Arquiteturas dos microcontroladores

    Os Microcontroladores so organizados internamente de vrias formas

    e isso definir aspectos em seu desempenho, capacidade de armazenamento,

    consumo e programao. Vrias formas de organizao so utilizadas e

    implementadas pelos fabricantes, aplicando conceitos consolidados de computao.

  • 15

    ESCOLA POLITCNICA DE PERNAMBUCO

    2.1.1 Arquitetura CISC

    Uma arquitetura CISC (Complex Instruction Set Computer) [6] como tendo

    instrues mais complexas objetivando diminuir o nmero de instrues que um

    programa necessita para sua implementao.

    O nmero de ciclos por instrues pode aumentar assim como o prprio

    tempo de relgio. Um exemplo de aplicao seria a famlia do microcontrolador 8051

    e seus derivados, originalmente da Intel e com pouco mais de 100 instrues.

    2.1.2 Arquitetura RISC

    Uma arquitetura RISC (Reduced instruction Set Computer ou computador

    com conjunto de instrues reduzido) [7] se caracteriza pela reduo do tempo

    mdio de execuo das instrues de mquina ocasionando menor nmero de

    ciclos por instrues, porm o nmero de instrues executadas por programa

    aumenta. Um exemplo a famlia de microcontroladores PIC [8], como exemplo os

    microcontroladores da famlia 16f que possuem pouco mais de 30 instrues.

    Os elementos bsicos de uma arquitetura RISC so: grande nmero de

    registradores de propsito geral ou uso de tecnologias de compilao na otimizao

    do uso de registradores, conjunto simples e limitado (reduzido) de instrues e

    enfoque na utilizao de pipeline de instrues.

    A arquitetura RISC possui regras: Sacrifique tudo para reduzir o tempo de

    ciclo da via de dados. Seguem os conceitos da filosofia bsica:

    1. Analisar as aplicaes para encontrar as operaes chave e elaborar uma

  • 16

    ESCOLA POLITCNICA DE PERNAMBUCO

    mquina tima para as realizadas pelos programas alvo. Segundo

    Tanenbaum [9] quase 50% das instrues de um programa so comandos de

    atribuio, 23% de comandos de seleo, 15% de chamadas a funes, 6%

    de laos de repetio e, 10%, de outros comandos, distribuio exibida na

    figura 2.

    2. Projetar um caminho dados que seja timo para as operaes chave. Esse

    o corao de uma mquina RISC. Composto pelos registradores, pela ULA e

    pelos barramento internos que os conectam. Em um nico ciclo, os operandos

    devem ser lidos dos registradores, operados pela ULA e o resultado

    armazenado em um registrador.

    3. Projetar as instrues que executem as operaes chaves, estas devem

    utilizar de forma tima os caminhos de dados, ou seja, cada instruo deve

    utilizar um nico caminho de dados.

    4. Adicionar novas instrues somente se elas no diminurem a velocidades da

    mquina.

    5. Repetir este processo para outras Instrues por ciclo do caminho de dados.

    0%

    10%

    20%

    30%

    40%

    50%

    Quantidadenecessria

    Comandos

    AtribuioSeleo

    Chamadas de funo

    Laos de Repetio

    Outros comandos

    Figura 2. Grfico da estatstica de instrues de Tanenbaum.

  • 17

    ESCOLA POLITCNICA DE PERNAMBUCO

    2.1.3 Arquitetura Von Neumann

    A Arquitetura proposta por Jonh Von Neumann define uma mquina que

    rene os seguintes componentes: uma memria, uma unidade aritmtica e lgica

    (ALU), uma unidade central de processamento (CPU), composta por diversos

    registradores, e uma Unidade de Controle (UC), com finalidade equivalente a tabela

    de controle da Mquina de Turing universal [10]: efetuar a busca de um programa na

    memria, instruo por instruo, a fim de execut-lo sobre os dados de entrada,

    compartilhando a memria com dados e programa como mostrado na Figura 3.

    Figura 3. Von Neumann: compartilhamento de dados e instrues.

    2.1.4 Arquitetura Havard

    A Arquitetura de Harvard baseia-se em um conceito mais recente que a de

    Von-Neumann, tendo vindo da necessidade de por desempenho em processamento.

    uma arquitetura computacional que possui como principal caracterstica duas

    memrias diferentes e independentes em termos de barramento e ligao ao

    processador, consequentemente separando os barramentos de dados do

  • 18

    ESCOLA POLITCNICA DE PERNAMBUCO

    barramento de programa, permitindo que um processador possa acessar as duas

    simultaneamente, obtendo um desempenho melhor no acesso a recursos, pela

    capacidade de poder buscar uma nova instruo enquanto executa a anterior. Essa

    dupla ligao s memrias de dados e programa (cdigo), permite que o

    processador leia uma instruo ao mesmo tempo que faz um acesso memria de

    dados. A arquitetura Havard tambm possui um repertrio com menos instrues

    que a de Von-Neumann, e essas so executadas apenas num nico ciclo de relgio.

    Os microcontroladores com arquitetura Havard so tambm conhecidos como

    "microcontroladores RISC" (Computador com Conjunto Reduzido de Instrues), e

    os microcontroladores com uma arquitetura Von-Neumann, de "microcontroladores

    CISC" (Computador com um Conjunto Complexo de Instrues) e a Figura 4 mostra

    um comparativo entre as duas arquiteturas.

    Figura 4. Comparativo entre as arquiteturas Havard e Von neumann.

  • 19

    ESCOLA POLITCNICA DE PERNAMBUCO

    2.2 Microcontroladores PIC

    Os PIC so uma famlia de microcontrolador tipo RISC fabricados pela

    Microchip Technology Inc. e derivados do PIC1650, originalmente desenvolvido pela

    diviso de microeletrnica da General Instrument.

    O nome atual no um acrnimo, na verdade significa PICmicro ou ainda

    utiliza-se a denominao Peripheral Interface Controller (controlador de interface

    perifrico).

    O PIC original foi projetado para ser usado com a nova CPU de 16 bits

    CP16000. Sendo em geral uma boa CPU, porm com muitos problemas de

    compatibilidade com dispositivo de entrada e sada (E/S), levando a empresa a

    desenvolver o PIC de oito bits em 1975 para corrigir essa falha. O PIC utilizava

    microcdigo [11] simples e armazenado em ROM [12] para realizar estas tarefas, se

    trata de um desenho RISC que executa uma instruo a cada quatro ciclos do

    oscilador. Em 1985 a diviso de microeletrnica da General Instrument separa-se

    como companhia independente que incorporada como filial (em 14 de dezembro

    de 1987 muda o nome para Microchip Technology e em 1989 adquirida por um

    grupo de investidores) e o novo proprietrio cancelou quase todos os

    desenvolvimentos, que para essas datas a maioria estavam ultrapassados. O PIC,

    no entanto, evoluiu com EPROM [13] para conseguir um controlador de canal

    programvel. Atualmente, Os Microcontroladores PIC vm com vrios perifricos

    includos: mdulos de comunicao srie, UARTs, ncleos de controle de motores,

    memria de programa que pode chegar a 32 Kilobytes. A Figura 5 mostra a evoluo

    da famlia PIC.

  • 20

    ESCOLA POLITCNICA DE PERNAMBUCO

    .

    Figura 5. Evoluo da famlia PIC (extrado de [8]).

  • 21

    ESCOLA POLITCNICA DE PERNAMBUCO

    3 Sistema de deteco de corrente de fuga

    A corrente de fuga de uma cadeia de isoladores de linhas de transmisso de

    energia eltrica a forma pela qual o sistema a ser adaptado nos mostra se h

    perdas nas propriedades dieltricas do isolador. O sistema a ser adaptado j possui

    comprovao experimental [14] e os estudos de sua construo e funcionamento

    sero usados para a execuo do projeto de adaptao.

    Nesse sentido preciso entender como a informao sobre essas descargas

    de corrente so coletadas e levadas ao mdulo de processamento onde

    armazenado o nmero de eventos de descarga por nveis de tenso, umidade e

    temperatura, fatores que determinam a forma pelo qual o sistema far o

    processamento de informaes.

    3.1 Componentes do detector

    O detector pode ser dividido em duas partes principais: o sensor ptico,

    responsvel pela deteco das descaras de corrente de fuga e o mdulo de

    processamento que faz o armazenamento e classificao desses sinais.

    O arranjo desse sistema estruturado de acordo com a Figura 6, onde o

    enlace que comunica o sensor e o mdulo de processamento uma fibra ptica e

    mostra as etapas de tratamento da informao a ser analisada, a interface GPIB

    (osciloscpio) e a porta serial para acesso ao computador.

  • 22

    ESCOLA POLITCNICA DE PERNAMBUCO

    Figura 6. Sistema detector de corrente de fuga (retirado de [14]).

    3.1.1 Sensor ptico

    O sensor ptico do sistema composto por dois terminais eltricos, que por

    sua vez so conectados o mais prximo possvel do potencial de referncia (terra)

    na torre de transmisso. Essa forma de instalao visa facilitar a manuteno e o

    manuseio do equipamento e tambm a segurana de quem for coloc-lo no local.

    O sensor compreende um diodo emissor de luz (LED), que opera em uma

    regio de comprimento de onda prximo a um m, colado a uma fibra ptica

    multimodo. Os terminais eltricos da cabea do sensor esto interconectados a um

    diodo shunt, com o catodo do LED conectado ao anodo do diodo e vice-versa de

    forma a proteger eletricamente o LED de polarizao reversa em seus terminais. O

    LED conectado a cabea do sensor ptico exibido na Figura 7.

  • 23

    ESCOLA POLITCNICA DE PERNAMBUCO

    Figura 7. LED conectado a cabea do sensor ptico (retirado de [14]).

    3.1.2 Mdulo de processamento

    O mdulo de processamento foi desenvolvido com a finalidade de detectar,

    amplificar e armazenar. O sinal de corrente de fuga captado pelo sensor ptico

    transmitido pela fibra ptica e recebido pelo mdulo de processamento. Este mdulo

    possui um conector FC fmea utilizado para conexes pticas, uma interface BNC

    para monitoramento de sinais em tempo real por um osciloscpio e uma porta serial

    para prover comunicao com um computador pessoal.

    A organizao desse mdulo descrita na figura 8, com os estgios de

    amplificao e comparao que definem os nveis de corrente de fuga a serem

    contados em valores de 5, 10, 20 e 40 mA respectivamente, e processamento que

    realizado por um microcontrolador PIC16f877 [15] programado em linguagem C [16],

    e uma porta serial para a conexo com um computador.

  • 24

    ESCOLA POLITCNICA DE PERNAMBUCO

    Figura 8. Diagrama de blocos do modulo de processamento.

  • 25

    ESCOLA POLITCNICA DE PERNAMBUCO

    4 Desenvolvimento do projeto

    O dispositivo detector de corrente de fuga em cadeia de isoladores j havia

    sido testado em linhas de transmisso do sistema CHESF [17], no nordeste

    brasileiro e com resultados comprovados nesses experimentos. Porm, para mant-

    lo competitivo e atualizado a dar suporte a novas tecnologias, o presente trabalho

    props a alterao do modulo de processamento, implementada sobre o hardware

    do microcontrolador PIC16F877.

    A necessidade de alterar o mnimo possvel do hardware se baseia na

    premissa de no comprometer os resultados j alcanados pelos desenvolvedores e

    pesquisadores que atualmente trabalham no dispositivo atual, grupo ao qual se

    destina a contribuio do trabalho. Ao fazer modificaes em sistemas

    computacionais, deve-se preservar a funcionalidade ao mximo possvel e

    preservando as caractersticas originais de projeto. Para substituir o atual

    microcontrolador, foi escolhido o microcontrolador PIC18f4550, que tem arquitetura

    semelhante, mesmo nmero de pinos, suporta programao em C, mas oferece

    mais recursos e dar suporte a uma implementao de comunicao sem fio,

    objetivo traado pelo trabalho. A figura 9 mostra um diagrama de fluxo de projeto

    aplicado neste trabalho.

    Seguindo um fluxo ordenado de projeto, colhendo informaes e orientaes

    dos profissionais que desenvolveram e trabalham na ferramenta, este projeto busca

    no alterar as funcionalidades do dispositivo, mas sim alterar partes de sua estrutura

    a fim de prover mais funcionalidades que podem ser implementadas futuramente por

    pessoas que venham integrar o projeto e tambm fornecer suas contribuies.

  • 26

    ESCOLA POLITCNICA DE PERNAMBUCO

    Figura 9. Fluxo de projeto do trabalho.

    4.1 Ferramentas utilizadas no projeto

    Para desenvolver as mudanas no projeto necessitamos de ferramentas para

    manusear as partes do projeto: Uma IDE (Integrated Development Environment) [18]

    para manipulao do cdigo em linguagem C e sua respectiva integrao com o

    microcontrolador, e uma ferramenta para desenho do circuito eltrico e da placa de

    circuito impresso para efetuar a troca e adaptao do microcontrolador.

    4.1.1 MPLab IDE

    A Microchip [19], empresa fabricante da famlia de microcontroladores PIC

    disponibiliza a IDE MPLab para a programao e gravao dos cdigos nos chips.

  • 27

    ESCOLA POLITCNICA DE PERNAMBUCO

    A ferramenta oferece uma srie de funcionalidades, como gerao do cdigo

    fonte, compilao e teste do chip escolhido pelo projetista, em um ambiente

    amigvel e de fcil compreenso.

    4.1.2 CCS C compile O CCS (CUSTOM Computer Service Sigla utilizada pela empresa fabricante

    do compilador) C Compiler [20] foi o compilador utilizado no trabalho proposto para o

    desenvolvimento da biblioteca de funes, essa ferramenta possui uma interface

    bastante amigvel, vale destacar ainda que, ele d suporte a vrios drivers os quais

    podem ser includos e usados no programa.

    Configurao e inicializao de temporizadores;

    PWM (Pulse-Width Modulation Modulao por Largura de Pulso) [21];

    I2C (Inter-Intergrated Circuit Sigla que referencia o barramento serial

    Multi-mestre desenvolvido pela Philips) [22];

    Leitura e escrita da memria EEPROM (Electrically-Erasable Programmable

    Read-Only Memory Memria somente de leitura programvel e apagvel

    eletricamente) [23];

    Leitura e escrita de pinos de entrada e sada.

    Alm disso, o compilador fornece funes para converso de valores.

    analgicos, para comunicao via RS232 [24], para comunicao com display de

    LCD (Liquid Crystal Display Display de Cristal Lquido) [25], alm claro de

    funes da linguagem C no padro ANSI. Alm dessas funcionalidades, a

    capacidade de integrao com o MPLab um fator importante na sua escolha para

  • 28

    ESCOLA POLITCNICA DE PERNAMBUCO

    que seus projetos no necessitem de nenhum tipo de exportao para serem

    inseridos no projeto de carregamento de cdigo do PIC.

    4.1.3 Proteus

    Ferramenta disponibilizada pela Labcenter eletrnics, O Proteus [26]

    utilizado para o desenho de circuitos analgicos e digitais, esquemas eltricos e

    placas de circuitos impressos. Possibilita a modelagem e simulao de circuitos e

    vm com vrios dispositivos comerciais em seus repositrios.

    4.1.4 TraxMaker

    O TraxMaker [27] uma ferramenta para a confeco de placas de circuito

    impresso (PCB), vinculada ao pacote circuitMaker 2000. A sua escolha mantm a

    compatibilidade com a verso anterior da placa de circuito, e tambm facilita a

    gerao de arquivos para a confeco profissional de placas de circuitos impressos.

    4.2 Alteraes no Hardware

    A proposta inicial do projeto em alterar o microcontrolador PIC16f877A no foi

    ao acaso. Como h a necessidade de novas funcionalidades, dentre elas oferecer o

    suporte a comunicao sem fio era preciso escolher um microcontrolador que

    atendesse a alguns requisitos de projeto:

    1. Suporte a programao em C

    2. Ter mesmo nmero de pinos, mantendo a placa igual.

  • 29

    ESCOLA POLITCNICA DE PERNAMBUCO

    3. Trabalhar com palavra de dados de mesmo tamanho (oito bits).

    4. Prover suporte a comunicao sem fio.

    5. Prover suporte a USB

    4.2.1 Microcontrolador PIC18F4550

    O microcontrolador escolhido para substituir o PIC16F877A, foi o

    PIC18F4550[28], mostrado na figura 10 com o encapsulamento PDIP 40

    pinos, pertencente famlia 18F. Este dispositivo atende as necessidades de

    projeto e vem se destacando entre os projetistas pelas funcionalidades e por

    manter vrias caractersticas da famlia 16f.

    Figura 10. Encapsulamento PDIP de 40 pinos do PIC18F4550.

  • 30

    ESCOLA POLITCNICA DE PERNAMBUCO

    4.2.2 Alteraes no desenho da placa de circuito impresso.

    Utilizando o Software TraxMaker, foi efetuada a troca entre os

    microcontroladores e alteraes das ligaes entre suas entradas e sadas. A

    Tabela 1 mostra uma tabela com as entradas e sadas do sistema a serem

    adaptadas.

    Tabela 1 - comparativo entre as pinagens anterior e posterior a adaptao.

    Entrada/Sada Pino 16F877A Pino 18F4550 Descrio

    Umidade Pino 2 Pino 2 Entrada Analgica A0

    Temperatura Pino 3 Pino 3 Entrada Analgica A1

    N1 Pino 15 Pino 15 Interrupo Timer 0

    N2 Pino 6 Pino 6 Interrupo Timer 0

    N3 Pino 33 Pino 33 Interrupo Externa 1

    N4 Pino 38 Pino 34 Interrupo Externa 1

    Tx Pino 25 Pino 25 Transmissor (serial)

    Rx Pino 26 Pino 26 Receptor (serial)

    Reset Pino 1 Pino 1 Reinicializao

    Oscilador1 Pino 13 Pino 13 Clock externo

    Oscilador2 Pino 14 Pino 14 Clock externo

    Pico mximo Pino 4 Pino 4 Entrada Analgica A2

    Zerar Pico Mximo Pino 24 Pino 24 Zerar Pico Mximo

    Nesta direo, percebe-se que no s o numero de pinos igual, como

    tambm a compatibilidade dos pinos a serem trocados que praticamente tem

    as mesmas especificaes, e poderiam ser colocadas todas as entradas e

    sadas nos mesmos pinos. Ento com as definies dos sinais de entrada, o

    qual tem um nico pino trocado no esquema eltrico do Proteus na Figura 11

  • 31

    ESCOLA POLITCNICA DE PERNAMBUCO

    e o desenho da placa de circuito impresso adaptado atravs do TraxMaker

    conforme Figura 12.

    1. Umidade Sinal analgico enviado pelo sensor de umidade

    HIH3610 [29], est conectado a entrada AN0, pino.

    2 em ambos microcontroladores.

    2. Temperatura - Sinal analgico enviado pelo sensor de

    temperatura LM35 [30], est conectado a entrada AN1, pino 3

    em ambos microcontroladores.

    3. N1 Nvel de corrente de fuga 5mA conectado no pino 15 em

    ambos os microcontroladores, correspondente a interrupo de

    Timer 0.

    4. N2 Nvel de corrente de fuga 10mA conectado no pino 6 em

    ambos os microcontroladores, correspondente a interrupo de

    Timer 1.

    5. N3 Nvel de corrente de fuga 20mA conectado no pino 33 em

    ambos os microcontroladores, correspondente a interrupo

    externa 0.

    6. N4 Nvel de corrente de fuga 40mA, conectado no pino 38 do

    PIC16F8777A correspondente ao bit RB5 do portB, era

    monitorado pela interrupo de mudana de estado (RB4-RB7),

    foi inserido no pino 34 do PIC18F4550 interrupo externa 1.

    O PIC 18F4550 possui muitos recursos a mais que o PIC16F877A, e

    assim podemos utilizar as interrupes externas que ele oferece, ao todo 3

    (EXT0,EXT1,EXT2). No projeto anterior, o Nvel 4 de corrente (40mA) foi

  • 32

    ESCOLA POLITCNICA DE PERNAMBUCO

    conectado ao pino RB5 do portB, utilizando a interrupo por mudana de

    estado no portB (RB4-RB7), por terem sido usados os dois timers (timer0,

    timer1) para os nveis N1 e N2 e a nica interrupo externa que possui

    (EXT0) para o nvel N3. Na adaptao, foi aproveitada a entrada EXT1 do

    pino 38 para que o nvel N4 tambm fosse coletado como interrupo externa,

    gerando melhorias na captura do sinal, j que no haver um tratamento do

    sinal no portB antes de ser armazenado e consequentemente no cdigo em C

    a ser atualizado em funo dessas alteraes, lembrando que h funes de

    tratamento de interrupes externas prontas do compilador a ser utilizado.

    Essas mudanas tornam o projeto bem flexvel, aproveitando a maior

    parte das configuraes do microcontrolador anterior no atual por ter muitas

    caractersticas que igualam ou at melhoram o hardware, possuindo

    arquitetura similar, trar a reutilizao de boa parte do cdigo do programa

    embarcado no PIC18F4550 sendo de grande importncia ao desenvolvimento

    do projeto, ressaltando os crditos de autoria do software do mdulo de

    processamento dos desenvolvedores que trabalharam no sistema detector de

    corrente de fuga.

  • 33

    ESCOLA POLITCNICA DE PERNAMBUCO

    Figura 11. Esquema eltrico das ligaes do PIC18F4550.

    Figura 12. Alterao da pinagem na placa de circuito impresso.

  • 34

    ESCOLA POLITCNICA DE PERNAMBUCO

    4.3 Alterao do cdigo em linguagem C

    Uma das caractersticas positivas do mdulo de processamento que sua

    programao foi desenvolvida em linguagem C, que traz como vantagem a

    abstrao do assembly [31] do microcontrolador, nico para cada chip, para uma

    linguagem de alto nvel e consolidada no mercado. Como foi uma estratgia de

    projeto positiva, o uso linguagem C continuar na adaptao do software, mantendo

    a compatibilidade com o sistema anterior para que no haja nenhuma preocupao

    com a passagem do assembly do PIC16F877A para o PIC18F4550. Utiliza-se a IDE

    CCS C compiler, com detalhes de sua interface exibida na Figura 13 para a

    programao do PIC, utilizando como compilador o PCW para posteriormente

    importar os arquivos de extenso .c gerados na compilao do projeto pelo MPLab.

    Figura 13. Interface da IDE CCS C compiler.

  • 35

    ESCOLA POLITCNICA DE PERNAMBUCO

    4.3.1 Diretivas de compilao Usadas

    Os compiladores de linguagens de programao possuem conjuntos de

    comandos internos que o auxiliam a traduzir o cdigo para a arquitetura

    correspondente e o PCW, integrante do CCS possui inmeras diretivas que do

    suporte a recursos e funcionalidades de cada microcontrolador da famlia PIC.

    No projeto, foi preciso utilizar as diretivas compatveis com o

    PIC18F877A e modificar as que entravam em conflito ou habilitavam novos

    recursos, seguindo as diretivas bsicas de projeto. O CCS tem uma funo na

    interface que nos mostra os fusveis e interrupes vlidas para cada

    microcontrolador da famlia PIC, no menu view conforme mostrado na Figura 14.

    Figura 14. Opes do menu view CCS C compile.

    Abaixo temos uma descrio das principais diretivas usadas pelo

    projeto no programa principal main2_1_horaV08_2.c e quais precisaram ser

    adaptadas para comportar o microcontrolador PIC18F4550.

    #include : A diretiva Include, serve para incluir durante a

    compilao um arquivo auxiliar ou de cabealho. Neste caso, foi includo o

    arquivo da plataforma adaptada. Essa diretiva tambm usada para chamar

    os arquivos auxiliares do cdigo do programa: contagem_niveis2V08_2.c,

    umidade_temp2V08_2.c,grava_flash2V08_2.c, pacotes_1_horaV08_2.c,

  • 36

    ESCOLA POLITCNICA DE PERNAMBUCO

    temporizaograva_flash3,comunica_com_central1.c,pacotes.c,

    transmisso_serial_30min.c.

    #device adc=10 . A diretiva device obriga o compilador a considerar o

    dispositivo citado. Neste caso, define em 10 bits a string retornada pela

    funo read_adc() do conversor A/D do PIC. Essa mesma diretiva tambm

    usada no projeto para indicar o gravador ICD da microchip.

    #use delay (clock = 20000000): Esta diretiva especifica o clock de entrada do

    microcontrolador. Apesar do PIC18F4550 operar em freqncias de at

    48Mhz, o clock foi mantido em 20Mhz para aproveitar o circuito do oscilador

    existente.

    #fuses HS, NOWDT, NOPROTECT, NOPUT, NOBROWNOUT, NOLVP: Os

    fusveis do PIC, nada mais so do que as palavras de configurao do

    microcontrolador. Neste caso, est habilitado o oscilador HS e desabilitados o

    watchdog, proteo de cdigo, temporizador de power-up,reset por queda de

    tenso e programao em baixa tenso. Essa diretiva manteve-se idntica ao

    projeto atual.

    #priority INT_TIMER0,INT_EXT,INT_EXT1,INT_TIMER1,INT_TIMER2:

    Esta diretiva define a prioridade no tratamento das interrupes. No

    projeto, elas so responsveis pela captura dos eventos dos nveis de

    corrente de fuga N1, N2, N3 e N4. A nica alterao foi a substituio da

  • 37

    ESCOLA POLITCNICA DE PERNAMBUCO

    interrupo INT_RB(mudana de estado no portB dos pinos RB4-RB7) pela

    interrupo INT_EXT1 utilizada agora para o monitoramento do nvel N4.

    #use rs232 (stream=hw, baud=9600, bits=8, parity=n, uart1, errors) e

    #use rs232(stream=sw, baud=1200, xmit=PIN_B7, rcv=PIN_B6, ERRORS:

    A diretiva use rs232 ativa o suporte a comunicao serial, onde tm as

    opes de configurao: stream (associa a interface rs232a hardware ou

    software), baud (velocidade de comunicao serial), bits (nmero de bits de

    dados).

    4.3.2 Alterao no cdigo fonte A Concepo do cdigo fonte do programa que controla o microcontrolador

    segue um modelo de diviso por mdulos, onde cada parte tem um arquivo.c

    correspondente. A Figura 15 exemplifica como est organizada a hierarquia do

    projeto.

    Figura 15. Organizao modular do cdigo fonte do mdulo de processamento.

  • 38

    ESCOLA POLITCNICA DE PERNAMBUCO

    As modificaes necessrias no software se restringem a alterar trechos de

    cdigo que foram atingidos pela alterao do hardware: A troca do prprio

    microcontrolador, o programa principal e o que conta os nveis de corrente

    (Alterao do nvel N4 para responder a interrupo EXT1), e variveis que tenham

    definies diferentes do PIC18f4550.

    No programa principal, alm de alterar as diretivas de configurao, foram

    necessrias algumas alteraes de cdigo, listadas a seguir:

    1. O Parmetro da funo que escolhe os pinos de entradas analgicas

    setup_adc_ports(AN0_AN1_AN2_AN3_AN4) foi convertido para

    setup_adc_ports(AN0_TO_AN4). Embora no alteradas no hardware,

    so especificadas de forma diferente no arquivo pic18f4550.h.

    2. O parmetro da funo enable_interrupts(int_rb) foi substitudo por

    enable_interrupts(int_ext1) pela troca da entrada RB5 pela entrada

    EXT1 para a contagem do nvel N4.

    3. Modificao de EXT_INT_EDGE(H_TO_L) para

    EXT_INT_EDGE(0,H_TO_L) mais EXT_INT_EDGE(1,H_TO_L), que

    seleciona a borda de sensibilidades da interrupo externa (H_TO_L

    borda de descida do sinal e L_TO_H na subida do sinal). Como o

    PIC16F877A s possui uma interrupo externa (EXT0), o argumento

    no precisa identificar qual a interrupo configurada. Como utilizamos

    no PIC18F4550 duas interrupes externas (EXT0 e EXT1), devemos

    inserir no cdigo essa funo duas vezes identificando no s a borda

    de sensibilidade, como tambm qual a interrupo que ela configura (0

    = EXT0, 1 = EXT1).

  • 39

    ESCOLA POLITCNICA DE PERNAMBUCO

    No programa que efetua a contagem dos nveis de corrente, foi alterada a

    rotina de tratamento de interrupo que contava o nvel N4, que era incrementado

    com uma funo de tratamento da interrupo int_rb, sendo substituda por uma

    funo que incrementava a varivel n4 a cada interrupo in_ext1. A adaptao

    mostrada nos trechos de cdigo a seguir.

    ----------------------------------------------------------------------------------------------------------

    #int_rb //N4 incrementado pela interrupo de mudana de estado no portB

    void estado_n4 () //funo para tratamento da interrupo por mudana de

    estado no portB

    {

    teste_n4 =1;

    if(!input(pin_b5)&& teste_n4 ==1)

    n4++;

    teste_n4 = 0;

    }

    ----------------------------------------------------------------------------------------------------------

    #int_ext1 // N4 incrementado pela interrupo externa 1

    void externa_n4 () //funo para tratamento da interrupo externa1

    {

    n4++;

    }

    ----------------------------------------------------------------------------------------------------------

    Como o cdigo fonte organizado de forma modular, as alteraes afetam

    apenas os programas que tiveram variveis afetadas com a mudana de hardware,

  • 40

    ESCOLA POLITCNICA DE PERNAMBUCO

    mostrando que o sistema robusto e pode ter suas partes adaptadas de forma

    independente.

    Com as alteraes feitas, resta apenas utilizar a opo compiler no menu de

    mesmo nome, conforme mostrado na Figura 16 at que no haja mais erros de

    sintaxe, semntica ou conflito de variveis comuns no desenvolvimento de software.

    A Figura 17 mostra a sada do compilador aps o processo.

    Figura 16. Opo de compilar no CCS C compile.

    Figura 17. Mensagem de sada do compilador.

    4.3.3 Integrao do projeto utilizando o MPLab

    Aps as modificaes no cdigo do programa principal e dos auxiliares,

    insero do arquivo de cabealho PIC18F4550 atravs da diretiva include houve

    a compilao do projeto como um todo no MPLab. Aps isso, deve-se escolher

  • 41

    ESCOLA POLITCNICA DE PERNAMBUCO

    um gravador adequado e carregar os arquivos compilados no Microcontrolador

    para posteriormente ser integrado a placa de circuito impresso (PCB). O

    processo feito vinculando-se o CCS C compile ao MPLab para reconhecer o

    compilador PCW e em seguida com todos os programas principais e o header

    do microcontrolador PIC18F4550. Aps esse procedimento, no MPLab

    selecionar no menu project a opo Build all para compilar todos os arquivos do

    projeto. Se nenhuma mensagem de erro for exibida, toda a compilao foi

    efetuada com sucesso.

    Figura 18. Compilao do projeto no MPLab.

  • 42

    ESCOLA POLITCNICA DE PERNAMBUCO

    5 Concluses e trabalhos futuros

    Dentro das perspectivas de projetos de automao, o uso de

    microcontroladores uma possibilidade prtica, eficiente e com muitas opes

    de aplicao. Neste projeto, o uso do microcontrolador PIC18F4550 se mostrou

    muito promissor e dar suporte a atualizaes futuras no detector de corrente de

    fuga de isoladores de linhas de transmisso eltrica, como por exemplo, a

    implementao de comunicao sem fio, aumento no nmero de nveis de

    corrente detectadas, entre outros.

    H tambm uma perspectiva quanto melhoria do prprio programa, que com

    a oferta de recursos ampliada pela alterao do microcontrolador, poder

    explorar ainda mais recursos do hardware, como utilizar a comunicao USB

    para a transferncia de dados, algo que o novo microcontrolador oferece

    embutido. Como seu cdigo est disposto de forma modular, estas adaptaes

    podem ser feitas em paralelo sempre mantendo a hierarquia de acordo com o

    programa principal.

    Para facilitar o entendimento do programa, podem-se utilizar ferramentas de

    documentao de cdigo para controle de atualizaes e manter um nvel de

    organizao semelhante rea de projetos de software, sempre embasada em

    metodologias para controle do processo de desenvolvimento.

  • 43

    ESCOLA POLITCNICA DE PERNAMBUCO

    Bibliografia

    [1] MICROCONTROLADOR. Disponvel em

    http://pt.wikipedia.org/wiki/microcontrolador. Acesso em 20 de maro de

    2010.

    [2] SMITH, Kenneth C. Microelectronic Circuits, Edio 5. Editora Oxford

    University Press. Nova Yorque, 2004. 394 p.

    [3] STALLINGS, W. Arquitetura e Organizao de Computadores,Edio

    5.Editora Pearson Addison Wesley. 2005.

    [4] MELLO, C. A. B. Notas de aula de Teoria da Computao, UPE. 2007

    [5] CLOCK. Disponvel em http://pt.wikipedia.org/wiki/Clock. Acesso em 23 de

    maro de 2010.

    [6] PATTERSON, David A. John L. Hennessy. Organizao e Projeto de

    Computadores. Edio 3. Editora CAMPUS. 2003. 512 p

    [7] RISC. Disponvel em http://pt.wikipedia.org/wiki/RISC. Acesso em 25 de

    maro de 2010.

    [8] MICROCONTROLADORES PIC. Disponvel em

    http://www.microchip.com. Acesso em 21 de maro de 2010.

    [9] TANENBAUM, Andrew S. Organizao estruturada de computadores. 5

    ed. So Paulo: Pearson Prentice Hall, 2007.

    [10] TURING, A. M. COMPUTING MACHINERY AND INTELLIGENCE,

    Disponvel em http://www.fbln.pro.br/htm_indexes/download.htm.

    Acesso 20 de maio de 2010.

  • 44

    ESCOLA POLITCNICA DE PERNAMBUCO

    [11] MICROCDIGO. Disponvel em http://pt.wikilingue.com/es/Microcodigo

    Acessoe em 13 de maio de 2010.

    [12] TORRES, Gabriel. Hardware: Curso completo. Edio 4. Editora Axcel

    Books. 2001. 1.440 p.

    [13] EPROM. Disponvel em http://pt.wikipedia.org/wiki/EPROM. Acesso em 23 de

    maro de 2010.

    [14] OLIVEIRA, Sergio Campello. Sistemas de deteco ptica de descargas

    parciais em cadeias de isoladores de linhas de transmisso de alta

    tenso. 2008. 118 f. Tese de doutorado em engenharia eltrica,

    departamento de Engenharia Eltrica UFPE, Recife-PE.

    [15] Data Sheet do microcontrolador PIC16F877A disponvel em

    ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf. Acessado 1 de

    maio de 2010.

    [16] SCHILDT, Herbert. C Completo e Total. 3 ed. Brasil: Makron Books,

    1997. 827 p.

    [17] CHESF, Disponvel em http://www.chesf.gov.br/. Acesso em 23 de

    maro de 2010.

    [18] IDE. Integrated development environment, Ambiente de desenvolvimento

    Integrado para programao estruturada. Disponvel em

    http://en.wikipedia.org/wiki/Integrated_development_environment. Acesso em

    25 de maio de 2010.

    [19] MPLab. Disponvel em http://www.microchip.com.

    Acesso em 05 de maio de 2010.

  • 45

    ESCOLA POLITCNICA DE PERNAMBUCO

    [20] CCS Inc. Home. Site Oficial do compilador CCS. Disponvel em

    http://www.ccsinfo.com/. Acessado em 01 de junho de 2010.

    [21] APOSTILA PWM. Disponvel em www.eletronica.org. Acesso em 13 de maio

    de 2010.

    [22] SOUZA, David Jos de. Desbravando o PIC. Edio 12. Editora rica.

    2001. 272 p.

    [23] IDOETA, Ivan Valeije. Elementos da eletrnica digital. Edio 34. Editora

    rica. 2001. 552 p.

    [24] FERREIRA, Fabio. Microcontroladores PIC Programao em C. 6 ed. So

    Paulo: Editora rica. 358 p.

    [25] TOCCI, Ronald J. Sistemas Digitais: Principios e Aplicaes. Edio 8.

    Editora Prentice-hall. 2003. 768 p.

    [26] PROTEUS. Disponvel em http://www.labcenter.co.uk

    Acesso em 5 de junho de 2010.

    [27] OLIVEIRA, S. C. Tutorial Trax Maker,Disponvel em

    http://www.poli.br/~marcilio/Eletronica/TutorialTraxMaker.doc.

    Acesso em 10 de maio de 2010.

    [28] Datasheet do microcontrolador PIC18F4550 disponvel em

    http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf. Acesso em 1

    de maio de 2010.

  • 46

    ESCOLA POLITCNICA DE PERNAMBUCO

    [29] Datasheet do sensor de umidade HIH3610 Series. Disponivel em

    http://www.datasheetcatalog.org/datasheets2/76/76269_1.pdf. Acesso em 3

    de junho de 2010.

    [30] Datasheet do sensor de temperatura LM35 Precision Centigrade

    Temperature Sensors. Disponvel em

    http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005516.

    PDF. Acesso em 30 de maio de 2010.

    [31] ASSEMBLY. Linguagem de montagem. Disponvel em

    http://pt.wikipedia.org/wiki/Linguagem_de_montagem

    Acesso 4 de junho de 2010

  • 47

    ESCOLA POLITCNICA DE PERNAMBUCO

    Apndice A

    Circuito eltrico adaptado do mdulo

    de processamento.

  • 48

    ESCOLA POLITCNICA DE PERNAMBUCO

    Apndice B

    Desenho da placa de circuito impresso adaptada.

  • 49

    ESCOLA POLITCNICA DE PERNAMBUCO

    Apndice C

    Cdigo fonte dos programas principal e contagem de nveis adaptados. /* Alteraes: David Edson Ribeiro Alterao do microcontrolador - PIC18F4550 Nivel N4 capturado pela interrupo externa1 Remoo da interrupo de mudana de estado no portB */ #include /*Tipo de PIC utilizado. obs: alterado para o PIC18F4550*/ #device adc=10 /* habilitao do conversor AD essa diretiva precisa vir imediatamente abaixo do include do arquivo do processador*/ #device ICD = TRUE #use delay (clock = 20000000)/* Cristal de 20 MHz*/ #fuses HS, NOWDT, NOPROTECT, NOPUT, NOBROWNOUT, NOLVP /*Tipo dos "fusveis do pic*/ #use rs232 (stream=hw, baud=9600, bits=8, parity=n, uart1, errors) //configuraes para a porta serial //I #use rs232(stream=sw, baud=1200, xmit=PIN_B7, rcv=PIN_B6, ERRORS)// serial em sw = software pela ICSP //I #priority INT_TIMER0,INT_EXT,INT_EXT1,INT_TIMER1,INT_TIMER2 /* Prioridade no tratamento de interrupo, alterao para incluir INT_EXT1*/ #include /* Programa que conta quantas atividades ocorreram em cada nvel*/ #include /*Programa que calcula e faz as mdias da umidade e temperatura*/ //#include /* Programa que realiza a gravao dos dados na memria do pic*/ #include /*Programa responsvel pela temporizao AJUSTADO PARA 1 HORA*/ #include #include //#include /*Programa responsvel pela temporizao*/

  • 50

    ESCOLA POLITCNICA DE PERNAMBUCO

    //#include /*Programa com funes para a comunicao serial*/ /* Inicializao das variveis principais*/ void main () /* declarao da varivel principal*/ { /*******************Declarao das variveis de transmisso********************/ int32 n1_temp=0; int32 n2_temp=0; int32 n3_temp=0; int32 n4_temp=0; int16 temperatura_temp=0; int16 umidade_temp=0; int16 pico_max_temp=0; int8 a; //int8 contagem_tentativas_sincronizacao=0; //int8 momento_tentativa_sincronizacao=0; //I int conttest=0; enable_interrupts(int_rda); enable_interrupts(global); verificaponte(); //I /******************************************************************************/ port_b_pullups(true);//Estabilidade da porta b /*----------------------------------------------------------------------------*/ //umidade = 0;/* Inicializao da varivel umidade com zero*/ //temperatura = 0;/* Inicializao da varivel temperatura com zero*/ // address = buscar_endereco_base();/* Inicializao da varivel address com a funo busca endereo base*/ // first_idle = address;/* inicializao da varivel first_idle com a varivell address*/ /*----------------------------------------------------------------------------*/ /*configura conversor AD*/ setup_adc(ADC_CLOCK_DIV_32); /*configura conversor AD*/ setup_adc_ports(AN0_TO_AN4); /*escolhe os pinos de entradas analgicas no 18f4550*/ /*Habilitao da interrupo global*/ enable_interrupts(global); /* Habilitando as configuraes da interrupo externa*/ EXT_INT_EDGE(0,H_TO_L); enable_interrupts(int_ext);//alterado para comportar a externa1 PIC18F4550 /*Habilitao as configuraes da interrupo externa 1 */ EXT_INT_EDGE(1,H_TO_L); enable_interrupts(int_ext1);//alterado para comportar a externa 1 PIC18F4550 /* Habilitando as configuraes de timer 0*/ Setup_timer_0(RTCC_EXT_H_TO_L | RTCC_DIV_1);

  • 51

    ESCOLA POLITCNICA DE PERNAMBUCO

    set_timer0(0); /*inicializa o timer com 0*/ enable_interrupts(int_timer0);/* habilitar interrupo de timer 0*/ /* Habilitando as configuraes do timer1*/ Setup_timer_1(T1_EXTERNAL_SYNC |T1_CLK_OUT );/*timer1 incrementado pelo clock interno e com prescaler 1:1*/ set_timer1(0); /*inicializa o timer com 0*/ enable_interrupts(int_timer1);/*Habilitao do timer 1*/ /*Habilitando as funes do timer2*/ //setup_timer_2(T2_DIV_BY_16,250,15);/* a base de tempo est em 12ms*/ setup_timer_2(T2_DIV_BY_4,5,5); // para teste enable_interrupts(int_timer2); /*habilita a interrupo de timer2*/ set_timer2(0); ----------------------------------------------------------------------------------------------------- Programa de contagem de nveis de corrente de fuga /*Alterado por David Nivel N4 passa a ser capturado pela interrupo externa1 do pic18f4550 */ //int32 n2 =0; int32 n3 =0; int32 n4 =0;//* variveis usadas para tratamento de interrupo int16 estouro_timer0=0; // conta a quantidade de estouros de timer 0(nvel3) int8 estouro_timer1=0; // indica se o timer 1 estourou (nvel4) //short int aceso1,aceso2,aceso3,aceso4; //short int teste_n4 =0; #int_ext1 //funo alterada para comportar alterao do sinal N4 para a externa 1 void externa_n4 () //funo para tratamento da interrupo externa1 { n4++; } #int_ext void externa_n3 () //funo para tratamento da interrupo externa { n3++; } #int_timer0 void T0n2 () // funo para contagem dos picos de N2 { if(estouro_timer0 !=1023) estouro_timer0++; } #int_timer1 void T1n1 () //funo para contagem dos picos de N1 {

  • 52

    ESCOLA POLITCNICA DE PERNAMBUCO

    //flag_n1 = 1; if(estouro_timer1 !=3) estouro_timer1++; } int32 obter_n1(){ int32 n1; n1=((int32)estouro_timer1*65536) + get_timer1(); return n1; } int32 obter_n2(){ int32 n2; n2 =((int32)estouro_timer0*256) + get_timer0() ; return n2; } void zerar_n3(){ n3 = 0; } void zerar_n4(){ n4 = 0; } void zerar_niveis(){ set_timer0(0); set_timer1(0); n3=0; n4=0; estouro_timer0=0; estouro_timer1=0; }