Preview only show first 10 pages with watermark. For full document please download

Dtmf Aplicado à Automação Residencial

Este trabalho aborda uma tecnologia em automação residencial à distância, usando as comunicações telefônicas pelo protocolo DTMF, e com alguns componentes específicos se pode ter um controle de alguns periféricos totalmente à distância.

   EMBED


Share

Transcript

FACULDADES LOGATTI ENGENHARIA ELÉTRICA DTMF APLICADO À AUTOMAÇÃO RESIDENCIAL JOÃO RICARDO VIEIRA RICARDO COLOMBO ORIENTADOR: Marcos Mantese ARARAQUARA - SP 2010 JOÃO RICARDO VIEIRA RICARDO COLOMBO DTMF APLICADO À AUTOMAÇÃO RESIDENCIAL Trabalho de conclusão de curso apresentado às Faculdades Integradas Logatti, como parte dos requisitos para obtenção do titulo de graduação em ENGENHARIA ELÉTRICA. Orientador: Marcos Mantese ARARAQUARA - SP 2010 DEDICATÓRIA Dedicamos este trabalho primeiramente a Deus, a nosso orientador Marcos Mantese e a todas as pessoas que nos incentivaram de alguma maneira. AGRADECIMENTOS Agradecemos a Deus por nos dar saúde e disposição, a faculdades Logatti, aos nossos professores, as nossas famílias e a todos que nos ajudaram e nos motivaram de alguma maneira. RESUMO Este trabalho aborda uma tecnologia em automação residencial à distância, usando as comunicações telefônicas pelo protocolo DTMF, e com alguns componentes específicos se pode ter um controle de alguns periféricos totalmente à distância. Palavras-chave: automação e DTMF. ABSTRACT This work discusses a technology about remotely home´s automation, using the telephone communications by the DTMF protocol, and with some specific components it can have control of some peripherals totally by distance. Keywords: Automation and DTMF. LISTA DE FIGURAS Figura 1-1 - Redes de Controle em Automação .................................................................................... 15 Figura 2-1 - Tecla 1 ................................................................................................................................ 20 Figura 2-2 - Tecla 2 ................................................................................................................................ 20 Figura 2-3 - Tecla 3 ................................................................................................................................ 20 Figura 2-4 - Tecla 4 ................................................................................................................................ 21 Figura 2-5 - Tecla 5 ................................................................................................................................ 21 Figura 2-6 - Tecla 6 ................................................................................................................................ 21 Figura 2-7 - Tecla 7 ................................................................................................................................ 22 Figura 2-8 - Tecla 8 ................................................................................................................................ 22 Figura 2-9 - Tecla 9 ................................................................................................................................ 22 Figura 2-10 - Tecla 0 .............................................................................................................................. 23 Figura 2-11 - Tecla * .............................................................................................................................. 23 Figura 2-12 - Tecla # .............................................................................................................................. 23 Figura 2-13 - Gráfico das teclas ............................................................................................................. 24 Figura 2-14 - Equação 1 ......................................................................................................................... 24 Figura 2-15 - Equação 2 ......................................................................................................................... 24 Figura 2-16 - Soma da senóide de 697 Hz com 1209 Hz ....................................................................... 25 Figura 3-1 - Microcontrolador PIC 16F877A da MicroChip ................................................................... 26 Figura 3-2 - MCU´s de 8-bit, 16-bit e 32-bit .......................................................................................... 27 Figura 3-3 - Arquitetura Harvard ........................................................................................................... 30 Figura 3-4 - Imagem do Programa MPLAB da MicroChip...................................................................... 35 Figura 3-5 - Kit Gravador PIC USB.......................................................................................................... 36 Figura 4-1 - Algoritmo do Programa DTMF ........................................................................................... 37 Figura 4-2 - Diagrama de Blocos do Programa DTMF ........................................................................... 38 Figura 4-3 - Pinagem do PIC16F628a .................................................................................................... 40 Figura 4-4 - Diagrama de blocos PIC16F628a........................................................................................ 40 Figura 4-5 - Esquema de ligação do circuito integrado MT8870 .......................................................... 41 Figura 4-6 - Saturação forte, transistor como chave............................................................................. 42 Figura 4-7 - Esquema Elétrico do Projeto DTMF ................................................................................... 43 Figura 4-8 - Programação Parcial em Liguagem C ................................................................................. 44 LISTA DE TABELAS Tabela 2-1 - Dígitos das Frequências Altas e Baixas .............................................................................. 19 Tabela 3-1 - Famílias PICs pelo tamanho da palavra da memória de programa. ................................. 28 LISTA DE SIGLAS DTMF CPU I/O DDD PIC RAM EPROM EEPROM UART USART CISC RISC SISC - Dual Tone Multi-Frequency Unidade Central de Processamentos Entrada e Saídas Discagem Direta à Distância Periphecal Interface Controler Random Acess Memory Erasable Programmable Read-only Memory Electrically-Erasable Programmable Read-Only Memory Universal Asynchronous Receiver/Transmitter Universal Synchronous Asynchronous Receiver/Transmitter Complex Instruction Set Computer Reduced Instruction Set Computer Specific Instruction Set Computer SUMÁRIO Sumário 1 AUTOMAÇÃO RESIDENCIAL ............................................................................. 13 1.1 Introdução................................................................................................................................... 13 1.2 Objetivo Geral ............................................................................................................................. 13 1.3 Objetivo Específico...................................................................................................................... 13 1.4 Justificativa.................................................................................................................................. 13 1.5 Tecnologia ................................................................................................................................... 14 1.6 Automação Residencial ............................................................................................................... 14 1.6.1 Principais Soluções de Automação Residencial........................................................................ 16 2 DTMF .................................................................................................................... 17 2.1 História ........................................................................................................................................ 17 2.1.1 Telefone.................................................................................................................................... 17 2.1.2 A Invenção da Discagem Direta ................................................................................................ 18 2.1.3 Como Funciona ......................................................................................................................... 18 2.2 DTMF ........................................................................................................................................... 19 3 MICROCONTROLADOR PIC ............................................................................... 26 3.1 História dos Microcontroladores ................................................................................................ 27 3.2 Alimentação ................................................................................................................................ 29 3.3 Definição da CPU......................................................................................................................... 30 3.4 Arquitetura Interna ..................................................................................................................... 30 3.5 UART ........................................................................................................................................... 31 3.6 USART.......................................................................................................................................... 31 3.7 Memória de Programa ................................................................................................................ 31 3.8 Pilha ou Stack .............................................................................................................................. 32 3.9 Organização da Memória de Dados ............................................................................................ 32 3.10 Portas de Entrada/Saída ............................................................................................................. 32 3.11 Oscilador ..................................................................................................................................... 33 3.12 Pipeline ....................................................................................................................................... 33 3.13 Reset ........................................................................................................................................... 33 3.14 Watchdog Timer (WDT) .............................................................................................................. 33 3.15 A Escolha do Microcontrolador .................................................................................................. 34 3.16 Compilação e Gravação .............................................................................................................. 35 3.16.1 MPLAB ...................................................................................................................................... 35 3.16.2 O Gravador ............................................................................................................................... 36 4 ALGORITMOS E PROGRAMAÇÃO .................................................................... 37 4.1 4.1.1 Algoritmo .................................................................................................................................... 37 Linguagem de Programação ..................................................................................................... 39 4.2 Programa do Microcontrolador .................................................................................................. 39 4.3 Hardware .................................................................................................................................... 41 4.3.1 MT8870 .................................................................................................................................... 41 4.3.2 Circuito Eletrônico .................................................................................................................... 41 4.3.3 Transistor .................................................................................................................................. 41 4.3.4 Transistor como Chave ............................................................................................................. 42 4.3.5 Hardware .................................................................................................................................. 43 4.3.6 Programação – Interrupção Externa ........................................................................................ 44 4.3.7 Programação – Interrupção por Mudança de Estado .............................................................. 44 4.3.8 Programa em Linguagem “C” ................................................................................................... 44 5 CONCLUSÃO ....................................................................................................... 45 13 1 AUTOMAÇÃO RESIDENCIAL 1.1 Introdução Com o avanço da tecnologia e o barateamento de materiais necessários para a produção em grande escala para produtos eletrônicos de alta tecnologia, as residências estão cada vez mais modernas. [1] Segundo Bolzani (2004), entre as comodidades da automação residencial estão funções como ligar ou desligar lâmpadas, abrir ou fechar portões automáticos, acionar a bomba da piscina ou o sistema de irrigação do jardim, ligar aquecedores, saunas ou aparelhos de ar condicionado e ligar ou desligar diversos outros equipamentos que não exigem interferência humana para funcionar, incluindo cafeteiras, 1.2 torradeiras, abajures, exaustores e outros. Objetivo Geral O objetivo geral desse trabalho é projetar um circuito eletrônico para controlar dispositivos à distância, usando o protocolo DTMF (Dual Tone MultiFrequency). 1.3 Objetivo Específico O objetivo específico é controlar dispositivos à distância usando um meio de transmissão telefônico através do protocolo DTMF, que são os tons do teclado numérico de um telefone, configurado na opção multifrequencial, usando microcontrolador para ler, processar e executar as tarefas, mostrando as vantagens e desvantagens que esse protocolo poderá proporcionar. 1.4 Justificativa Cada vez mais pessoas e empresas buscam soluções tecnológicas para seus bens e produtos, poder controlar qualquer que for o dispositivo sem ter que estar no local, pode ser bem interessante quanto econômico. Empresas podem monitorar seus funcionários à distância, dando a eles ou não acesso a determinados 14 locais de trabalho, acionando dispositivos como lâmpadas e equipamentos elétricos à distância. 1.5 Tecnologia A tecnologia é algo absolutamente presente na nossa vida que nem sequer damos conta da velocidade de sua evolução. [1] O uso da tecnologia esta cada vez mais transparente, deixando até de ser algo complexo de se operar. Entretanto qualquer que seja a tecnologia, ela só se torna transparente aos olhos dos usuários quando esta tudo funcionando corretamente, pois no momento que ocorre alguma falha no serviço percebe-se que se trata de uma tecnologia implantada. [2] 1.6 Automação Residencial Automação residencial é o uso da tecnologia para facilitar e tornar automáticas algumas tarefas habituais em sua residência ou área de trabalho, com sensores de presença, temporizadores, relés ou até mesmo uma simples ligação de um celular ou telefone fixo para que seja realizada determinada função programada em sua residência, é possível acionar tarefas pré-programadas, trazendo maior praticidade, segurança, economia e conforto para o morador, antes não imaginado pelo fato de ser facilmente adaptado a qualquer atividade doméstica ou de seu trabalho. Essa tecnologia é expansível e flexível, onde o próprio morador será beneficiado desta automação, causando diminuição de suas tarefas rotineiras, ganho de tempo e também pela própria proteção. Com o planejamento adequado é possível implantar diversas redes que se destinam as inúmeras aplicações, deste modo é possível observar a existência de inúmeras redes de controle para cada função de sua casa, prédio ou área comercial (empresas, lojas, etc.). Estas redes, sendo vistas de maneira ampla, permite o desenvolvimento de sistemas complexos. [2] 15 Figura 1-1 - Redes de Controle em Automação Segundo Teruel (2009), a automação residencial surgiu a partir da industrial no final da década de 70, quando empresas percussoras como a X10 Corp e Leviton começaram a desenvolver produtos para a arquitetura residencial, porém ao contrário do ambiente industrial, nas residências não havia espaço para grandes centrais de controle nem para extensos cabeamentos, o que impulsionou várias empresas como Cisco, Intel, Motorola, Philips entre outras a desenvolverem dispositivos dedicados ao ambiente residencial. A partir da década de 90 acontece o grande avanço nas tecnologias de automação residencial. A utilização de controles remotos programáveis com comunicação por infravermelho ou radiofrequência tornou o controle de um sistema de automação residencial bem mais amigável e prático. Unido a isso, o surgimento e o posterior barateamento da internet banda larga aliada à evolução das telecomunicações, comunicação sem fio e a popularização do celular e dos computadores portáteis criou todas as condições necessárias para a concretização da casa conectada por meio da internet. 16 Existe hoje no mercado uma gama enorme de soluções de automação residencial com características diversificadas que na maioria das vezes executam funções semelhantes. 1.6.1 Principais Soluções de Automação Residencial Segundo Teruel (2009), as soluções de automação residenciais mais modernas e que apresentam melhor custo/benefício são as que utilizam as tecnologias Zigbee e Z-Wave. Essas soluções possuem comunicação por radiofrequência e são indicadas tanto para residências já construídas quanto em fase de projeto. Para aquelas já construídas, essas soluções são ideais, pois não necessitam de custosas intervenções na parte física da residência para sua instalação. Além disso, a qualquer momento o usuário pode adquirir novos dispositivos e conectá-los a rede de automação doméstica sem complicação. Z-Wave é uma tecnologia desenvolvida especialmente para automação residencial por uma empresa dinamarquesa conhecida como Zensys. Hoje trabalham no desenvolvimento da tecnologia empresas gigantes como Intel e Cisco. Zigbee é uma tecnologia recente, está sendo desenvolvida por um grupo de empresas como a Honeywell, Philips, Samsung, Motorola, Cisco System, Eaton, Crestron, Legrand, LG, NEC, Epson e Texas Instruments, que tem como principal característica o baixo consumo de energia. 17 2 DTMF DTMF é a sigla em inglês de “Dual-Tone Multi-Frequency”, os tons de duas frequências utilizados na discagem dos telefones mais modernos. Nos primeiros telefones a discagem era feita através de um “disco” que gerava uma sequência de pulsos na linha telefônica (“discagem decádica” ou “discagem usando sinalização decádica”). Ao se ocupar a linha, o “laço” (“loop”) era fechado e, ao se efetuar a discagem, ocorriam aberturas periódicas deste “laço”, tantas vezes quanto o número discado: para a discagem do 1, uma abertura, para a discagem do 2, duas aberturas, e assim sucessivamente até o 0 (zero) que, na verdade, significa 10 aberturas. Com o advento dos telefones com teclado, das centrais telefônicas mais modernas e com a disseminação dos filtros (primeiro os analógicos, depois os digitais), passou-se à utilização multifrequencial, uma combinação de tons para discagem (DTMF). [3] 2.1 História Quando os colonos norte-americanos declararam sua independência em 1776, a notícia precisou de 48 dias para cruzar o Oceano Atlântico. A chegada do telégrafo em 1843 e do telefone em 1876 possibilitou que notícias chegassem a qualquer lugar do mundo quase instantaneamente. [4] 2.1.1 Telefone Em 1856, o italiano Antonio Santi Giuseppe Meucci construiu um telefone eletromagnético – que denominou telettrofono – para conectar seu escritório ao seu quarto, localizado no segundo andar da casa, pois sua esposa sofria de reumatismo. Porém devido a dificuldades financeiras, Meucci apenas conseguiu pagar a patente provisória de sua invenção. Acabou vendendo o protótipo do telefone a Alexander Graham Bell, que, em 1876, patenteou a invenção como sua. Meucci o processou, mas acabou falecendo durante o julgamento e o caso foi encerrado. Assim, Graham Bell foi considerado durante muitos anos como inventor do telefone. O trabalho de Meucci foi reconhecido postumamente em 11 de junho de 18 2002, quando o Congresso dos Estados Unidos aprovou a resolução Nº.269, estabelecendo que o inventor do telefone fora, na realidade, Antonio Meucci e não Alexander Graham Bell. [5] 2.1.2 A Invenção da Discagem Direta No início, as conexões de telefone eram feitas por operadores que ligavam plugues em dispositivos. Em 1889, na cidade de Kansas, EUA, o empresário Almon Strowger descobriu que a operadora local, casada com o empresário que era seu rival nos negócios, transferia as ligações dos seus clientes para o marido. Strowger inventou a primeira central telefônica automática, uma central controlada de modo remoto que podia conectar um telefone a qualquer outro por meio de pulsos elétricos sem a necessidade de um operador. [4] Em 1896, Keith e os irmãos Erickson desenvolveram um sistema que eliminou também a necessidade de apertar os botões várias vezes, substituindo-os por um sistema que enviava sequências de pulsos do aparelho do usuário para a central: o disco. 2.1.3 Como Funciona Quando o disco era girado, produzia uma série de pulsos elétricos por meio de uma mola que acoplada a ele, acionava duas placas metálicas que ficavam na parte interna do sistema. Acionadas, as placas que se encostavam e afastavam sucessivamente, funcionavam da mesma forma que os interruptores de botão quando pressionados várias vezes. Para discar, uma pessoa tinha que girar o disco até uma posição – de um número e soltá-lo. Nesse momento, uma mola fazia o disco voltar a sua posição inicial, estabelecendo uma sucessão de contatos elétricos que, enviados à central telefônica, tinham o mesmo efeito que produzido no antigo sistema, quando o primeiro botão era pressionado um determinado número de vezes. Ao girar o disco pela segunda vez, repetia-se todo o processo o que equivalia a apertar o segundo botão uma série de vezes. Além de facilitar a vida dos usuários, este sistema reduziu também o número de fios que ligavam cada aparelho à central telefônica e com isso, os custos. [6] 19 2.2 DTMF A sinalização DTMF foi desenvolvida nos laboratórios Bell (Bell Labs) visando permitir a discagem DDD, que usa enlaces sem fio como os de micro-ondas e por satélite. As frequências destes tons e suas combinações são mostradas na tabela abaixo: Hz 1209 1336 1477 1633 697 1 2 3 A 770 4 5 6 B 852 7 8 9 C 941 * 0 # D Tabela 2-1 - Dígitos das Frequências Altas e Baixas Na tabela acima são mostradas as frequências “altas” na linha superior e as “baixas” na coluna mais à esquerda. No centro os números do teclado. Nos teclados dos telefones são mostrados apenas os números de 1 a 0 e os caracteres “*” e “#”. A frequência de 1633 hertz (e consequentemente os algarismos “A”,”B”,”C”e “D”) é utilizada apenas internamente entre equipamentos de teste e medida. O tom de discagem final, que é enviado à central, é a frequência obtida do batimento da frequência alta e baixa de uma certa tecla, por exemplo, para a tecla 1 o tom enviado é a soma de uma senóide na frequência de 1209Hz com uma outra senóide de 697Hz. Na central o sinal elétrico é constantemente analisado para detectar a presença simultânea de uma das frequências baixas e uma das frequências altas, quando então a tecla do cruzamento destas duas frequências é identificada pela central. A escolha destas frequências se deve principalmente pela baixa probabilidade de se produzir estas combinações de frequências com a voz humana. [3] 20 As figuras abaixo mostram graficamente a combinação das frequências de cada tecla: Figura 2-1 - Tecla 1 Figura 2-2 - Tecla 2 Figura 2-3 - Tecla 3 21 Figura 2-4 - Tecla 4 Figura 2-5 - Tecla 5 Figura 2-6 - Tecla 6 22 Figura 2-7 - Tecla 7 Figura 2-8 - Tecla 8 Figura 2-9 - Tecla 9 23 Figura 2-10 - Tecla 0 Figura 2-11 - Tecla * Figura 2-12 - Tecla # 24 Figura 2-13 - Gráfico das teclas Para gerar os sinais superpostos que formam o DTMF são utilizadas as seguintes equações: Figura 2-14 - Equação 1 Onde a relação entre as relações entre as amplitudes é dada na equação abaixo Figura 2-15 - Equação 2 25 Figura 2-16 - Soma da senóide de 697 Hz com 1209 Hz 26 3 MICROCONTROLADOR PIC Microcontrolador é um circuito integrado programável que contém todos os componentes de um computador, como CPU (Unidade Central de Processamento), memória para armazenar programas, memória de trabalho, portas de entrada e saída para comunicar-se com o mundo exterior, sistemas de controle de tempo interno e externo, conversores analógicos e digitais, UART e USART de comunicação e outros. [7] O PIC é um componente eletrônico pertencente à classe dos microcontroladores programáveis de arquitetura Harvard e conjunto reduzido de instruções (RISC). Em síntese, é um microcomputador completo, consistindo de uma memória RAM, memória não-volátil EEPROM, memória de programa, controladores de Entrada e Saída (I/O) digital e analógica (opcional) em torno de uma CPU com um conjunto reduzido de instruções, dentro de um único chip. Pode se controlar qualquer coisa ou estar incluídas unidades de controle para:  Máquinas pneumáticas e hidráulicas comandadas;  Máquinas dispensadoras de produtos;  Motores e temporizadores;  Sistemas autônomos de controle, incêndio, umidade e temperatura;  Telefonia, automóveis, medicina, etc. [7] A simplicidade, disponibilidade e o baixo custo são os principais atrativos do PIC. Figura 3-1 - Microcontrolador PIC 16F877A da MicroChip 27 3.1 História dos Microcontroladores Em 1965, a GI Microelectronics deus seus primeiros passos, fabricando memórias EPROM e EEPROM. Desenhou no início dos anos 70 o microprocessador de 16 bits CP1600, que trabalhava bem, mas de forma ineficaz no controle de portas de entrada e saída. Para resolver este problema, em 1975 desenhou-se um chip destinado a controlar portas de entrada e saída. Nascia, assim, o PIC (Peripherical Interface Controler). Com estrutura muito mais simples que um processador, ele podia manejar as entradas e saídas com muita facilidade, rapidez e eficiência. Uma das razões do sucesso do PIC é à base de sua utilização, ou seja, quando se aprende a trabalhar com um modelo, fica fácil migrar para outros modelos, já que todos têm uma estrutura parecida. Um dos grandes fabricantes de microcontroladores é a Microchip, que tem sua principal fábrica em Chandler, Arizona, onde são fabricados e testados os últimos lançamentos. Em 1993 foi construída outra fábrica no Tempe, Arizona, que também conta com centros de fabricação em Taiwan e na Tailândia. Para se ter uma idéia de sua produção, só da família 16CSX é de aproximadamente um milhão de unidades semanais. Cada tipo de microcontrolador serve para um propósito, e cabe ao projetista selecionar o melhor microcontrolador para o seu trabalho. [7] Existem basicamente três famílias de PICs diferenciadas pelo tamanho da palavra da memória de programa: 12, 14 e 16 bits. Todos estes dispositivos possuem um barramento interno de dados de oito bits. Figura 3-2 - MCU´s de 8-bit, 16-bit e 32-bit 28 O aumento no tamanho da palavra de programa possibilita um aumento no número de instruções: os PICs de 12 bits possuem 33 instruções, os de 14 bits, 35 instruções e os de 16 bits, até 77 instruções. Uma maior quantidade de instruções possibilita uma maior flexibilidade e eficiência na programação, mas com a contrapartida de oferecer um maior nível de dificuldade ao aprendizado. Observe a tabela abaixo com alguns exemplos de cada família 12 Bits 14 Bits 16 Bits 12C508 12C671 17C4x 12C509 12C672 17C75x 12CE518 12CE673 17C76x 12CE519 12CE674 18C2xx 16C54 14000 18C4xx 16C55 16C55x 18C858 16C56 16F62x 18F242 16C57 16C7x 18F252 16C58 16F7x 18F258 16C505 16F8x 18F442 16HV540 16F87X 18F458 Tabela 3-1 - Famílias PICs pelo tamanho da palavra da memória de programa. Em seguida destacamos algumas características básicas do desenho interno desses MCUs:  Capacidade de pipeline (enquanto executa uma instrução, o processador busca a próxima instrução na memória, de forma a acelerar a execução do programa);  Capacidade de execução de uma instrução por ciclo de máquina (as instruções que provocam desvio no programa são executadas em dois ciclos de máquinas). Observe que um ciclo de máquina no PIC equivale a quatro ciclos de clock; 29  Cada instrução ocupa sempre apenas uma posição de memória de programa (devido à largura do barramento de dados da memória de programa ser maior, justamente para acomodar uma instrução inteira em apenas uma posição de memória);  Tempo de execução fixo para todas as instruções (com exceção das instruções de desvio). Devido ao fato de cada instrução do PIC ocupar apenas uma instrução de memória, o tempo de execução é fixo, facilitando a determinação do tempo de execução de um programa. [8] Os princípios gerais que regem a arquitetura PIC (séries 12, 14 e 16) são:  Um registrador de intercâmbio geral, também chamado de registrador de trabalho (W);  Um registrador destinado a armazenar flags resultantes de operações matemáticas, lógicas, etc. chamado STATUS;  Um registrador destinado ao controle de interrupções, chamado INTCON;  Registradores destinados à manipulação de dados nas portas (PORT ou GPIO). 3.2 Alimentação Normalmente, o PIC é alimentado com uma tensão de 5,0 volts proveniente de uma fonte DC com regulação positiva. Um regulador 7805 ou 78L05 pode ser utilizado para tal função, lembrando que 78L05 tem capacidade de suprir até 100mA, não devendo exceder 80% deste consumo para não aumentar muito o aquecimento do regulador. O consumo de corrente do microcontrolador é mínimo. Ele consome menos de 2,0mA com 5,0 volts, trabalhando a 4MHz, ou 15,0 micro amp com 3,0 volts, trabalhando a 32KHz. Quando em modo standby, consome menos de 1,0 micro amp com 3,0 volts. No entanto, devemos ver o consumo dos outros componentes do circuito. [7] 30 3.3 Definição da CPU As CPUs, dependendo do tipo de instrução que utilizam, podem ser classificadas em: 3.4  CISC (Complex Instruction Set Computer) – processadores com conjunto de instruções complexas. Dispõem de um conjunto com elevado número de instruções, algumas sofisticadas e potentes. Em contrapartida, requerem muitos ciclos de máquina para executar as instruções complexas.  RISC (Reduced Instruction Set Computer) – processadores com conjunto de instruções reduzido.  SISC (Specific Instruction Set Computer) – processadores com conjunto de instruções específicas. [7] Arquitetura Interna Entende-se por arquitetura interna (representada por blocos) a forma como o circuito é construído, ou seja, como suas partes internas se interligam. Podemos definir os PICs como sendo “Arquitetura Harvard”, onde a CPU é interligada à memória de dados (RAM) e à memória de programa (EPROM) por um barramento específico. [7] Figura 3-3 - Arquitetura Harvard 31 A arquitetura interna do PIC é do modelo Harvard, que dispõe de memórias de dados e de programas. Cada memória dispõe de seu respectivo BUS. Isto permite que a CPU possa acessar de forma independente a memória de dados e a de instruções. Como as vias (BUS) são independentes, elas podem ter conteúdos distintos na mesma direção. A separação da memória de dados da memória de programa faz com que as instruções possam ser representadas por palavras com mais de 8 bits. Assim, o PIC usa 14 bits para cada instrução, o que permite que todas as instruções ocupem uma só palavra de instrução. Na sua arquitetura ortogonal, qualquer instrução pode utilizar qualquer elemento da arquitetura como fonte ou destino. Todo o processo baseia-se em banco de registros, onde todos os elementos do sistema (temporizadores, portas de entrada/saída, posições de memórias, etc.) estão implementados fisicamente como registros. O manejo do banco desses registros que participam ativamente na execução das instruções torna-se muito interessante ao ser ortogonal. [7] 3.5 UART UART (Universal Asynchronous Receiver/Transmitter) serve para a comunicação serial RS232 do PIC. 3.6 USART USART (Universal Synchronous Asynchronous Receiver/Transmitter) é um protocolo de comunicação universal e possui dois modos distintos de trabalho: o sincronizado e o não sincronizado. 3.7 Memória de Programa A memória para armazenamento de programas nos PICs das séries 12, 14 e 16 é interna, isto é, está embutida na pastilha do MCU, porém alguns dispositivos das séries 17 e 18 podem funcionar com memórias de programa externas. [8] 32 O PIC contém um registrador denominado PC (Program Counter), implementado com 13 bits e capaz de endereçar até 8K de programa. Ao incrementar ou alterar o conteúdo do PC, o microcontrolador obtém um mapa seguro de onde se está e para onde se deve ir. [7] 3.8 Pilha ou Stack Outra estrutura encontrada no interior dos PICs é a pilha (em inglês Stack) que nada mais é do que uma estrutura de dados normalmente localizada na memória RAM e que caracteriza por apresentar apenas um ponto de acesso aos seus dados denominado topo da pilha (em inglês TOS-Top of Stack). [8] A pilha é uma memória, independente da memória de dados e da memória de programa, com estrutura LIFO (Last In First Out), onde o último dado a entrar será o primeiro a sair. [7] 3.9 Organização da Memória de Dados A memória de dados divide-se em quatro bancos, contendo os registros de propósitos gerais (GPR) e os registros de funções especiais (FSR). [7] Os registros que afetam a CPU são: STATUS, OPTIONS, INTCON, PIE1, PIR, PCON. [7] 3.10 Portas de Entrada/Saída No microcontrolador, as linhas de comunicação de entrada/saída de dados (I/O) são chamadas de portas. PORTx – utilizado para a leitura ou escrita de informações nos pinos externos do PIC. No PIC16F62x encontramos 16 portas de entrada/saída (I/O). Estas portas estão divididas em dois grupos (A e B), ambos com 8 portas. O grupo A é chamado de PORTA e o grupo B de PORTB. A identificação de cada porta se dá através da letra “R” seguida da letra identificadora do grupo (A ou B) e do número da porta, que se inicia em zero. Ex.: RA0, RA1, RA2, RB0, RB1, RB2. [7] TRISx – utilizado para controle da direção de funcionamento de cada pino da porta (se entrada ou saída). [8] 33 3.11 Oscilador Para seu funcionamento, todo microcontrolador ou microprocessador necessita de um sinal de relógio (clock) para fazê-lo oscilar, já que todas as operações internas ocorrem em perfeito sincronismo. No PIC, o clock tem quatro fases, chamadas Q1, Q2, Q3 e Q4. Estas quatro pulsações concluem um ciclo de máquina (instrução), durante o qual uma instrução é executada. Internamente, o contador de programa (PC) é incrementado a cada ciclo Q1, onde a instrução é requisitada da memória de programa para ser armada na instrução registrada em Q4. A instrução é decodificada e executada no período Q1 a Q4. [7] 3.12 Pipeline O processo “pipelining” é uma técnica de segmentação que permite ao microcontrolador fazer a busca de uma instrução num determinado ciclo de máquina e realizar a sua decodificação e execução no ciclo seguinte. [7] 3.13 Reset O vetor RESET leva o microcontrolador a reiniciar seus registros para valores iniciais pré-definidos na fabricação. Um dos mais importantes efeitos de um reset é o que zera o contador de programa (PC), fazendo com que o programa comece a ser executado a partir da primeira instrução do software programado. No PIC 16F62x existem alguns tipos de reset, são eles: reset normal, reset Power-on (POR), Power-up timer (PWRT), Brown-out detect (BOD), reset por transbordamento de WDT. [7] 3.14 Watchdog Timer (WDT) A tradução deste termo não faz sentido, mas ele pode ser entendido como “cão de guarda”. Trata-se de um contador preciso de 8 bits, que atua como temporizador e tem o objetivo de vigiar o microcontrolador, impedindo que este entre em alguma rotina ou instabilidade, que o faria trabalhar em um loop infinito ou parar de responder. Para que o software não seja resetado a cada estouro de WDT, deve- 34 se limpá-lo em períodos de tempos inferiores ao calculado para o estouro, utilizandose a instrução CLRWDT ou SLEEP, sendo que esta última colocará o microcontrolador em repouso. [7] 3.15 A Escolha do Microcontrolador O primeiro passo é determinar qual é a menor arquitetura capaz de atender os requisitos do sistema. A escolha da linguagem de programação poderá causar impacto no desempenho do sistema e, dessa forma, também influenciar na seleção da arquitetura. Para aplicação em escalas, o custo sistema pode ser o critério mais importante. A frequência do barramento, ou clock, determina a taxa de execução de processamento em um período de tempo do microcontrolador. A determinação do clock necessário para o sistema é importante para a escolha do microcontrolador a ser utilizado. Os recursos embutidos no chip do microcontrolador permitem obter maior grau de integração e confiabilidade com um custo menor. Quanto mais recursos presentes no microcontrolador, menor será a necessidade de circuitos externos, o que significa maior confiabilidade. Se a idéia for desenvolver um projeto que apresente uma longa vida útil é importante escolher um microcontrolador que tenha flexibilidade e variedade de periféricos. O mesmo se aplica se o desenvolvimento for destinado a uma plataforma com muitas variações de produto final. Nestes casos também será importante que a troca do modelo do microcontrolador não exija mudanças significativas no hardware. A escolha do modelo do microcontrolador mais adequado para um projeto não é uma atividade simples e representa compromissos que podem se mostrar limitantes no futuro. [9] 35 3.16 Compilação e Gravação 3.16.1 MPLAB O MPLAB é uma ferramenta da MicroChip para a edição de software, simulação e até mesmo para a gravação do microcontrolador. Ele tem a função de auxiliar no desenvolvimento de projetos, facilitando assim a vida do projetista. Esta ferramenta é distribuída gratuitamente pela MicroChip, podendo ser baixada na internet diretamente do site do fabricante (www.microchip.com). O MPLAB integra em uma única ferramenta: um editor de programa fonte, compilador, simulador e, quando conectado às ferramentas da MicroChip, também o gravador PIC, o emulador, etc. O programa fonte digitado será convertido, pelo MPLAB, em códigos de máquina, que serão gravados e executados pelo microcontrolador. Normalmente, todo o software que converte uma sequência de comandos em linguagem de máquina é chamado de compilador. O compilador é composto por diversos níveis, desde analisador léxico até linkeditor. O ponto alto do MPLAB é o simulador, que permite que você execute seu programa sem a necessidade de gravá-lo no microcontrolador, permitindo assim que se façam diversas correções enquanto se desenvolve o software. [7] Figura 3-4 - Imagem do Programa MPLAB da MicroChip 36 3.16.2 O Gravador O gravador é um dispositivo projetado em concordância com as características do microcontrolador. Existem muitos tipos de gravadores e softwares de aplicação. Alguns são muitos simples e econômicos, outros são complexos e caros. Figura 3-5 - Kit Gravador PIC USB 37 4 ALGORITMOS E PROGRAMAÇÃO 4.1 Algoritmo Um algoritmo é uma sequência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. Segue abaixo o algoritmo do nosso programa: ;********************************************PROGRAMA DTMF************************************************ INICIO ATENDE A LIGAÇÃO VAI PARA SENHA SENHA SE CORRETO, VAI PARA PROGRAMA SE INCORRETO, RETORNA VAI PARA SENHA SE INCORRETO 4X, VAI PARA DERRUBA LIGAÇÃO PROGRAMA SE DIGITO*=PROGRAMAÇÃO DA TROCA DE SENHA VAI PARA TROCA DE SENHA SE DIGITO1=LIGA SAIDA 1 RETORNA PROGRAMA SE DIGITO2=DESLIGA SAIDA 1 RETORNA PROGRAMA SE DIGITO3=LIGA POR 3 SEGUNDOS SAIDA 2 RETORNA PROGRAMA TROCA DE SENHA SENHA < SENHA NOVA (4 DIGITOS) RETORNA PROGRAMA SE DIGITO0 FIM PROGRAMA-1 DERRUBA A LIGAÇÃO FIM Figura 4-1 - Algoritmo do Programa DTMF 38 Abaixo temos o diagrama de blocos do nosso programa DTMF INÍCIO ATENDE A LIGAÇÃO VAI PARA SENHA SENHA Se <=3x SENHA CORRETA SENHA INCORRETA Se > 3 PROGRAMA DIGITO-1 DIGITO-2 DIGITO-3 DIGITO-* DIGITO-0 LIGA À SAÍDA-1 DESLIGA À SAÍDA-1 LIGA POR 3 SEGUNDOS À SAÍDA-2 ALTERAR SENHA FINALIZAR O PROGRAMA RETORNA AO PROGRAMA DIGITE NOVA SENHA DIGITO-# CONFIRMA A SENHA FIM DO PROGRAMA Figura 4-2 - Diagrama de Blocos do Programa DTMF 39 4.1.1 Linguagem de Programação A linguagem “C” nasceu na Bell Labs, divisão da AT&T. A famosa companhia americana de telecomunicações desenvolveu em seus laboratórios o sistema operacional Unix e posteriormente a linguagem “C” em 1969, por Dennis Ritchie (também um dos principais criadores do Unix), a partir da linguagem “B” de Ken Thompson. Seu propósito era gerar uma linguagem de alto nível, em oposição à linguagem de máquina (Assembly), conhecida como de baixo nível. O “C” é uma linguagem para uso geral, ou seja, para o desenvolvimento dos mais diversos tipos de aplicação. Tem como características: modularidade, portabilidade, recursos de “baixo” e “alto” nível, geração de código eficiente, confiabilidade, regularidade, além de conter um número pequeno de comandos. A linguagem “C”, ou simplesmente “C”, é uma linguagem pequena, composta de poucos comandos e operadores, e que pode apresentar variações de um fabricante para outro no modo de escrita e nas funções internas (que são grupos de comandos e operadores idealizados pelo construtor da linguagem para realizar determinada tarefa). [7] 4.2 Programa do Microcontrolador O PIC16F628a é um microcontrolador fabricado pela Microchip Technology (www.microchip.com), com as seguintes características: - Composto de 18 pinos; - Possui somente 35 instruções no seu microcódigo; - Sinal de clock de frequência até 20MHz; - Memória de programa do tipo Flash de 2048 words (1 word = 32 bits); - 224 bytes de memória RAM para dados; - 128 bytes de memória EEPROM para dados; - Instruções de 14 bits com 200ns de tempo de execução; - Dados de 8 bits por endereço de memória; - 16 pinos os quais podem ser configurados como entrada e/ou saída; - Outras características especiais como programação in-circuit serial; - Proteção por código, watchdog timer (temporizador cão de guarda); 40 - Módulo CCP, comparador interno, Usart de comunicações, etc; [11] Pinagem do PIC16F628a: Figura 4-3 - Pinagem do PIC16F628a Os pinos de RA0 à RA7 e de RB0 à RB7 podem ser configurados como entradas ou saídas digitais. A alimentação se dá no pino Vdd, ligado normalmente em 5V com faixa de tolerância de 2 à 6V e o pino Vss é a referência de terra. O pino OSC1/CLKIN é utilizado para sinal de clock produzido por cristal ou um circuito externo e o pino OSC2/CLKOUT para sinal de clock por cristal (utilizado em conjunto com o OSC1/CLKIN). O pino MCLR é uma entrada de sinal de reset em nível baixo (zero). O PIC16F628a é composto pelos subsistemas digitais conforme diagrama de blocos abaixo: Figura 4-4 - Diagrama de blocos PIC16F628a 41 4.3 Hardware 4.3.1 MT8870 O circuito integrado MT8870 é um receptor de sinais DTMF de pequeno tamanho, baixo consumo de energia e alto desempenho. Sua arquitetura consiste de uma seção de filtro bandsplit, que separa a alta e baixa dos tons de grupo seguida por uma contagem digital, que verifica a frequência e a duração dos tons recebidos antes de passar o correspondente código para o barramento de saída. Figura 4-5 - Esquema de ligação do circuito integrado MT8870 4.3.2 Circuito Eletrônico Para acionar os relés das saídas do microcontrolador usaremos transistores como chaves. 4.3.3 Transistor No final dos anos 40, ocorreu a construção do primeiro transistor nos laboratórios da Bell, em 23 de dezembro de 1947, por John Bardeen, Walter Houser Brattain, e William Bradford Shockley, os quais ganharam o prêmio Nobel de física em 1956. O termo “transistor” resulta da contração das palavras transfer e resistor, 42 ou seja, resistência de transferência. É um dispositivo eletrônico semicondutor, componente chave em toda da eletrônica moderna, onde são amplamente utilizados como parte de computadores, portas lógicas, memórias e uma infinidade de circuitos. 4.3.4 Transistor como Chave A polarização da base é útil em circuitos digitais porque esses circuitos geralmente são projetados para operar na região de saturação e no corte. Por isso, eles têm uma tensão de saída baixa ou uma tensão de saída alta. Em outras palavras, nenhum dos pontos Q é usado, saturação ou corte. Por essa razão, as variações no ponto Q não são importantes, pois o transistor permanece na saturação ou no corte quando o ganho de corrente varia. A figura 4.4 mostra um exemplo de um transistor com uma saturação forte. Portanto, a tensão de saída é de aproximadamente 0 volts. Isso significa que o ponto Q está no ponto superior da reta de carga. Figura 4-6 - Saturação forte, transistor como chave Quando a chave abre, a corrente da base cai à zero. Por isso, a corrente do coletor cai à zero. Sem corrente no resistor de 1k, toda a tensão de alimentação do coletor aparece entre os terminais coletor-emissor do transistor. Logo, a tensão de saída aumenta para +10 volts. O circuito pode ter apenas duas tensões de saída: 0 ou +10 volts. É assim que identificamos um circuito digital. Ele tem apenas dois níveis de tensão de saída: baixo ou alto. 43 Os circuitos digitais são sempre chamados de circuitos de chaveamento porque seu ponto Q fica restrito entre dois pontos da reta de carga. Na maioria dos projetos, os dois pontos são saturação e corte. Outro nome também usado é circuito de dois estados, referindo-se aos dois níveis de tensão de saída, baixo e alto. [10] 4.3.5 Hardware Usando o circuito integrado MT8870 para fazer a conversão do sinal DTMF em saídas digitais BCD, utilizando as entradas do PORTB de RB4 à RB7 do microcontrolador PIC16F628A, tendo as saídas no PORTA de RA0 à RA3, sendo RA0 e RA1 acionando leds e as saídas RA2 e RA3 passando por transistores e acionando relés com capacidades de cargas maiores, como mostra o esquema abaixo: Figura 4-7 - Esquema Elétrico do Projeto DTMF 44 4.3.6 Programação – Interrupção Externa Segundo Souza essa interrupção é gerada por um sinal externo ligado a uma porta específica do PIC, configurada como entrada, desta maneira, podemos identificar e processar imediatamente um sinal externo. Ela é utilizada para diversas finalidades, como, por exemplo, a comunicação entre micros, garantindo o sincronismo, o reconhecimento de um botão ou outro sinal do sistema que necessite de uma ação imediata. [12] 4.3.7 Programação – Interrupção por Mudança de Estado A interrupção externa, vista acima, funciona somente na borda de subida ou na borda de descida (quando o sinal lógico sobe ou desce), dependendo de como ela foi configurada. Já a interrupção por mudança de estado acontece em ambos os casos. Essa interrupção, por sua vez, está ligada às portas RB4, RB5, RB6 e RB7 simultaneamente. Por isso, se essas portas forem configuradas como entradas, a mudança de estado em qualquer uma delas irá gerar a interrupção. [12] 4.3.8 Programa em Linguagem “C” Figura 4-8 - Programação Parcial em Liguagem C 45 5 CONCLUSÃO Neste trabalho foi abordado o tema DTMF Aplicado a Automação Residencial, mostrando conceitos de automação residencial, o sinal DTMF, microcontroladores PIC, linguagem de programação “C” e eletrônica. O trabalho foi concluído com algumas pendências que ficaram como trabalho futuro, como exemplo, algumas portas do microcontroladores ficaram inativas podendo ser usadas para mais saídas ou entradas. 46 Referências: [1] Teruel, Evandro Carlos - Revista Saber Eletrônica nº 138 – 2009 [2] Endereço eletrônico: http://www.automatichouse.com.br/AutomaticHouse/WebSite/Automacao/Resi dencial.aspx acessado em: 25 de março de 2010 [3] - http://pt.wikipedia.org/wiki/DTMF Acessado em 18 de Abril de 2010 [4] – Revista Grandes Invenções e Descobertas, 2009 [5] - http://pt.wikipedia.org/wiki/Antonio_Meucci Acessado em 18 de Abril de 2010. [6] - http://www.fundacaotelefonica.org.br/museu/Funcionamento.aspx Acessado em 18 de Abril de 2010 [7] Silva, Renato A. - Programando Microcontroladores PIC: Linguagem “C” [8] Pereira, Fábio – Microcontroladores PIC: Técnicas Avançadas/ Fábio Pereira. – 6ª Edição – São Paulo: Érica, 2007. [9] Cunha, Roberto - Revista Saber Eletrônica – Ano45 – Nº435 – Abr/2009 [10] Malvino, Albert Paul – Eletrônica: volume 1 – 4º edição – Makron Books, 1995 [11] Silva, Luiz Marcelo Chiesse – Análise de Circuitos Digitais – PIC16F628a [12] Souza, David José de, 1971 – Desbravando o PIC: ampliado e atualizado para PIC 16F628A / David José de Souza. 12.ed. – São Paulo: Érica, 2008. Datasheet MT8870 http://www.datasheetcatalog.org/datasheets/228/268107_DS.pdf Acessado em: 18/05/2010 Revista Saber Eletrônica – Ano 44 – Nº422 – Março/2008 Silva Júnior, Vidal Pereira da, 1963 – Microcontroladores PIC: Teoria e Prática / Vidal Pereira da Silva Júnior. – São Paulo : V. P. Silva Júnior, 1997.