Desde criança, sempre me interessei em saber como tudo funciona. E creio que muitos garagistas tem esse mesmo interesse. 

Esse será o primeiro tópico da futura lista de " COMO FUNCIONA ? "

Já fiz alguns tutorias de módulos, mas para explicar como usa-los. Normalmente eu aprofundo um pouco no assunto e até explico como funciona - parcialmente. 

No interesse de desenvolver um sensor ultrasonico para medir nível de caixa d`agua, tenho pesquisado alguns módulos de ultrasom. 

http://labdegaragem.com/forum/topics/sensor-de-n-vel-de-caixa-d-gua...

Nesse tópico, fiz o levantamento do circuito eletrônico, fiz as medições com osciloscópio e até com analisador lógico. Ficou muito interessante e agora dá para entender como esse módulo de sensor de distância funciona !

Me baseie também em alguns links de outros que já descobriram o funcionamento desse sensor. 

Espero que gostem. 

Gustavo Murta 

Exibições: 6999

Responder esta

Respostas a este tópico

Levantamento do circuito Eletrônico : 

A primeira etapa para eu fazer o levantamento do circuito eletrônico é fazer fotos do módulo. 

A foto no tópico título é minha. 

Criei um estrutura para fotografar, que ficou bem iluminada. Coloquei uma espumas de EPE como suporte e base de um conjunto de quatro lampadas de led. Ajusto a posição das lampadas para refeltir a luz, quando eu quero. 

Usei um camera Nikon P90 no modo macro. 

Essa é a foto do outro lado do módulo ( o lado dos componentes) . 

A partir dessa foto eu faço um diagrama das ligações, primeiramente desenhando os componentes na mesma posição da placa. Usei o editor ExpressSCH ( muito fácil de usar e é gratis) . 

https://www.expresspcb.com/expresssch

Esse processo é muito demorado. Quando não dá para ver ou descobrir como são feitas as ligações, faço teste com ohmimetro. Dá muito trabalho. 

Como já tinha descoberto um diagrama do circuito eletrônico do módulo HC-SR04, eu estou postando o que eu encontrei. Como eu não tinha certeza que era o mesmo do meu módulo, resolvi conferir todas as ligações ! 

Esse diagrama está correto, mas o meu módulo tem duas diferenças. 

 - a frequência do cristal do clock do microcontrolador EM78P135 é de 8 MHz. 

- o resistor R2 no meu circuito é de 33 K ohms. 

Esse é o link do diagrama que eu encontrei . O cara usou o programa Inkspace para desenhar . 

https://inkscape.org/pt/

Link do diagrama:

http://uglyduck.ath.cx/ep/archive/2014/01/Making_a_better_HC_SR04_E...

Mais um coisa que eu aprendi, que eu não sabia. Existe um outro código para identificação de resistores SMD. Alguns resistores do meu módulo usam essa nova codificação :

Alpha Numeric Code for Resistors

http://venkel.com/docs/default-source/technical/0603-marking-code-v...

Esses são outros links que achei interessantes sobre o Módulo HC-SR04:

http://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc...

http://mc-computing.com/Hardware_Platforms/Arduino/HC-SR04_Ultrason...

https://arduino-info.wikispaces.com/UltraSonicDistance

http://arduinobasics.blogspot.com.br/2012/11/arduinobasics-hc-sr04-...

http://ww1.microchip.com/downloads/en/AppNotes/00001536A.pdf

https://www.parallax.com/downloads/ping-ultrasonic-distance-sensor-...

Olá meu amigo Zé gustavo,

    Andei sumido, mas voltei kkk.

    Bem, vamos lá,  para o que você deseja, o HC-SR04 não irá servir, ou seja, para medir nível de caixa d'agua.

    A razão é simples,  essa versão do sensor NÃO é a prova d'agua,  ou até mesmo dos vapores da água dados pela evaporação natural, que vai levar ele logo logo a deterioração e ao curto.

    A versão pra o que você deseja eu só encontrei ela mês passado, e somente importando, aqui no brasil não tem ainda, é essa  ******* AQUI ******   (sei que era contra as regras do forum colocar links de venda de produtos de outros sites, mas agora o lab não tem mais loja, logo, acho que isso tá revogado, bem... eu acho né)

     Bem, quanto ao sensor, eu li sobre ele, e o mesmo parece utilizar as mesmas bibliotecas do HC-SR04, ao menos a pinagem é a mesma.

Caro Weider, se for ler os tópicos do link sobre sensor de caixa d´agua, vai ver que isso já foi amplamente discutido. Não disse que usaria o HC-SR04 como sensor de caixa d´agua. 

Veja nos topicos, que eu já tinha comprado o sensor de estacionamento, que é a prova dágua. 

Abraços. Aguarde que vem aí mais informação importante ...

http://labdegaragem.com/forum/topics/sensor-de-n-vel-de-caixa-d-gua...

O que eu já descobri desse sensor, que é por ser diferente dos outros, ele precisa de uma tensão muito maior para produzir o ultrasom . No sensor de estacionamento a tensão de pico a pico chega nos 180V !! 

Datasheet dos principais componentes : 

Para conhecer os principais componentes do módulo HC-SR04, estou enviando os links dos datasheets :

Microcontrolador EM78P35S >

Esse microcontolador de 8 bits é usado também em sensores de estacionamento. 

Deve custar muito barato ! É de um fabricante chinês. 

http://www.emc.com.tw/eng/

Simples, mas eficiente. 

Links do Datasheet:

http://www.emc.com.tw/eng/8bit_gpio_ds.asp

http://www.emc.com.tw/eng/8bit_prod_dsc.asp?gid=&tid=000002&...

O Amplificador operacional LM324:

É um velho conhecido, muito usado e famoso. Ele é usado para amplificar e detectar o sinal de eco do ultrasom. 

http://www.ti.com/lit/ds/symlink/lm124-n.pdf

E o MAX232 - driver de EIA232:

Esse chip é muito usado na interface serial RS232 para adaptar os sinais de 5V com os outros níveis.  

Mas nesse módulo, ele é usado somente para gerar tensões mais altas para excitar o transdutor transmissor de ultrasom. 

http://www.ti.com/lit/ds/symlink/max232.pdf

Valeu super Zé gustavo,

    

    Não sabia que havia um topico seu sobre medição de caixa dágua com ultrasonico,   pensei que estivesse começando aqui,  dai como já andei brincando com os HC-SR04,  onde eu cheguei a colocar 6 sensores em uma mesma aplicação,  pensei que poderia ajudar com a informação do problema não impermeabilidade,  mas fico feliz que vocês já tenham resolvido tudo.

    Uma duvida grande zé, pra eu não sair lendo tudo seu por ai ( kkk ) vocês conseguiram fazer o arduino ler os dados dos sensores ultrasonicos de automovel?  se sim, dá pra colocar o link do post onde você explica como fez.

   Obrigado.

Weider, eu fiz um levantamento do circuito eletrônico do sensor de estacionamento. 

http://labdegaragem.com/forum/topics/sensor-de-n-vel-de-caixa-d-gua...

Mas não conectei-o no Arduino. 

Havia me esquecido. Veja o datasheet de alguns transdutores de Ultrasom. 

Alguns podem funcionar como transmissor ou receptor. Mas outros tem a função específica,ou é transmissor ou receptor. 

Air Ultrasonic Ceramic Transducers 400ST/R160

http://www.robot-electronics.co.uk/files/t400s16.pdf

Air Ultrasonic Ceramic Transducers 400ST/R100

http://www.robot-electronics.co.uk/files/t400s10.pdf

Air Ultrasonic Ceramic Transducers 400PT160

http://www.robot-electronics.co.uk/files/t400pt16.pdf

Verificando as formas de onda com Osciloscópio :

Para entender como um circuito eletrônico funciona. é imprescindível que as formas de ondas sejam verificadas  e analisadas. No início, tudo é mais difícil. Algumas formas de ondas precisam de ajustes especiais para poder capturá-las. Mas após o entendimento das partes do circuito, as peças do quebra-cabeças vão se encaixando. 

Tem que ter paciência e muita perseverança - uma hora a gente consegue ver o que estava querendo. 

Essas são algumas formas de onda :

Essas duas formas de onda foram capturadas nos pinos 14 e 07 do MAX232, isto é, nos pinos do Transdutor transmissor de ultrasom. Veja que os sinais estão defasados um do outro. Porque ? 

Para que o sinal seja o mais potente possível. A frequência do sinal é de precisos 40KHz. E são usados somente oito pulsos para gerar o Burst (explosão) de som. 

Veja que com o gerador de tensão do MAX232, as tensões aplicadas no transmissor de ultrasom chegam a 40V pico a pico. Esses pulsos depois do oito pulsos, são reverberações no transdutor. 

Esses outros pulsos são descartados  no circuito de recepção. 

Interessante que o chip MAX232 é usado somente quando são gerados os pulsos. Depois ele é desligado. 

Isso é feito para reduzir o consumo de energia do módulo e para não sobrecarregar a corrente nos componentes. 

Veja que no canal 1 tem o pulso de Trigger ( disparo comandado pelo Arduino) , e no canal 2 tem o pulso negativo (HV on - alta voltagem ligada). 

Veja que durante o HV on, os oito pulsos são enviados :

Verificando os sinais digitais com Analisador Lógico : 

Depois que verifiquei vários pinos  do módulo com o meu osciloscópio TEK TBS1062, para confirmar as tensões, fiz uma montagem bem interessante para conectar o meu analisador lógico ao módulo HC-SR04. 

Esse é o  analisador lógico (barato e muito bom - compatível com Saleae - oito canais 24 MHz) 

Como o módulo HC-SR04 usa componentes SMD e é muito pequeno, soldei  vários fios finos de cobre nos pinos de medida. As outras pontas fiz as ligações com o analisador lógico através do protoboard. 

Sinais digitais do Módulo HC-SR04 com Analisador Lógico : 

Com essa análise dos pinos digitais ( todos os pinos monitorados são do microcontrolador) tudo ficou mais claro. 

O projeto desse sensor foi muito bem elaborado ! 

Deve ter sido desenvolvido pelos chineses, e já devem ter vendido milhares de módulos desses pelo mundo afora. 

Esses são os pulsos aplicados no MAX232 ( nele os sinais são amplificados) :

A frequência é de 40 KHz. (dutty cycle 50%)  - pinos 14 e 13 do Microcontrolador (MC). 

Aqui estão todos os pulsos digitais para uma distancia de 15 cm do sensor para o obstáculo. 

Canal 00 - pulso de disparo 16 us (trigger) do Arduino (pino 01 do MC) 

Canal 01 - HV on - ativação de tensão sobre o chip MAX232 (pino 02 do MC) 

Canal 02  - oito pulsos de 40 KHz (pino 14 do MC) 

Canal 03  - oito pulsos defasados de 40 KHz (pino 13 do MC) 

Canal 04 - Threshold (nível) - esse pulso negativo é usado para desativar o circuito amplificador do receptor de ultrasom. (pino 09 do MC) 

Canal 05 - Signal - quando os sinais de eco do ultrasom são detectados, varios pulsos são gerados. (pino 10 do MC) 

Canal 06 - Echo - esse é o sinal de saída enviado para o Arduino - corresponde ao tempo gasto para o módulo receber o eco do ultrasom. (pino 02 do MC) 

Para comparação , essa outra monitoração é para um obstáculo de 20,5 cm de distância do sensor. 

Veja que a duração de tempo (ECHO) é maior, pois o som demora mais tempo para ir e voltar. 

Velocidade do som no ar     X   Temperatura : 

Vocês sabiam, que a velocidade do ar varia com a temperatura, umidade e qualidade do ar ? 

As alterações na umidade e na qualidade do ar não fazem muita diferença para os sensores ultrasonicos. 


Mas para que um sensor de distância ultrasonico tenha precisão, é necessário que a variação da velocidade seja levada em conta. A velocidade do ar aumenta 0,6 m/s a cada grau Centigrado (Celsius)  de aumento na temperatura do ar. 

Sabendo-se que a velocidade do som no ar com a temperatura de 0 grau centigrado é de 331,5 m/s, podemos calcular a velocidade do som com essa fórmula:

Exemplos de cálculo da velocidade do ar, baseando-se em determinadas temperaturas :

(No Brasil, onde existem grandes variações de temperatura, esse cálculo é importante) 

Para 10 C = 

 C (10C) = 331,5 + (0,6 x 10) = 331,5 + 6 = 337,5 m/s 

Para 22,2 C = 

  C (22,2 C) = 331,5 + (0,6 x 22,2) = 331,5 + 13,32 = 344,82 m/s 

Para 25 C = 

 C (25C) = 331,5 + (0,6 x 25) = 331,5 + 15 = 346,5 m/s 

Para 40 C = 

 C (40C) = 331,5 + (0,6 x 40) = 331,5 + 24 = 355,5 m/s 

Mais uma dica interessante. Alguns sensores de temperatura americanos medem a temperatura na escala Fahrenheit . 

Para converter Celsius para Fahrenheit, multiplique Tc por 1,8 e adicione 32. 

Para fazer a conversão para grau Centígrado ou vice-versa, use essas fórmulas :

Referências :

http://learn.parallax.com/support/reference/speed-sound-air-vs-temp...

https://pt.wikipedia.org/wiki/Velocidade_do_som

Como funciona o sensor HC-SR04 ?

O módulo HC-SR04 tem dois transdutores de Ultrasom. Um transdutor emite os oito pulsos de 40 KHz e ou outro capta o eco desse som. Para disparar os pulsos no transmissor, é necessário um pulso Trigger de no mínimo 10 microsegundos.

Alguns microsegundos após o pulso Trigger, o chip MAX232 começa a gerar a tensão de alimentação do  transmissor (aproximadamente 20V CC). Assim que a tensão é estabilizada, o Microcontrolador envia para o driver MAX232, os oito pulsos de 40 KHz. 

Após o disparo dos pulsos de Ultrasom, o circuito polariza um dos amplificadores operacionais para impedir que a reverberação automática do transdutor seja percebida.( Threshold) 

Após esse atraso (delay) o módulo "abre os ouvidos"  e começa a monitorar a presença de pulsos de eco do ultrasom, usando o transdutor receptor e amplificando o sinal com os amplificadores operacionais. Um dos amplificadores operacionais configurado como filtro e usando um transistor, converte os pulsos de eco em um sinal digital (signal) que faz o Microcontrolador contar o tempo de atraso do eco. Assim o Microcontrolador  gera o pulso de ECHO, que é usado pelo Arduino para calcular a distância. 

Sabendo-se a velocidade do som no ar, podemos calcular a distância percorrida pelo som :

Velocidade do som no ar com a temperatura de 25 C = 346,5 metros/segundo

Convertendo para outras unidades (centímetros/microsegundos) = 0,03465 cm/us 

          Tempo = distância / velocidade 

Exemplo para 10 cm :

    Tempo = 10 cm /  0,03465 cm/us  =  288,6 us 

  Distância = tempo x velocidade 

Como o som vai e volta (eco), a distância deve ser dividida por 2. 

  Distância = ( tempo x  0,03465 cm/us ) / 2 

Analisando o meus tempos medidos com o analisador lógico : 

Para 15 cm , o pulso de ECHO no meu módulo foi de 0,8835 ms ( ou 883,5 us) 

 Distância = ( 883,5 us x  0,03465 cm/us ) / 2 = 30,61 / 2 = 15,3 cm ( MUITO BOM !! ) 

Referências :

http://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço