Upload
alan-turati
View
189
Download
1
Embed Size (px)
Citation preview
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 - Dual Tone Multi-Frequency CPU - Unidade Central de Processamentos I/O - Entrada e Saídas DDD - Discagem Direta à Distância PIC - Periphecal Interface Controler RAM - Random Acess Memory EPROM - Erasable Programmable Read-only Memory EEPROM - Electrically-Erasable Programmable Read-Only Memory UART - Universal Asynchronous Receiver/Transmitter USART - Universal Synchronous Asynchronous Receiver/Transmitter CISC - Complex Instruction Set Computer RISC - Reduced Instruction Set Computer SISC - 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 Algoritmo .................................................................................................................................... 37
4.1.1 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, torradeiras, abajures, exaustores e outros.
1.2 Objetivo Geral
O objetivo geral desse trabalho é projetar um circuito eletrônico para
controlar dispositivos à distância, usando o protocolo DTMF (Dual Tone Multi-
Frequency).
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:
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]
3.4 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, utilizando-
se 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
Figura 4-2 - Diagrama de Blocos do Programa DTMF
INÍCIO
ATENDE A LIGAÇÃO
VAI PARA SENHA SENHA
SENHA CORRETA SENHA INCORRETA
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
DIGITE
NOVA
SENHA
DIGITO-#
CONFIRMA
A SENHA
RETORNA AO PROGRAMA
FIM DO PROGRAMA
Se <=3x
Se > 3
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/Residencial.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.