Vamos simular o UltraSonic Sensor?
Tutorial no Youtube: http://www.youtube.com/watch?v=2D4hHMc_9_U
|
Olá, seja bem vindo.
Hoje irei demonstrar como simular um sensor ultrasônico (UltraSonic Sensor), aquele mesmo que serve para medir distância entre objetos, ou mesmo usado em robôs para que os mesmos não venham à colidir com algum obstáculo, dentre tantas outras aplicações.
Segue imagem do sensor abaixo:
Agora temos nosso sensor simulador no Proteus:
Conforme diagrama mais adiante, o que acontece é que este sensor possui um microcontrolador responsável por gerar os pulsos ultrassônicos que serão emitidos através de um destes transdutores instalados no shield do sensor. E após a emissão deste pulso, ele fica aguardando o retorno do mesmo, para que seja interpretada a distância que este pulso percorreu até o objeto.
Dependendo do tempo entre o pulso emitido e o pulso recebido pelo outro transdutor, o microcontrolador do sensor vai gerar outro pulso chamado de ECHO para a placa de controle.
O segredo está na duração do pulso que o sensor gera para a placa de controle.
Como alguns sensores tem características muito semelhantes, resolvi criar um programa para um microcontrolador (PIC nesta primeira versão) ,a simulação deste pulso de ECHO.
Explicando um pouco sobre o funcionamento, o sensor Ultrassônico fica aguardando um pulso de Trigger (gatilho) para simular a recepção do pulso e então envia um pulso de ECHO para a placa de controle por um período de tempo. A placa de controle é responsável por interpretar a distância. Então para isto ela efetua a medição da duração do pulso de ECHO, que entra na seguinte fórmula:
Distância em cm = ( Duração do Pulso em microssegundos) / 58
|
ou
Distância em polegadas = (Duração do Pulso em microssegundos) / 148
|
Pegando o exemplo da figura acima, vemos que o pulso teve duração de 4,93ms, ou seja, esse pulso corresponde a 4930us.
Para termos o valor em centímetros, devemos dividir este valor por 58, resultando em: 85 cm
Então alguém me pergunta: "Mas no diagrama não está 84cm?" Responderei: "Sim meu caro Sherlock Holmes!rs", o que acontece é que esta pequena diferença é devido aos erros de aproximação nos cálculos e também pelo fato de que para a medição do pulso de entrada no microcontrolador na placa de controle, existe uma precisão agregada à configuração dos timers internos e também ao sistema de clock do mesmo.
Examinando o programa de exemplo, vemos a seguinte chamada de função:
duration = pulseIn(echoPin, HIGH);
|
Sendo que para saber qual será o erro agregado ao valor dado pela função "pulseIn", devemos abrir a biblioteca do mesmo e estudar a configuração de timer e clock.
Funcionamento do Sensor Simulado:
Para facilitar o uso deste simulador no Proteus, e para que possamos ajustar a distância do nosso objeto simulado, fiz nesta primeira versão a referência como sendo um valor de tensão ou sinal analógico diretamente acoplado em um dos pinos do microcontrolador PIC16.
Basicamente o que ele faz é transformar a referência em volts para um valor de distância, gerando um pulso de ECHO proporcional na saída. Sendo que para ele emitir esse pulso de ECHO é necessário manter o pino de Trigger em nível alto por pelo menos 10us (microssegundos), conforme sensores comuns.
Para sabermos o valor de tensão que deve ser aplicado, existe uma pequena fórmula:
Valor de tensão em Volts = ( Valor da distância em cm ) / 225,76
|
Por exemplo, queremos simular uma distância de 5m (metros), que corresponde a 500cm (centímetros).
Para ter-se o valor de tensão, faremos: 500 / 225,76 = 2,21 V (volts)
Ou seja, tem-se que colocar o valor de 2,21V na entrada do pino RA0 (pino 2) do microcontrolador do sensor.
O interessante é que como é um valor analógico, fica fácil de criar diversas configurações de entrada, para simular por exemplo um objeto se afastando ou se aproximando da sua placa de controle ou robô. Que é o mais desejado.
Então, após configurado o valor de tensão para a distância do objeto, basta carregar no microcontrolador PIC16F1936 do sensor o arquivo UltraSonicSensorPIC16F.HEX que está dentro da pasta Source do projeto.
E na placa do simulino, pode ser utilizado o programa de exemplo incluído no projeto, devendo o mesmo ser compilado, ou então utilizado o arquivo UltraSonic_Shield.cpp.hex. Devendo o mesmo ser carregado no microcontrolador ATmega do Simulino.
Logo estarei postando o vídeo tutorial.
Até o próximo post.






Parabéns pelo post. Muito bom!!
ResponderExcluirSe tiver algum sobre a continuação da simulação, ou seja, a aplicação e calibração deste sensor, posta aí também.. valeu!
Mano como onde vc arrumou esta fórmula para transformar tensão em volts para centímetros??
ResponderExcluirOlá.
ExcluirEsta fórmula, que é: "Tensao(v)=Distancia(cm)/225,76" ou "Distancia(cm)=Tensao(v)*225,76" surgiu de uma aproximação linear do comportamento do sensor simulado.
Ou seja, serve apenas para este modelamento (ou componente) do sensor feito para o Proteus. Para o sensor real essa fórmula não se aplica.
Isso foi feito pois dentro do Proteus queria criar uma forma de inserir os valores de distância que queria simular para o sensor. Ou seja, uma hora gostaria que ele estivesse a 5 metros por exemplo, e depois de 10 segundos ele estivesse próximo de um objeto a uns 10 cm, e quando estivesse perto acionasse um alarme. Se pensarmos somente na distância, como é que iriamos simular ela de uma forma que fosse fácil para entrarmos com os valores? Por isso optei por criar um "conversor tensão x distância", pois tensão já sabemos criá-la de tudo quanto é forma, tempo, frequência, etc... e para moldar a leitura do sensor, tanto para aproximação quanto distânciamento do sensor, fica muito mais versátil.
Caso queira um detalhamento mais "técnico", esse valor surgiu a partir da sensibilidade do conversor ADC e dos Timers internos usados no modelamento do sensor. Caso ocorra mudança(provavelmente nunca haverá) na biblioteca utilizada, estes valores também "iriam" mudar.
Espero ter ajudado na dúvida. Abraços.
BOM PARA APRENDER MESMO
ResponderExcluirVou lhe sugerir uma ideia de tutorial, mas se puder me ajudar agora, com o programa, eu agradeço. SUGIRO um tutorial, em que se poderia configurar a distancia do sensor usando um potenciômetro, podendo visualizar a distancia num LCD. assim, eu não precisaria mexer no programa para mudar a distancia, e apenas no potenciômetro.
ResponderExcluirThank you for this excellent post. I have just started to read this article carefully. Keep up posting these type of post contuniously.
ResponderExcluirLeak Detection Switch
Bom dia, fiz tudo conforme vocês pedem, porem ao tentar simular esse sensor ultrassônico aparece essa mensagem no proteus internal excepition: acces violation in modulo "unknown", alguém sabe me dizer porque esá dando esse erro?
ResponderExcluiralguem tem um link de download nao expirado?
ResponderExcluirEu nunca vou me esquecer do você fez comigo. Eu nunca vou me esquecer do que aconteceu em bioquímica 2. Que você me fez acreditar que eu poderia passar na faculdade sem estudar e quando chegou em bioquímica 2, você decidiu não me dar cola e não me avisar nada. Por sua culpa, eu quase fiquei reprovado em bioquímica 2. Eu me lembro daquele trabalho em vídeo de bioquímica 2. Que o professor do bloco de lipídios de bioquímica 2 mandou a gente gravar um vídeo explicando a matéria, o vídeo era para ter 10 minutos de duração, o vídeo tinha uma margem de erro, por causa da margem de erro o vídeo podia ficar entre 7 minutos e 13 minutos. Eu gravei o vídeo seguindo as regras do professor e tirei 1 no vídeo, você não seguiu as regras, gravou um vídeo de 16 minutos e tirou 10 no trabalho do vídeo, quer dizer eu sigo as regras e não ganho nada, você não segue as regras e ganha um 10?
ResponderExcluirO professor nem deveria ter aceitado o seu vídeo, já que ele não seguiu as regras.
Você ainda falou que o professor tinha falado que o vídeo podia passar de 13 minutos, caso o vídeo estivesse completo, me diz uma coisa para que alguém entregaria um vídeo incompleto para o professor?
Você é a prova viva que vale a pena não seguir as regras.
Eu não estudei para produzir o vídeo, porque eu achei que você iria me dar cola. Agora você vai se formar como farmacêutico, graças à cola, graças ao Photomath.
Eu me lembro de como eu me senti, quando eu descobri que você estava fazendo IC com a Gadini, você apenas me usou para passar nas disciplinas do primeiro período. No segundo período em diante você não precisava mais de mim, então você mostrou quem é de verdade, você não passa de um egoísta que só pensa em si mesmo.
Eu sei que o nome do seu orientador é André Luis e que você está fazendo IC no laboratório de farmacobotânica, o que aconteceu para a Gadini não te querer mais e você resolver trocar de laboratório?
Será que o seu orientador acadêmico, sabe que você passou colando em cálculo para farmácia usando o Photomath?
Eu sei que você já até defendeu o seu TCC, será que você escreveu o seu TCC usando o Photomath?
Quer saber de uma coisa pode registrar outro boletim de ocorrência contra mim. Eu não tenho medo da polícia. A minha casa fica do lado de uma boca de fumo, a polícia só aparece aqui na minha rua para buscar o arrego.
Fez o que fez comigo e agora fica se fingindo de vítima. Era só o que me faltava.
Você passou colando em cálculo para a farmácia usando o Photomath. Eu nunca vou me esquecer do você fez comigo. Você passou colando em cálculo para a farmácia usando o Photomath.
ResponderExcluirVocê passou colando em cálculo para a farmácia usando o Photomath. Eu nunca vou me esquecer do que aconteceu em bioquímica 2. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Que você me fez acreditar que eu poderia passar na faculdade sem estudar e quando chegou em bioquímica 2, você decidiu não me dar cola e não me avisar nada. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Por sua culpa, eu quase fiquei reprovado em bioquímica 2. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Eu me lembro daquele trabalho em vídeo de bioquímica 2. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Que o professor do bloco de lipídios de bioquímica 2 mandou a gente gravar um vídeo explicando a matéria, o vídeo era para ter 10 minutos de duração, o vídeo tinha uma margem de erro, por causa da margem de erro o vídeo podia ficar entre 7 minutos e 13 minutos. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Eu gravei o vídeo seguindo as regras do professor e tirei 1 no vídeo, você não seguiu as regras, gravou um vídeo de 16 minutos e tirou 10 no trabalho do vídeo, quer dizer eu sigo as regras e não ganho nada, você não segue as regras e ganha um 10? Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. O professor nem deveria ter aceitado o seu vídeo, já que ele não seguiu as regras. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Você ainda falou que o professor tinha falado que o vídeo podia passar de 13 minutos, caso o vídeo estivesse completo, me diz uma coisa para que alguém entregaria um vídeo incompleto para o professor? Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Você é a prova viva que vale a pena não seguir as regras. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Eu não estudei para produzir o vídeo, porque eu achei que você iria me dar cola. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Agora você vai se formar como farmacêutico, graças à cola, graças ao Photomath. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. Eu me lembro de como eu me senti, quando eu descobri que você estava fazendo IC com a Gadini, você apenas me usou para passar nas disciplinas do primeiro período. Você passou colando em cálculo para a farmácia usando o Photomath.
Você passou colando em cálculo para a farmácia usando o Photomath. No segundo período em diante você não precisava mais de mim, então você mostrou quem é de verdade, você não passa de um egoísta que só pensa em si mesmo. Você passou colando em cálculo para a farmácia usando o Photomath.
Você colou usando Symbolab. Eu nunca vou me esquecer do você fez comigo.
ResponderExcluirVocê colou usando Symbolab. Eu nunca vou me esquecer do que aconteceu em bioquímica 2.
Você colou usando Symbolab. Que você me fez acreditar que eu poderia passar na faculdade sem estudar e quando chegou em bioquímica 2, você decidiu não me dar cola e não me avisar nada.
Você colou usando Symbolab. Por sua culpa, eu quase fiquei reprovado em bioquímica 2.
Você colou usando Symbolab. Eu me lembro daquele trabalho em vídeo de bioquímica 2.
Você colou usando Symbolab. Que o professor do bloco de lipídios de bioquímica 2 mandou a gente gravar um vídeo explicando a matéria, o vídeo era para ter 10 minutos de duração, o vídeo tinha uma margem de erro, por causa da margem de erro o vídeo podia ficar entre 7 minutos e 13 minutos.
Você colou usando Symbolab. Eu gravei o vídeo seguindo as regras do professor e tirei 1 no vídeo, você não seguiu as regras, gravou um vídeo de 16 minutos e tirou 10 no trabalho do vídeo, quer dizer eu sigo as regras e não ganho nada, você não segue as regras e ganha um 10?
Você colou usando Symbolab. O professor nem deveria ter aceitado o seu vídeo, já que ele não seguiu as regras.
Você colou usando Symbolab. Você ainda falou que o professor tinha falado que o vídeo podia passar de 13 minutos, caso o vídeo estivesse completo, me diz uma coisa para que alguém entregaria um vídeo incompleto para o professor?
Você colou usando Symbolab. Você é a prova viva que vale a pena não seguir as regras.
Você colou usando Symbolab. Eu não estudei para produzir o vídeo, porque eu achei que você iria me dar cola.
Você colou usando Symbolab. Agora você vai se formar como farmacêutico, graças à cola, graças ao Photomath.
Você colou usando Symbolab. Eu me lembro de como eu me senti, quando eu descobri que você estava fazendo IC com a Gadini, você apenas me usou para passar nas disciplinas do primeiro período.
Você colou usando Symbolab. No segundo período em diante você não precisava mais de mim, então você mostrou quem é de verdade, você não passa de um egoísta que só pensa em si mesmo.
Você colou usando Symbolab. Eu sei que o nome do seu orientador é André Luis e que você está fazendo IC no laboratório de farmacobotânica, o que aconteceu para a Gadini não te querer mais e você resolver trocar de laboratório?
Você colou usando Symbolab. Será que o seu orientador acadêmico, sabe que você passou colando em cálculo para farmácia usando o Photomath?
Você colou usando Symbolab. Eu sei que você já até defendeu o seu TCC, será que você escreveu o seu TCC usando o Photomath?
Você colou usando Symbolab. Quer saber de uma coisa pode registrar outro boletim de ocorrência contra mim.
Você colou usando Symbolab. Eu não tenho medo da polícia.
Você colou usando Symbolab. A minha casa fica do lado de uma boca de fumo, a polícia só aparece aqui na minha rua para buscar o arrego.
Você colou usando Symbolab. Fez o que fez comigo e agora fica se fingindo de vítima.
Você colou usando Symbolab. Era só o que me faltava.