localizador de fonte sonora - páginas...

50
UNIVERSIDADE TECNOL ´ OGICA FEDERAL DO PARAN ´ A ENGENHARIA DE COMPUTAC ¸ ˜ AO CRISTIAN BORTOLLINI FERREIRA LEANDRO ALVES DOS SANTOS RAFAEL BARCELLOS LEMOS DOS SANTOS LOCALIZADOR DE FONTE SONORA MONOGRAFIA DE OFICINA DE INTEGRAC ¸ ˜ AO II CURITIBA 2012

Upload: duongnhu

Post on 02-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANAENGENHARIA DE COMPUTACAO

CRISTIAN BORTOLLINI FERREIRALEANDRO ALVES DOS SANTOS

RAFAEL BARCELLOS LEMOS DOS SANTOS

LOCALIZADOR DE FONTE SONORA

MONOGRAFIA DE OFICINA DE INTEGRACAO II

CURITIBA

2012

CRISTIAN BORTOLLINI FERREIRALEANDRO ALVES DOS SANTOS

RAFAEL BARCELLOS LEMOS DOS SANTOS

LOCALIZADOR DE FONTE SONORA

Monografia de Oficina de Integracao II apresentadaao Curso de Engenharia de Computacao da Universi-dade Tecnologica Federal do Parana como requisitoparcial para aprovacao.

Orientador: Professor Miguel Antonio Sovierzoski

CURITIBA

2012

RESUMO

FERREIRA, Cristian; SANTOS, Leandro; SANTOS, Rafael. LOCALIZADOR DE FONTESONORA. 49 f. Monografia de Oficina de Integracao II – Engenharia de Computacao, Univer-sidade Tecnologica Federal do Parana. Curitiba, 2012.

Este projeto consiste em desenvolver um dispositivo capaz de identificar e orientar a posicaode um objeto emissor de som no plano bidimensional. O sistema utiliza como sensores doismicrofones de eletreto que ficam acoplados sobre uma haste de tamanho pre-definido. A hasterotaciona no eixo do motor de passo de acordo com os pulsos transmitidos a ele, dessa forma apartir dos sinais recebidos o dispositivo fornecera a orientacao do objeto. A ferramenta utilizadapara os calculos da posicao da fonte chama-se correlacao-cruzada, que junto com a operacao deconvolucao e muito utilizada em processamento de sinais.

Palavras-chave: microfone de eletreto, motor de passo, correlacao-cruzada.

ABSTRACT

FERREIRA, Cristian; SANTOS, Leandro; SANTOS, Rafael. SOUND SOURCE LOCALIZA-TOR. 49 f. Monografia de Oficina de Integracao II – Engenharia de Computacao, UniversidadeTecnologica Federal do Parana. Curitiba, 2012.

This project consists in create a device capable of identify a sound source object and give itsorientation in a bidimensional surface. The device has two electrect microphones as sensors,both of them are linked with a bar wich has a determined size. According to the pulses sentto the stepping motor, the bar rotates in the motor axis, so it is possible to give the objectorientation with the signals received. The tool used to calculate the position of the sound sourceobject is called cross-correlation, wich is very used in digital signal processing as the operationconvolution.

Keywords: electret microphone, stepping motor, cross-correlation.

LISTA DE FIGURAS

–FIGURA 1 Diagrama de Blocos do dispositivo localizador de fonte sonora . . . . . . . . 7–FIGURA 2 Arduino Mega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–FIGURA 3 Exemplos de Modulacao por largura de pulso . . . . . . . . . . . . . . . . . . . . . . . . 11–FIGURA 4 Juncao entre os semicondutores dos tipos P e N . . . . . . . . . . . . . . . . . . . . . . 11–FIGURA 5 Portadores majoritarios e regiao de deplecao . . . . . . . . . . . . . . . . . . . . . . . . . 12–FIGURA 6 Diodo polarizado diretamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–FIGURA 7 Diodo polarizado diretamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–FIGURA 8 Polarizacao do Transistor do tipo NPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14–FIGURA 9 Polarizacao do Transistor do tipo PNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15–FIGURA 10 Microfone de Eletreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17–FIGURA 11 Circuito equivalente de um Microfone de Eletreto . . . . . . . . . . . . . . . . . . . . 17–FIGURA 12 Funcoes no domınio discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19–FIGURA 13 Grafico resultante da correlacao das funcoes da figura 12 . . . . . . . . . . . . . 19–FIGURA 14 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21–FIGURA 15 Estagio amplificador de tensao para o microfone . . . . . . . . . . . . . . . . . . . . . 22–FIGURA 16 Hiperbole formada devido ao atraso de tempo . . . . . . . . . . . . . . . . . . . . . . . . 23–FIGURA 17 Relacao da defasagem com as retas paralelas . . . . . . . . . . . . . . . . . . . . . . . . 24–FIGURA 18 Modelo de propagacao do sinal de uma fonte sonora e os microfones . . . 25–FIGURA 19 Graficos Angulo × Distancia × Defasagem de Tempo . . . . . . . . . . . . . . . . 26–FIGURA 20 Graficos Angulo × Defasagem de Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . 27–FIGURA 21 Motor de Passo Mitsumi M49SP-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27–FIGURA 22 Torque fornecido pela Taxa de Pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28–FIGURA 23 Esquematico de conexao dos microfones ao Arduino . . . . . . . . . . . . . . . . . 29–FIGURA 24 Esquematico de conexao do motor ao Arduino . . . . . . . . . . . . . . . . . . . . . . . 30–FIGURA 25 Fluxograma do programa do controle do localizador de fonte sonora . . . 31–FIGURA 26 Amostra de sinais dos microfones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32–FIGURA 27 Amostra de sinais periodicos senoidais captados pelos microfones . . . . . 33–FIGURA 28 Graficos da correlacao entre os sinais periodicos senoidais feita pelo Oc-tave e pelo codigo implementado no Arduino, respectivamente . . . . . . . . . . . 34–FIGURA 29 Cupula Acustica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

SUMARIO

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1 MOTIVACAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 OBJETIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 DIAGRAMA EM BLOCOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 FUNDAMENTACAO TEORICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1 PLATAFORMA ARDUINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.1 Entradas Analogicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 MODULACAO POR LARGURA DE PULSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 DIODOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 TRANSISTORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 AMPLIFICADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 O SOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.7 MICROFONE DE ELETRETO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.8 CORRELACAO CRUZADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.9 O PROGRAMA OCTAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.10 MOTOR DE PASSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.11 PONTE H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 DESENVOLVIMENTO DO PROJETO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1 AMPLIFICACAO DO SINAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 CALCULOS PARA O ANGULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.1 Metodo utilizando Hiperboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.2 Metodo utilizando Lei dos Co-senos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 MOTOR DE PASSO MITSUMI M49SP-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.4 INTERFACES COM O ARDUINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.5 ALGORITMO DE CONTROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.1 RECEPCAO DO SINAL DE AUDIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2 CONFIGURACAO DE FREQUENCIA DE AMOSTRAGEM . . . . . . . . . . . . . . . . . . . . 334.3 CALCULO DA CORRELACAO CRUZADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 PROBLEMAS ENCONTRADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1 TEMPO DE RESPOSTA DO MOTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 CALCULO DO ANGULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.3 DEFICIENCIA DA CAPTACAO OMINIDIRECIONAL DO SOM . . . . . . . . . . . . . . . 366 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 SUGESTOES PARA TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Apendice A -- CODIGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Anexo A -- CRONOGRAMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6

1 INTRODUCAO

1.1 MOTIVACAO

A equipe teve como motivacao o desafio de integrar os conteudos estudados nas dis-

ciplinas do semestre com o proposito de desenvolver um dispositivo capaz de se orientar em

relacao a uma fonte sonora.

1.2 OBJETIVO

Desenvolver um dispositivo capaz de fornecer a orientacao de uma fonte sonora, a

partir da interpretacao de sinais obtidos por microfones.

7

1.3 DIAGRAMA EM BLOCOS

A figura 1 representa qual a ordem de funcionamento do dispositivo desde a recepcao

do som pelos microfones ate o momento que esses dados sao processados e novas informacoes

sao enviadas para o motor de passo.

Figura 1: Diagrama de Blocos do dispositivo localizador de fonte sonora[Fonte: Autoria propria]

Os microfones, acoplados a uma base giratoria, captam as informacoes sonoras. Estas

sao correlacionadas, e o defasamento em amostras para o valor maximo da correlacao indica a

origem da fonte sonora em um ambiente bidimensional.

8

2 FUNDAMENTACAO TEORICA

2.1 PLATAFORMA ARDUINO

O Arduino e uma plataforma open-source de desenvolvimento compatıvel com siste-

mas operacionais Windows, Linux e Mac OS. Atraves de diferentes tipos de sensores e possıvel

interagir com o mundo exterior de varias maneiras. O ambiente de desenvolvimento e a lingua-

gem de programacao sao proprias do Arduino.

Neste projeto sera utilizado o Arduino Mega mostrado na figura 2, ele possui o micro-

controlador ATMega1280, tem 54 portas digitais de entrada/saıda (sendo que doze delas podem

funcionar como PWM), e 16 portas analogicas (ARDUINO, 2012).

Figura 2: Arduino Mega[Fonte: (ARDUINO, 2012)]

9

A tabela 1 apresenta os tipos de memorias e as capacidades encontradas no Arduino

Mega.

Tabela 1: Tipos e quantidade de Memorias encontradas no Arduino Mega[Fonte: Retirado de (ARDUINO, 2012)]

Tipo de Memoria QuantidadeFlash 128 kBytes (4 kBytes Bootloader)SRAM 8192 BytesEEPROM 4096 Bytes

2.1.1 ENTRADAS ANALOGICAS

A plataforma de desenvolvimento Arduino permite a aquisicao de sinais analogicos,

utilizando um Conversor Analogico Digital (Analog Digital Converter - ADC), a interpretacao

desses valores e feita como uma sequencia de bits.

Os valores de tensao sao interpretados variando de 0 V ate 5 V com uma resolucao

de 10 bits, e correspondendo a valores binarios de 0000000000 (0) ate 1111111111 (1023),

resultando em uma tensao de passo de aproximadamente 4,9 mV 5V1024 .

Essa conversao de um sinal analogico para digital nao e instantanea, portanto a amos-

tragem de sinal digital e feita em uma frequencia especıfica. Essa depende do clock do sistema

e do fator de divisao (quantidade de ciclos do clock original que sao necessarias para a con-

versao). Supondo um sistema com clock de 8 MHz e um ADC com fator de divisao de 32,

pode-se concluir que temos um clock de ADC de 250 kHz, assim como mostra a equacao 1

(SANTOS, 2009).

8 ·106

32= 250 ·103 (1)

Esse clock de ADC pode ser configurado alterando tres bits do registro de configuracao

ADPS do Arduino, que sao responsaveis por definir o fator de divisao da conversao.

A tabela 2 mostra quais as configuracoes de ADPS possıveis serem feitas no Arduino

e seus respectivos fatores de divisao.

10

Tabela 2: Conteudo do registro ADCSRA[Fonte: Datasheet do Arduino disponivel em (ATMEL, 2012)]

ADPS2 ADPS1 ADPS0 Fator de divisao0 0 0 20 0 1 20 1 0 40 1 1 81 0 0 161 0 1 321 1 0 641 1 1 128

2.2 MODULACAO POR LARGURA DE PULSO

Modulacao por largura de pulso (Pulse Width Modulation - PWM), como o proprio

nome sugere, e uma tecnica para se obter um sinal analogico a partir de um meio digital. Em

um sinal digital, a largura de pulso significa o tempo em que o sinal permanece no estado

ligado (5 V) × tempo em que o sinal permanece no estado desligado (0 V). E possivel obter

um valor analogico modulando a largura deste pulso. No grafico da figura 3, as linhas verticais

representam o perıodo do tempo.

Aplicando este conceito no Arduino Mega, cuja frequencia do sinal PWM e de a pro-

ximadamente 490 MHz, esse sinal duraria 2 milissegundos (Duty Cycle) para cada perıodo, ou

seja, a frequencia e constante e o Duty Cycle e variavel. Observe que quando todo o Duty Cycle

e usado, a amplitude da tensao esta em 5 V, ou seja, conclui-se que a tensao media e diretamente

proporcional ao Duty Cycle do sinal PWM. Observe na figura 2 que o sinal PWM esta associado

aos pinos 2 ate 13. (ARDUINO, 2012)

Aplicando esse modelo Liga-Desliga rapido o suficiente, o resultado seria uma cons-

tante. Em um LED, essa tecnica permite controlar a intensidade do brilho e em um motor

permite controlar a velocidade de rotacao de seu eixo.

11

Figura 3: Exemplos de Modulacao por largura de pulso[Fonte:(ARDUINO, 2012) ]

2.3 DIODOS

Diodos sao dispositivos semicondutores feitos a partir da juncao de um material do

tipo P, componente com lacunas positivas como portador majoritario, e um material do tipo

N, componente com eletrons livres como portador majoritario. O semicondutor do tipo N e

o catodo e o semicondutor do tipo P e o anodo. A regiao de juncao desses semicondutores e

responsavel pelo funcionamento do diodo (HALLIDAY; RESNICK; WALKER, 2009a).

A figura 4 mostra o esquema de juncao entre os materiais dos tipos P e N.

Figura 4: Juncao entre os semicondutores dos tipos P e N[Fonte: Autoria propria]

Apos a formacao do diodo, alguns eletrons do catodo conseguem migrar para as lacu-

nas do anodo, ocorrendo a recombinacao do eletron-lacuna e neutralizacao das cargas proximas

a juncao. Essa regiao nao tende a crescer muito, por causa do campo eletrico formado. Essa

regiao neutralizada e chamada de regiao de deplecao, onde o campo eletrico formado funciona

12

como uma barreira que impedira outras migracoes de eletrons livres vindos do semicondutor do

tipo N (MILLMAN, 1981).

A figura 5 mostra os portadores majoritarios e a formacao da regiao de deplecao, re-

presentado por uma corrente no sentido real.

Figura 5: Portadores majoritarios e regiao de deplecao[Fonte: Autoria propria]

A regiao de deplecao pode ser reduzida ao aplicar um campo eletrico numa direcao

apropriada, permitindo passagem de eletrons e preenchendo-a com portadores de carga. Esse

sentido e com a polarizacao positiva para o anodo e negativa para o catodo. Essa condicao e

denominada de polarizacao direta. Como consequencia da reducao dessa regiao de deplecao,

e possıvel gerar uma corrente que passe pelo diodo, sem ser impedida pela barreira de carga

neutra (MILLMAN, 1981). A figura 6 representa a passagem de corrente no diodo, em razao a

sua polarizacao direta.

Figura 6: Diodo polarizado diretamente[Fonte: Autoria propria]

Se a polarizacao aplicada no diodo for invertida, a regiao de deplecao aumenta. Como

essa regiao funciona como um isolante, esse alargamento causara bloqueio do fluxo de corrente

no diodo, porem uma pequena corrente ainda flui por causa dos portadores minoritarios (cor-

rente de fuga). O semicondutor P possui alguns eletrons que serao empurrados para a juncao

13

devido a repulsao causada pelo terminal negativo da fonte, enquanto o semicondutor N possui

algumas lacunas que serao empurradas para a juncao. Esse fluxo de eletrons que ocorre com a

polarizacao reversa do diodo e chamado de corrente de fuga. A figura 7 mostra o alargamento

da regiao de deplecao e a formacao da corrente de fuga ao polarizar o diodo reversamente

(SCHULER, 1981).

Figura 7: Diodo polarizado diretamente[Fonte: Autoria propria]

14

2.4 TRANSISTORES

Um transistor bipolar funciona a partir da ideia que uma juncao semicondutora PN

pode controlar a corrente de polaridade reversa sobre um terceiro eletrodo montado junto ao

primeiro contato.

Um transistor bipolar e caracterizado por duas juncoes PN, onde um desses semicon-

dutores e comum entre as duas juncoes, assim sendo denominado ”base”. Para os outros semi-

condutores, o que possui um alto nıvel de dopagem e denominado ”emissor”, e o de baixo nıvel

de dopagem, e chamado de ”coletor”. Dessa forma tem-se dois tipos de transistores: o NPN e

o PNP (MILLMAN, 1981). No caso de um transistor do tipo NPN, o semicondutor do tipo P

e a base. Os semicondutores restantes sao o emissor e o coletor, ambos do tipo N. A figura 8

representa o esquema de funcionamento de um transistor NPN.

Figura 8: Polarizacao do Transistor do tipo NPN[Fonte: Autoria propria]

Para o transistor do tipo PNP, o funcionamento e analogo ao transistor do tipo NPN,

podendo ser visto na figura 9.

15

Figura 9: Polarizacao do Transistor do tipo PNP[Fonte: Autoria propria]

A base e responsavel pelo controle do fluxo das lacunas (transistor do tipo NPN) ou de

eletrons (transistor PNP), por ser capaz de servir como uma saıda para esses fluxos, dependendo

do tipo de alimentacao de tensao feito (MILLMAN, 1981).

2.5 AMPLIFICADOR

Um amplificador e um circuito capaz de amplificar um sinal de um determinado sis-

tema. Existem varias aplicacoes de um amplificador, dentre elas temos os intrumentos musicais

eletricos de corda, onde um captador recebe as vibracoes das cordas e transmite esses sinais de

baixa intensidade para um amplificador. O sinal amplificado e enviado para os alto-falantes,

desse modo e possıvel escutar as notas musicais. Algumas das maneiras de classificar os ampli-

ficadores e pela sua faixa de frequencias, pelo metodo de operacao, tipo de carga, e pelo metodo

de acoplamento entre estagios. Quanto ao metodo da operacao existem quatro classes, sao elas:

A, B, AB e C. A Classe A e aquela onde a corrente de saıda flui pelo circuito durante todo o

tempo, desse modo nao ha descontinuidade significativa. A Classe B tem funcionamento de

conducao durante o meio ciclo positivo ou negativo do sinal, neste caso o sinal que deve ser

amplificado precisa ser limitado a uma faixa estreita de frequencias. A Classe AB possui uma

conducao em pouco mais de meio ciclo de sinal. E no amplificador de Classe C, a conducao e

concentrada no pico negativo do sinal (MILLMAN, 1981).

16

2.6 O SOM

O som e uma onda mecanica e propaga-se no ar atraves de um movimento ordenado

e oscilatorio das partıculas que o constituem. O som pode se propagar atraves de qualquer

meio que possa vibrar, onde essas vibracoes sao chamadas de ondas sonoras. Ao vibrar, a fonte

sonora comprime e rarefaz o ar que se encontra em sua vizinhanca dando origem ao som que

ouvimos. A propagacao do som no espaco deve-se ao fato de partıculas transmitirem o seu

movimento as suas partıculas vizinhas de forma contınua, ocorrendo a propagacao da oscilacao

inicialmente produzida na fonte sonora.

O ar e o meio de propagacao do som utilizado por este projeto. O som se propaga

nesse meio com uma velocidade de aproximadamente 346 m/s em uma temperatura ambiente

proxima de 20 C. Para diferentes meios de propagacao, o som apresenta velocidades distintas

(HALLIDAY; RESNICK; WALKER, 2009a). A tabela 3 indica a velocidade do som em seus

diferentes meios.

Tabela 3: Velocidade do som em diferentes meios[Fonte: Adaptado de (HALLIDAY; RESNICK; WALKER, 2009a)]

meio velocidade (m/s)Ar (0o C) 331Ar (20o C) 346Agua(0o C) 1402Agua (20o C) 1482Aco 5941Alumınio 6420

17

2.7 MICROFONE DE ELETRETO

O microfone de eletreto e um dispositivo capaz de transformar pressao sonora em

impulsos eletricos, atraves de cargas mergulhadas em um dieletrico que serao alinhadas para

que formem um ıma.

Figura 10: Microfone de Eletreto[Fonte:http://www.profelectro.info/?p=248]

A figura 11 mostra o circuito equivalente de um microfone. O numero 1 representa

uma membrana elastica que faz contato com a carcaca representada pelo numero 5. O numero

2 e um dieletrico e o numero 3 e um condutor isolado da carcaca, a juncao desses tres compo-

nentes formam um capacitor. Conforme a vibracao da membrana ocorre a capacitancia varia,

dessa forma tem-se o sinal eletrico, o transistor representado pelo numero 4, funciona como

um amplificador, uma vez que o sinal resultante do capacitor e muito baixo. Apesar do proprio

microfone possuir um amplificador interno, ainda e necessario utilizar o amplificador abordado

no item 2.5 . Uma tensao de 2 a 3 V e suficiente para fornecer 1mA de corrente, de modo que

o transistor interno seja ativado.

Figura 11: Circuito equivalente de um Microfone de Eletreto[Fonte: (MSPC, 2012)]

As principais caracterısticas as quais deve-se observar ao selecionar esse tipo de dispo-

sitivo em projetos eletronicos sao: o tamanho, e a sensibilidade medida em decibel, geralmente

40 dB ou 60 dB (MSPC, 2012).

18

2.8 CORRELACAO CRUZADA

A correlacao cruzada e uma operacao matematica muito utilizada em processamento

de sinais para correlacionar dois sinais. A partir de dois sinais similares e possıvel calcular

a diferenca de fase. As funcoes que serao correlacionadas, em um domınio contınuo, estao

definidas por (2) e (3). Essas sao representadas pelo sinal ”S”, ruıdos ”r1” e ”r2”, fator de

amplitude ”a” e defasagem ”D” (KNAPP; CARTER, 1976).

x1(t) = S(t)+ r1(t) (2)

x2(t) = a ·S(t +D)+ r2(t) (3)

Os calculos de correlacao comparam os valores de ambas as funcoes em varias posicoes

de deslocamento. Para isso, multiplica-se ambas as funcoes e soma-se seus valores nesses

estagios de deslocamento, resultando em uma nova serie de valores. O maior valor resultante

esta na posicao de maxima igualdade ou mınima diferenca entre os sinais, correspondente a D,

o valor de atraso ou adiantamento entre os sinais. A equacao (4) define o funcionamento da

correlacao cruzada para valores contınuos (KNAPP; CARTER, 1976).

R(τ) =∫ T

τ

x1(t) · x2(τ + t)dt (4)

Porem, em calculos computacionais, os valores sao discretos, portanto e preciso con-

verter essa equacao para uma forma discreta e encontrar a defasagem dos sinais que nelas estao

presentes. As funcoes que serao correlacionadas, em um domınio discreto, estao definidas por

(5) e (6).

x1[n] = S[n]+ r1[n] (5)

x2[n] = a ·S[n+D]+ r2[n] (6)

Essas funcoes tambem estao sendo representadas pelo sinal, ruıdos, fator de amplitude

e defasagem, e podem ser exemplificados pela figura 12.

19

Figura 12: Funcoes no domınio discreto[Fonte: Autoria Propria]

O princıpio e o mesmo, comparar os conjuntos de sinais entre si e encontrar a defa-

sagem D do sinal, representada pela posicao em que se encontra a maior igualdade ou mınima

diferenca entre os valores, ou seja, o maior valor de correlacao (PROAKIS; MANOLAKIS,

1996). A equacao (7) define a correlacao cruzada para valores discretos.

R[η ] =N

∑n=−η

x1[n] · x2[η +n] (7)

O resultado de aplicar a correlacao nas funcoes representadas na figura 7 e apresentado

na figura 13.

Figura 13: Grafico resultante da correlacao das funcoes da figura 12[Fonte: Autoria Propria]

O valor mais positivo indica a maior correlacao entre sinais e o instante que ocorreu

indica o defasamento entre eles.

20

2.9 O PROGRAMA OCTAVE

Octave e uma linguagem livre de alto nıvel com interface de linha de comando. Essa

linguagem foi desenvolvida para computacao matematica, podendo solucionar problemas numericos,

lineares e nao-lineares, tambem usada em experimentos numericos (EATON, 2012).

2.10 MOTOR DE PASSO

Um motor de passo converte pulsos eletricos em movimento mecanico angular, ou seja,

cada passo corresponde a uma variacao na rotacao no rotor (eixo) do motor. A direcao do giro

do motor (horario ou anti-horario) e determinado pela sequencia na qual os pulsos eletricos sao

aplicados nos terminais do motor. Ele e altamente utilizado em scanners, impressoras, cameras

de videos e os mais diversos projetos de robotica e dispositivos eletromecanicos que demandam

alta precisao para controlar algum tipo de movimento.

Um motor de passo consiste em um rotor, conjunto eixo-ima que giram na parte movel

do motor e um estator, parte fixa onde as bobinas sao enroladas. O motor de passo deve ter

alimentacao externa controlada por um circuito eletronico que possa executar a sequencia re-

querida pelo motor. Conforme os pulsos na entrada do circuito de alimentacao, este oferece cor-

rente aos enrolamentos certos para execucao do movimento desejado. Quanto maior o numero

de bobinas, maior sera tambem o numero de passos do rotor (maior numero de polos) (LEITE

et al., 2012).

Existem dois tipos de motores de passo: os unipolares e os bipolares, ambos possuem

duas bobinas. O motor unipolar possue derivacao central, ou seja, a corrente passa apenas pela

metade das bobinas. O motor bipolar nao possue derivacao central, logo a corrente passa por

toda a bobina. Desse modo o torque fornecido pelo motor bipolar e geralmente maior que o do

unipolar. Uma vez que o motor unipolar possue a derivacao central ele necessita de 5 ou 6 fios

para funcionar (4 para as bobinas, e 1 ou 2 para a derivacao central). Os bipolares necessitam

de 4 fios apenas, que polarizam diretamente as bobinas (OKI, 2010).

Para um motor unipolar, o passo inteiro ocorre quando o motor esta alinhado direta-

mente para uma bobina polarizada, enquanto as outras estao sem polarizacao, e o meio passo

ocorre quando tem-se estagios com duas bobinas vizinhas com a mesma polarizacao.

Para o motor bipolar, o passo inteiro ocorre quando tem-se uma bobina nao polarizada,

e o meio passo ocorre quando o rotor pode se alinhar entre duas bobinas polarizadas, permitindo

um estagio extra entre a rotacao.

21

2.11 PONTE H

Ponte H e um circuito eletronico de interface de potencia destinado ao controle de um

motor, sendo que o microcontrolador nao consegue sozinho fornecer a corrente necessaria para

o funcionamento do motor. A ponte H tambem torna possıvel rotacionar o motor em ambos os

sentidos: horario e anti-horario. Alterando o sentido da corrente atraves da configuracoes de

seu conjunto de chaves. Este circuito recebe este nome devido a seu formato em H e sao muito

utilizados em robotica. A ponte H pode ser construıda com componentes discretos (transistores

e resistores) ou entao pode ser obtida em circuito pronto em lojas de conponentes eletronicos.

Na figura 14, fechando a chave S1 e a chave S4 o sentido da corrente sera do polo positivo

para o polo negativo do motor, fazendo-o girar no sentido horario. Fechando as chaves S3 e

S4 a corrente entra no polo negativo e sai pelo polo positivo, fazendo o motor girar no sentido

anti-horario. As chaves S1 e S2 assim como as chaves S3 e S4 nunca sao ligadas ao mesmo

tempo pois podem gerar um curto circuito.(PATSKO, 2006)

Figura 14: Ponte H[Fonte: Adaptado de (PATSKO, 2006)]

22

3 DESENVOLVIMENTO DO PROJETO

3.1 AMPLIFICACAO DO SINAL

A variacao de tensao do microfone nao e suficiente para efetuar os calculos, desse

modo foi necessario utilizar o amplificador apresentado pela figura 15.

Figura 15: Estagio amplificador de tensao para o microfone

O capacitor no circuito serve para impedir a passagem de corrente contınua para a base

do transistor. E a resistencia de 100 kΩ tem a funcao de realimentar a base do transistor, dessa

forma a interferencia causada pelo mudanca de temperatura e menor.

3.2 CALCULOS PARA O ANGULO

3.2.1 METODO UTILIZANDO HIPERBOLES

Conforme se altera a posicao da fonte sonora, se tem diferentes resultados de atraso de

tempo entre os sinais recebidos pelos microfones. Ao analisar esse fenomeno percebe-se que os

lugares geometricos que representam especıficos atrasos de tempo formam arcos de hiperboles.

Isso significa que ao posicionar a fonte sonora em qualquer lugar de um arco de hiperbole

o resultado na defasagem de tempo sera o mesmo. A figura 16 mostra um lugar geometrico

possıvel para um atraso de tempo especıfico.

23

Figura 16: Hiperbole formada devido ao atraso de tempo[Fonte: Autoria propria]

Sabe-se que a partir de certo ponto, a hiperbole tende a uma reta. Para que seja possıvel

a simplificacao para futuros calculos, sao considerados apenas os valores a partir desse ponto

e considerando-os como uma reta. Essas aproximacoes geram erros de precisao, mas para

desenvolvimento desse projeto serao considerados desprezıveis.

Para relacionar uma defasagem de tempo com o angulo e escolhido um ponto P per-

tencente a reta simplificada a partir da hiperbole, que representa a fonte sonora. Com isso, se

tem duas retas d1 e d2, que distam os microfones desse ponto. Os microfones se posicionam

em uma distancia h um do outro. Com o fim de obter mais uma simplificacao, e considerando a

distancia do ponto P para qualquer um dos microfones maior o suficiente para que d1 e d2 sejam

consideradas paralelas. Dessa forma, a diferenca dos tamanhos de d1 e d2 pode ser encontrada a

partir de uma terceira reta que representa a distancia entre elas. A figura 17 ajuda compreender

melhor esse conceito e definir a relacao da defasagem de tempo entre os sinais com o angulo

(HALLIDAY; RESNICK; WALKER, 2009b).

24

Figura 17: Relacao da defasagem com as retas paralelas[Fonte: Autoria propria]

Com esses resultados obtidos, descreve-se a funcao (8).

cos(θ) =∆dh

(8)

Sabendo que ∆d pode ser descrito pela funcao (9), pode-se encontrar a relacao da defasagem de

tempo com o angulo.

∆d = v ·∆t (9)

Com o objetivo de desenvolvimento do projeto, h e definido como 10 cm, e v e a

velocidade do som, definida como 346 m/s, concluindo que a funcao (10) descreve a relacao da

defasagem de tempo com o angulo.

∆t = 289 ·10−6 · cos(θ) (10)

3.2.2 METODO UTILIZANDO LEI DOS CO-SENOS

Existe uma outra maneira de se obter o angulo a partir da defasagem de tempo. Tal

metodo sera explicado nesta secao. A figura 18 apresenta o modelo de propagacao e captacao

do som.

25

Figura 18: Modelo de propagacao do sinal de uma fonte sonora e os microfones[Fonte: Autoria propria]

Chamando a distancia da fonte sonora e o centro do dispositivo de L , o angulo que

relaciona a posicao da fonte sonora com dispositivo de θ , o tempo de propagacao para os mi-

crofones 1 e 2, respectivamente, de t1 e t2 e definindo a distancia entre cada microfone como 10

cm, pode-se desenvolver equacoes para relacionar a variacao de tempo entre t1 e t2 com θ e L.

A partir de θ , L e relacoes trigonometricas, consegue-se determinar quais as distancias entre o

microfone 1 ate a fonte e o microfone 2 ate a mesma fonte, descritas pelas funcoes.

d21 = 0,052 +L2 −2 ·0,05 ·L · cos(π −θ) (11)

d22 = 0,052 +L2 −2 ·0,05 ·L · cos(θ) (12)

Pode-se escrever a equacao do tempo de propagacao do som para cada microfone,

utilizando a velocidade do som com as equacoes (11) e (12).

t1 =d1

346(13)

26

t2 =d2

346(14)

Assim, obtem-se o atraso de tempo entre os sinais subtraindo a equacao (14) de (13).

∆t =1

346· (√

0,0025+L2 −0,1 ·L · cos(π −θ)−√

0,0025+L2 −0,1 ·L · cos(θ) (15)

Os graficos da figura 19 foram gerados a partir dessa funcao, onde obtem-se um plano.

Figura 19: Graficos Angulo × Distancia × Defasagem de Tempo[Fonte: Autoria propria]

Apesar desse resultado, a interpretacao do grafico pode ser simplificada para facilitar

quando for preciso programar essa relacao. Entao pode-se observar que a partir de certo ponto

no eixo da distancia L, os valores maximo e mınimo do grafico tendem a um valor especıfico,

e esse ponto inicial e de 0,1 m, o mesmo valor que representa a distancia entre os microfones.

Portando, ao analisar a mesma equacao com o valor de distancia em 0,1 m, obtemos o grafico

da figura 20.

Dessa forma, podem-se simplificar a funcao que relaciona o angulo com a defasagem

de tempo entre os sinais usando uma funcao co-seno, como apresenta a equacao 16.

∆t = 289 ·10−6· cos(θ) (16)

27

Figura 20: Graficos Angulo × Defasagem de Tempo[Fonte: Autoria propria]

3.3 MOTOR DE PASSO MITSUMI M49SP-1

Neste projeto foi utilizado um motor de passo de passo Mitsumi M49SP-1. Este e um

motor com 49 mm de diametro e funciona com uma tensao de alimentacao de 12 V e corrente de

400 mA, com cada passo correspondendo a 7,5 graus. Na tabela 4 estao descritas as principais

caracterısticas para o motor utilizado. Esse pode ser visto na figura 21 e foi retirado de uma

impressora inutilizada.

Figura 21: Motor de Passo Mitsumi M49SP-1[Fonte: (MITSUMI, 2012)]

A figura 22 representa o grafico do torque obtido pela taxa de pulso que e fornecida

por um circuito eletronico.

Analisando o eixo que representa a taxa de pulso, nota-se que a partir de 170 pulsos

por segundo, o torque do motor nao sera suficiente para se obter a funcionalidade esperada.

Portanto e necessario manter a taxa de pulsos abaixo de 150 pulsos por segundo.

28

Tabela 4: Especificacoes do Motor de Passo Mutisumi M49SP-1Itens ValorTensao 12 VTensao de Trabalho DC 10,8 13,2 VCorrente / Fase 431 mANumero de fases 4Resistencia da Bobina DC 30 Ω

Angulo de Fase 7,5 0

Torque 181,3 mN·mPuxe-Torque 62,7 mN·m/150 ppsPuxe-in Torque 60,8 mN·m/150 ppsMaxima Saıda taxa de pulso 290 ppsMaxima Entrada taxa de pulso 280 pps

Fonte: (MITSUMI, 2012)

Figura 22: Torque fornecido pela Taxa de Pulso[Fonte: (MITSUMI, 2012)]

3.4 INTERFACES COM O ARDUINO

O localizador de fonte sonora e separado, essencialmente, em tres partes: circuito

receptor e amplificador de audio, processamento de dados, realizado no Arduino, e circuito

responsavel pela movimentacao do motor de passo. Isso faz que o Arduino seja o responsavel

de relacionar os dados de audio recebido com o motor de passo, portanto, ele esta conectado

aos dois circuitos.

Para integrar o circuito receptor e amplificador de audio, deve-se ligar a saıda, mostrada

na figura 15, na entrada analogica do Arduino. Como os sistema possui de dois microfones,

tambem e necessario utilizar duas dessas entradas, lembrando que os microfones devem ficar a

29

10 cm de distancia um do outro. O circuito deve ser alimentado com 9 V e a saıda de polaridade

negativa da fonte de tensao deve ser ligada, tambem, ao GND do Arduino, para que essas

entradas analogicas tenham algum referencial e possam captar o sinal amplificado corretamente.

A figura 23 representa o esquematico de montagem de ambos os microfones e seus circuitos

amplificadores ao Arduino.

Figura 23: Esquematico de conexao dos microfones ao ArduinoFonte: Autoria Propria

Juntamente desse circuito, deve ser montado o circuito da ponte H e do motor, ou seja,

o circuito responsavel pelo controle do motor de passo. Para melhor compreensao do processo

de ligar esses componentes ao Arduino, apresenta-se a figura 24.

30

Figura 24: Esquematico de conexao do motor ao ArduinoFonte: Autoria Propria

As numeracoes presentes na figura correspondem ao numero do pino da ponte H

(L293D) em que serao conectados. O CI e alimentado no pino 16 pela saıda de 5 V do Arduino.

As saıdas digitais 22 e 23 do Arduino estao acionadas sempre a nıvel 1, ou seja, fornecem 5 V

a todo momento, alimentando os pinos 1 e 9. Enquanto isso, as saıdas PWM de numeros 2, 3, 4

e 5 estao conectadas aos pinos 2, 7, 10 e 15, respectivamente, sendo responsaveis pelo envio de

comandos para a movimentacao do motor. Para que o motor consiga gerar torque, ele deve ser

alimentado com 400 mA, sendo recebidos pelo pino 8 da ponte H por uma fonte de corrente. Os

pinos 3, 6, 11 e 14 da ponte H sao responsaveis pela alimentacao das bobinas do motor, assim

sendo responsaveis pela movimentacao do mesmo. Todos os pinos restantes da ponte H devem

ser ligados ao GND do Arduino.

3.5 ALGORITMO DE CONTROLE

A figura 25 representa qual a ordem das acoes realizadas pelo Arduino. O algoritmo

tem um funcionamento de controle adaptativo, permitindo a correcao quase que imediata de

erros ocorridos no programa.

31

Figura 25: Fluxograma do programa do controle do localizador de fonte sonora[Fonte: Autoria propria]

Primeiramente e armazenado em vetores as amostras de sinal do microfone 1 e micro-

fone 2. A partir desses vetores e possıvel formar o vetor de correlacao, onde seu maior valor

esta na posicao que representa o deslocamento em numero de amostras. Apos a interpretacao

desse valor, e possıvel calcular o angulo de origem da fonte sonora e realizar a movimentacao

do motor de passo. Como o programa baseia-se em um controle adaptativo, todo essa sequencia

de acoes se repete ate a interrupcao do funcionamento do dispositivo.

32

4 RESULTADOS

4.1 RECEPCAO DO SINAL DE AUDIO

Foram armazenados o total de 256 amostras para o sinal de cada microfone, onde a

ordem de armazenamento e alternada entre os microfones, permitindo que essas ondas possam

ser comparadas no mesmo intervalo de tempo, ou seja, a demora para o armazenamento de

todas as 512 amostras, totalizando por volta de 9500 microssegundos. A figura 26 mostra os

conjuntos de amostras dos sinais recebidos pelos microfones, a serem expostos por um sinal

sonoro de frequencia de 1 kHz.

Figura 26: Amostra de sinais dos microfones[Fonte: Autoria propria]

33

4.2 CONFIGURACAO DE FREQUENCIA DE AMOSTRAGEM

Para melhor qualidade na captacao do som, foi efetuada a configuracao das portas

ADPS, que determinam a frequencia de amostragem da conversao A/D, permitindo uma mais

rapida coleta de amostras em um intervalo de tempo.

Antes da configuracao, conseguia-se um total de 512 amostras de sinal em uma media

de 45 milissegundos, onde uma metade pertencia a um microfone e a outra metade ao outro

microfone. Essas amostras podem ser vistas no grafico da figura 27.

Figura 27: Amostra de sinais periodicos senoidais captados pelos microfones[Fonte: Autoria Propria]

Apos a alteracao do fator de divisao para 16, o Arduino consegue as mesmas 512 amos-

tras em um tempo de cerca de 9,5 milissegundos, ou seja, a frequencia de coleta de amostras

passou de 11,4 kHz para 53,9 kHz, aproximadamente. A figura 26, da secao anterior, mostra o

grafico com valores de amostra, apos a configuracao do fator de divisao.

4.3 CALCULO DA CORRELACAO CRUZADA

A partir das amostras geradas pelo microfone, aplica-se a correlacao cruzada, de onde

pode-se determidar o atraso, em numero de amostras, entre os sinais armazenados.

Para melhor desenvolvimento do projeto, foi feita a analise da correlacao. A partir dos

sinais recebidos, foram plotados dois graficos. A figura 28 mostra os graficos resultantes da

correlacao, um gerado a partir de um programa e o outro gerado a partir dos dados calculados

pelo arduino, respectivamente, entre as funcoes da figura 26.

34

Figura 28: Graficos da correlacao entre os sinais periodicos senoidais feita pelo Octave e pelocodigo implementado no Arduino, respectivamente

[Fonte: Autoria propria]

Nota-se que a unica diferenca entre os graficos e a reflexao de seus dados pelo eixo Y,

onde permite as mesmas conclusoes, com a analise de seus dados.

A correlacao consiste em efetuar o somatorio dos produtos das amostras, deslocando

um vetor de sinal. A medida que o sinal e deslocado e picos positivos coincidem, ocorrem as

cristas (maximos locais) na correlacao. Quando o sinal e deslocado e picos positivos coinci-

dem com picos negativos do sinal, o valor de correlacao diminui, representando as depressoes

(minimos locais).

O valor maximo de correlacao indica que os sinais estao em fase. O defasamento de ±180 graus dos sinais ocorre nos mınimos locais esquerdo e direito do ponto, de maximo global.

35

5 PROBLEMAS ENCONTRADOS

5.1 TEMPO DE RESPOSTA DO MOTOR

Ao executar alguns testes com o motor, notou-se que o mesmo fazia uma quantidade

de passo menor que a presente na programacao do Arduino. Porem ao testar cada passo com um

intervalo de tempo de 1 segundo, o motor funcionava de acordo com o esperado. A explicacao

para esse evento pode ser encontrada ao analisar a figura 22. Essa indica o torque fornecido

de acordo com a quantidade de pulsos por segundo recebidos. Conclui-se que nao pode haver

uma quantidade maior que 170 pulsos por segundo, o que gera uma quantidade insuficiente de

torque para a movimentacao do rotor.

Dessa forma, para poder corrigir o comportamento do motor foi atrasado o tempo em

que o algoritmo envia os pulsos eletricos em 20 milissegundos, ou seja, 50 pulsos por segundo.

5.2 CALCULO DO ANGULO

A partir de testes efetuados, foi possıvel obter resultados satisfatorios quanto a recepcao

dos sinais e a eficiencia do algoritmo de correlacao, porem o valor do angulo, retornado pelo

sistema, nao condiz com a posicao da fonte sonora no momento do teste. A origem do problema

pode estar relacionada com algum erro na implementacao do codigo.

36

5.3 DEFICIENCIA DA CAPTACAO OMINIDIRECIONAL DO SOM

Um do problemas encontrados na recepcao do som pelos microfones e a propria ca-

racterıstica do microfone de eletreto, que tem um angulo de captacao menor que 360 graus.

Uma forma de contornar o problema foi a construcao de uma cupula acustica, repre-

sentada pela figura 29, para cada microfone, permitindo ampliar o angulo de captacao do som,

ao receber as ondas sonoras de todos as direcoes, refletindo o som no seu interior, assim e

possıvel focar as ondas sonoras no microfone.

Figura 29: Cupula Acustica[Fonte: Autoria propria]

37

6 CONCLUSAO

O dispositivo e capaz de cumprir o objetivo do projeto, o de localizar a posicao angular

de uma fonte sonora. Conclui-se que sua confeccao requer mais conceitos fısicos e matematicos

do que de eletronica. Esses conceitos devem ser bem estudados e desenvolvidos para que exista

uma facil e correta transcricao de seus conteudos a um programa. Porem, para que todos esses

conceitos possam ser melhor aplicados e preciso um bom sistema eletronico, permitindo uma

boa captacao do som e um bom sistema de controle do motor de passo.

38

7 SUGESTOES PARA TRABALHOS FUTUROS

Outros projetos podem tomar base nesse, e utilizar o que se foi desenvolvido na area

de captacao de som, amplificar sinais eletricos, movimentar um motor de passo ou correla-

cionar dois sinais. Dessa maneira, aqueles que desejam dar continuidade ao mesmo projeto

podem tomar como novos objetivos a implementacao de diferentes funcionalidades. Sao elas:

a identificacao da localidade do som em uma terceira dimensao, com a utilizacao de mais

um microfone e um motor, para permitir a identificacao da posicao e movimentacao correta;

funcionalidade de micropasso para o motor, com a regulagem de tensao na bobina ocorrendo

uma movimentacao mais contınua do rotor, que aumentaria a precisao da posicao; e permitir a

recepcao do som para maiores distancias, alterando o ganho do amplificador.

39

REFERENCIAS

ARDUINO. Arduino Mega. 2012. Disponıvel em:<http://arduino.cc/en/Main/ArduinoBoardMega>. Acesso em: 7 de Junho de 2012.

ATMEL. Datasheet. 2012. Disponıvel em:<http://www.atmel.com/dyn/resources/prod documents/doc2549.pdf>.

EATON, J. W. Octave. 2012. Disponıvel em: <http://www.gnu.org/software/octave>. Acessoem: 06 de Julho de 2012.

HALLIDAY, D.; RESNICK, R.; WALKER, J. Fundamentos de Fısica: Gravitacao, Ondas eTermodinamica. 8. ed. Rio de Janeiro: LTC, 2009.

HALLIDAY, D.; RESNICK, R.; WALKER, J. Fundamentos de Fısica: Otica e FısicaModerna. 8. ed. Rio de Janeiro: LTC, 2009.

KNAPP, C. H.; CARTER, G. C. The Generalized Correlation Method for Estimation ofTime Delay. 1976. Disponıvel em:<http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1162830>. Acesso em:18 de Junho de 2012.

LEITE, B. H. F. C. et al. Estudo do Motor de Passo e seu controle digital. 2012. Disponıvelem: <http://www.eletronica.org/>. Acesso em: 7 de Junho de 2012.

MILLMAN, J. Eletronica: dispositivos e circuitos. 1. ed. Sao Paulo: McGraw-Hill, 1981.

MITSUMI. Stepping Motors M49SP-1. 2012. Disponıvel em:<http://www.digchip.com/datasheets/parts/datasheet/304/M49SP-1-pdf.php>. Acessoem: 7 de Junho de 2012.

MSPC. Eletronica. 2012. Disponıvel em: <http://www.mspc.eng.br/eletrn/topDiv120.shtml>.Acesso em: 7 de Junho de 2012.

OKI, N. Motor de Passo. 2010. Disponıvel em:<http://www.dee.feis.unesp.br/graduacao/disciplinas/ele0671/Motor%20de%20Passo-aula3.pdf>. Acesso em: 05 de Julho de 2012.

PATSKO, L. F. Tutorial Montagem da Ponte H. Fevereiro 2006. Disponıvel em:<http://www.maxwellbohr.com.br/downloads/robotica/mec1000 kdr5000/tutorial eletronica -montagem de uma ponte h.pdf>. Acesso em: 11 de Junho de 2012.

PROAKIS, J. G.; MANOLAKIS, D. G. Digital Signal Processing: Principles, Algorithms andApplications. 3. ed. New Jersey: Pearson, 1996.

SANTOS, N. P. Arduino: Introducao e recursos Avancados. 2009. Disponıvel em:<http://www.isegi.unl.pt/docentes/vlobo/escola naval/MFC/Tutorial%20Arduino.pdf>.

40

SCHULER, C. A. Electronics: principles and applications. 7. ed. Boston: Higher Education,1981.

41

APENDICE A -- CODIGO

#include <Stepper.h>

//N define o numero de amostras a serem coletadas menos 1

#define N 255

//maxDt define o tempo de atraso maximo,em microssegundos,

// que pode ser encontrado

#define maxDt 584.79532

//x1 e x2 s~ao matrizes de amostra

int x1[N+1];

int x2[N+1];

//r e a matriz que guarda os valores da correlac~ao cruzada

long r[2*N+1];

//tempo_i e tempo_f ajudam na analise do perıodo de tempo

//em que as amostras se encontram

long tempo_i;

long tempo_f;

//dt armazena o valor de atraso entre os sinais, calculado

//apos a correlac~ao

double dt;

//ang armazena o valor do angulo que o motor deve rotacionar

double ang;

//ang armazena o valor de passos que o motor deve rotacionar

int passos;

42

//Stepper axilia no controle do motor

Stepper stepper(48, 2, 3, 4, 5);

/*

Pinos:

Analogico A0: Entrada microfone 1

Analogico A1: Entrada microfone 2

PWM 2, 3, 4, 5: Saıda para bobinas no motor

Digital 22, 23: Alimentac~ao da ponte H

*/

//Definic~oes necessarias para mudar fator de divis~ao do ADC

//do arduino

#define FASTADC 1

#ifndef cbi

#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))

#endif

#ifndef sbi

#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))

#endif

void setup()

//Configura o fator de divic~ao do ADC como 16

#if FASTADC

sbi(ADCSRA,ADPS2) ;

cbi(ADCSRA,ADPS1) ;

cbi(ADCSRA,ADPS0) ;

#endif

Serial.begin(9600);

//Configurac~oes de alimentac~ao da ponte H

43

pinMode(22, OUTPUT);

pinMode(23, OUTPUT);

digitalWrite(22, HIGH);

digitalWrite(23, HIGH);

//Configurac~ao da velocidade do motor

stepper.setSpeed(50);

void loop()

/* Contagem regressiva (somente para testes)

Serial.println("3");

delay(1000);

Serial.println("2");

delay(1000);

Serial.println("1");

delay(1000);

Serial.println("Go");

*/

//Inicia a coleta de amostras

pegarAmostras() ;

Serial.print("Tempo de amostragem: ");

Serial.println((tempo_f-tempo_i));

Serial.println("Correlacao iniciada");

correlacao();

delay(1000);

Serial.println("Correlacao completa");

Serial.print("MaxValue: ");

Serial.print(r[maxValue()+N]);

Serial.print(" ,indice: ");

Serial.println(maxValue());

//Calcula-se dt

dt = Dt(maxValue());

44

Serial.print("dt: ");

Serial.println(dt);

//Calcula-se o angulo

ang = calcAngulo(dt);

//Converte de radianos para graus

ang = 180*ang/PI;

//O motor vai se movimentar 90 graus a menos do que for

//calculado, devido ao referencial

ang -= 90;

Serial.print("Angulo: ");

Serial.println(ang);

//Calcula-se o numero de passos

passos = ang/7.5;

Serial.print("Numero de passos: ");

Serial.println(passos);

rotacionarMotor(passos);

delay(2000);

//Metodo responsavel pela coleta de amostras

void pegarAmostras()

//Recebe um valor de tempo inicial

tempo_i = micros();

//Inicia a coleta de amostras

for(int i = 0; i <= N; i++)

x1[i] = analogRead(A0);

x2[i] = analogRead(A1);

//Recebe um valor de tempo final

tempo_f = micros();

45

//Imprimi todos os valores do microfone 1 (para testes)

Serial.println("Microfone 1:");

Serial.print("[");

for(int i = 0; i <= N; i++)

Serial.print(x1[i]);

Serial.print(" ");

Serial.println("]");

//Imprimi todos os valores do microfone 2 (para testes)

Serial.println("Microfone 2:");

Serial.print("[");

for(int i = 0; i <= N; i++)

Serial.print(x2[i]);

Serial.print(" ");

Serial.println("]");

//Metodo responsavel pela correlac~ao

void correlacao()

//Define s para a somatoria

double s = 0;

//Calcula-se a correlac~ao

for(int n = N*(-1); n < 0; n++)

s = 0;

for(int k = n*(-1); k <= N; k++)

s += (double)(x1[k])*(double)(x2[k+n]);

r[n+N] = s;

delay(750);

for(int n = 0; n <= N; n++)

s = 0;

46

for(int k = 0; k <= N-n; k++)

s += (double)(x1[k])*(double)(x2[k+n]);

r[n+N] = s;

//Imprimi o resultado obtido pela correlac~ao (para testes)

Serial.println("Correlacao");

Serial.print("[");

for(int i = N*(-1); i <= N; i++)

Serial.print(r[i+N]);

Serial.print(" ");

Serial.println("]");

//Metodo responsavel pela procura o ındice da correlac~ao

//que possui maior valor

int maxValue()

long a = 0;

long b = 0;

for(int i = 0; i < 2*N; i++)

if(r[i] > b)

b = r[i];

a = i;

//Retorna o valor de maneira coerente a atraso e

//adiantamento

return (a-N);

//Metodo responsavel pela convers~ao da amostra de atraso

//em tempo de atraso

47

double Dt(int m)

return (double)(((tempo_f-tempo_i)/N)*m);

//Metodo responsavel pela convers~ao de atraso de tempo

//em angulo

double calcAngulo(double dt)

return acos(dt/maxDt);

//Metodo responsavel pela movimentac~ao do motor

void rotacionarMotor(int passos)

//Verifica o sentido do movimento

if(passos > 0)

//Inicia o movimento

for(int i = 0; i < passos; i++)

stepper.step(1);

//Atraso que permite a obtenc~ao de torque para

//movimentar o rotor

delay(20);

else

passos *= -1;

//Inicia o movimento

for(int i = 0; i < passos; i++)

stepper.step(-1);

//Atraso que permite a obtenc~ao de torque para

//movimentar o rotor

delay(20);

48

delay(1000);

49

ANEXO A -- CRONOGRAMA

Horas Feitas Horas Estipuladas Datas Estipuladas

Montar circuito amplificador do microfone. 7:30 5:00 A partir de 27/03Montar circuito para controle e rotacao do motor. 4:30 5:00 A partir de 27/03

Escrever o algoritmo para analise do sinal do microfone. (Processing) (Somente para testes) 0:30 0:30 08/04 ate 11/04Escrever algoritmo para controle de rotacao do motor. (Arduino) 2:00 1:30 15/04 ate 18/04

Aumentar alcance do microfone. — 4:00 A partir de 09/05Alterar angulo de captacao do microfone. 1:30 10:00 A partir de 23/05

Escrever o algoritmo de correlacao. (Arduino) 21:00 8:00 09/05 ate 25/05Escrever o algoritmo de localizacao do som. (Arduino) 3:30 2:00 05/06 ate 08/06

Montar suporte para os microfones e acopla-los ao motor. — 24:00 13/05 ate 15/05Elaboracao da Monografia 126:00 90:00 A partir de 25/04

Total 190:30 150:00 —