Академический Документы
Профессиональный Документы
Культура Документы
“PROJETO E DESENVOLVIMENTO DE UM
SISTEMA EM TEMPO REAL PARA
AUTOMAÇÃO E CONTROLE RESIDENCIAL”
i
RESUMO
Atualmente encontramos sistemas computacionais em diversas áreas de nosso
cotidiano, como: sistemas de navegação de veículos, controle de tráfego aéreo,
equipamentos hospitalares de monitoramento e suporte de vida, controle de
processos industriais e diversos outros sistemas e equipamentos modernos de uso
doméstico, como TVs, DVDs, etc.
ii
LISTA DE TABELAS
Pag.
Tabela 1: Relação dos dispositivos da CI.............................................................. 3
Tabela 2: Determinação das entradas e saídas do SG........................................... 9
Tabela 3: Especificações da PCAP NI USB-6229................................................ 12
Tabela 4: Especificações do CPU.......................................................................... 14
Tabela 5: Protocolo dos comandos de voz do software simulador........................ 39
iii
LISTA DE FIGURAS
Pag.
Figura 1: Planta baixa ........................................................................................... 2
Figura 2: Posição de instalação dos dispositivos da CI......................................... 6
Figura 3: Placa de aquisição de dados NI USB-6229............................................ 11
Figura 4: Quantização com 3 bits de range de um sinal analógico....................... 14
Figura 5: Computador DELL................................................................................ 15
Figura 6: Funcionamento de um microfone dinâmico.......................................... 16
Figura 7: Funcionamento de um microfone capacitivo........................................ 17
Figura 8: Microfone capacitivo (tipo eletreto) com pré-amplificador FET......... 18
Figura 9: Microfone de eletreto CSR-EM4FP..................................................... 19
Figura 10: Circuito de condicionamento de áudio............................................... 19
Figura 11: Circuito pré-amplificador de áudio..................................................... 20
Figura 12: Ajuste da tensão de repouso do microfone......................................... 21
Figura 13: Cálculo do ganho de tensão do pré-amplificador de áudio................ 21
Figura 14: Transformador de linha LYNX - AT600............................................ 22
Figura 15: Circuito da fonte de alimentação de +5V do pré-amplificador.......... 22
Figura 16: Diagrama interno do amplificador de instrumentação INA128.......... 23
Figura 17: Circuito amplificador diferenciador e cancelamento de espúrios....... 24
Figura 18: Comparação da resposta em amplitude de filtros passa baixa........... 24
Figura 19: Esquema de montagem de um filtro passa faixa................................ 25
Figura 20: Esquema do filtro FPB Butterworth de 2ª ordem............................... 25
Figura 21: Filtro Butterworth FPF de 40HZ a 5KHz de 2ª ordem e 40dB/dec.... 26
Figura 22: Especificações da fonte simétrica Selco, FSS1-00 15Vdc................. 26
Figura 23: Instalação do sistema de abertura automática das portas.................... 27
Figura 24: Esquema de ligação do sistema de automatismo SPRINT-J.............. 27
Figura 25: Fecho elétrico HDL FEC 91-CL......................................................... 28
Figura 26: Placa de interface de relés SELCO RLN50-48................................... 29
Figura 27: Sensor de porta aberta com reed-switch e placa RES1100................. 30
Figura 28: Esquema de montagem mecânica do sistema OLLY-C...................... 31
Figura 29: Esquema de ligações da placa de controle OLLY-C.......................... 31
Figura 30: Placa SELCO SCS-0198 e esquema de ligação.................................. 32
Figura 31: Sensores de presença FRT410 e FTR510........................................... 33
Figura 32: Relé Metaltex Q2A-110...................................................................... 34
Figura 33: Circuito do sensor de presença............................................................ 34
Figura 34: No-break Powerware P5125-220-120V.............................................. 35
Figura 35: Fluxograma simplificado do software do simulador da CI................. 38
Figura 36: Gráficos do protocolo de identificação do usuário 2........................... 39
Figura 37: Interface visual do software simulador da casa inteligente................. 40
Figura 38: Equações de DFT e IDFT ................................................................... 44
iv
LISTA DE ABREVIATURAS
AI: Amplificador de Instrumentação
AC: Tensão Alternada
AMPOP: Amplificador Operacional
AV: Ganho de Tensão
DC: Tensão Contínua
CI: Casa Inteligente
CPU: Computador
FPF: Filtro Passa Faixa
FPA: Filtro Passa Alta
FPB: Filtro Passa Baixa
PCAP: Placa de Captura
PRA: Pré-Amplificador
PID: Placa de Interface Digital
NB: No-Break
RRMC: Relação de Rejeição de Modo Comum
SG: Sistema de Gerenciamento
STR: Sistema em Tempo Real
Zin: Impedância de entrada
Zout: Impedância de Saída
v
SUMÁRIO
Resumo............................................................................................................... II
Lista de Tabelas ................................................................................................ III
Lista de Figuras ................................................................................................ IV
Lista de Abreviaturas ...................................................................................... V
Sumário ............................................................................................................. VI
1. INTRODUÇÃO ............................................................................................ 1
1.1. Objetivos do Projeto.................................................................................. 1
2. PROPOSTA DE UM SISTEMA DE AUTOMAÇÃO RESIDENCIAL.. 2
2.1. DETALHAMENTO DO PROJETO........................................................ 2
2.2.1. Planta Baixa............................................................................................ 2
2.2.2. Dispositivos.............................................................................................. 2
2.2.3. Entradas Analógicas dos Comandos de Voz........................................ 6
2.2.4. Entradas dos Sensores Digitais.............................................................. 7
2.2.5. Saída de Comandos................................................................................ 7
2.2.6. Relação Geral dos Dispositivos............................................................. 9
3. DETALHAMENTO DO HARDWARE..................................................... 11
3.1. PLACA DE CAPTURA............................................................................ 11
3.2. COMPUTADOR (CPU)........................................................................... 14
3.3. MICROFONE............................................................................................ 15
3.3.1.Microfone Dinâmico................................................................................ 16
3.3.2.Microfone Capacitivo.............................................................................. 17
3.4.CIRCUITO DE CONDICIONAMENTO DE ÁUDIO............................ 19
3.4.1. Circuito Pré-Amplificador (PRA) Balanceado e Isolamento
Galvânico........................................................................................................... 19
3.4.2. Amplificador de Instrumentação (AI) e Filtro Passa-Faixa (FPF).... 23
3.4.2.1. Circuito Amplificador Diferencial..................................................... 23
3.4.2.2. Circuito do Filtro Passa Faixa (FPF)................................................ 24
3.5. CIRCUITOS DE ENTRADA E SAÍDA DIGITAIS.............................. 27
3.5.1. Hardware das Portas............................................................................. 28
3.5.1.1. Portas da Sala e Cozinha.................................................................... 28
3.5.1.2. Portas do Quarto e da Suíte................................................................ 30
4.5.2. Hardware das Janelas............................................................................. 30
3.5.3. Hardware de Acionamento das Lâmpadas e TV.................................. 31
3.5.4. Sensores de Presença............................................................................... 33
3.5.5. No-Break.................................................................................................. 34
4. DETALHAMENTO DO SOFTWARE....................................................... 36
4.1. FLUXOGRAMA E DESCRIÇÃO DO SOFTWARE SIMULADOR.. 37
4.1.1. Protocolo de Simulação dos Comandos de Voz................................... 39
4.1.2. Tela Principal (Interface Visual do Simulador)................................... 40
4.1.3. Thread de Captura e Bufferização do Sinal Capturado..................... 41
4.1.4. Thread de Processamento do Buffer..................................................... 42
4.1.5. Processamento do Sinal e Identificação do Comando Recebido........ 42
4.1.6. Transformada Rápida de Fourier (FFT).............................................. 44
vi
4.1.7. Principais Códigos do Software Simulador......................................... 45
4.1.7.1. TimerGerador...................................................................................... 45
4.1.7.2. Theads de Captura.............................................................................. 46
4.1.7.3. Theads de Processamento................................................................... 46
4.1.7.4. Carregamento do Comando de Voz (Simulado)............................... 47
4.1.7.5. Envio do Comando de Voz (Simulado).............................................. 49
5. TESTES DO SISTEMA E CONCLUSÕES............................................... 50
6. REFERÊNCIAS BIBLIOGRÁFICAS....................................................... 52
vii
CAPÍTULO 1
INTRODUÇÃO
1.1 OBJETIVOS DO PROJETO:
O projeto de automatização de tarefas de uma residência, como abrir portas,
acender luzes ou ligar e desligar eletrodomésticos realizados através de comandos de
voz dos usuários, depende de uma série de dispositivos, circuitos e de um sistema
computacional de gerenciamento baseado em processamento paralelo de informações
dos comandos de voz (dos usuários moradores da casa) e dos dispositivos, com a
conseqüente atuação nos dispositivos e monitoramento das tarefas realizadas.
Neste projeto de Casa Inteligente (CI) foram determinados os seguintes
objetivos:
• O controle deve se basear em comandos de voz.
• O sistema deve ser treinado para reconhecer apenas comandos de voz de
pessoas devidamente cadastradas. Para tal ele utiliza um software baseado
técnicas de reconhecimento de voz (conteúdo espectral), que toma decisões
(reconhecimento do interlocutor e de comandos) com base nas informações
dos sinais de áudio contidas nas freqüências entre 40Hz e 5KHz.
• Todos os comandos devem ser fornecidos da seguinte forma: “HAL ...
comando ...” (HAL abra a porta de entrada, HAL apague a luz da sala...).
• Uma vez que HAL consegue identificar o interlocutor como pessoa
autorizada, ele avaliará o comando e, se reconhecido corretamente, irá
acionar o dispositivo desejado. Por exemplo, irá acionar uma fechadura
eletrônica, um relê para acender ou apagar uma lâmpada, um motor para abrir
as janelas, um relê para ligar a TV etc.
E o protótipo que será desenvolvido é de uma casa de dois quartos, um
banheiro, uma sala de estar/jantar com uma porta para o exterior, corredor para os
quartos e uma cozinha com uma porta para o exterior. Uma família de 3 pessoas
serão os residentes da casa.
Além destas diretrizes básicas, será previsto o tratamento de eventuais falhas
que possam ocorrer no sistema da CI.
1
1-feedback: realimentação em sistemas de controle de laço fechado.
CAPÍTULO 2
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃO
RESIDENCIAL
2.1 DETALHAMENTO DO PROJETO:
2.1.1 Planta Baixa:
Conforme a proposta acima foi projetada uma casa do tipo compacta de
classe média baixa, com 2 quartos, sendo uma suíte (quarto do casal) e um quarto de
solteiro (um filho(a)) que também serve de escritório e aonde está localizado o
computador (HAL). A sala de estar e de jantar dividem o mesmo ambiente sendo
integrada a cozinha/copa. O corredor principal interliga os quartos, a sala e o
banheiro social. Podemos ver a planta da casa na figura 1 com todos os seus detalhes.
2
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
2.1.2 Dispositivos:
Atendendo os pré-requisitos deste projeto, podemos ver na tabela 1 uma
relação dos dispositivos do sistema de automação, relacionados pelo seu ambiente de
instalação e função.
CÔMODO DISPOSITIVO FUNÇÃO
Hall de SP1- Sensor de presença Identifica a presença, liga a lâmpada
entrada acima da porta de confirmando o reconhecimento e ativa o
entrada. microfone do Hall
MIC1- Microfone do Recebe os comandos de voz provenientes
Hall do Hall
PTA1 - Porta da sala Se for reconhecido o usuário e o comando
de voz, destranca e abre automaticamente
a porta
Sala de SP2- Sensor de presença Identifica a presença e ativa o microfone
jantar/estar fixado no teto da sala da sala
MIC2 - Microfone Recebe os comandos de voz provenientes
embutido no teto da sala da sala
RLP1 - Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL1 – Sensor de Envia para o HAL o status da lâmpada
equipamento ligado (ligada/desligada)
(lâmpada)
RL1 - Relé de Se for reconhecido o usuário e o comando
acionamento da de voz, é acionada a Televisão
Televisão (liga/desliga)
SEL2 – Sensor de Envia para o HAL o status da TV
equipamento ligado (ligada/desligada)
(TV)
SP3- Sensor de presença Identifica a presença e ativa o microfone
junto à porta da porta/janela
MIC3 - Microfone Recebe os comandos de voz junto à porta
embutido junto à porta de entrada/janela
de entrada
SAP1- Sistema de Se for reconhecido o usuário e o comando
abertura da porta da sala de voz, é acionado o SAP1, destrancando
e abrindo a porta.
SM1 – Sensor Envia para o HAL o status da porta
magnético de abertura (aberta/fechada)
da porta
SAJ1- Sistema de Se for reconhecido o usuário e o comando
abertura da janela de voz, é acionado o SAF1, abrindo ou
fechando a janela
SM2 – Sensor Envia para o HAL o status da janela
magnético de abertura (aberta/fechada)
3
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
da janela
Cozinha SP4 - Sensor de Identifica a presença e ativa o microfone
presença da cozinha
MIC4 - Microfone Recebe os comandos de voz provenientes
embutido no teto da cozinha
RLP2 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL3 – Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
(lâmpada)
SAP2- Sistema de Se for reconhecido o usuário e o comando
abertura da porta da de voz, é acionado o SAP2, destrancando
cozinha e abrindo a porta.
SM3 – Sensor Envia para o HAL o status da porta
magnético de abertura (aberta/fechada)
da porta
SAJ2- Sistema de Se for reconhecido o usuário e o comando
abertura da janela de voz, é acionado o SAJ2, abrindo ou
fechando a janela.
SM4 – Sensor Envia para o HAL o status da janela
magnético de abertura (aberta/fechada)
da janela
Corredor SP5 – Sensor de Identifica a presença e ativa os microfones
presença do corredor
RLP3 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL4 – Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
(lâmpada)
MIC5 - Microfone junto Recebe os comandos de voz junto à porta
à porta do do quarto
quarto/escritório
MIC6 - Microfone junto Recebe os comandos de voz junto à porta
à porta da suíte da suíte
PTA2 – Porta do Se for reconhecido o usuário e o comando
quarto/escritório de voz, destranca a porta
PTA3 – Porta da suíte Se for reconhecido o usuário e o comando
de voz, destranca a porta
Banheiro SP6 - Sensor de Identifica a presença e ativa o microfone
Social presença
RLP4 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL5– Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
4
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
(lâmpada)
MIC7 – Microfone Recebe os comandos de voz
embutido no teto
Quarto/ SP7 – Sensor de Identifica a presença e ativa os microfones
Escritório presença fixado no teto do quarto
RLP5 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL6 – Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
(lâmpada)
MIC8 – Microfone Recebe os comandos de voz junto à porta
embutido no teto do quarto
FEL1- Fechadura Se for reconhecido o usuário e o comando
elétrica da porta de voz, é acionado a FEL1, destrancando
a porta.
SM5 – Sensor Envia para o HAL o status da porta
magnético de abertura (aberta/fechada)
da porta
SAJ3- Sistema de Se for reconhecido o usuário e o comando
abertura da janela de voz, é acionado o SAJ2, abrindo ou
fechando a janela.
SM6 –Sensor magnético Envia para o HAL o status da janela
de abertura da janela (aberta/fechada)
Suíte SP8 – Sensor de Identifica a presença e ativa os microfones
presença do quarto
RLP6 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL7 – Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
(lâmpada)
MIC9 – Microfone Recebe os comandos de voz junto à porta
embutido no teto da suíte
FEL2- Fechadura Se for reconhecido o usuário e o comando
elétrica da porta de voz, é acionada a FEL2, destrancando a
porta.
SM7 – Sensor Envia para o HAL o status da porta
magnético de abertura (aberta/fechada)
da porta
SAJ4- Sistema de Se for reconhecido o usuário e o comando
abertura da janela de voz, é acionado o SAJ2, abrindo ou
fechando a janela.
SM8 – Sensor Envia para o HAL o status da janela
magnético de abertura (aberta/fechada)
da janela
Banheiro SP9 - Sensor de Identifica a presença e ativa o microfone
5
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
Suíte presença
RLP7 – Lâmpada(s) Se for reconhecido o usuário e o comando
de voz, é acionada a lâmpada
(liga/desliga)
SEL8– Sensor de Envia para o HAL o status da lâmpada(s)
equipamento ligado (ligada/desligada)
(lâmpada)
MIC10 – Microfone Recebe os comandos de voz
embutido no teto
Tabela 1: Relação dos dispositivos da CI
Na figura 2 é apresentada a posição de instalação dos dispositivos em relação
aos cômodos da casa, sendo estes identificados pela nomenclatura e simbologia
adotadas neste projeto.
6
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
Para que um usuário possa solicitar uma tarefa da CI, este deverá estar
próximo de um dos microfones (figura 2) para ser detectado pelo sensor de presença
daquela área que acionará o microfone e LED indicativo. Após isto, o usuário
formalizará o comando, por exemplo: “HAL ABRA A PORTA DA SALA”.
7
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
8
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
9
1-feedback: realimentação em sistemas de controle de laço fechado.
PROPOSTA DE UM SISTEMA DE AUTOMAÇÃ RESIDENCIAL
10
1-feedback: realimentação em sistemas de controle de laço fechado.
CAPÍTULO 3
DETALHAMENTO DO HARDWARE
3.1 PLACA DE CAPTURA
Dentre os diversos dispositivos de hardware que serão estudados neste
capítulo, a placa de captura (PCAP) se destaca dos demais pela sua importância no
funcionamento de todo os sistemas da CI. Esta placa faz o elo de ligação entre o SG
que estará rodando na CPU e todos os dispositivos espalhados pela casa.
Os principais pré-requisitos para escolha desta placa foram:
• Fabricante conceituado, com garantia e assistência técnica no
país;
• Número de entradas e saídas suficiente: entradas analógicas
=>10; entradas digitais =>25; saídas digitais =>20;
• Facilidade de instalação independentemente do tipo de CPU;
• As entradas analógicas deverão ter uma taxa de amostragem e
resolução de bits que atenda às necessidades do projeto.
Após várias pesquisas entre os principais fabricantes, foi encontrada uma
placa da National Instruments que se encaixa dentro dos pré-requisitos acima.
Podemos ver na figura 3 uma foto da placa escolhida para este projeto, modelo NI
USB-6229.
11
DETALHAMENTO DO HARDWARE
12
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
Resolution 32 bits
Maximum Source Frequency 80 MHz
Minimum Input Pulse Width 12.5 ns
Logic Levels TTL
Maximum Range 0..5 V
Timebase Stability 50 ppm
GPS Synchronization No
Pulse Generation Yes
Buffered Operations Yes
Debouncing/Glitch Removal Yes
Timing/Triggering/ Triggering Digital
Synchronization
Physical Length 26.67 cm
Specifications Width 17.09 cm
Height 4.45 cm
I/O Connector Screw terminals
Tabela 3: Especificações da PCAP NI USB-6229
Embora esta PCAP não seja a de menor custo (U$1485,00) em comparação
com os modelos de placas PCI de instalação interna de mesma capacidade, ela tem
como pontos fortes a conexão externa USB (Universal Serial Bus), comum em todos
os computadores e facilitando a sua instalação, pois evita abrir a CPU e pode ser
utilizado até um notebook ao invés de um CPU desktop.
Outro ponto positivo é o barramento de conexões de saída do tipo
aparafusável (I/O Connector) que é interno na própria PCAP, o que reduz o número
de cabos e periféricos, melhorando a instalação e reduzindo custos. A PCAP e as
outras placas de interface serão instaladas em outro gabinete a parte.
Podemos ver também na tabela 3 que a quantidade de entradas analógicas da
USB-6229 (32SE – Entrada Simples e 16DI – Entrada Diferencial) é mais do que
suficiente para esta aplicação e que o número de entradas e saídas digitais (DIGITAL
I/O = 48), atende ao projeto que precisa de 25 entradas e 20 saídas (45 I/O ao todo).
A taxa de amostragem das entradas analógicas da USB-6229 é de 250KS/s (K
amostras por segundo), e conforme teorema de Nyquist, a freqüência máxima do
sinal de entrada deverá ser menor ou igual à metade da freqüência de amostragem,
para que se possa capturar todas as freqüências de interesse, ou seja:
• fmáx = 250000/2 = 125KHz
Neste projeto a freqüência máxima captada pelos microfones foi limitada em
5KHz, bem abaixo da capacidade da PCAP escolhida.
13
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
14
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
ITEM ESPECIFICAÇÃO
Processador Intel Pentium Dual Core E2140, 1MB L2 Cache, 1,6GHz
Memória 1GB, DDR2, 667MHz, máx exp. 4GB
HD Serial Ata 160GB 3GB/s
Portas USB 8 portas 2.0, 2 frontais e 6 traseiras
CD/DVD Gravador CD, leitor de DVD
Vídeo Placa de vídeo integrada GMA3100
Rede Placa de rede integrada
Garantia 3 anos
Tabela 4: Especificações do CPU
3.3 MICROFONE
O microfone é um item essencial neste projeto, já que todos os comandos
serão dados por voz e os microfones que serão instalados nos ambientes da CI
estarão sujeitos a diversos tipos ruídos e distorções, podendo captar também
interferências eletromagnéticas provenientes da rede elétrica (60Hz) ou até de
estações de rádio, eletrodomésticos, etc.
Por estes motivos acima, a escolha do microfone mais adequado e dos
circuitos de amplificação e tratamento dos sinais de áudio requer um estudo mais
detalhado.
Como pré-requisitos deste projeto, os microfones deverão ter as seguintes
características:
• Faixa dinâmica entre 40Hz e 5KHz;
• Captação ominidirecional;
• Saída balanceada (três fios + - e GND);
• Custo baixo.
Além dessas características acima, outras características como sensibilidade,
distorção e saturação deverão ser consideradas na escolha do microfone.
15
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
16
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
17
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
18
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
19
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
20
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
21
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
22
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
23
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
resistores em série com metade deste valor. Foram utilizados quatro resistores de
150Ω em série. Podemos ver na figura 17 o circuito do amplificador com os valores
dos componentes.
24
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
25
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
26
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
27
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
28
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
Para manter a porta fechada, um fecho elétrico modelo FEC 91-CL da HDL
foi instalado no batente da porta, sendo acionado por um contato seco do. Podemos
ver na figura 25 uma foto do fecho elétrico FEC 91-CL.
29
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
30
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
31
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
32
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
33
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
34
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO HARDWARE
35
1-feedback: realimentação em sistemas de controle de laço fechado.
CAPÍTULO 4
DETALHAMENTO DO SOFTWARE
Neste capítulo estudaremos o software responsável pelo SG, que é
encarregado da aquisição de dados de múltiplas fontes (sistema multitarefa), que faz
a identificação dos comandos de voz dentre os sinais capturados e posteriormente,
envia comandos para os dispositivos e atuadores da casa. Tudo isto dentro do tempo
previsto, que é a característica principal de um sistema em tempo real.
Como exemplo, se um usuário entrasse no raio de ação do sensor de presença
da sala, o microfone daquele setor seria habilitado e ele poderia solicitar uma tarefa
através do protocolo convencionado, por exemplo: “HAL ACENDA A LUZ DA
SALA”.
Neste momento, o áudio captado pelo microfone e transformado em sinais
elétricos é tratado pelo hardware conforme o capítulo 2, e posteriormente
discretizado pela PCAP, que está constantemente sendo supervisada pelas rotinas do
SG, e que utiliza técnicas de avaliação da energia e da taxa de cruzamento por zero
(zerocrossing) para identificar um trecho de mensagem e começar a escrever os
dados num buffer de aquisição circular, de forma eficiente e rápida o suficiente para
que nenhum trecho da mensagem seja perdido.
Esse buffer circular é lido em outra parte do sistema liberando espaço para
novas gravações, enquanto que outra tarefa se encarrega de desenhar o gráfico do
comando de voz e passar adiante para outra parte do programa que tem como função
transformar os comandos de voz que estão representados no domínio do tempo para
o domínio da freqüência (FFT), para que possa ser analisado pelo seu conteúdo
espectral e identificado corretamente.
O sinal já na forma de espectro de freqüência é desenhado em um gráfico e as
suas componentes são transformadas em dados objetivos para que um algoritmo de
identificação possa reconhecer o comando carregado naquele espectro, separando em
sua saída a tarefa que será realizada.
Neste momento, com o reconhecimento do comando de voz, o SG habilitará a
porta digital referente à saída que controla o relé da luz da sala, que ligará a lâmpada
via interface de potência.
36
DETALHAMENTO DO SOFTWARE
Uma vez ligada a lâmpada da sala, outro sensor que monitora a corrente
circulando pela ligação elétrica da lâmpada emite um comando digital que seguirá
pela PCAP até a CPU, para que o SG possa analisar se a tarefa foi realizada com
sucesso (feedback).
Ao final, o usuário deverá ver a luz se acender e o tempo de resposta para que
isto aconteça deverá ser imperceptível, sem o que, todo o processo descrito acima
não seria mais eficiente do que um simples interruptor de luz.
Neste contexto, o software simulador que será desenvolvido deverá trabalhar
com códigos muti-tarefas, utilizando threads que são trechos de códigos menores e
mais simples, para serem executados paralelamente com funções específicas, sendo
as threads totalmente gerenciáveis quanto ao tempo de utilização do processador e a
sua prioridade de execução.
Portanto, trataremos neste capítulo do desenvolvimento de uma aplicação
visual do simulador da casa inteligente em linguagem de programação C# da
plataforma“.NET”, que terá como principais funcionalidades:
• Sistema de processamento multitarefa baseado em threads;
• Buffers circulares para armazenamento dos dados capturados;
• Plotagem dos dados no domínio do tempo.;
• FFT e plotagem no espectro de freqüência dos sinais capturados;
• Algoritmo de identificação dos comandos.
4.1 FLUXOGRAMA E DESCRIÇÃO DO SOFTWARE SIMULADOR
Podemos ver na figura 35 o fluxograma simplificado do software simulador
da casa inteligente, mostrando um panorama do funcionamento geral do sistema.
Para efeito de simplificação, os comandos de voz foram substituídos por um
protocolo de sinais senoidais de diferentes freqüências, que carrega um conjunto de
dados codificados binários. Obs.: em uma aplicação real a análise dos comandos de
voz seria similar a este processo, porém, com maior complexidade e provavelmente
utilizando métodos redes neurais artificiais para o reconhecimento de voz.
37
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
38
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
39
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
xTime[i] = i / freqAmostragem;
}
4.1.2 Tela Principal (Interface Visual do Simulador)
Buscou-se implementar uma tela mais intuitiva, onde os comandos são feitos
por botões, escolhendo-se primeiro na planta baixa o sensor de presença referente ao
microfone, depois o usuário, o cabeçalho, a instrução e por último o local onde será
executada a instrução. Veja na figura 37 a tela da interface visual
40
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
41
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
42
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
suas respectivas potências, para que se possa comparar e determinar o dado contido
em cada uma das freqüência de acordo com a amplitude do sinal, conforme mostra as
linhas de comando abaixo:
// recupera os dados e armazena no vetor protRecup
for (i = 0; i < 10; i++)
{
protRecup[i] = ySpecNormal[Convert.ToInt32((nPtos /
freqAmostragem) * freqs[i] + 1)];
if (protRecup[i] > 0.35)
protRecup[i] = 1;
else
if (protRecup[i] > 0.05 & protRecup[i] < 0.35)
protRecup[i] = 0.5;
else
protRecup[i] = 0;
}
Uma vez recuperada a informação, outra função se encarrega de transformá-la
em dados binários, que é o padrão adequado para entrada de qualquer sistema de
controle, conforme podemos ver nas linhas de comando abaixo:
// função de conversão do spetro em uma sequência de bits
private string Imprime(double[] vetor)
{
string comdo = "";
int i;
for (i = 9; i >= 0; i--)
{
if (vetor[i] == 1.0)
comdo += "1";
else
if (vetor[i] == 0.5)
comdo += "0";
else
comdo += "X";
}
return comdo;
}
Uma observação importante é que embora este protocolo seja baseado em
dados binários, existe na verdade três estados possíveis: zero “0”, um “1” e “X”,
sendo que o “X” significa ausência de sinal, podendo ser utilizado para identificar
omissão em parte do comando de voz, o que é perfeitamente normal de acontecer.
Por exemplo, se o usuário “Mãe” dissesse apenas “Hal” + “Abra a Porta”, o sistema
de gerenciamento receberia o protocolo: “XXX000001”, onde os “Xs” informaria a
ausência do local de aplicação do comando, podendo neste momento o SG informar
através de uma mensagem sintetizada de voz para que o usuário repita novamente o
comando, ou simplesmente, informe somente o local.
43
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
44
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
“out” para ser preenchido com as freqüências do gráfico “eixo x”. Podemos ver
abaixo a linha de código que chama o método “PowerSpectrum”:
// Transformada Rápida de Fourier do espectro de potência
// do sinal capturado: f(time) -> f(freq)
ySpectro = TransRapFourier.FFT.PowerSpectrum(dadoscapturados,
freqAmostragem, out xFreq);
switch (microfone)
{
case 1:
if (buffer_Proc_cheio1)
{
// análisa e processa os dados capturados
ProcDados(buffer_Proc1);
myThAquis1.Abort();
myThAquis1 = null;
cancelar_Thread1_aq = true;
myThProc1.Abort();
myThProc1 = null;
cancelar_Thread1_proc = true;
TimeGerador.Enabled = false;
break;
}
valorGerado1 = ySinal[count];
MutexNV1.WaitOne();
Novo_Valor1 = true;
MutexNV1.ReleaseMutex();
break;
...
45
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
46
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
--buffer_Proc_EL2;
if (buffer_Proc_EL2 == 0)
{
buffer_Proc_cheio2 = true;
buffer_EL2 = buffer_Size2;
}
}
}
}
47
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
xTime[i] = i / freqAmostragem;
}
// converte e imprime o código binário comando de voz
enviado
textBoxProtocolo.Text = Imprime(protocolo);
48
1-feedback: realimentação em sistemas de controle de laço fechado.
DETALHAMENTO DO SOFTWARE
this.zedGraphControl2.GraphPane.Title.Text = "ESPECTRO
DE FREQÜÊNCIA";
this.zedGraphControl2.GraphPane.XAxis.Title.Text =
"FREQ (HZ)";
this.zedGraphControl2.GraphPane.YAxis.Title.Text =
"AMPL (V)";
this.zedGraphControl2.GraphPane.AddCurve("ESPECTRO DO
COMANDO DE VOZ", xFreq, ySpecNormal, Color.Red,
ZedGraph.SymbolType.None);
this.zedGraphControl2.AxisChange();
this.zedGraphControl2.Refresh();
}
49
1-feedback: realimentação em sistemas de controle de laço fechado.
CAPÍTULO 5
TESTES DO SISTEMA E CONCLUSÕES
Embora tenham surgido diversas dificuldades durante a fase de pesquisa dos
dispositivos de hardware, quanto às especificações técnicas e outros detalhes de
funcionamento que nem sempre são fornecidos pelos fabricantes, que preferem
publicar informações comerciais ao invés de especificações técnicas (alguns
fornecedores que estão neste trabalho fugiram à regra), e também das dificuldades
durante a etapa de elaboração e modelagem do software simulador, que teve como
principal objetivo empregar as técnicas computacionais de sistemas concorrentes
multi-tarefas, importantes para assimilação dos conceitos da disciplina, acreditamos
que o trabalho realizado atingiu seus objetivos, de demonstrar a assimilação dos
principais conceitos de Sistemas em Tempo Real.
Os componentes de hardware e os circuitos ora elaborados para este trabalho,
como o pré-amplificado de microfone, o amplificador diferenciador de
instrumentação, o filtro Butterworth foram montados e testados em simulador,
obtendo os resultados esperados conforme suas fórmulas de cálculos.
Os dispositivos maiores como o sistema de abertura de porta e janelas foram
escolhidos de um fabricante estrangeiro pelas razões mencionadas acima (fornecem
manual técnico detalhado do produto) e são perfeitamente adaptáveis sem
necessidade de substituição de portas e janelas.
Particularidades de instalação como cabos blindados para interligação dos
microfones e outras fontes de sinais digitais e os gabinetes e caixas para acomodar as
placas e dispositivos foram suprimidos do texto, embora devam ser levados em
consideração num projeto real.
O software simulador trouxe uma série de dificuldades em sua
implementação, já que se pretendia a princípio atender plenamente ao escopo deste
projeto, de trabalhar com múltiplas linhas de comando recebendo comandos de voz
de vários microfones espalhados pela casa e realizar o reconhecimento do comando e
a atuação no sistema. Embora não tenhamos conseguido implementar um sistema
completo como pretendíamos a parte implementada possui todos os conceitos
aprendidos em STR, utilizando múltiplas linhas de comando e o “Mutex” para a
convivência “pacífica” entre elas. Obs.: pode-se acrescentar mais de um comando de
50
DETALHAMENTO DO SOFTWARE
voz sem que haja conflito entre os dados capturados, já que eles são armazenados e
processados em buffers exclusivos.
Nos testes identificamos um problema relacionado à utilização do “timer” do
C#, devido à sua resolução mínima ser de 1ms, causando atrasos significativos na
captura do comando de voz, já que um array contendo 8192 posições de informação
levaria no mínimo 8,192 segundos para ser totalmente lido, superando em muito o
limite de tempo considerado aceitável num sistema deste porte. Este problema foi
minimizado reduzindo-se o tamanho do array para 512 posições, contudo, num
sistema real seria utilizado o timer da placa de captura que tem a base de tempo da
ordem de poucos microssegundos e não teria este problema do simulador. Pode-se
resolver este problema do simulador empregando-se o relógio da classe
“System.Diagnostics” que possui parâmetros e métodos referentes ao clock do
sistema e que trabalha com alta resolução, ou seja, muito mais preciso. Chegamos a
implementar um clock utilizando este relógio com resultados animadores, mas
acabamos voltando para a forma clássica do timer.
No software simulador existe a possibilidade de o usuário enviar comandos
errados tais como “Hal” + “Ligar TV” + “Banheiro”. Embora pareça estranho isto ser
possível, num sistema real o usuário não teria de fato restrições de falar qualquer
comando, sendo assim, nenhuma restrição foi imposta e qualquer combinação de
comandos poderá ser falado. O importante neste caso é que o sistema de
gerenciamento receba os dados sem erros de processamento e não erros lógicos.
Por último gostaríamos de destacar o algoritmo da transformada rápida de
Fourier que foi implementado como uma classe “DLL”, o que agregou
conhecimentos sobre este tipo de estrutura e de suas vantagens quanto à
portabilidade do código para outras aplicações sem maiores problemas.
51
1-feedback: realimentação em sistemas de controle de laço fechado.
CAPÍTULO 6
REFERÊNCIAS BIBLIOGRÁFICAS
BIBLIOGRAFIA:
http://www.music-center.com.br/mic_akg1.htm
http://www.ditec.it/en/products
http://www.metaltex.com.br/
http://www.powerware.com/Brasil/Default.asp?CC=1
http://www.hdl.com.br/
http://www.ni.com/products/
http://www.selco.com.br/
52