Apresentação Fase IV 11/07/2006
Resumo da fase III: - Desenvolvimento de rotinas de segurança - Criação e alteração de passwords - Verificação de passwords Desenvolvimento de software de alto nível (Visual Basic) - Envio de números de telefone, mensagens e centro de mensagens para o microcontrolador. Desenvolvimento de rotinas de comunicação com a aplicação em VB - Recepção, análise e gravação na EEPROM - Actualização do site do Seminário
A fase IV permitiu desenvolver o projecto nos seguintes aspectos: - Implementamos o hardware e software para fazer a leitura dos sensores. - Terminamos o interface entre o microcontrolador e o VB. - Desenho e concepção das placas de circuito impresso - Junção de todas as rotinas, desenvolvidas. - Manual de utilizador. - Concluir página Web do projecto. - Fazer relatório final.
Desenho e concepção das Placas de Circuito Impresso Placa da central de alarme Placa da fonte de alimentação As placas de circuito impresso foram desenhadas no EAGLE, e a sua concepção foi caseira através do processo fotográfico.
Regulador de tensão de 12V Regulador de tensão de 5V Transformador com 2 secundários S1=15V, S2=8V Placa de circuito impresso da Fonte de alimentação Esta placa é responsável pela alimentação de todo o sistema de alarme. Fornece uma alimentação estabilizada de 12V (8A) e 5V (1A).
Ligação ao PC Ligação do LCD Ligação do telemóvel ou de um módulo GSM Ligação do teclado Alimentação 12V e 5V Ligação dos sensores de movimento Controlo de potência (sirenes) Placa de circuito impresso da Central de Alarme
Para fazer a conversão para PDU decidimos utilizar um software de alto nível (Visual Basic), assim torna-se mais simples. Para isso desenvolvemos uma pequena aplicação em VB, que faz a conversão para PDU da Mensagem, número de telefone,centro de Mensagens e envia pela porta série para o μc. O μc recebe essa informação, verifica de que se trata e grava no local adequado da eeprom. Neste espaço podemos definir as mensagens do alarme para cada zona Seleção da porta de comunicação Centro de mensagens Trama a ser enviada em formato PDU
As tramas a serem enviadas pelo Visual Basic serão: Centro de mensagens: C : > Número do centro de mensagens em PDU Indica inicio da trama e fornece a indicação que é centro de mensagens Número de telemóvel: T1 : > Indica ao microcontrolador o fim da trama Vai identificar o fim quando o microcontrolador for ler à eeprom Número de Telemóvel em PDU Indica ao microcontrolador o fim da trama Indica inicio da trama e fornece a indicação que é um número de telemóvel (T), neste caso o número de telemóvel 1 Vai identificar o fim quando o microcontrolador for ler à eeprom
As tramas a serem enviadas pelo Visual Basic serão (continuação): Mensagem: M 1 : > Mensagem em PDU Indica inicio da trama e fornece a indicação que é uma mensagem (M), neste caso a mensagem 1 Indica ao microcontrolador o fim da trama Vai identificar o fim quando o microcontrolador for ler à eeprom
Excerto da rotina de recepção das tramas enviadas pelo VB: mov loopm r0,#80h LCALL S_LER ;recepção da porta série mov LCALL inc cjne @r0,a CRTR_LCD r0 A,#'>',loopm O primeiro passo é colocar num buffer tudo o que é enviado pela porta série, até encontrar o caracter > que nos indica o fim da trama.
Problemas e Decisões: Um dos grandes problemas que tivemos no desenvolvimento foi onde armazenar as tramas enviadas pelo visual basic. Inicialmente pensamos em usar a memória RAM, mas para tal necessitávamos usar 2 apontadores, um para apontar para o memória RAM e o outro para apontar para a memória EEPROM. Mas tivemos problemas em usar os dois DPTR em simultâneo. Tivemos que optar por outra solução, que foi usar um espaço de memória disponível (128bytes, 80h - FFh), coincidente com os SFR mas endereçado indirectamente. mov mov r0,#80h a,@r0) endereçamento indirecto
Memória RAM Espaço de memória disponível (128bytes, 80h - FFh), coincidente com os SFR mas endereçado indirectamente. Special Function Register, acesso directo
Recepção da trama pelo microcontrolador: Depois da trama estar armazenada no buffer, vai ser analisada pelo microcontrolador. O microcontrolador vai verificar se a trama começa por um C que corresponde a um centro de mensagens, T corresponde a um número de telemóvel ou um M que corresponde a uma mensagem. Depois do microcontrolador saber que tipo de trama se trata, vai verificar o segundo caracter que indica o número. Por exemplo T1, significa que é um número de telefone e que é o telefone 1. Depois de identificada a trama é colocada na posição de memória correspondente na EEPROM. Indica o fim quando o microcontrolador for ler à eeprom M800AA1249375D5E9FB41EE37285A0FCBE9EF19 : > Indica que é Mensagem Mensagem 8 Intruso no quarto 3 Fim da trama
Depois de enviar as tramas pela porta série a memória eeprom contém toda a informação necessária para o serviço SMS funcionar. Na figura seguinte temos uma imagem do hyperterminal com o conteúdo da memória eeprom do microcontrolador depois de ter carregado a informação com a aplicação em Visual Basic.
Posições de memória da EEPROM e seu conteúdo: Password : 0000h até 0003h (4 posições). Centro de mensagens : 0004h - 0018h Telemóvel 1: 0019h 002Bh Telemóvel 2: 002Ch 003Eh Telemóvel 3: 003Fh 0051h Telemóvel 4: 0052h - 0064h Mensagem 1 : 0065h 00DCh Mensagem 2 : 00DDh 0154h Mensagem 3 : 0155h - 01CCh Mensagem 4 : 01CDh 0244h Mensagem 5 : 0245h 02BCh Mensagem 6 : 02BDh 0334h Mensagem 7 : 0335h - 03ACh Mensagem 8 : 03ADh 0424h
Os esquemas foram feitos no Proteus e no Eagle FONTE DE ALIMENTAÇÃO
Esquema da Central de alarme Sistema de Alarme Inteligente
O site foi actualizado com novas fotos, com o relatório de progresso e com todas as apresentações e relatórios.
Melhorias que poderiam ser realizadas futuramente: - Permitir ao utilizador consultar a instalação onde se encontra a central de alarme. Poder remotamente ligar/desligar o alarme, ou seja implementar a bidirecionalidade das comunicações GSM - Adicionar novas funcionalidades à central de alarme. Permitir ao utilizador através de sotfware ajustar os tempos de entrada e saída, definir zonas.
Resumo de tudo que fizemos desde Setembro até hoje: - Inicialmente fizemos um relógio (RTC- DS1307) para incluir no alarme - Fizemos também um medidor de temperatura com o sensor DS1620 - Estudamos o interface do microcontrolador ao telemóvel - Estudamos os comandos AT e PDU - Desenvolvimento de rotinas de comunicação por comandos AT entre o telemóvel e o microcontrolador. - Estudamos o funcionamento de Leitura/Escrita na eeprom - Desenvolvemos rotinas de Leitura/Escrita na eeprom - Desenvolvemos uma aplicação em VB para comunicar com o micro - Desenvolvemos rotinas de recepção de tramas do VB - Projectamos a fonte de alimentação (cálculo de dissipadores, cálculo de transformadores) - Desenhamos e construímos as placas de circuito impresso
Agradecimentos Agradecimento especial ao nosso orientador Eng. Nelson Neves pela sua constante vontade de ajudar, ao longo dos diversos problemas que fomos encontrando. Gostaríamos também de agradecer ao Eng. Alexandre Diogo pelos esclarecimentos que nos prestou durante a concepção das fontes de alimentação. E agradecemos de uma forma geral a todos os orientadores. Aos nossos companheiros e amigos de curso, por partilharem connosco a sua vida académica. A todos o nosso sincero obrigado