Sei sulla pagina 1di 47

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

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 À DESLIGA À LIGA POR 3 ALTERAR FINALIZAR O


SAÍDA-1 SAÍDA-1 SEGUNDOS SENHA PROGRAMA
À SAÍDA-2

DIGITE
RETORNA AO PROGRAMA 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.