Prévia do material em texto
UNIVERSIDADE POTIGUAR ENGENHARIA DE COMPUTAÇÃO SISTEMA DE MONITORAMENTO DE TEMPERATURA ATRAVÉS DA REDE ELÉTRICA Alann Karllo Gomes Xavier Marinho Daniel Câmara Gadê de Vasconcelos NATAL / RN JANEIRO DE 2007 ALANN KARLLO GOMES XAVIER MARINHO DANIEL CÂMARA GADÊ DE VASCONCELOS SISTEMA DE MONITORAMENTO DE TEMPERATURA ATRAVÉS DA REDE ELÉTRICA . Exame de qualificação submetido à direção do curso de Engenharia de Computação da Universidade Potiguar como parte dos requisitos necessários para a obtenção da graduação em Engenharia de Computação. ORIENTADOR: Prof. Glaucus Brelaz NATAL / RN JANEIRO DE 2007 3 “Não podemos construir uma máquina do tempo para mudar o passado porque se o passado fosse mudado não construiríamos uma máquina do tempo.” “Todos nós temos máquinas do tempo. As que nos levam ao passado são nossas lembranças, e as que nos fazem ir em frente são os nossos sonhos.” Herbert George Wells – “A Máquina do Tempo” 4 AGRADECIMENTOS Primeiramente a Deus, o maior de todos os engenheiros, pela infinita bondade e misericórdia, que cada dia nos proporciona vitórias como esta. Agradecemos aos nossos pais e nossas namoradas que acham estranho ir para a faculdade durante os fins de semana mesmo tendo ido durante toda a semana. Ao Prof. Dr. Antonio Luiz Pereira de Siqueira Campos por ter iniciado este projeto com a gente e nos ter dado a base para que nós a executamos. Ao Prof. Glaucus Brelaz por nos ter acolhido durante o segundo semestre, nos ter orientado e ter dado novas idéias que incrementaram o projeto mesmo com vários grupos para orientar. Aos nossos amigos e colegas de turma pelo companheirismo e pela convivência durante as madrugadas, fins de semana e nas, infelizmente, raras viagens e “farras”. A Carlos Evandro que nos disponibilizou o material de sua monografia e que nos foi muito útil. Ao Google, por tornar nossa vida mais fácil, com a sua busca eficiente. E a todos que de uma forma ou outra contribuíram para o sucesso deste projeto. 5 SUMÁRIO SUMÁRIO 5 LISTA DE FIGURAS 7 LISTA DE TABELAS 9 LISTA DE SÍMBOLOS E ABREVIATURAS 10 RESUMO 11 ABSTRACT 12 CAPÍTULO 1 - INTRODUÇÃO 13 CAPÍTULO 2 - A REDE ELÉTRICA 15 2.1 A REDE ELÉTRICA COMO CANAL DE COMUNICAÇÕES 15 2.2 DISTÚRBIOS CARACTERÍSTICOS DA REDE ELÉTRICA 18 2.2.1 Impedância 19 2.2.2 Atenuação 20 2.2.3 Ruídos 20 2.2.4 Outros Distúrbios na Rede Elétrica 22 CAPÍTULO 3 - MODULAÇÃO 25 3.1 MODULAÇÃO DE ONDA CONTÍNUA ANALÓGICA 25 3.1.1 Modulação de Onda Contínua por Amplitude (AM) 26 3.1.2 Modulação de Onda Contínua por Ângulo 26 3.2 MODULAÇÃO DE ONDA CONTÍNUA DIGITAL 27 3.2.1 Modulação em Amplitude por Chaveamento (ASK) 27 3.2.2 Modulação em Freqüência por Chaveamento (FSK) 27 3.2.3 Modulação em Fase por Chaveamento (PSK) 28 3.3 MODULADOR E DEMODULADOR FSK 29 3.3.1 Modulador FSK 29 3.3.2 Demodulador FSK 30 3.3.2.1 Phase-Locked Loop (PLL) 31 3.4 LEGISLAÇÃO E REGULAMENTAÇÕES 32 CAPÍTULO 4 - TEMPERATURA 34 4.1 DEFINIÇÃO 34 4.2 MEDIÇÃO DA TEMPERATURA 34 6 4.2.1 Instrumentos de Medição 34 4.2.1.1 Termistores 35 4.2.1.2 Termopares 36 4.2.1.3 Pirômetros 36 4.2.1.4 Sensores semicondutores 37 4.2.1.5 Circuitos integrados 37 CAPÍTULO 5 - MICROCONTROLADOR PIC16F877A 41 5.1 CONVERSOR A/D 42 5.2 COMUNICAÇÃO SERIAL I2C NO PIC16F877A 43 5.2.1 O I2C 43 5.2.2 Barramento I2C 43 5.2.3 Transmissão dos Dados 44 5.3 COMUNICAÇÃO SERIAL RS-232 NO PIC16F877A 46 5.3.1 Módulo USART 46 5.3.2 Protocolo de Comunicação Serial RS-232 47 5.3.3 Driver RS-232 47 CAPÍTULO 6 - INTERFACE DE ACOPLAMENTO 49 6.1 DRIVER DE SAÍDA (AMPLIFICADOR DE POTÊNCIA) 49 6.2 REDE DE ACOPLAMENTO 50 CAPÍTULO 7 - IMPLEMENTAÇÕES, TESTES E RESULTADOS 52 7.1 CIRCUITO COM TRANSMISSÃO ANALÓGICA DE MALHA ABERTA 52 7.2 CIRCUITO COM TRANSMISSÃO DIGITAL UTILIZANDO I2C 54 7.3 CIRCUITO COM TRANSMISSÃO DIGITAL UTILIZANDO O CONVERSOR A/D 60 CAPÍTULO 8 - CONCLUSÃO 64 BIBLIOGRAFIA 66 ANEXO A - CIRCUITO TRANSMISSOR / RECEPTOR 69 ANEXO B - IMAGENS DOS TESTES 71 ANEXO C - PROGRAMA DO PIC16F877A 73 7 LISTA DE FIGURAS Figura 1.1 - Diagrama de blocos do projeto 14 Figura 2.1 - Rede Telefônica 16 Figura 2.2 - Rede Wireless 16 Figura 2.3 - Rede Ethernet 17 Figura 2.4 - Rede Elétrica 18 Figura 2.5 - Freqüência (MHz) – Impedância de redes elétricas na Europa, por Malack e Engstrom 20 Figura 2.6 - Espectro do ruído 22 Figura 3.1 - Modulação de Onda Contínua do tipo analógica 26 Figura 3.2 - Modulação de Onda Contínua do tipo digital 29 Figura 3.3 - Circuito para modulação FSK usando o XR-2206 30 Figura 3.4 - Diagrama de blocos do XR-2211 30 Figura 3.5 - Diagrama de blocos de um PLL básico 30 Figura 3.6 - Representação da faixa ocupada por um sinal 32 Figura 3.7 - Faixa de sincronismo de um sinal 32 Figura 4.1 - Variação do resistor dos termistores com relação à temperatura 36 Figura 4.2 - Vários tipos de termistores 36 Figura 4.3 - Variação temperatura x resistência elétrica 37 Figura 4.4 - Gráfico variação temperatura x erro de medição do LM35 38 Figura 4.5 - LM35 38 Figura 4.6 - Esquema interno do LM35 39 Figura 4.7 - Montagem para medições de temperatura entre -55ºC e 150ºC 39 Figura 4.8 - Montagem para medições de temperatura entre 2ºC e 150ºC 40 Figura 4.9 - Erro de medição (em ºC) do TMP101 x variação de temperatura (ºC) 40 Figura 5.1 - Representação da arquitetura de Von Neumann e de Harvard 41 Figura 5.2 - Diagrama de um barramento I2C 44 Figura 5.3 - Esquema de uma transmissão do protocolo I2C 45 Figura 5.4 - Níveis lógicos aleatórios presentes da transmissão de 8bits de dados 47 Figura 5.5 - Circuito de operação típico do MAX232 48 Figura 6.1 - Interface de Acoplamento 49 8 Figura 6.2 - Circuito do amplificador classe AB 50 Figura 6.3 - Rede de Acoplamento Fase-Neutro 51 Figura 7.1 - Circuito com transmissão analógica de malha aberta 52 Figura 7.2 - Teste do sensor 53 Figura 7.3 - Esquema do circuito de condicionamento e do VCO 54 Figura 7.4 - Circuito com transmissão digital utilizando I2C 55 Figura 7.5 - Diagrama de blocos do programa do PIC16F877A para o sensor TMP101 56 Figura 7.6 - Estrutura do transmissor FSK 57 Figura 7.7 - Configuração dos componentes passivos do demodulador 58 Figura 7.8 - Circuito com transmissão digital utilizando o conversor A/D 60 Figura 7.9 - Organização dos registradores do conversor A/D do PIC16F877A 61 Figura 7.10 - Organograma básico do programa do PIC16F877A usado neste projeto 63 Figura A.1 - Circuito do transmissor 69 Figura A.2 - Circuito do receptor 70 Figura B.1 - Sensor de Temperatura 71 Figura B.2 - Saída do sensor mostrado no osciloscópio em escala 0.2 V/Div 71 Figura B.3 - Onda da saída do sinal da freqüência F2 modulador XR-2206 com aproximadamente 98kHz 72 Figura B.4 - Onda da saída do sinal da freqüência F1 modulador XR-2206 com aproximadamente 102kHz 72 9 LISTA DE TABELAS Tabela 2.1 - Anomalias mais comuns provenientes da rede elétrica, suas causas e efeitos 22 Tabela 3.1- Alocação de freqüências para redes de baixa tensão residencial 33 Tabela 5.1 – Níveis de tensão fornecidos pelo PIC16F877A e pelo padrão RS-232 48 Tabela 6.1 - Características dos amplificadores com configuração coletor comum 49 Tabela 7.1 – Valores de conversão da temperatura 61 10 LISTA DE SÍMBOLOS E ABREVIATURAS A - Unidade de medida elétrica em Ampéres. ABNT - Associação Brasileira de Normas Técnicas. ASK - Amplitude Shift Keying. A/D - Analógico / Digital. bps - Bits por segundo. C - Capacitância. CEBus - Consumer Eletronics Bus CENELEC - Comité Européen de Normalisation Electrotechnique. CI - Circuito Integrado. dB - deciBel, Unidade adimensional de ganho ou atenuação. Fc ou F0 - Freqüência Central. FSK - Frequency Shift Keying. H - Unidade de indutância, Henry. Hz - Unidade de freqüência, Hertz, um ciclo por segundo. I2C - Inter-Integrated Circuit. IEEE - Institute of Electrical and Electronics Engineers. L - Indutância. LAN - Local Area Network. MSSP - Master Synchronous Serial Port PC - Personal Computer. PLC - Power Line Communications. PLL - Phase Locked Loop. PSK - Phase Shift Keying. s - Unidade de medida de tempo em segundos. SDA - Serial Data Line. SCL - Serial Clock Line. USART - Universal Synchronous Asynchronous Receiver Transmitter V - Unidade de tensão, Volt. VCO - Voltage Controller Oscillator. W - Unidade de medida elétrica em Watts. 11 RESUMO Este projeto tem a como objetivo a elaboração um sistema de monitoração remota de temperatura de ambientes com transmissão dos dados através da rede elétrica. O trabalho discorre toda a parte teórica necessária para a compreensão do mesmo, além de demonstrar a montagem do circuito, testes realizados e os resultados obtidos. Palavras chaves: Transmissão de Dados Via Rede Elétrica, PLC, Medição de Temperatura, Modulação. 12 ABSTRACT This project has as objective the elaboration a system of remote temperature monitoration of environments with transmission of the data through the power lines. The work discourses the whole necessary theoretical part for the it’s understanding, as well as demonstrating the circuit’s assembly, accomplished tests and the obtained results. Keys Words: Power Line Communications, PLC, Measurement of Temperature, Modulation. 13 CAPÍTULO 1 INTRODUÇÃO A monitoração da temperatura é algo importante nos dias de hoje. Nas indústrias e no comércio, ela é aplicada em salas de fabricação de componentes eletrônicos, em frigoríficos, hospitais, escritórios, etc. Ela também é empregada nas residências visando melhorar o conforto dos moradores. Este controle não é tratado apenas como um quesito de conforto ou exigência técnica em locais com temperatura controlada, mas serve também para otimizar o funcionamento de condicionadores e aquecedores de ar visando economizar energia e diminuir os custos. O problema desta monitoração é que ele normalmente necessita de uma infra-estrutura própria para ser instalado, como, por exemplo, o cabeamento. Por isso, o projeto de um prédio tem que ser pensado visando à instalação dos sensores de temperatura, o que eleva o seu custo. Este projeto visa superar este problema utilizando a rede elétrica para a transmissão dos dados dos sensores de temperatura. Com a transmissão dos dados via rede elétrica, também conhecia como Power Line Communications (PLC), pode-se instalar um sistema de monitoração de temperatura dependendo apenas da existência de uma tomada ligada à rede elétrica, coisa comum em todos os estabelecimentos atuais. Ela também permite uma integração com outros equipamentos elétricos visando automatizar determinados processos, como por exemplo, o ar-condicionado. A idéia de se transmitir sinais por linhas de potência remonta aos anos trinta. Entretanto, nunca foi considerado um meio de comunicação viável devido à baixa velocidade, baixa funcionalidade, alto custo de desenvolvimento e ao excesso de ruído no meio. A transmissão dos sinais pela rede elétrica, só foi possível com o avanço das técnicas de modulação e multiplexação, permitindo transmitir sinais diferentes sobre um mesmo meio físico. Hoje essa técnica de transmissão de dados está em franco desenvolvimento e seu uso está se difundindo rapidamente. 14 Figura 1.1 – Diagrama de blocos do projeto. No Capítulo 2 será estudada a rede elétrica. Serão descritas suas características, seus problemas e os requisitos para que haja uma transmissão de dados por ela. Também serão discutidos os tipos de modulações e suas características No Capítulo 3 é a vez da temperatura ser debatida. Suas características, instrumentos e métodos usados para fazer a sua medição. No Capítulo 4 será estudado o protocolo I2C para transferência de dados serial entre dispositivos. As implementações deste trabalho, bem como os testes e seus resultados serão apresentadas no Capítulo 5. As conclusões e futuras implementações que podem ser feitas para melhorar o projeto e dar continuidade serão apresentadas no Capítulo 6. 15 CAPÍTULO 2 A REDE ELÉTRICA 2.1 A REDE ELÉTRICA COMO CANAL DE COMUNICAÇÕES O uso da rede elétrica como meio de comunicação de dados nasceu a partir da constatação que os imóveis tinham mais tomadas elétricas do que linha telefônicas fixas. Isto quer dizer que é muito mais fácil se ter um ponto de acesso aos dados utilizando a rede elétrica (que já está consolidada e amplamente difundida) do que utilizar qualquer outro meio de transmissão de dados. Nas Figuras 2.1 a 2.4 apresentamos as formas mais comuns de transmissão de dados em ambientes residenciais com seus prós e seus contras, além de ilustrações mostrando um exemplo de infra-estrutura básica para cada tipo de transmissão de dados: a) Comunicação por Linha Telefônica: - Prós: Alto desempenho (Ex.: conexão de internet via ADSL); Infra-estrutura já existente. - Contras: Poucas tomadas disponíveis. Na Figura 2.1 temos uma exemplificação da estrutura de cabeamento da rede telefônica em uma residência. 16 Figura 2.1 – Rede Telefônica [2]. b) Comunicação por Radio Frequência (Wireless): - Prós: Alto desempenho; Ferramenta bastante flexível; Fácil instalação. - Contras: Tecnologia bastante cara; Necessita de grandes espaços livres para se obter um bom desempenho; Sujeita a interferências e à saturação do espectro. Na Figura 2.2 temos uma exemplificação da estrutura de uma rede wireless em uma residência. Figura 2.2 - Rede Wireless [2]. 17 c) Comunicação por esquemas tradicionais de cabeamento: - Prós: Cabos de transmissão são de baixo custo e alto desempenho; - Contras: necessita fazer um estudo prévio das instalações elétricas do prédio ou da residência para permitir a instalação destes cabos isolada dos cabos de energia, o que encarece a construção do imóvel. Na Figura 2.3 temos uma exemplificação da estrutura de cabeamento da rede Ethernet em uma residência. Observe a quantidade exígua de pontos de acesso. Figura 2.3 - Rede Ethernet [2]. d) Comunicação pela rede elétrica (PLC): - Prós: Infra-estrutura já existente e bastante ampla; Fácil instalação; A tomada funciona para duplo propósito (fornecer energia e transmitir dados)- Contras: Tecnologia ainda em fase de crescimento e aprimoramento; Necessidade de bom isolamento; Características elétricas variam de acordo com a carga da rede; Possui baixa impedância. Na Figura 2.4 temos uma exemplificação da estrutura de cabeamento da rede elétrica em uma residência. Observe que os pontos de acesso à rede são mais numerosos que os meios de comunicação anteriormente citados. 18 Figura 2.4 - Rede Elétrica [2]. 2.2 DISTÚRBIOS CARACTERÍSTICOS DA REDE ELÉTRICA A natureza dinâmica com que as cargas são inseridas e removidas da rede e as interferências de diferentes naturezas fazem deste ambiente o mais hostil, para a transmissão de sinais. Mesmo a simples conexão entre duas tomadas de energia elétrica em uma mesma instalação apresenta uma função de transferência bastante complicada devido principalmente à falta de casamento entre as impedâncias das cargas nas terminações da rede. Desta forma, as respostas em amplitude e fase variam numa faixa bem extensa com a freqüência. Em algumas freqüências o sinal transmitido pode chegar ao receptor com poucas perdas, enquanto em outras freqüências o sinal pode ser recebido com um nível de potência inferior daquele apresentado pelo ruído, sendo completamente corrompido pelo canal [1]. Típicas fontes de ruído presente na rede elétrica são: motores com escovas, fontes chaveadas, reatores de iluminação, dentre outras. Estes equipamentos introduzem componentes de alta freqüência na rede. Constituindo outra forma de inserção de ruído, as emissões irradiadas são aquelas provenientes de emissoras de rádio em geral. O impacto destas diferentes fontes de interferência no sistema é que durante a transmissão dos dados, o número de erros pode ser considerável, necessitando alguma forma de correção [1]. A rede elétrica é um meio de transmissão bastante provido por ruídos e interferências, e a atenuação do sinal é razoavelmente alta, o que faz dele um ambiente muito desafiador para 19 resultados confiáveis. Sistemas de comunicações que usam a rede elétrica dependem do ambiente, ou seja, os parâmetros de comunicação se alteram de acordo com as cargas ligadas nela intermitentemente. Isso quer dizer que a qualidade da energia elétrica não pode ser completamente controlada pelas concessionárias, uma vez que os aparelhos eletrônicos são suscetíveis a distúrbios decorrentes de fenômenos naturais (como descargas atmosféricas, por exemplo) e aqueles inerentes da própria operação do sistema, como curtos-circuitos causados por defeitos de equipamentos, vandalismo, queimadas debaixo das linhas de transmissão, etc. A transmissão de dados via PLC não interfere em nenhum eletrodoméstico, pois as freqüências utilizadas por ela não são usadas por nenhum outro aparelho eletrônico. Entretanto, outros equipamentos podem causar interferências em uma rede PLC, como motores de escova utilizados em furadeiras e liquidificadores, por exemplo, e os dimmers de luz. 2.2.1 Impedância A Impedância Z (ohms) indica a oposição total que um circuito oferece ao fluxo de corrente alternada, ou qualquer outra corrente variável em uma freqüência e pode ser obtida calculando a relação entre o valor eficaz da diferença de potencial (U) e o valor eficaz da corrente resultante (i) de um circuito. Z = U / i (2.1) O chaveamento aleatório de equipamentos eletroeletrônicos pode causar uma mudança substancial na impedância da rede elétrica, fazendo com que esta varie durante períodos diferentes. Em MALACK e ENGSTROM [3] mostraram que a impedância é determinada basicamente por dois parâmetros: as cargas conectadas à rede elétrica e a impedância do transformador de distribuição. São fatores como estes que dificultam a comunicação pela rede elétrica [4]. 20 Figura 2.5 - Freqüência (MHz) – Impedância de Redes Elétricas na Europa, por Malack e Engstrom [4]. 2.2.2 Atenuação A atenuação de um sinal em qualquer meio de comunicação reflete em sua amplitude, isto é, a atenuação é a diminuição da amplitude de um sinal ao longo do meio de transmissão. Na rede elétrica não é diferente, no entanto esta atenuação varia em função de diversas freqüências. De acordo com HOOIJEN [5], as características de uma atenuação no ambiente de baixa tensão podem ser alteradas da seguinte forma: a) Um sinal de mesma freqüência e mesma amplitude tem diferentes graus de atenuação, quando transmitido instantes diferentes; b) A atenuação aumenta com a freqüência. 2.2.3 Ruídos Em redes de alta tensão, o ruído do canal pode ser devido a relâmpagos, a operações de disjuntores de circuito e aos transientes produzidos dentro de uma estação de força. Nas redes de média tensão, especialmente o liga-desliga dos bancos de capacitores usados para a correção de fator de potência, pode causar picos elevados de ruído. Na rede notoriamente ruidosa de baixa tensão, os causadores de ruídos são os vários dispositivos residenciais conectados à rede [1]. Mínimo 21 No entanto, nunca houve a preocupação com interferências de alta freqüência em redes de distribuição de energia, pois os sistemas operam em 60Hz. Deste modo, os cabos não têm nenhum tipo de proteção contra ruídos como uma malha metálica (blindado) ou sequer são trançados [4]. A rede de baixa tensão é um ambiente bastante ruidoso e os piores causadores destes ruídos são os vários dispositivos residenciais e equipamentos de escritórios conectados a rede elétrica. VINES [6] classifica os ruídos em baixa tensão da seguinte forma [4]: a) Ruídos que têm componentes sincronizadas na freqüência do sistema de potência: Os tiristores geram ruídos sincronizados com o sinal de 60Hz da rede elétrica, que aparecem como um harmônico do sinal de 60Hz. Estes componentes são comuns em controladores de iluminação. b) Ruído com espectro suave: A mais importante fonte de ruído de espectro suave são os motores universais, isto é, pequenos motores com enrolamento, que podem ser encontrados em inúmeros eletrodomésticos residenciais (uma furadeira, por exemplo). Estes eletrodomésticos são geralmente usados por um curto período de tempo. c) Ruído impulsivo de evento único: Este é causado principalmente por chaveamentos, tais como os termostatos e pode ser modelado como impulsos. d) Ruído Não-Sincronizado: Este é um ruído de pulso periódico que ocorre com uma freqüência não múltipla da rede de tensão. A maior fonte de ruído tipo D é a televisão. A Figura 2.7 mostra o espectro de tensão de algumas fontes de ruídos citadas acima. 22 Figura 2.6 - Espectro do ruído [7]. 2.2.4 Outros Distúrbios na Rede Elétrica Tabela 2.1 - Anomalias mais comuns provenientes da rede elétrica, suas causas e efeitos [8]: Anomalia O que é Causas Efeitos Alteração da Freqüência É quando a freqüência da rede sofre uma variação. Normalmente, seu valor é de 60Hz e é para esta freqüência que máquinas e equipamentos foram projetados. Esta anomalia é muito mais comum em redes alimentadas por geradores a diesel ou gasolina. É provocada pelas variações de potência da carga e o tempo de resposta do gerador. Quando há uma grande alteração da freqüência, os efeitos variam desde um simples mal funcionamento até a um superaquecimento e consequentemente, a queima de motores e equipamentos elétricos em geral. RUÍDO DE FUNDO RUÍDO DE FURADEIRA RUÍDO DE TEMPORIZADORES DE LUZ RUÍDO DE COMPUTADOR (FONTE CHAVEADA) 23 Distorção Harmônica É quando a rede elétrica sofre uma alteração da forma de onda.São inúmeras as causas desta anomalia, porém as mais comuns são, fontes chaveadas e motores elétricos, ou então redes alimentadas por geradores de má qualidade ou com manutenção inadequada. Mal funcionamento de equipamentos que possuam fontes lineares ou motores. Os computadores suportam um maior nível de distorção harmônica, enfrentando assim, menores transtornos, Sobretensão de Rede É um dos tipos de anomalias mais comuns e é caracterizada pelo aumento da tensão eficaz da rede elétrica. Subtensão de Rede A subtensão é caracterizada pela diminição da tensão eficaz na rede elétrica por um período de tempo relativamente longo. Provocada pela variação da demanda (aumento do consumo num espaço de tempo muito pequeno) em uma rede subdimencionada. [9] Pode causar redução na performance, desligamento, mau funcionamento e até queima de equipamentos eletrônicos. Em computadores, os efeitos podem variar, provocando desde um travamento, perda de dados, até a queima da fonte de alimentação. Brownout O brownout é caracterizado pela drástica diminuição da tensão eficaz da rede elétrica por um período de tempo relativamente longo. Problemas no fornecimento da concessionária ou redes elétricas sobrecarregadas. Provável inoperância da carga com possível queima de equipamentos. Surtos de Tensão O surto de tensão, também conhecido como spike é caracterizado pelo drástico aumento da tensão instantânea da rede elétrica (picos de tensão). Normalmente causado por descargas atmosféricas. Pode provocar a queima de placas de computadores e de rede, HD, fontes de alimentação, hubs, fiação de rede, telefones, modems, etc. 24 Afundamento de Tensão - SAG O SAG é caracterizado pela redução momentânea do valor eficaz da tensão da rede elétrica. Geralmente são causados por curto- circuito na rede elétrica e chaveamento de equipamentos que demandam altas quantidades de energia. Mal funcionamento da carga (travamento, “reset” de computadores, etc.). 25 CAPÍTULO 3 MODULAÇÃO O desenvolvimento da tecnologia PLC só foi possível com o avanço das técnicas de modulação, isto porque a modulação consiste no processo de transformar um sinal em uma forma adequada para transmissão através de um determinado meio físico (canal) e assim, torná-lo menos susceptível a ruídos e a erros, fazendo com que o sinal no módulo receptor seja igual ou aproximado ao sinal original. Isto quer dizer que a modulação é a alteração sistemática de uma onda portadora de acordo com a mensagem (sinal modulante), e que pode incluir também uma codificação [13]. A maioria dos sinais, da forma como são fornecidos pelo transdutor, não podem ser enviados diretamente através dos canais de transmissão. Consequentemente, uma onda portadora cujas propriedades são mais convenientes aos meios de transmissão é modificada para representar a mensagem a ser enviada. O receptor recria a mensagem original a partir do sinal recebido através do canal (processo de demodulação). Entretanto, a presença de ruído e a distorção no sinal recebido impossibilitam a recriação exata da mensagem original. A degradação do sinal no sistema como um todo é influenciada pelo tipo de modulação usado, sendo algumas técnicas mais sensíveis a ruídos e distorções que outras [10] e [11]. A modulação pode ser classificada em: modulação de onda contínua e modulação por pulsos. Neste projeto iremos nos deter apenas na modulação de onda contínua, que, por sua vez, se divide em analógica e digital. No nosso projeto usaremos a modulação digital por se ter um melhor controle nos possíveis erros causados pela interferência das anomalias presentes na rede elétrica (citadas anteriormente). 3.1 MODULAÇÃO DE ONDA CONTÍNUA ANALÓGICA A modulação de onda contínua do tipo analógica usa uma onda portadora senoidal para transmitir informação. Os tipos mais comuns desta modulação são a modulação por amplitude (AM) e a modulação por ângulo. 26 3.1.1 Modulação de Onda Contínua por Amplitude (AM) Nesse tipo de modulação a amplitude da onda portadora é variada de acordo com o sinal a ser transmitido. A vantagem da modulação em amplitude é a sua simplicidade. Entretanto, suas desvantagens são: a) Desperdício de potência: a onda portadora usada é independente da informação e é transmitida junto com o sinal gastando mais potência; b) Desperdício de banda: as bandas laterais superior e inferior do espectro da onda modulada são simétricas em relação à freqüência da onda portadora [10]. 3.1.2 Modulação de Onda Contínua por Ângulo Nesse tipo de modulação o ângulo da onda portadora é variado de acordo com o sinal a ser transmitido. Os dois métodos mais comuns desse tipo de modulação são: modulação em fase (Phase Modulation PM) e modulação em freqüência (Frequency Modulation FM) [10]. A modulação em fase consiste em variar linearmente o ângulo do sinal modulado, enquanto a modulação em freqüência varia, conforme o nome diz, a freqüência do sinal modulado. Um sinal FM pode ser obtido de um sinal PM e vice-versa. Portanto, todas as propriedades de um sinal FM podem ser deduzidas das propriedades de um sinal PM. A Figura 3.1 faz um comparativo do resultado das modulações de onda contínua do tipo analógica descritas. Figura 3.1 – Modulação de Onda Contínua do tipo analógica [12]. 27 3.2 MODULAÇÃO DE ONDA CONTÍNUA DIGITAL Também é denominada modulação discreta ou codificada. É utilizada em casos em que se está interessado em transmitir uma forma de onda ou mensagem que representam um conjunto de valores discretos. No caso da comunicação binária, as mensagens são transmitidas por dois símbolos apenas. Um dos símbolos representado por um pulso S(t) correspondendo ao valor binário "1" e o outro pela ausência do pulso (nenhum sinal) representando o dígito binário "0" [10]. Por isto é que este tipo de modulação é o mais indicado para transmissões via rede elétrica. Do mesmo modo que há diversas técnicas de modulação para sinais analógicos, as informações digitais também podem ser colocadas sobre uma portadora de diferentes modos. As técnicas de modulação para sinais digitais mais utilizadas atualmente são: Modulação em Amplitude por Chaveamento (ASK), Modulação em Freqüência por Chaveamento (FSK) e Modulação em Fase por Chaveamento (PSK). 3.2.1 Modulação em Amplitude por Chaveamento (ASK) ASK (Amplitude Shift-Keying) é a técnica de modulação mais simples entre as utilizadas para modular sinais discretos (digitais). Consiste na alteração da amplitude da onda portadora em função do sinal digital a ser transmitido. A amplitude da portadora é comutada entre dois valores, normalmente ligado e desligado. A onda resultante consiste então em pulsos que representam o sinal binário "1" e espaços representando o dígito binário "0". [10] Esta técnica é equivalente à modulação AM para sinais contínuos com um sinal modulante na forma de um pulso retangular. O preço desta simplicidade é a excessiva largura de faixa da transmissão. A técnica de modulação ASK também representa perda de potência relativa à onda portadora e é utilizada em transmissões onde o ruído é baixo e quando há necessidade da construção de um sistema de baixo custo. 3.2.2 Modulação em Freqüênciapor Chaveamento (FSK) O processo de modulação FSK (Frequency Shift-Keying), consiste em variar a freqüência da onda portadora em função do sinal modulante, no presente caso, o sinal digital a ser transmitido. Este tipo de modulação pode ser considerado equivalente à modulação em 28 FM para sinais analógicos. Ela é utilizada em modem de baixa velocidade, transmissões via rádio, etc. A amplitude da onda portadora modulada é mantida constante durante todo o processo da modulação. Quando ocorrer a presença de um nível lógico "1" no sinal digital, a freqüência da portadora é modificada para poder ser depois compreendida no processo de demodulação. A freqüência resultante transmitida será a freqüência da onda portadora fp acrescida de uma freqüência de desvio fd. Matematicamente a onda resultante modulada será: fr = fp + fd (2.2) Se registrada a ocorrência de um nível lógico "0" no sinal digital, a freqüência resultante aplicada será a freqüência da onda portadora diminuída da freqüência de desvio: fr = fp – fd (2.3) 3.2.3 Modulação em Fase por Chaveamento (PSK) A técnica de modulação conhecida por PSK (Phase Shift-Keying) é o processo pelo qual se altera a fase da onda portadora em função do sinal digital a ser transmitido. Quando ocorrer uma transição de nível lógico do sinal digital a ser transmitido (sinal modulante), haverá uma mudança de 180 graus na fase da onda portadora com relação ao ângulo anterior. A transição observada pode ser tanto de nível lógico "0" para "1" como de nível lógico "1" para "0" [11]. Para este tipo de modulação deve se usar a detecção síncrona , já que esta tem como base o conhecimento preciso a respeito da fase da onda portadora recebida, bem como da sua freqüência. Esta técnica de modulação devido ao fato mencionado envolve circuitos de recepção (demodulação) mais sofisticados, em compensação oferece melhor desempenho que as técnicas ASK e FSK É utilizada em transmissões de alta velocidade como em rádios digitais e modems de média velocidade. Abaixo é mostrado um gráfico comparativo entre os tipos de Modulação de Onda Contínua do tipo digital citados anteriormente. Figura 3.2 faz um comparativo do resultado das modulações de onda contínua do tipo digital descritas. 29 Figura 3.2 – Modulação de Onda Contínua do tipo digital [12]. 3.3 MODULADOR E DEMODULADOR FSK 3.3.1 Modulador FSK O sinal de saída do sensor precisa ser modulado para que seja enviado pela rede elétrica. Como a sua saída corresponde apenas a uma tensão DC, precisamos de circuito para modular esta tensão. Como vimos anteriormente, a melhor modulação para transmissões pela rede elétrica é a modulação FSK. Para isto usaremos o XR-2206 da Exar Corporation. Este CI tem uma excelente qualidade no sinal e boa estabilidade para sinais FSK. Ele trabalha com freqüências entre 0.01Hz e 1MHz e é ideal para dispositivos de comunicações. A Figura 5.8 mostra a configuração do XR-2206 para ser usado como modulador FSK. O capacitor C e os resistores R1 e R2 são quem definem as freqüências de saída dos níveis alto e baixo do modulador respectivamente. A Figura 3.3 mostra o circuito indicado para fazer a modulação FSK no XR-2206: 30 Figura 3.3 – Circuito para modulação FSK usando o XR-2206 [19]. 3.3.2 Demodulador FSK A demodulação FSK é feita pelo XR-2211 também da Exar Corporation. Ele é um PLL especializado na demodulação FSK e captura sinais entre 0.01Hz e 300kHz. A Figura 3.4 mostra o diagrama de blocos do XR-2211 e especifica, em vermelho, a organização de seu PLL, e a Figura 3.5 mostram a configuração básica de um PLL: Figura 3.4 – Diagrama de blocos do XR-2211 [35]. Figura 3.5 – Diagrama de blocos de um PLL básico [36]. 31 3.3.2.1 Phase-Locked Loop (PLL) O PLL é um dispositivo muito usado em telecomunicação e outros campos, com as mais diversas finalidades, como recuperação de portadora em PSK e QAM, recuperação de relógio (sincronismo) em transmissões digitais, demodulação de sinais FM ou FSK e muitas outras. Ele funciona basicamente da seguinte maneira [36]: • O Detector de Fase gera uma tensão de saída Vd com uma componente contínua Vc que representa a diferença de fase entre o sinal de entrada Ve e o sinal do VCO Vv. Será a partir desta diferença que o XR-2211 irá reconstruir os valores binários a partir de uma referência interna. • Junto com o sinal Vc, a tensão de saída Vd do Detector de Fase, gera também um sinal com o dobro da freqüência dos sinais (2fv) e a soma das fases. Para remover estas componentes, utiliza-se um Filtro Passa Baixa na saída do Detector de Fase. • O VCO gera um sinal cuja freqüência Fv depende da tensão de controle Vc criada no Detector de Fase. • Na ausência de sinal de entrada Ve, a tensão Vc é zero e o VCO oscila na freqüência central fo. Com sinal de entrada Ve, e freqüência fe dentro da faixa de captura ou aquisição Fa, aparece uma tensão Vd na saída do Detector de Fase, tal que a freqüência do VCO seja alterada até ser igual à freqüência do sinal de entrada, porém mantendo um erro ou diferença de fase constante e tal que gere um Vc que sustente esta nova freqüência do VCO. Nesta condição estável, o PLL está sincronizado ou travado, à custa de uma diferença de fase dphi entre Ve e Vv, (donde o nome de Elo Travado em Fase), mantendo a freqüência fv do VCO exatamente igual a freqüência fe do sinal de entrada. Se fe variar dentro da faixa de sincronismo Fs, a freqüência do VCO acompanha fe [36]. Nas Figuras 3.6 e 3.7 podemos observar como funciona o travamento dos sinais no PLL: 32 Figura 3.6 – Representação da faixa ocupada por um sinal. Figura 3.7 – Faixa de sincronismo de um sinal [36]. De acordo com a Figura 3.7, para o PLL poder sincronizar-se (travar) a partir da condição não travada, é preciso que fe esteja acima de f1 ou abaixo de f3, ou seja, dentro da faixa de aquisição Fa = f3 - f1. E uma vez sincronizado, o PLL se mantém sincronizado desde que fe não passe acima de f2 e nem abaixo de f4, ou seja, fe não saia da faixa de sincronismo Fs = f2 - f4 [36]. 3.4 LEGISLAÇÃO E REGULAMENTAÇÕES Quando se explora uma tecnologia nova é necessário considerar conseqüências da aplicação, e a transmissão de dados via rede elétrica pode, entre outras coisas, interferir com as mídias de telecomunicação já existentes de rádio e com eletrodomésticos [13]. Além disso, questões de segurança como radiação eletromagnética, robustez elétrica e contra incêndio, privacidade e direitos do consumidor precisam ser definidas. A regulamentação de transmissões via rede elétrica tem como principal requisito evitar conflitos com a comunidade de radio-transmissão e suas normas, e para isso as freqüências que produtos PLC podem utilizar são restritas a certas faixas, assim como a amplitude de sinal e tipo de modulação[13]. A situação do PLC no Brasil, quanto à regulamentação e certificação, ainda é incipiente, não existindo até o momento nada específico que discipline as atividades dos fabricantes e fornecedores de equipamentos com relação à fabricação, certificação e homologação de equipamentos baseados na tecnologia PLC. Como ainda não se regulamentou a tecnologia PLC, os testes estão sendo realizados sob a outorga de permissões para execução de serviços especiais para fins científicos ou experimentais, embasados portanto na Resolução nº 024, de 22 de setembro de 1966, “NTC 22 – Serviço Especial para Fins Científicos ou Experimentais” [4]. Banda do Sinal 33 Um padrão de baixa freqüência nomeado por CENELEC 50065-1 foi estabelecido pelo ETSI (European TelecommunicationsStandards Institute) da Comunidade Européia e revisado em 1999 para comunicações em redes elétricas de baixa tensão. A alocação das freqüências é mostrada na Tabela 3.1 [4]. Tabela 3.1 – Alocação de freqüências para redes de baixa tensão residencial, visão Européia. O FCC (Federal Communications Commision), órgão regulamentador de telecomunicações americano (EUA), padronizou a sua faixa de espectro entre 9kHz e 30MHz. Entretanto, atualmente este restringiu a operação de sistemas PLC na faixa de 535 a 1705kHz, de forma a evitar interferências diretas em outros sistemas que usam esta faixa [4]. Qualquer aplicação que atenda às normas da CENELEC estará automaticamente cumprindo as normas americanas (FCC), japonesas (MTP) e canadenses, que são menos rígidas [13]. 34 CAPÍTULO 4 TEMPERATURA 4.1 DEFINIÇÃO A temperatura é a transferência da energia térmica, ou calor, entre sistemas. Quando dois sistemas estão na mesma temperatura, eles estão em equilíbrio térmico e não há transferência de calor. Quando existe uma diferença de temperatura, o calor será transferido do sistema de temperatura maior para o sistema de temperatura menor até atingir um novo equilíbrio térmico. Esta transferência de calor pode acontecer por condução, convecção ou radiação. As propriedades precisas da temperatura são estudadas em termodinâmica. mas tem também um papel importante em muitos campos da ciência, entre outros a física, a química e a biologia. 4.2 MEDIÇÃO DA TEMPERATURA A temperatura é uma das grandezas físicas mais medidas, sejam no dia-a-dia das pessoas ou em processos industriais. Muitos métodos foram desenvolvidos para medir as temperaturas. Muitos deles são baseados sobre o efeito da temperatura sobre matérias. 4.2.1 Instrumentos de Medição Um dos dispositivos mais utilizados para medir a temperatura é o termômetro de vidro. Consiste em um tubo de vidro contendo mercúrio ou outro líquido. O aumento da temperatura provoca a expansão do líquido, e a temperatura pode ser determinada medindo o volume do líquido. Tais termômetros normalmente são calibrados e assim podem mostrar a temperatura simplesmente observando o nível do líquido no interior da coluna de vidro. Outro tipo de termômetro que não é muito prático, mas é importante de ponto de visto teórico é o termômetro de gás [28]. Outros instrumentos de medição da temperatura são: 35 • Termistores • Termopares • Pirômetros • Sensores Semicondutores • Circuitos Integrados 4.2.1.1 Termistores Termistores são resistores sensíveis à temperatura. Os elementos resistivos são óxidos de metais como manganês, níquel, cobalto, cobre, ferro, titânio. Existem duas variedades básicas de termistores: • NTC (do inglês Negative Temperature Coefficient) - resistores cujo coeficiente de variação de sua resistência com a temperatura é negativo, ou seja, a resistência diminui com o aumento da temperatura [29]. • PTC (do inglês Positive Temperature Coefficient) - resistores cujo coeficiente de variação de sua resistência com a temperatura é positivo, ou seja, a resistência aumenta com o aumento da temperatura [29]. Uma das muitas aplicações do termistor é o controle de temperatura de motores industriais. A desvantagem deste meio de medição é que o termistor não gera uma saída de tensão linear com a temperatura, exigindo um circuito de revelação do sinal complexo. A Figura 4.1 exemplifica a tensão de saída de um termistor PTC qualquer mostrando a sua saída não linear e a Figura 4.2 mostra os diversos formatos de encapsulamentos que um termistor pode ter. 36 Figura 4.1 - Variação da resistência dos termistores com relação à temperatura [14]. Figura 4.2 - Vários tipos de termistores [14] e [15]. 4.2.1.2 Termopares Os termopares são dispositivos eletronicos com larga aplicação para medição de temperatura. São baratos, podem medir uma vasta gama de temperaturas e podem ser substituídos sem introduzir erros relevantes. A sua maior limitação é a exatidão, uma vez que erros inferiores a 1ºC são difíceis de obter. Quando ligamos um conjunto de termospares em série damos o nome de termopilha. Um exemplo da aplicação de termopares e termopilhas pode ser a medição de temperaturas em linhas de gás [30]. 4.2.1.3 Pirômetros Um pirômetro (também denominado de pirómetro óptico) é um dispositivo que mede temperatura sem o contato com o corpo ou com o meio do qual se pretende conhecer a temperatura. Geralmente este aparelho é aplicado em materiais que medem temperaturas superiores a 600ºC. Uma utilização típica é a medição da temperatura de metais incandescentes em fundições. 37 4.2.1.4 Sensores semicondutores Parâmetros elétricos dos semicondutores variam com a temperatura. E, por isso, eles podem ser usados como sensores térmicos. Um simples diodo de silício diretamente polarizado é provavelmente o mais barato sensor de temperatura que pode existir. Diversos fabricantes desenvolveram diodos específicos para a função [16]. A curva da Figura 3.3 exemplifica a curva de variação Temperatura x Resistência de um diodo utilizado como sensor: Figura 4.3 - Variação Temperatura x Resistência elétrica [16]. Entretanto, sempre há necessidade de circuitos auxiliares para compensar falta de linearidade e para levar o sinal para níveis de operação do circuito de controle. 4.2.1.5 Circuitos integrados Para isso, vários fabricantes produzem o conjunto sensor junto com circuitos auxiliares em forma de circuito integrado. Existem tipos analógicos com saída de tensão ou saída de corrente e os de saída digital para uso com microcontroladores. Experimentamos neste trabalho o LM35 da National Semiconductor e o TMP101 da Texas Semiconductor 4.2.1.5.1 LM35 O LM35 da National Semiconductor é um circuito integrado que varia proporcionalmente a tensão de saída com a variação de temperatura medida em graus Celsius com uma exatidão de até ±1.0 ºC. Não é necessário um circuito extra para fazer a conversão de outros formatos de medidas (como Kelvin ou Fahrenheit, por exemplo) e nem para linearizar a saida do sensor. 38 Figura 4.4 – Gráfico da variação temperatura x erro de medição do LM35 [17]. O LM35CA, usado nas experiências, opera com uma tensão de entrada (Vin) entre 4V e 30V medindo temperaturas entre -40 até 110 ºC e possui um invólucro de plástico. As medições de temperatura feitas pelo sensor são provenientes de seus contatos. Visto que a temperatura da superfície e a do ambiente está próxima, este método de medição não traz problema de precisão significativo. Figura 4.5 - LM35 [18]. Este circuito integrado possui em seu interior uma configuração semelhante à descrita na Figura 4.6: ER R O D E M ED IÇ ÃO (ºC ) TEMPERATURA (ºC) 39 Figura 4.6 - Esquema interno do LM35 [17]. Observando o esquema acima, podemos notar que a saída (Vout) do CI varia 10 mV a cada variação de temperatura em ºC. Isso pode ser calculado usando a formula: Vout (mV) = 10mV x T Onde: Vout = Tensão de saída do LM35 T = Temperatura em º C Esta regra é obedecida quando temos a seguinte ligação elétrica do LM35, descrita em seu datasheet, que está representada na Figura 4.7: Figura 4.7 - Montagem para medições de temperatura entre -55ºC e 150ºC [17]. Para ligações elétricas mais simples, o range de medição de temperatura é diminuído, mas essa alteração não traz prejuízos ao uso prático do sensor, principalmente na regiãodo Nordeste do Brasil. Assim as ligações elétricas do sensor ficariam mais simples, como mostra a Figura 4.8: 40 Figura 4.8 - Montagem para medições de temperatura entre 2ºC e 150ºC [17]. Com essa alteração, o calculo da tensão de saída do sensor sofre uma pequena mudança conforme descrito abaixo: Vout (mV) = 10mV x T Onde: Vout = Tensão de saída do LM35 T = Temperatura em º C 4.2.1.5.2 TMP101 O TMP101 da Texas Semiconductor é um sensor de temperatura que possui como principal diferencial a saída dos dados de forma serial utilizando o protocolo I2C (abordaremos este protocolo no Capítulo 5.2.1). Deste modo, ele descarta a utilização de um conversor A/D em transmissões digitais e este protocolo permite uma fácil programação em um microcontrolador. Este sensor tem precisão de ± 2ºC e é capaz de medir temperaturas entre -55ºC e +125ºC e possui uma saída especial para casos de emergência, como disparar um alarme automaticamente a uma determinada temperatura, tudo definido via programação. A figura 4.9 mostra um gráfico com o erro de medição do sensor com a variação de temperatura. Figura 4.9 – Erro de medição (em ºC) do TMP101 x variação de temperatura (ºC) [39]. Temperatura (ºC) Er ro (ºC ) 41 CAPÍTULO 5 MICROCONTROLADOR PIC16F877A O microcontrolador PIC16F877A da Microchip Technology Inc foi escolhido para ser usado neste projeto por ser o microcontrolador que tínhamos mais facilidade em adquirir com uma arquitetura RISC com conversor A/D, interface I2C e compatível com comunicação USART, funções utilizadas por este projeto. A arquitetura deste microcontrolador de 40 pinos se destaca dos outros microcontroladores por ser do tipo Harvard, isto é, a memória do programa é separada da memória dos dados propiciando uma maior velocidade, visto que os dados são acessados usando barramentos diferentes. Diferente da arquitetura de Von-Neuman que possui apenas um local de armazenamento da memória do programa e dos dados. A Figura 5.1 ilustra estas arquiteturas: Figura 5.1 – Representação da arquitetura de Von Neumann e de Harvard respectivamente. Outras características do microcontrolador PIC16F877A são: • Freqüência de operação (clock) até 20MHz; • Memória flash para o programa de 8Kbytes; • Memória dos dados com 368 bytes de capacidade; • Capacidade para 15 interrupções; • 4 portas de I/O (entrada / saída); 42 • 3 timers; • 2 módulos PWM; • Capacidade de comunicação serial utilizando o MSSP (protocolo I2C e ISP) e USART (protocolo RS-232); • Capacidade de comunicação paralela (PSP); • Conversor A/D de 10bits com 8 canais de entrada; • 2 comparadores analógicos; • E um conjunto de apenas 35 instruções. Como utilizamos apenas o conversor A/D e a comunicação serial via protocolo I2C e protocolo RS-232, detalharemos o funcionamento destes a seguir. 5.1 CONVERSOR A/D O PIC16F877A possui um conversor A/D com oito canais selecionáveis de entrada de tensão, e uma resolução de 10bits. A técnica de conversão utilizada pelo PIC16F877A é conhecida como aproximação sucessiva, que tem a vantagem de efetuar uma conversão rapidamente, independente do número de bits de resolução [34]. Para se fazer a conversão antes precisou definir o número de passos (ou partes) em que o nível de tensão será dividido. Quanto maior o número de passos melhor a fidelidade do sinal [34]. Para se definir o número de passos, definiram-se os dois valores de referência, um máximo (Vref+) e um mínimo (Vref-). Estes valores representam a faixa de tensão que o conversor A/D pode receber em sua entrada e a diferença entre estes dois valores irá definir a tensão correspondente a cada passo. Por exemplo, se utilizarmos o conversor de 10bits e definirmos que Vref+ = 5V e Vref- = 0V, a faixa de tensão a ser convertida será de 5V e teremos que dividir estes 5V por 1024 que é o número de partes de um conversor de 10bits (210), ficando 5 / 1024 = 0,005. Quer dizer que a sensibilidade deste conversor, neste caso, é de 5mV, que é o valor de tensão correspondente a cada passo. 43 5.2 COMUNICAÇÃO SERIAL I2C NO PIC16F877A Em 1999, a Microchip introduziu o módulo MSSP nos modelos PIC16F87X [34]. Foi este módulo que possibilitou a comunicação serial síncrona deste microcontrolador, possibilitando a implementação por hardware no protocolo I2C. Antes disso, este protocolo era implementado por software, a partir de uma técnica chamada de bit-bang. O módulo MSSP do PIC16F877A tem suporte para endereçamento de 7bits e de 10bits, além de poder operar com um clock numa transmissão I2C de no máximo 1MHz. 5.2.1 O I2C O protocolo serial síncrono I2C foi criado pela Philips na década de 80 com o objetivo de interconectar seus novos dispositivos eletrônicos. Sua principal finalidade é permitir a comunicação entre dispositivos onboard, ou seja, dispositivos que estão instalados na mesma placa de circuito impresso, mas nada impede a comunicação via barramento I2C entre dispositivos instalados em placas diferentes desde que estejam próximas fisicamente. Para uma comunicação a longa distância será necessária a utilização de um circuito integrado I2C Bus Extender (Extensor de Barramento I2C), como o 82B715 fabricado pela Philips [34]. Ao longo do tempo o barramento I2C foi sofrendo atualizações de modo que os primeiros CI’s fabricados com a interface I2C integrada podia transmitir e/ou receber dados a uma velocidade máxima de 100kb/s (Standad-mode). Mais tarde a taxa de transferência máxima foi ampliada para 400kb/s (fast-mode), e posteriormente para 3,4mb/s (high-mode) [34]. 5.2.2 Barramento I2C Este protocolo tem um baixo nível de complexidade por ser composto fisicamente de apenas dois fios: um cabo de transferência dos dados (SDA) e um cabo de clock (SCL) para o sincronismo da transmissão. Por ter uma estrutura tão simples, este sistema tem um baixo custo de implementação. No barramento I2C os elementos envolvidos na comunicação são denominados de Master (Mestre) e Slave (Escravo). O dispositivo mestre é sempre responsável pela geração do sinal de clock. Sendo assim, a forma mais elementar de implementar um barramento I2C é 44 configurar um dos dispositivos como mestre e os demais como escravos, como mostra a Figura 5.2: Figura 5.2 – Diagrama de um barramento I2C. De forma geral, o papel de um dispositivo mestre é desempenhado por um microcontrolador, enquanto os dispositivos escravos são periféricos como memória RAM, driver de LCD, sensores, conversores A/D, etc. Os microcontroladores também podem ser configurados para funcionar como dispositivo escravo. Embora um dispositivo mestre gere o sinal de clock, ele pode tanto transmitir como receber dados dos dispositivos escravos, por isso, um dispositivo conectado a um barramento I2C pode ser identificado em uma transmissão como um dispositivo mestre-transmissor, mestre-receptor, escravo-receptor ou escravo-transmissor [34]. 5.2.3 Transmissão dos Dados Uma das principais características do barramento I2C é o fato de o endereçamento ser feito via software e é definido pelo dispositivo mestre, que coloca inicialmente na linha SDA o endereço do dispositivo escravo com o qual quer se comunicar. Normalmente o tamanho do endereço de um dispositivo é de 7bits, mas dependendo da quantidade de dispositivos presentes no circuito, podemos usar um endereçamento de 10 bits. A informação que trafega na linha SDA flui sempre em grupos de 8bits. Desta forma, se o endereçamento for de 7bits, o mestre dará início à comunicação enviando 1byte pela 45 linhaSDA, sendo os 7bits primeiros o endereço do dispositivo escravo e o oitavo bit, o bit R/W, que define se a comunicação será de leitura (R/W = 1) ou de escrita (R/W = 0) [34]. As linhas SDA e SLC são bidirecionais e devem se manter conectadas à linha de alimentação VDD por meio de resistores de pull-ups para que, no momento em que o barramento estiver ocioso, o sinal em qualquer uma das linhas esteja em nível lógico alto. Deste modo, uma comunicação terá início quando ocorrer uma transição negativa na linha SDA. Após a condição de START, o barramento deve ser considerado ocupado, pois uma transmissão de dados está em andamento [34]. Após a condição de START o sinal de clock é enviado pelo dispositivo mestre. A partir deste momento, os bits vão sendo colocados de forma serial na linha SDA a partir do bit mais significativo, devendo o bit da vez assumir o nível lógico correto enquanto o sinal de clock estiver em nível baixo. O receptor deve ler os bits enquanto o sinal de clock estiver em nível lógico alto, período em que o bit presente na linha SDA deve se manter obrigatoriamente estável. Na Figura 5.3 temos o esquema de uma transmissão do protocolo I2C: Figura 5.3 - Esquema de uma transmissão do protocolo I2C. Depois que o dispositivo mestre envia byte de endereçamento, os bytes seguintes são os dados propriamente ditos, não havendo limites para a quantidade de dados a serem transmitidos. Ao final de cada byte transmitido, o receptor tem que enviar um pulso de ACK (acknowledge), conhecido como pulso de conhecimento. Isto é realizado fazendo a linha DAS assumir nível lógico baixo. O pulso ACK indica para o transmissor que um byte foi transmitido com sucesso. Caso o receptor não receba o byte corretamente, ele enviará para o transmissor um sinal de NACK indicando um erro na transmissão. Neste caso, o dispositivo 46 mestre finaliza a transmissão com uma condição de STOP e depois inicia uma nova transmissão. Quando o dispositivo mestre quiser encerrar a transmissão, ele gerará um pulso NACK e, assim, gerando uma condição de STOP. 5.3 COMUNICAÇÃO SERIAL RS-232 NO PIC16F877A É muito comum hoje em dia o interfaceamento de um circuito microcontrolado com um computador pessoal (PC). A porta serial é a forma mais popular de implementar uma comunicação entre um microcontrolador e o PC. Alguns microcontroladores, inclusive o PIC16F877A, possuem um módulo periférico que implementa o protocolo USART (protocolo de comunicação síncrona e assíncrona universal), permitindo, desta forma, a comunicação deste com o PC [34]. Este protocolo é a forma utilizada pelo PIC16F877A para enviar dados compatíveis com o protocolo RS-232. 5.3.1 Módulo USART O módulo USART pode ser configurado para funcionar no modo full-duplex assíncrono (transmissão e recebimento de dados simultâneos) e no modo half-duplex (apenas uma comunicação é feita por vez). Nós utilizamos o modo full-duplex assíncrono porque não haverá o compartilhamento do clock na transmissão, podendo ainda ser iniciada a qualquer momento, apenas o transmissor e o receptor precisam ter o mesmo baud rate. Quando vamos implementar uma configuração USART, é preciso configurar alguns parâmetros, entre eles o número de bits, inclusão ou não do bit de paridade e o mais importante, a taxa de transferência utilizada na transmissão. O baud rate define o período do bit, também chamado de intervalo de sinalização. O período do bit é o tempo que o bit permanecerá na linha de transmissão. O baud rate é a quantidade de bits que pode ser transmitida por segundo (bps). Existem alguns valores-padrão para de baud rate que são utilizados na maioria das aplicações, os quais são dados em bps: 110, 300, 1200, 2400, 4800, 9600, 38400, 57600 e 115200 [34]. 47 5.3.2 Protocolo de Comunicação Serial RS-232 No protocolo de comunicação serial RS-232, caracteres são enviados um a um como um conjunto de bits. A codificação mais comumente usada é o "start-stop assíncrono" que usa um bit de inicio, oito bits de dados, possivelmente um bit de paridade, e um ou dois bits de parada. O padrão RS-232, que também pode ser chamado EIA-232 após recentes atualizações, define os níveis elétricos correspondentes aos níveis lógicos um e zero, a velocidade de transmissão padrão e os tipos de conectores, tanto na comunicação síncrona como na comunicação assíncrona. Na Figura 5.4 está representada a lógica presente na transmissão de 8bits do protocolo RS-232. Figura 5.4 – Níveis lógicos aleatórios presentes da transmissão de 8bits de dados. Observe que quando o meio de transmissão estiver ocioso, ele mantém nível lógico alto, para se iniciar uma transmissão é necessário apenas o envio de um bit com nível lógico zero (Start Bit) antes dos 8bits, e para parar a transmissão é necessário o envio de um ou dois bits com níveis lógicos altos após os 8bits, e isso se repete para cada byte enviado. 5.3.3 Driver RS-232 Mas somente o USART não é suficiente para que o microcontrolador possa se comunicar com o PC, visto que o padrão de comunicação físico usado pelo PC na comunicação serial não é o mesmo dos PICs. Várias empresas fabricam um circuito integrado que permite um microcontrolador, que na maioria dos casos utiliza a lógica TTL na representação dos níveis lógicos 0 e 1, interfacear com o padrão RS-232. O que este CI faz na verdade é converter os níveis de tensão correspondentes aos níveis de tensão correspondentes à lógica TTL no padrão RS-232 e vice-versa. A Tabela 5.1 apresenta os níveis de tensão 48 correspondentes aos níveis lógicos 0 e 1 que trafegam no padrão RS-232 e os níveis lógicos correspondentes fornecidos pelo PIC16F877A para um VDD = 5V [34]. Tabela 5.1 – Níveis de tensão fornecidos pelo PIC16F877A e pelo padrão RS-232, respectivamente [34]. Nível Lógico PIC16F877A Padrão RS-232 0 ≤ 0,6V +5V a +15V 1 ≥ 5V – 0,6V -5V a -15V Um dos dispositivos mais usados nesta operação é o CI MAX232 da Texas Instruments O interfaceamento dele é fácil, necessitando de apenas de quatro capacitores de 1µF conectados externamente a alguns de seus pinos. Ele possui dois canais de conversão TTL em RS-232 em cada sentido do fluxo, totalizando quatro canais no total [34]. A Figura 5.5 mostra a configuração padrão de instalação do MAX232 de acordo com o seu datasheet [37]. Figura 5.5 – Circuito de operação típico do MAX232 [37]. Como usamos apenas a transferência de dados entre o PIC e o PC, utilizamos apenas um canal de conversão TTL / CMOS para RS-232, e as entradas dos canais de controle (DSR, RTS e CTS) são ligadas entre si (pinos 6, 7 e 8, respectivamente), já que o PIC16F877A não tem suporte para estes canais. Mais detalhes sobre este circuito no Anexo B. Entrada CMOS / TTL Saída CMOS / TTL Saída RS-232 Entrada RS-232 +12V -12V 49 CAPÍTULO 6 INTERFACE DE ACOPLAMENTO A Interface de Acoplamento é composta de um Driver de Saída, que nada mais é do que um amplificador de potência, e uma Rede de Acoplamento que é basicamente um filtro passam faixa. A Interface de Acoplamento que usamos foi desenvolvida em [4]. A Figura 6.1 mostra uma representação da interface de acoplamento. Figura 6.1 – Interface de Acoplamento. 6.1 DRIVER DE SAÍDA (AMPLIFICADOR DE POTÊNCIA) Faz-se necessário o uso deste amplificador, pois o sinal proveniente do modulador é incapaz de transpor a rede de acoplamento devido à sua baixa impedância, logo o sinal a ser transmitido é totalmente drenado pela rede. Isto quer dizer que o amplificador de potência amplifica sinais modulados a um nível de potência que sobreponha o ruído e evite o excesso de emissão eletromagnéticaque interfira no sinal. A Tabela 6.1 mostra as principais características do Amplificador Classe AB. Tabela 6.1 - Características dos amplificadores com configuração coletor comum [4]. Tabela Característica do Amplificador Classe AB Impedância de Entrada Alta Impedância de Saída Baixa Ganho de Tensão Baixo Ganho de Corrente Alto Ganho de Potência Médio 50 O amplificador usado tem uma configuração do tipo AB, onde serão usados dois transistores de potência juntos com diodos para amplificar o sinal a ser transmitido, como mostra a Figura 6.2. Figura 6.2 - Circuito do amplificador classe AB [4]. Os transistores de potência BD329 e BD330 são utilizados para amplificar o sinal, o BD329 opera no semiciclo positivo, enquanto que o BD330 no semiciclo negativo. Os diodos D1 e D2 são utilizados para controlar a temperatura desses transistores, ou seja, proporcionam uma estabilização térmica da corrente quiescente no estágio de saída. O estágio de saída de um amplificador Classe AB dissipa uma potência abaixo das condições quiescentes. A dissipação desta potência aumenta a temperatura interna dos TBJ’s (Transistores de Junção Bipolar). Se este aumento de temperatura não for contido, o disparo térmico leva os TBJ’s à destruição [4]. 6.2 REDE DE ACOPLAMENTO Para transmissão de informações em sistemas PLC’s, os sinais com freqüências acima de 60Hz têm que ser acoplados à rede elétrica. A interface de acoplamento tem um importante papel nestes sistemas, pois além de acoplar o sinal de transmissão ao meio de comunicação, bloqueiam o sinal de 60Hz proveniente da rede elétrica [9]. O tipo de rede de acoplamento utilizado no projeto é o modo diferencial ou fase- neutro, no qual este par é usado para injetar o sinal, ou seja, o condutor ativo (fase) é usado 51 como um terminal, e o condutor neutro usado como o outro terminal. A Figura 6.3 ilustra o esquema elétrico deste tipo de rede de acoplamento. Figura 6.3 - Rede de Acoplamento Fase-Neutro [4] Nesta topologia, os dois capacitores C1 e C2, são colocados para o caso de não se saber qual condutor é o fase, estes bloqueiam a freqüência da rede elétrica (60Hz) e evitam a saturação do transformador. Um terceiro capacitor (Cs) de sintonização é adicionado à topologia e, como os capacitores de bloqueio C1 e C2 são maiores que o Cs, conclui-se que estes capacitores não contribuem para a alteração na sintonização da freqüência de interesse. O transformador foi projetado com relação e espiras de 1:1. Os diodos servem para proteção contra sobre-tensão. 52 CAPÍTULO 7 IMPLEMENTAÇÕES, TESTES E RESULTADOS No decorrer do desenvolvimento deste projeto, foram verificadas algumas oportunidades de melhorias do mesmo devido a oportunidade de se corrigir algumas deficiências e devido a alguns problemas de implementação de alguns componentes. Foram desenvolvidos três esquemas básicos para a construção deste projeto, vamos a eles: 7.1 CIRCUITO COM TRANSMISSÃO ANALÓGICA DE MALHA ABERTA A Figura 7.1 mostra o nosso primeiro esquema que obtivemos partindo do diagrama de blocos da Figura 1.1, projetamos um circuito simples para a monitoração remota da temperatura. Figura 7.1 – Circuito com transmissão analógica de malha aberta. O sensor de temperatura usado foi o LM35, pois se pretendia construir o circuito de forma mais simples possível. A medição realizada para testar o sensor ocorreu utilizando um termômetro digital da Minipa, modelo MT-401A. A Figura 7.2 mostra um teste feito com o sensor à temperatura ambiente: 53 Figura 7.2 – Teste do sensor. Fazendo comparações com o termômetro digital e aplicando a fórmula desenvolvida, ficou comprovado que ocorreram erros de aproximadamente 1ºC que, segundo o seu datasheet, está dentro do limite tolerável de erro, como visto no Capítulo 4.2.1.5.1. Vout (mV) = 10mV x (T + 2) = 10 * (30 + 2) = 10 * 32 = 320mV Saída do sensor = 314mV Erro = |Saída do sensor – Saída desejada| = 6mV = 0,6ºC Na saída do sensor foi usado um amplificador operacional como condicionador do sinal para fazer os ajustes no sinal do mesmo. Para modular o sinal, foi usado o CI XR-2211 operando como um VCO que criaria uma freqüência dependendo a tensão de entrada proveniente do circuito de condicionamento e enviaria esta freqüência para a interface de acoplamento, que foi visto no Capítulo 6, para ser enviada pela rede elétrica. No receptor, a rede de acoplamento retiraria este sinal da rede elétrica, enviaria ao demodulador que geraria a tensão de entrada no VCO. Esta tensão esta enviada a um conversor A/D e depois mostrada em um display de sete segmentos. A Figura 7.3 mostra a configuração do circuito de condicionamento e do CI XR-2211 usado como um VCO. 54 Figura 7.3 – Esquema do circuito de condicionamento e do VCO. Este projeto tem dois grandes defeitos: primeiro, como vimos no Capítulo 2, a rede elétrica é bastante ruidosa e poderia alterar a freqüência do sinal, causando um erro na leitura do mesmo, segundo, ocorrendo esses erros, nós não podíamos descobri-los facilmente porque este circuito é d e malha aberta, isto é, não há um controle de erros. 7.2 CIRCUITO COM TRANSMISSÃO DIGITAL UTILIZANDO I2C Na tentativa de melhor a eficiência e a confiabilidade dos dados transmitidos, resolvemos transmitir os valores do sensor de forma digital. Após uma pesquisa, utilizamos um sensor que já estava em nosso poder, o TMP101 da Texas Semiconductor. Por causa disto colocamos também o microcontrolador PIC16F877A no circuito a fim de converter os dados transmitidos do sensor do protocolo I2C para o protocolo RS-232. A Figura 7.4 mostra como ficou este nosso novo circuito. 55 Figura 7.4 – Circuito com transmissão digital utilizando I2C. O microcontrolador se comunicava com o sensor de temperatura e convertia esses dados para o protocolo RS-232 no modo assíncrono porque não havia o compartilhamento do clock entre o microcontrolador e o PC. Foi desenvolvido um algoritmo para que o microcontrolador efetuasse a captação dos dados no sensor, os convertessem para o protocolo RS-232 e os transmitisse. A Figura 7.5 mostra o diagrama de blocos do algoritmo desenvolvido. 56 Figura 7.5 – Diagrama de blocos do programa do PIC16F877A para o sensor TMP101. Depois do microcontrolador, o sinal era enviado para o transmissor FSK. Este era responsável por receber os dados provenientes do microcontrolador e passá-los para a rede elétrica. Ele é composto por um modulador FSK, continuamos usando o XR-2206 porque ele 57 também é capaz de modular em FSK, e uma interface de acoplamento. A Figura 7.6 representa um transmissor FSK. Figura 7.6 – Estrutura do transmissor FSK. Configuramos o modulador para trabalhar na faixa entre 85kHz e 102kHz para facilitar os cálculos do demodulador, que ficaria com a freqüência central em 100kHz. Para transmitir utilizando essas freqüências, foram necessários alguns cálculos para se descobrir os valores de C, R1 e R2 de acordo com a fórmula Fn=1/RnC, visto no Capítulo 3.3.1. ( ) 1 1 1 1 1 1 1 1 1 102 *10 980 f R C R f C R kHz nF R = = = ≅ Ω ( ) 2 2 2 2 2 2 1 1 1 98 *10 1020 f R C R f C R kHz nF R = = = ≅ Ω (7.1) Escolhendo o valor do capacitor C como 10nF, calculamos os valores dos resistores R1 e R2. Como são valores muito específicos, usamos trimpots para se chegara este valor e fazer o ajuste fino. No Anexo B tem algumas fotos do resultado dos nossos testes com este modulador. O Receptor FSK é responsável por receber os dados provenientes da rede elétrica, tratá-los e enviá-los para o driver de comunicação do protocolo RS-232 com o PC, visto no Capítulo 5.3.3. Ele é composto por uma Rede de Acoplamento e por um demodulador FSK, no caso usamos o XR-2211 que foi descrito no Capítulo 3.3.2. E a rede de acoplamento é idêntica ao do transmissor, ela filtra a faixa da freqüência do sinal transmitido na rede elétrica. 58 A configuração do demodulador FSK consiste no ajuste de alguns componentes passivos que fazem parte do mesmo. A Figura 7.7 mostra a topologia indicada pelo fabricante para a configuração dos componentes do demodulador: Figura 7.7 – Configuração dos componentes passivos do demodulador [35]. O XR-2211 foi projetado inicialmente com o resistor R0 = 10kΩ, que está obedecendo a faixa de valores indicados pelo fabricante (entre 10KΩ e 100KΩ). Depois foi calculada a freqüência central f0 pela Equação (7.2): 210 FFf = , lembrando que F1 = 102kHz e F2 = 98kHz. (7.2) Foi encontrado o valor de 99,97kHz, ele será o valor da freqüência central do demodulador, e agora podemos encontrar o valor de C0 com a Equação (7.3): 00 0 1 fRC = (7.3) Depois de achado o valor de C0 = 1nF, calculamos o valor do resistor R1 pela Equação (7.4). Ele vai definir a banda do sinal a ser demodulado. 2 21 00 1 ff fR R − = (7.4) 59 Foi encontrado o valor de R1 = 500kΩ e foi usado um resistor de 470kΩ, resistor comercial mais próximo. Calcula-se então o valor do capacitor C1 pela Fórmula (7.5). Ele vai calcular a constante de tempo do Detector de Fase. O fabricante recomenda um ζ = 0.5. 2 1 0 1 1250 ςR CC = (7.5) Encontrado o valor de C1 = 10pF, foi calculado o valor dos resistores RF e RB. O fabricante recomenda um valor de Rf = 5R1 e Rb = 5Rf, onde foi obtido Rf = 2,35MΩ e Rb = 11MΩ. Após efetuados estes cálculos, pode-se calcular o Rsum que é dado pela Equação (7.6). (7.6) Depois de calculado o valor de Rsum = 2,15MΩ e utilizando a Equação (7.7), calculamos CF, adotando um Baund Rate = 1200. (7.7) Efetuando o calculo acima descrito, pode-se encontrar um valor para CF = 0,12µF. O fabricante recomenda um RD = 470kΩ para a maioria das aplicações, assim o CD pode ser calculado usando a seguinte Fórmula (7.8), onde CD é medido em µF e ∆f em Hz. CD é o filtro do detector de travamento e ∆f é a largura de banda do projeto. (7.8) Após os cálculos efetuados, achamos um CD = 4nF. Agora temos definidos todos os componentes que são usados no demodulador XR-2211. No caso deste circuito o grande problema que nós enfrentamos foi em relação ao encapsulamento do nosso sensor TMP101. Ele utiliza o encapsulamento SOT23, o que torna 60 muito difícil a sua implantação física para pessoas sem experiência e sem equipamentos adequados para isto. A solução encontrada foi voltar a utilizar o sensor de temperatura LM35. 7.3 CIRCUITO COM TRANSMISSÃO DIGITAL UTILIZANDO O CONVERSOR A/D A Figura 7.8 mostra que o circuito é praticamente idêntico ao anterior, a mudança que ocorreu foi a troca do sensor de temperatura TMP101, que tem saída serial mas um encapsulamento de difícil implementação, por um LM35, de fácil implementação, porém de saída analógica. Figura 7.8 – Circuito com transmissão digital utilizando o conversor A/D. Para poder utilizar este sensor e gerar um sinal digital, é necessário o uso de um conversor A/D. Como vimos no Capítulo 5.1, o microcontrolador PIC16F877A também possui um conversor interno, o que mantém a maior parte do projeto como estava. Para configurá-lo utilizaramos 1200bps como valor de baud rate devido à menor ocorrência de erros e de não haver necessidade de uma alta velocidade de transmissão. Para configurar o baud rate no PIC16F877A precisamos definir um valor para o registrador SPBRG que controla o período da transmissão dos 8bits. Este valor pode ser encontrado tabelado ou calculado a partir da sua freqüência de oscilação (clock) no datasheet [38] do microcontrolador. 61 Para utilizar a conversão de 10bits, o PIC16F877A utiliza dois bytes para acomodar o resultado, mas isto dificulta o envio e o controle das informações pela rede elétrica, por isto utilizaremos apenas os 8bits mais significativos da conversão para fazer o envio. Esta modificação redução na resolução do conversor não irá causar problemas porque esta resolução é suficiente para precisão do sensor de temperatura. A Figura 7.9 mostra como é feita a divisão dos registradores do conversor A/D, no ADRESH ficam os bytes mais significativos e no ADRESL ficam os bytes menos significativos. Em vermelho, a indicação do registrador que utilizaremos no modo de conversão justificado à esquerda. Figura 7.9 – Organização dos registradores do conversor A/D do PIC16F877A. No nosso caso, queremos medir a temperatura entre 2ºC e 125ºC, utilizando apenas 8bits do conversor. Definindo Vref+ = 1280mV e Vref- = 0V ficamos com 1280 / 256 = 5mV. Isto quer dizer que a temperatura será medida de 0,5ºC em 0,5ºC que valem 5mV. Deste modo, os valores das temperaturas ficaram de acordo com a Tabela 7.1. Tabela 7.1 – Valores de conversão da temperatura. Dado transmitido Valor decimal Valor da temperatura medida pelo sensor Temperatura medida 0 0 2 0 1 1 2,5 0,5 10 2 3 1 11 3 3,5 1,5 100 4 4 2 101 5 4,5 2,5 110 6 5 3 111 7 5,5 3,5 1000 8 6 4 1001 9 6,5 4,5 62 1010 10 7 5 1011 11 7,5 5,5 1100 12 8 6 1101 13 8,5 6,5 1110 14 9 7 1111 15 9,5 7,5 10000 16 10 8 10001 17 10,5 8,5 11111110 254 129 127 11111111 255 127,5 125,5 Esta tabela pode ser obtida a partir da resolução da Fórmula (7.9). 2 2 TransmitidoTemperatura = − (7.9) A Figura 7.10 mostra o diagrama de blocos do algoritmo usado no microcontrolador. O programa completo pode ser encontrado no Anexo C. 63 Figura 7.10 – Organograma básico do programa do PIC16F877A usado neste projeto. O restante do projeto continua idêntico ao visto no Capítulo 7.2. O circuito completo encontra-se no Anexo A e o controle dos valores que chegam ao computador, bem como os cálculos da conversão dos dados provenientes do conversor A/D. 64 CAPÍTULO 8 CONCLUSÃO Através do levantamento bibliográfico realizado, foram obtidos conceitos fundamentais para o entendimento e a análise deste projeto. Foi desenvolvido um projeto para a monitoração de temperatura através da rede elétrica, método este, que visava ao usuário final, uma maior facilidade para instalar sistemas de medição de temperatura. Concluímos com este trabalho que este método de transmissão de dados é de difícil implementação e ele trabalha apenas em imóveis com o sistema de energia monofásica, necessitando um estudo sobre a topologia da rede elétrica do imóvel para se poder fazer a instalação do sistema de monitoramento para se fazer a instalação em redes trifásicas. Contudo, este sistema de monitoramento de temperatura é muito conveniente, prático, barato e viável. Este projeto foi inicialmente desenvolvido para ser transmitido pela rede elétrica utilizando a modulação FM (analógica) sem o uso de protocolos ou de qualquer controle de erros. Com o progresso foram feitas modificações visando melhorar a confiabilidades dos dados transmitidos e de agregar mais conhecimento sobre transmissãode dados digitais. Assim, foram feitos vários estudos e pesquisas sobre a transmissão dos dados pela rede elétrica e concluímos que a modulação por chaveamento de freqüência (FSK) se comporta de forma mais estável num meio tão ruidoso quanto a rede elétrica do em outros tipos de modulação, como as modulações analógicas, ou mesmo as modulações digitais, como a PSK. Assim foram projetados os circuitos do modulador e do demodulador FSK. Também foi adicionada a comunicação RS-232 se mostrou bastante útil, pois consegue organizar e codificar a mensagem a ser enviada pelo microcontrolador até o computador de forma simples e eficiente. Apesar de não usarmos, o protocolo I2C é uma ferramenta bastante útil e este estudo que foi feito poderá ser usado para projetos futuros ou até para melhorias neste. Devido a motivos de força maior, não foi possível implementar totalmente este projeto. Alguns dos problemas foram: a falta de componentes nas lojas locais, sendo necessário o pedido a distribuidores em São Paulo/SP e até a importação destes componentes; Troca de orientador; Adequação e melhorias do projeto, passando de uma comunicação 65 estritamente analógica, para uma completamente digital; Desconhecimento na programação do PIC forçando ao estudo do mesmo o que nos deu maior conhecimento sobre os microcontroladores; Houve dificuldade em se transferir os programas para o PIC devido a uma incompatibilidade do software de programação com o gravador, sendo necessária a compra de um gravador para o mesmo; Tivemos dificuldades em se calibrar corretamente o demodulador e as redes de acoplamento e problemas com o encapsulamento do sensor de temperatura TMP101 que nos forçou a abandonar o uso do protocolo I2C. Gostaria de salientar também a falta de tempo que tivemos, com todos estes problemas, para tratar os dados provenientes do microcontrolador no computador, ficando esta etapa, para desenvolvimentos futuros. Apesar de tudo isso, o trabalho foi válido pela “bagagem” de conhecimento e de experiência que nós obtivemos ao tentar desenvolve-lo. Gostaria de registrar também que este trabalho procurou, apesar da especificidade do tema proposto, contextualizar da forma mais ampla possível os objetos de estudo envolvidos no sistema PLC e poder contribuir para o avanço da tecnologia PLC no Rio Grande do Norte e no Brasil. 66 BIBLIOGRAFIA [1] NETO, P. C.; BENTO, R. L. Transmissão de Dados Através da Rede Elétrica. 2003. Monografia (Graduação em Engenharia de Computação) – Departamento de Engenharia e Ciências Exatas, Universidade Potiguar, Natal. [2] How Power-line Networking Works. Disponível em: http://www.howstuffworks.com/power-network.htm/printable > Acesso em: Maio 2006 [3] MALACK, J. A., ENGSTROM, J.R., RF Impedance of US and European Power Lines. IEEE Transactions on Electromagnetic Compability, Vol. 18, nº 1. 1976. [4] MONTENEGRO, R. H. M. Implementação de um Modem Half-Duplex para Transmissão de Dados Através da Rede Elétrica. 2004. Monografia (Graduação em Engenharia de Computação) – Departamento de Engenharia e Ciências Exatas, Universidade Potiguar, Natal. [5] HOOIJEN O. G., A Channel Model for the Residential Power Circuit used as a Digital Communications Medium. IEEE Transaction on Electromagnetic Compability, 1998, EMC-40(4):333-336p. [6] VINES et al. Noise on Residential Power Distribution Circuits. IEEE Transactions on Electromagnetic Compability, vol. EMC-26, nº 4, Nov. 1984, pg. 161-168. [7] FERREIRA, H. C., GROVÉ, H. M., HOOIJEN, O., HAN VINCK, A. J., Power Line Communications: An Overview. Department of Electrical and Electronic Engineering, Rand Afrikaans University, África do Sul, 2006. [8] SMS - Guia de Problemas Provenientes da Rede Elétrica. Disponível em: http://www.sms.com.br/sitenovo/dicas4.aspx > Acesso em Maio 2006 [9] FERNANDES, C. E. M., LIMA, W. C., Implementação de um Sistema de Comunicação PLC Ponto-a-ponto para Monitoramento de Consumo Elétrico. 2005. Monografia (Graduação em Engenharia de Computação) – Departamento de Engenharia e Ciências Exatas, Universidade Potiguar, Natal. [10] VARGAS, A. A.; PEREIRA, C. E.; LAGES, W. F.; CARRO, L. Comunicação de Dados através da Rede Elétrica. 2003. Relatório de Pesquisa CEEE/2003 nº9920525, UFRGS – Universidade Federal do Rio Grande do Sul, Porto Alegre. [11] Modulação - Repositório de Documentos Técnicos do Grupo de Redes – UFRGS. Disponível em: http://penta2.ufrgs.br/Alvaro/modu.html > Acesso em Maio 2006 67 [12] SILVA, L. M., Modulação Analógica de Onda Contínua. Teoria das Telecomunicações – ENE – UnB, 2004. [13] MARQUES, G. A. G., Transmissão de Dados Via Rede Elétrica. 2004. UFSC, Florianópolis. [14] Temperature Sensor - The Thermistor. Disponível em: http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Sensors/TempR.html > Acesso em Abril 2006. [15] Termistores – NTC. Disponível em: eletrica.ufpr.br/edu/ie00/transd/brenno/index.html > Acesso em Abril 2006 [16] Medidas de Temperatura I. Disponível em: http://www.mspc.eng.br/fldetc/tpr1.asp > Acesso em Abril 2006 [17] Datasheet do componente LM35 Precision Centigrade Temperature Sensors, 2000. [18] Temperature Sensor - The LM35. Disponível em: http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Sensors/TempLM35.html. Acesso em: Abril 2006. [19] Datasheet do componente XR-2206 Monolithic Function Generator, 1997. [20] Introdução a Amplificadores Operacionais. Disponível em: http://www.ifi.unicamp.br/~kleinke/f540/e_amp1.htm. Acesso em: Abril 2006. [21] MENDONÇA JÚNIOR, J. Desenvolvimento de Interfaces Microcontroladas para Aplicação em Automação Residencial. 2004. Monografia (Graduação em Engenharia de Computação) – Departamento de Engenharia e Ciências Exatas, Universidade Potiguar, Natal. [22] LIN, Y., LATCHMAN , H. A., LEE, M.Y., A Power Line Communication Network Infrastructure For Smart Home. IEEE Wireless Communications No 1070-9916/02. University of Florida, 2002. [23] SILVA, L. M., Modulação Angular. 2005. Teoria das Telecomunicações – ENE – UnB, Brasília. [24] Alguém Aí Tem Um Transformador Para Emprestar? Telecurso 2000 – Aula 46. [25] Impedância. Disponível em: http://pt.wikipedia.org/wiki/Impedância > Acesso em: Maio 2006 [26] PLC (Power Line Communications). Disponível em: http://pt.wikipedia.org/wiki/PLC > Acesso em: Maio 2006 68 [27] HAAG, R., OLIVEIRA, L. M., VEIT, E. A., Coleta Automática e Interpretada de Dados em um Laboratório Didático de Termologia. 2003. Instituto de Física – UFRGS, Porto Alegre. [28] Temperatura. Disponível em: http://pt.wikipedia.org/wiki/Temperatura > Acesso em Abril 2006 [29] Termístor. Disponível em: http://pt.wikipedia.org/wiki/Termistor > Acesso em Abril 2006. [30] Termopar. Disponível em: http://pt.wikipedia.org/wiki/Termopar > Acesso em Abril 2006. [31] Pirômetro. Disponível em: http://pt.wikipedia.org/wiki/Pirômetro > Acesso em Abril 2006. [32] Sensor de Temperatura - Técnicas de Medição de Temperatura. Disponível em: http://vinicius.brasil.vilabol.uol.com.br/eletronica/Sensortemp/SENSORTEMP.htm. Acesso em Abril 2006. [33] Voltage-Controlled Oscillator. Disponível em: http://en.wikipedia.org/wiki/Voltage- controlled_oscillator. Acesso em Junho 2006. [34] ZANCO, W. S., Microcontroladores PIC: Técnicas de Software e Hardware para Projetos de Circuitos Eletrônicos Com Base no PIC16F877A. São Paulo: Érica, 2006. [35] Datasheet do componente XR-2211 FSK Demodulator / Tone Decoder, 1997. [36] PLL : Phase-Locked Loop ou Elo Travado em Fase. Disponível em: http://paginas.terra.com.br/lazer/py4zbz/teoria/pll.htm. Acesso em Janeiro 2006. [37] Datasheet do componente MAX232 – Dual EIA-232 Drivers / Receivers,2004. [38] Datasheet do componente PIC16F877, 2003. [39] Datasheet do componente TMP101, 2003 69 ANEXO A CIRCUITO TRANSMISSOR / RECEPTOR Figura A.1 – Circuito do transmissor. 70 Figura A.2 – Circuito do receptor. 71 ANEXO B IMAGENS DOS TESTES Figura B.1 – Sensor de Temperatura. Figura B.2 - Saída do sensor mostrado no osciloscópio em escala 0.2 V/Div. 72 Figura B.3 - Onda da saída do sinal da freqüência F2 modulador XR-2206 com aproximadamente 98kHz. Figura B.4 - Onda da saída do sinal da freqüência F1 modulador XR-2206 com aproximadamente 102kHz. Todas as medidas feitas no osciloscópio foram obtidas com 2µs/div. 73 ANEXO C PROGRAMA DO PIC16F877A Este programa foi baseado no programa de Wagner da Silva Zanco em [34] com adaptações para este projeto. ;**************************************************************************************************************** ; ARQUIVOS DE DEFINICOES ;**************************************************************************************************************** #INCLUDE <P16F877A.INC> ;ARQUIVO PADRAO MICROCHIP PARA PIC16F877A ;**************************************************************************************************************** ; BITS DE CONFIGURACAO ;**************************************************************************************************************** __CONFIG _CP_OFF&_WRT_OFF&_DEBUG_OFF&_CPD_OFF&_LVP_OFF&_WDT_OFF&_BODEN_ON&_PWRTE_ON&_XT_OSC ;**************************************************************************************************************** ;_CP_OFF ==> MEMORIA DE PROGRAMA DESPROTEGIDA CONTRA LEITURA ;_WRT_OFF ==> SEM PERMISSAO PARA ESCREVER NA MEMORIA DE PROGRAMA ;_DEBUG_OFF ==> DEBUG DESATIVADO ;_CPD_OFF ==> MEMORIA EEPROM PROTEGIDA CONTRA LEITURA ;_LVP_OFF ==> PROGRAMACAO EM BAIXA TENSAO DESABILITADA ;_WDT_OFF ==> WDT DESATIVADO ;_BODEN_ON ==> BROWN-OUT ATIVADO ;_PWRTE_ON ==> POWER-ON RESET ATIVADO ;_XT_OSC ==> OSCILADOR A CRISTAL (4MHz) ;**************************************************************************************************************** ; PAGINACAO DA MEMORIA ;**************************************************************************************************************** ;COMANDOS PARA ALTERACAO DE PAGINA DE MEMORIA BANK0 MACRO ;MACRO PARA SELECIONAR BANCO 0 BCF STATUS,RP0 BCF STATUS,RP1 ENDM BANK1 MACRO ;MACRO PARA SELECIONAR BANCO 1 BSF STATUS,RP0 BCF STATUS,RP1 ENDM ;**************************************************************************************************************** ; CONSTANTES ;**************************************************************************************************************** ;CONSTANTES UTILIZADAS PELO SISTEMA INIC_TMR0 EQU .6 ;INICIALIZA TMR0 CONTA EQU .125 ;INICIALIZA COUNT #DEFINE UM_SEG FLAGS,0 74 ;**************************************************************************************************************** ; VARIAVEIS ;**************************************************************************************************************** ;VARIAVEIS UTILIZADAS PELO SISTEMA FLAGS EQU H'40' COUNT EQU H'41' DADO EQU H'46' COUNT_T EQU H'5B' COUNT1 EQU H'42' ;**************************************************************************************************************** ; VETOR DE RESET ;**************************************************************************************************************** ORG 0x00 ;ENDERECO INICIAL DE PROCESSAMENTO GOTO INICIO ;**************************************************************************************************************** ; INTERRUPCAO ;**************************************************************************************************************** ;AS INTERRUPCOES NAO SERAO UTILIZADAS ORG 0x04 ;ENDERECO INICAL DA INTERRUPCAO RETFIE ;RETORNA AO PROGRAMA PRINCIPAL ;**************************************************************************************************************** ; INICIO ;**************************************************************************************************************** INICIO BANK1 ;ALTERA PARA BANCO1 MOVLW B'00001101' ;DEFINE RA2, RA1 e RA0 COMO ENTRADA E DEMAIS PINOS COMO SAIDA MOVWF TRISA MOVLW B'00000000' ;DEFINE RB6:RB0 COMO SAIDA E RB7 COMO ENTRADA MOVWF TRISB ; || || MOVLW B'00000000' ;DEFINE O PORTC COMO SAIDA MOVWF TRISC ; || || MOVLW B'00000000' ;DEFINE O PORTD COMO SAIDA MOVWF TRISD ; || || MOVLW B'00000000' ;DEFINE O PORTE COMO SAIDA MOVWF TRISE ; || || MOVLW B'00000100' ;TMRO OPERANDO COMO TEMPORIZADOR MOVWF OPTION_REG ;PRESCALER 1:32 NO TMRO ;PULL_UPS HABILIADOS, DEMAIS BITS IRRELEVANTES MOVLW B'00000000' ;CHAVE GERAL DE INTERRUPCAO DESLIGADA MOVWF INTCON ;DEMAIS BITS IRRELEVANTES BANK0 ;RETORNA PARA O BANCO 0 ;**************************************************************************************************************** ; INICIALIZACAO DAS VARIAVEIS ;**************************************************************************************************************** 75 CLRF PORTA ;LIMPA PORTA CLRF PORTB ;LIMPA PORTB CLRF PORTC ;LIMPA PORTC CLRF PORTD ;LIMPA PORTD CLRF PORTE ;LIMPA PORTE CLRF FLAGS ;LIMPA FLAGS MOVLW CONTA MOVWF COUNT_T ;INICIALIZA COUNT_T COM 25 MOVLW INIC_TMR0 MOVWF TMR0 ;INICIALIZA TMR0 COM 6 CLRF DADO ;LIMPA REG ;**************************************************************************************************************** ;ESTA SUB-ROTINA CONFIGURA E ATIVA O CONVERSOR A/D ;**************************************************************************************************************** ATIVA_CONVERSOR_AD BANK1 ;ATIVA BANCO 1 MOVLW B'00001111' MOVWF ADCON1 ;JUSTIFICADO A ESQUERDA <7> ;ADRESH <9:2>, ADRESL <1:0> ;RA0/AN0 COMO ENTRADA ANANLOGICA <3:0> ;RE2:RE0 CONFIGURADO COMO I/O ;VREF+ = RA3/AN3 (+1,024V) ;VREF- = RA2/AN2 VSS (0V) BANK0 ;ATIVA BANCO0 MOVLW B'01000001' MOVWF ADCON0 ;FREQUENCIA = FOSC/8 <7:6> ;CANAL 0 SELECIONADO <5:3> ;MODULO A/D LIGADO <0> ;**************************************************************************************************************** ;ESTA SUB-ROTINA CONFIGURA OS PARAMETROS DA TRANSMISSAO ;**************************************************************************************************************** TX_1200 BANK1 ;ATIVA BANCO 1 MOVLW .51 MOVWF SPBRG ;BAUD RATE = 1200 bps A 4MHZ BCF TXSTA,TX9 ;NÃO HAVERÁ BIT DE PARIDADE BCF TXSTA,SYNC ;ATIVA COMUNICACAO ASSINCRONA BANK0 ;ATIVA BANCO 0 BSF RCSTA,SPEN ;HABILITA PORTA SERIAL BSF RCSTA,CREN ;HABILITA RECEPCAO ;**************************************************************************************************************** ;ESTA SUB-ROTINA LIMPA O BUFFER DE RECEPCAO DA USART (70h - 7Fh) ;****************************************************************************************************************APAGA_BUFFER_RX MOVLW .16 76 MOVWF COUNT1 ;COUNT1 = 16 MOVLW 0x70 MOVWF FSR ;FSR APONTA PARA O ENDERECO 70h (END. INICIAL DO BUFFER) MOVLW 0x30 STORE_02 MOVWF INDF ;END APONTADO POR FSR RECEBE VALOR DECFSZ COUNT1,F ;DECREMNENTA COUNT1. COUNT1=0? GOTO INCFSR_02 ;NAO, DESVIA GOTO PRINCIPAL ;SIM, DESVIA INCFSR_02 INCF FSR,F ;INCREMENTA FSR. APONTA PARA A PROXIMA POSICAO DO BUFFER GOTO STORE_02 ;DESVIA ;**************************************************************************************************************** ;ROTINA PRINCIPAL DO PROGRAMA ;**************************************************************************************************************** PRINCIPAL CALL CONVERSAO_AD ;CHAMA A SUB-ROTINA. FAZ CONVERSAO A/D CALL TRANSMITE ;CHAMA A SUB-ROTINA. TRANSMITE VIA RS-232 CALL TIMER_8mSEG ;CHAMA A SUB-ROTINA. AGUARDA 8 MILISSEGUNDOS GOTO PRINCIPAL ;DESVIA. FAZER LOOP ;**************************************************************************************************************** ;ESTA SUB-ROTINA EFETUA A CONVERSAO A/D E ARMAZENA O BYTE OBTIDO NA CONVERSAO NO REGS DADO ;**************************************************************************************************************** CONVERSAO_AD BTFSS UM_SEG ;PASSOU 1 SEGUNDO? BSF ADCON0,GO ;SIM, INICIA CONVERSAO BTFSC ADCON0,GO ;CONVERSAO TERMINADA? GOTO $-1 ;NAO, AGUARDA TERMINAR CONVERSAO MOVF ADRESH,W ;SIM, W <== ADRESH MOVWF DADO BCF UM_SEG ;APAGA FLAG RETURN ;RETORNA ;**************************************************************************************************************** ;ESTA SUB-ROTINA TRANSMITE DADOS PARA O PC VIA RS-232. ;**************************************************************************************************************** TRANSMITE BANK1 ; ALTERA P/ BANCO 1 DA RAM BSF TXSTA,TXEN ;ATIVA COMUNICACAO BANK0 ;ALTERA P/ BANCO 0 DA RAM MOVWF TXREG ; SALVA WORK EM TXREG (INICIA TX) BANK1 ; ALTERA P/ BANCO 1 DA RAM BTFSS TXSTA,TRMT ; O BUFFER DE TX ESTÁ VAZIO ? GOTO $-1 ; NÃO - AGUARDA ESVAZIAR BANK0 ;ALTERA P/ BANCO 0 DA RAM RETURN 77 ;**************************************************************************************************************** ;ESTA SUB-ROTINA EFETUA CONTAGEM DO TEMPO ;**************************************************************************************************************** TIMER_8mSEG BTFSS INTCON,T0IF TIMER 0 ESTOUROU? GOTO $-1 ;NAO, ESPERA ESTOURAR BCF INTCON,T0IF ;SIM, APAGA FLAGS T0IF MOVLW INIC_TMR0 ;INICIALIZA TIMER 0 COM 6 MOVWF TMR0 DECFSZ COUNT_T,F ;PASSOU 1S? RETURN ;NAO, RETORNA MOVLW CONTA ;SIM, INICIALIZA COUNT_T COM 125 MOVWF COUNT_T BSF UM_SEG ;SETA FLAG UM_SEG RETURN ;RETORNA ;*************************************************************************************************************** END ;FIM DO PROGRAMA ;***************************************************************************************************************