Pontifícia Universidade Católica do Paraná

Centro de Ciências Exatas e de Tecnologia

Ronivan Manica e Vinicius Cardoso Vargas

 

 

 

 

 

 

 

 

Gerenciamento Personalizado de Ambiente Residencial

Relatório Final

 

 

 

 

Trabalho apresentado às disciplinas de micro controlador e Arquitetura de Computadores II

do Centro de Ciências Exatas e de Tecnologia da Pontifícia Universidade Católica do Paraná.

 

Orientadores: Profs. Altair Santin.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Curitiba

Dezembro – 2009

DESCRIÇÃO E FLUXOGRAMAS

 

Para criar um sistema de controle e gerenciamento para fins de economia e praticidade devemos levar em conta a máxima que diz: “pensar mais para pagar menos”, sem deixar de lado a eficiência. Um exemplo a se aplicar é na área de Domótica (automação residencial), utilizando um sistema que identifique a pessoa que esta em determinado cômodo atuando no ambiente com os parâmetros indicados pela mesma, desabilitando o sistema para o mesmo ambiente em sua ausência, diminuindo o consumo.

Encontramos no mercado vários sistemas de gerenciamento de dispositivos dentre as áreas de controle Residencial, Predial e Segurança, como exemplo temos a empresa WellCare – Sistemas Inteligentes (segue link Bibliografia), ambos com controle de temperatura, Luminosidade, umidade e Acesso. Porem dificilmente encontramos um sistema que seja capaz de interpretar se realmente existe a necessidade de se gerenciar cada ambiente separadamente de acordo com os parâmetros indicados por um ou mais usuários.   

 

Implementado em um ambiente indoor utilizando parâmetros de nível de sinal do radio transmissor para identificação e localização da remota (Tx) sendo assim, capaz de gerenciar o ambiente de acordo com os parâmetros indicados pelo próprio usuário (Tx).

 

Transmissão do código Manchester (Biphase-L):

Será utilizado um microcontrolador PIC12F675 para gerar o código de transmissão das informações em código Manchester utilizando um protocolo de comunicação próprio, com endereços individuais para cada remota.

 

Recepção:

Utilizando uma FPGA EPM7128SLC84-7 (Kit Altera) para tratamento e sincronização da decodificação do código de linha e armazenamento das informações, trabalhando em conjunto com um microcontrolador PIC16F877A que será responsável pelo tratamento matemático de dados coletados por sensores de Luminosidade (LDR) e Temperatura (LM35) gerenciando os atuadores para controle.

 

Proposta Geral

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Fluxograma Transmissor:

 

 

 

 

 

 

 

 

Fluxograma Receptor:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Gerar o Código Manchester, variação de Baudrate e protocolo (PIC12F675):

 

A geração (codificação) do código Manchester foi realizada utilizando a interrupção de timer do PIC12F675 em conjunto com uma função que trata os bits a serem enviados. Essa função junto com a interrupção tem como objetivo interpretar qual bit irá ser transmitido e fazer a transição de borda de subida ou descida de acordo com a codificação Biphase-L, também implementado a variação de baudrate a partir de dois bits, representado pro dois resistores que se alternam em pull-up ou pull-down, por último o protocolo de comunicação que manda cinco bytes em nível lógico um, para sincronização com o receptor, dezessete bytes de preâmbulo, dez bytes de informação.

           

Segue link para download do código do transmissor (utilizando MPLAB v8.30)

Tx-Manchester.rar

Recuperação de clock Manchester e registradores para armazenar os dados Recebidos (ALTERA):

 

A decodificação no receptor foi feita utilizando um sistema de amostragem a partir das bordas de subida e descida do sinal recebido, essas amostras ativam um contador de dezesseis bits e essa contagem é armazenada em uma memória, utilizando um comparador para verificar se o resultado do contador é mesmo válido e verifica se está na memória, com isso o clock do sinal recebido é obtido, utilizando a saída do comparador e comutando esse sinal a partir de um detector de bordas, finalmente decodificando com batimento do dado a partir do sinal que foi recebido e o clock recuperado. Os registradores para armazenar os dados recebidos foram feitos utilizando flip-flops JK para armazenamento serial-paralelo, associado a um contados mod3 para armazenar um byte por vez e enviado para memória que manda paralelamente para o micro controlador interpretar as informações recebidas. Uma lógica para identificação dos primeiros bits recebidos após a sincronização e ajuste do Clock foi implementado utilizando uma maquina de Moore (teoria de maquinas de estado) para detectar uma seqüência de bits, autorizando a interpretação dos dados recebidos, com isso interligamos o nível lógico um após detectado a seqüência binária, habilitando um contador de 3 bits (0 a 7) o qual indicará que existem 8 bits lidos pela lógica de interpretação. Estes bits estão sendo armazenados em um registrador Serial-IN/Paralelo-OUT. O estouro deste contador gerara um single-pulse que estará diretamente ligado a interrupção externa do microcontrolador (EXT_INT). No final dos testes realizados foi verificado que a implementação utilizando clock na FPGA de 6 vezes maior que o baudrate (taxa fixa) está correto porem o curto intervalo de tempo para entrega do trabalho devido as dificuldades relatadas semanalmente não nos permitiu deixar este sistema robusto suficiente para acoplá-lo ao sistema e assim damos seqüência as atividades.

 

Implementação da decodificação do Manchester utilizando FPGA não é algo que se encontra facilmente segue abaixo link para download a respeito das pesquisas feitas para dar suporte a implementação

Pesquisa Manchester.rar

 

Para comunicação entre várias remotas com a central pensou-se primeiramente no RS484, por falta de tempo na construção de um conversor RS232 para RS485 decidiu-se não utilizá-lo, então o I²C foi implementado para facilitar a comunicação e também por utilizar apenas 2 fios como barramento (um de clock e um de dados).

 

Segue link para download do código da implementação do I²C (utilizando MPLAB v8.30)

I2C.rar

            Existe a limitação de o barramento I²C possuir no máximo 2 metros de extensão então foi utilizada fibra óptica como meio de propagação do barramento para que as perdas fossem mínimas, o problema encontrado foi que as placas disponíveis no laboratório de Engenharia Elétrica são unidirecionais impossibilitando a utilização do barramento. Com isso perdeu-se muito tempo tentando implementar um protocolo de comunicação entre várias remotas utilizando uma USART construída por software, fazendo com que o projeto não fosse concluído. Na bibliografia encontra-se material referente ao barramento I²C.

 

Sensores

 

Para tratamento dos sensores de Luminosidade e temperatura foram utilizados os seguintes sensores, LDR e LM35 respectivamente.

Utilizando 3 canais de AD do PIC16F877A das remotas foram tratadas as informações obtidas com os atuadores, resolvendo polinômio de 3º grau para identificar valor de luminosidade, e a raiz do nosso projeto sendo a leitura de intensidade de sinal na receptora, Receive Signal Strength Indicator (RSSI), enviando estas informações de cada remota para unidade central (UC) que estará responsável pelas analises da planta, por triangulação e comparação decidir a posição do usuário.

 

Segue link para download do código da implementação de aquisição dos sensores (utilizando MPLAB v8.30)

Sensores.rar

 

PCI casa

PCI Sensores

Interface com o Usuário

 

            Situada na Unidade Central proporcionando ao usuário uma imagem ampla e confiável de sua residência com interface muito intuitiva onde se apresenta a planta e o Status de cada cômodo separadamente, permitindo seu gerenciamento individual clicando sobre o cômodo. Para que o mesmo possa programar o seu modo ‘Siga-me’ é necessária uma simples mudança na tela inicial, assim basta clicar e algum cômodo, programar o Status do mesmo, com as configurações de temperatura, luminosidade e acionamento de equipamentos, assim a central recebera as informações de cada remota e decidirá em qual cômodo o usuário se encontra, e atualizando o mesmo cômodo com as configurações escolhidas.

Interface1

 

Interface inicial

 

 

Interface2
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Interface de Controle - Sala

 

 

 

Agradecimentos

 

Carlos Mangnani

Professor Marcelo Pellenz

Professor Ivan J. Chueiri

Professor Orientador Altair Santin

 

 

 

 

BIBLIOGRAFIA

 

Exemplo de Projeto similar implementado:

http://www.wellcare.com.br

 

Artigo sobre automação residencial:

artigo_automação_residencial.doc

 

Pesquisas a respeito do Manchester:

http://www.edn.com/index.asp?layout=article&articleid=CA46458&pubdate=1/6/2000&spacedesc=bestofdi_comm

http://www.maxim-ic.com/appnotes.cfm/an_pk/3435

http://www.knowledgerush.com/kr/encyclopedia/Manchester_code/

http://en.wikibooks.org/wiki/Communication_Systems/Line_Codes

 

Especificação barramento I²C

www.nxp.com/acrobat_download2/literature/9398/39340011.pdf

www.i2c-bus.org

 

Datasheets:

-LM35

www.national.com/ds/LM/LM35.pdf

-LDR

www.biltek.tubitak.gov.tr/gelisim/.../40/LDR_NSL19_M51.pdf

-PIC16F877A

ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf

-PIC12F675

ww1.microchip.com/downloads/en/devicedoc/41190c.pdf