Você está na página 1de 16

ROBTICA

Sensor Smart

Ultrassom

Verso Hardware: 1.0 Verso Firmware: 1.0


REVISO 1211.13

www.robouno.com.br

Sensor Smart Ultrassom


1. Introduo
Os sensores de ultrassom ou ultrassnicos so sensores que detectam a presena de obstculos e que podem calcular a distncia em que se encontram estes obstculos. O seu princpio de funcionamento baseia-se na emisso de ondas sonoras de alta frequncia e na medio do tempo que o eco produzido, quando esta onda se choca com um objeto capaz de refletir o som, leva para voltar at o receptor. Possuem este nome por trabalharem com frequncias acima das frequncias audveis.

20Hz a 20.000Hz

40.000Hz

2. Funcionamento
O Sensor Smart Ultrassom Uno utiliza um transmissor e um receptor de ultrassom, atravs dos quais determina a distncia de objetos presentes sua frente. Na ilustrao abaixo, temos o princpio de funcionamento do sensor: ondas transmitidas

ondas sendo rebatidas

ondas recebidas esquerda da imagem temos o sensor Ultrassom Uno 1.0 e direita um objeto colocado sua frente. O sensor emite uma onda ultrassnica durante um determinado tempo, esta onda sonora rebate no material e retorna ao receptor do sensor. O tempo que a onda leva para ir e voltar medido pelo sensor, e como a velocidade do som conhecida, possvel calcular a distncia do objeto atravs da equao:

Por ser um Sensor Smart, o Ultrassom Uno 1.0 calcula automaticamente esta distncia e a salva em um registrador prprio, que pode ser acessado pelo Controlador UNO atravs do protocolo de comunicao SMARTUNO. Este registrador equivale a uma varivel do tipo unsigned int, ou seja, pode assumir valores de 0 65535. Como o sensor reconhece distncias de 20 mm 2000 mm, quando o valor do registrador assumir 65535, significa que o sensor no est identificando obstculos sua frente. A unidade de medida usada neste registrador milmetros.

Ultrasson

www.robouno.com.br

3. Montagem do Sensor no Rob UNO


O sensor ultrassom pode ser montado de diversas maneiras no rob Uno, sendo que existem duas principais: fix-lo no suporte existente no acessrio Garra Uno, ou utilizar o Suporte de Sensores Uno. Veja a seguir o passo-a-passo destas duas formas de se montar o sensor no rob Uno. Siga a que melhor atende seu caso:

Suporte de Sensores
Para montar o sensor no suporte, coloque os quatro parafusos de 12 mm e as quatro porcas primeiro apertando com a mo, e depois aperte com a chave sextavada todos os quatro parafusos. No esquea dos espaadores de 3 mm entre o sensor e o suporte. Observe que tanto o Suporte de Sensores como o sensor ultrassom devem ser posicionados corretamente.
Observe a orientao do suporte de sensores e do sensor ultrassom

01 Sensor Ultrassom 01 Suporte de Sensores 04 Parafusos 3x12 mm 04 Espaadores 3 mm 04 Porcas

Aps fixar o sensor no suporte, conecte o cabo com 4 vias no sensor, inserindo o conector do cabo at o final dos pinos no sensor.
Fio Marrom

Pino GND

Tome cuidado ao conectar o cabo, de maneira que o fio marrom fique conectado ao pino GND do sensor (indicado na parte traseira do sensor). Para mais detalhes sobre a ligao, consulte a seo 4. Conexes.

Com o sensor colocado no suporte e com o cabo conectado, podemos fix-lo no chassi do rob UNO. Retire as duas rodas principais usando uma chave de fenda phillips. Isso facilitar a colocao e fixao do Suporte de Sensores. Afrouxe os dois parafusos frontais do chassi lateral indicados ao lado. No necessrio retir-los completamente, apenas solte o necessrio para que seja possvel encaixar o Suporte de Sensores nas fendas laterais.
Afrouxe estes parafusos

Ultrasson

www.robouno.com.br

Encaixe um lado do Suporte de Sensores na fenda lateral indicada e, com cuidado, encaixe o outro lado. Observe a orientao do sensor ultrassom, com o cabo saindo para cima. O cabo foi omitido nas imagens a seguir para facilitar a visualizao. Aps encaixar o suporte, aperte novamente os parafusos afrouxados no passo anterior.

O cabo pode ser passado para a parte traseira do rob pelo espao entre o controlador e o chassi principal. Na seo 4. Conexes veremos como conectar o sensor ao controlador corretamente. Prenda o Suporte de Sensores ao chassi do rob com dois parafusos de 12 mm e suas porcas, atravs do Sistema T. 02 Parafusos 3x12 mm 02 Porcas Chassi com suporte

Recoloque as rodas principais com o auxlio de uma chave de fenda phillips. Pronto! O sensor Ultrassom UNO j est montado no rob UNO.

Ultrasson

www.robouno.com.br

Suporte da Garra
Para montar o sensor no suporte encontrado na Garra, coloque dois parafusos de 12 mm nos furos inferiores do sensor. Prenda o sensor no suporte com duas porcas conforme as imagens, primeiro apertando com a mo, e depois com a chave sextavada. No esquea dos espaadores de 3 mm entre o sensor e o suporte da garra.

01 Sensor Ultrassom 01 Garra com suporte 02 Parafusos 3x12 mm 02 Espaadores 3 mm 02 Porcas

Se a garra j est montada no rob, no necessrio desmont-la. Coloque o sensor no suporte seguindo as imagens acima. Aps a montagem do sensor o rob UNO ficar como na imagem abaixo:

Use estes furos para prender o sensor

Observe a posio correta do sensor

Ultrasson

www.robouno.com.br

4. Conexes
Como todo Sensor Smart Uno, o Ultrassom pode ser conectado qualquer uma das portas de comunicao Sensores Smart do controlador Uno. Para conectarmos o sensor no controlador, usamos o cabo com 4 vias fornecido junto com o sensor. Este cabo alm de alimentar o sensor, tambm fornece as vias de comunicao entre o controlador e o sensor. Observe sempre o sentido da conexo do cabo, pois o pino GND do sensor deve ser ligado no pino GND das portas Sensor Smart do controlador, assim como os pinos 5V, Data e Clock devem ser conectados entre si. Por padro, ligue o fio marrom sempre no pino GND, tanto do sensor quanto do controlador
Clock Data 5V GND Clock Data 5V GND

Fio Marrom

Insira o conector do cabo at a base dos pinos Pino GND Fio Marrom Pino GND

Insira o conector do cabo at a base dos pinos

5. LED Indicador
O Sensor Smart Ultrassom possui um LED indicador azul na sua parte frontal. No momento em que o sensor alimentado, o LED comea a piscar indicando que o sensor est ligado e funcionando. Quando o programa do rob UNO configura o sensor para gerar algum tipo de interrupo, o LED pisca mais rpido, indicando que est configurado adequadamente. O LED indicador tambm pode ser desabilitado, embora o sensor continue funcionando normalmente. Esta opo til para economia de baterias. Consulte a seo 8. Comandos de configurao e acesso para verificar como habilitar e desabilitar o LED indicador.

Ultrasson

www.robouno.com.br

6. Configurao do Endereo
Todos os Sensores Smart trabalham comunicando-se com o controlador UNO via protocolo SMARTUNO. Neste protocolo, os perifricos (sensores e mdulos) possuem tipos e endereos pr-determinados. O valor do tipo fixo e vm configurado de fbrica, variando seu valor de acordo com o modelo do perifrico. J o endereo pode assumir valores entre 0 e 255 e pode ser configurado pelo usurio. O tipo e o endereo permitem o acesso individual ao sensor, independente da porta Sensores Smart do controlador que esteja conectado. Ao enviarmos requisies ou comandos de configurao, devemos informar o endereo do sensor que deve receber as informaes. O valor do endereo definido pelo estado da chaves do DIP switch do sensor: DIP Chaves Endereo DIP Chaves Endereo

Valor da memria

08

01

09

02

10

03

11

04

12

05

13

06

14

07

15

Sempre que for alterar o endereo do sensor, desligue o rob ou desconecte o cabo do sensor. Quando configuramos o endereo para o valor da memria (todas as chaves desligadas), o sensor busca na sua memria EEPROM o valor do seu endereo. Este endereo vem configurado de fbrica com o valor 255. Ou seja, quando desligamos todas as chaves do DIP do sensor ele assume o endereo 255. Para alterar o valor do endereo armazenado na memria devemos usar os blocos de comando especficos para configurao dos Sensores Smart no Studio UNO. A seo 9. Alterando o Endereo da Memria explica todos os passos para mudar o endereo salvo na memria do sensor.

Ultrasson

www.robouno.com.br

7. Usando o sensor no Studio UNO


Com o sensor ultrassom j montado e configurado, podemos us-lo em nossos programas no Studio UNO. Para isso, temos que informar ao Studio UNO o tipo e o endereo do sensor a ser utilizado, para assim, termos acesso aos blocos de comando especficos do sensor. Sempre que criamos um programa novo, devemos adicionar os sensores que iremos usar no programa.

1
Selecione o nvel 2 da linguagem (avanado) no Studio UNO.

Aps, selecione a categoria Sensores Smart e clique no boto Adicionar um Sensor.

Na janela Sensor Smart que aparece, selecione o tipo do sensor: Ultrassom. No campo Endereo, digite o nmero do endereo do sensor a ser adicionado. Neste exemplo, usaremos o endereo 1. Por ltimo, clique no boto OK para confirmar. No esquea de configurar o sensor ultrassom no rob para o endereo 1, ligando apenas a chave 1 do DIP.

O bloco que d acesso a leitura atual do sensor ultrassom fica disponvel na paleta de blocos. Podemos usar o bloco como qualquer outro bloco de valor do Studio UNO. Sempre que usar o bloco, selecione o endereo do sensor no menu do bloco: Lembre-se que o valor retornado refere-se distncia de um objeto detectado pelo sensor em milmetros e que este valor do tipo unsigned int. Pronto! O Sensor Smart Ultrassom j est adicionado ao Studio UNO. Agora vamos fazer um programa que o utilize.

Ultrasson

www.robouno.com.br

Exemplo 1 Monte o programa conforme a imagem ao lado. Compile e grave o programa no seu rob Uno. Este programa ficar escrevendo no display o valor da leitura atual do sensor ultrassom. Como o tipo retornado pelo bloco unsigned int, seu valor pode variar de 0 65535. O valor que ser escrito no display corresponde distncia em milmetros que o objeto se encontra do sensor. Assim, se no display for escrito 1.000, significa que o objeto mais prximo ao sensor est a uma distncia de 1.000 mm ou 1 metro. Se no display aparecer escrito o valor 65535, significa que no h objetos na rea de leitura do sensor.

Execute o programa no seu rob UNO e coloque algum objeto na frente do sensor. O display mostra a distncia detectada. Aproxime e afaste o objeto do sensor e observe a mudana da distncia no display. Exemplo 2: Agora vamos criar outro programa usando o sensor ultrassom, com uma aplicao mais prtica:

Crie um novo arquivo no Studio UNO e adicione um sensor do tipo Ultrassom com endereo 1. Tambm crie uma varivel do tipo unsigned int com o nome distancia. Monte o programa como na imagem ao lado. Verifique se o sensor Ultrassom do seu rob est configurado com o endereo 1. Compile e grave o programa no rob UNO.

Este programa ao ser executado faz com que o rob ande para frente e escreva no display a distncia de algum objeto detectada pelo sensor ultrassom. Quando a distncia for menor que 30 cm (300 mm), o rob ir parar. Se o objeto for retirado ou o rob movido e a distncia detectada pelo sensor voltar a ser maior que 30 cm, o rob continuar a se mover frente. O display sempre mostrar a distncia que o sensor est detectando. Voc pode alterar o valor da distncia que far o rob andar ou parar, mudando o valor da comparao do valor da varivel: Lembre-se que o sensor detecta distncias entre 2 cm e 200 cm, ou seja, o valor da comparao deve variar entre 20 e 2000.

Ultrasson

www.robouno.com.br

8. Comandos de configurao e acesso


O Sensor Smart Ultrassom Uno possui uma grande quantidade de comandos de configurao e acesso s leituras. Os comandos de configurao controlam o modo do funcionamento do sensor. Com estes comandos, voc pode configurar o funcionamento do LED indicador e, at mesmo configurar o sensor para gerar interrupes no controlador para determinados eventos. Os comandos de acesso permitem obter o valor da leitura atual do sensor de diversas maneiras.

Para se ter acesso a todos os blocos de configurao do sensor, basta selecionar o nvel 3 da linguagem (profissional) no Studio UNO. No nvel 2, apenas alguns comandos esto disponveis. Todos os blocos de configurao e acesso especficos do tipo do sensor esto a disposio na categoria Sensores Smart. Para visualizar a tela de ajuda especfica do bloco, voc pode clicar com o boto direito do mouse sobre o bloco e escolher o item Ajuda no menu que aparecer.

Veja a seguir a descrio de cada bloco de configurao e acesso do sensor ultrassom e sua utilizao. Vetor de interrupo do Sensor Smart. Este bloco inicia a lgica de tratamento da interrupo configurada para o sensor selecionado. Este bloco retorna o cdigo referente a qual interrupo o sensor est configurado para responder. Para interpretar este cdigo, veja os exemplos: Se nenhum bit estiver setado, o sensor no est configurado para gerar interrupes Bit 0 setado: o sensor est configurado para gerar interrupes a cada leitura do sensor Bit 1 setado: o sensor est configurado para gerar interrupes quando a distncia do objeto passar de maior para menor que o valor configurado, ou seja, o objeto est se aproximando e passou do valor determinado. Bit 2 setado: o sensor est configurado para gerar interrupes quando a distncia do objeto passar de menor para maior que o valor configurado, ou seja, o objeto est se afastando e passou do valor determinado. Bit 3 setado: o sensor est configurado para gerar interrupes quando houver uma transio do valor da distncia em relao ao valor configurado, ou seja, o objeto est se aproximando ou se afastando e passou pelo valor determinado.

Ultrasson

10

www.robouno.com.br

Verifica se ocorreram interrupes. Caso tenham acontecido, executa a rotina de tratamento da interrupo. Isso tambm feito automaticamente pelo Studio UNO. Envia comandos de configurao ao sensor que no requerem a passagem de parmetros. Estes comandos so:

Configura o sensor para no gerar mais interrupes de nenhum tipo. Configura o sensor para gerar interrupes a cada leitura feita. Em mdia, a leitura leva 60ms para ser realizada, mas varia conforme a distncia que o objeto se encontra. Liga o LED indicador do sensor. Sempre que o sensor for ligado, o LED acende por padro. Desliga o LED indicador. Apesar do LED estar desligado, o sensor continua funcionando normalmente. Este bloco geralmente usado para economia de energia. Envia comandos de configurao ao sensor que requerem a passagem de parmetro. Estes comandos so:

Configura o sensor para gerar interrupes quando a distncia do objeto passar de maior para menor que 20 cm, ou seja, o objeto est a menos de 20 cm e se aproximando do sensor. Configura o sensor para gerar interrupes quando a distncia do objeto passar de menor para maior que 25 cm, ou seja, o objeto est a mais de 25 cm e se afastando do sensor. Configura o sensor para gerar interrupes quando a distncia do objeto aumentar ou diminuir de 30 cm. Configura o fator de temperatura para o clculo da distncia em 20C. A temperatura padro 25C. Altera o valor do endereo do sensor gravado na memria EEPROM para 44. O sensor assumir este endereo quando sua chave DIP for configurada para valor da memria:

Ultrasson

11

www.robouno.com.br

Retorna o valor da leitura atual do sensor ultrassom. Este valor refere-se distncia em milmetros at um objeto e do tipo unsigned int. Se este bloco retornar o valor 65535, significa que o sensor no detectou nenhum objeto no seu alcance. Retorna o valor da leitura atual do sensor ultrassom. Este valor refere-se ao tempo em microssegundos que a onda ultrassonora leva para chegar at um objeto e retornar ao sensor. Este valor do tipo unsigned int. Se este bloco retornar o valor 65535, significa que o sensor no detectou nenhum objeto no seu alcance. Este bloco refere-se a uma varivel unsigned int, que armazena o valor do registrador de distncia do sensor no momento em que a interrupo foi gerada. Normalmente, so usados dentro das rotinas de tratamento das interrupes. Este bloco refere-se a uma varivel unsigned int, que armazena o valor do registrador de tempo do sensor no momento em que a interrupo foi gerada. Normalmente, so usados dentro das rotinas de tratamento das interrupes.

9. Alterando o Endereo da Memria


Para mudarmos o endereo armazenado na memria EEPROM do sensor, devemos desconectar os cabos de todos os outros sensores ultrassom conectados ao controlador UNO, deixando conectado apenas o sensor que iremos trocar o endereo da memria. Isto evita que ocorram conflitos de endereamento. Lembre-se que cada Sensor Smart deve ter um endereo nico entre todos os sensores do mesmo tipo. Para se ter acesso ao bloco de configurao do sensor que permite que alteremos o endereo da memria, devemos selecionar o nvel 3 da linguagem (profissional) no Studio UNO. Selecione a categoria Sensores Smart. O bloco que devemos usar para mudar o endereo o bloco Ultrassom: envia comando com um parmetro. Observe na imagem ao lado o programa que muda o endereo do sensor Ultrassom 1 para o endereo 44. Basta agora, compilar, gravar e executar o programa no rob UNO. Aps a execuo, o endereo da memria ser alterado para 44. Lembre de configurar a chave DIP adequadamente conforme indicado abaixo:

Endereo Novo atual Endereo Comando para alterar o endereo da memria

A chave DIP do sensor que vamos alterar o endereo da memria deve estar configurada para endereo 1, conforme exemplo acima.

Aps executarmos o programa, devemos desligar o rob e desligar todas as chaves do DIP switch do sensor. Assim, o sensor estar configurado para o endereo da memria 44. Voc pode usar a rea esquerda do sensor para escrever o endereo atual da memria. Se quiser, por exemplo, usar o endereo 1 novamente, basta configurar a chave DIP adequadamente, pois ela tem precedncia sobre o endereo da memria. Mas o valor configurado do endereo da memria no ser apagado.

Ultrasson

12

www.robouno.com.br

10. Fator Temperatura


A velocidade de propagao do som depende da temperatura. Quanto maior a temperatura, maior a velocidade do som. Como o sensor ultrassom usa a velocidade do som para determinar a distncia de um objeto, devemos configurar o Fator Temperatura do sensor para obtermos medidas mais exatas. Observe na tabela abaixo a velocidade do som em diferentes temperaturas:

Se nenhum fator for configurado, o sensor usar a temperatura de 25C para calcular a distncia do objeto. Por exemplo, se um objeto est a 1 metro (1.000 mm) do sensor e a temperatura ambiente de 10C, o sensor indicar que a distncia de 1.027 mm, ou 2,7 cm mais distante, pois o sensor leva em conta a velocidade do som na temperatura de 25C. Deve-se usar o bloco abaixo, configurando o sensor Ultrassom para usar a temperatura de 10C como fator para determinar a distncia:

Pode-se usar um sensor de temperatura conectado uma porta analgica para, aps a converso da leitura em graus celsius, configurar o fator de temperatura do sensor ultrassom.

11. Interrupes
Uma caracterstica bastante interessante dos Sensores Smart Uno a possibilidade de serem configurados para gerarem interrupes no programa sendo executado no controlador. Por sua vez, o controlador, ao tratar esta interrupo, pode responder a eventos detectados externamente pelos sensores. Assim, interrupes so eventos que alteram o fluxo normal do programa do controlador. So condies onde o controlador para de executar o programa principal, e executa uma rotina especfica para tratar o evento detectado. No caso dos Sensores Smart, estas interrupes recebem a classificao de interrupes externas. Para demonstrar a utilizao das interrupes, segue abaixo um programa em que utilizamos uma interrupo em sua lgica: Quando este programa executado, o sensor configurado para gerar uma interrupo (o LED indicador do sensor pisca rapidamente), os motores so acionados fazendo o rob se deslocar frente e o LED conectado na porta 0 do controlador fica piscando. Aps entrar no lao sempre e comear a piscar o LED, o controlador no possui nenhum outro comando para processar, apenas permanece piscando o LED. E faria apenas isso se no fossem as interrupes: quando o sensor reconhece que algum objeto se aproximou e est a menos de 30 cm, ele gera uma interrupo no controlador, que, por sua vez, para de processar o piscar do LED momentaneamente e executa os blocos da rotina de tratamento da interrupo referente ao sensor. Neste programa, o que esta rotina faz apenas parar os motores. Aps, a execuo volta ao ponto onde estava antes da interrupo e o controlador continua a executar o cdigo fazendo o LED piscar. Neste exemplo no utilizamos os blocos dos buffers do sensor ultrassom, mas, sempre que for necessrio o acesso ao valor do sensor dentro da rotina de tratamento da interrupo, a maneira correta usar os blocos buffers, pois assim, temos acesso direto e muito mais rpido aos valores do sensor. Estes blocos armazenam os valores dos sensores no momento em que foram geradas as interrupes.

Ultrasson

13

www.robouno.com.br

Observaes e Recomendaes
As interrupes so caractersticas avanadas, disponibilizadas pelos Sensores Smart e tratadas pelo Studio UNO. Por isso requerem um grau de conhecimento em programao maior para sua utilizao. Se no utilizadas com cuidado e corretamente, podem fazer o programa ter um comportamento errtico e de difcil visualizao da origem do erro lgico. Assim, listamos abaixo algumas observaes importantes e recomendaes fundamentais para desenvolver programas usando interrupes com os sensores ultrassom:

O sensor ultrassom pode ser configurado para responder a apenas um evento por vez, ou seja, quando configuramos o sensor para gerar interrupes para determinada condio, a configurao anterior apagada. Quando o sensor desligado, sua configurao perdida. Apenas o endereo do sensor, se configurado na memria, permanece gravado mesmo quando o sensor desligado e ligado. Pode-se configurar o sensor para gerar interrupes em qualquer parte do programa, como por exemplo, em resposta ao pressionamento de uma tecla ou at mesmo dentro de uma rotina de tratamento de interrupo pode-se mudar sua configurao para outro evento. S pode haver uma rotina de tratamento de interrupo por sensor.

Evite usar rotinas de tratamento que demorem muito para serem executadas. Se durante a execuo de uma rotina de tratamento ocorrem outras interrupes, elas s sero tratadas aps o trmino da rotina de tratamento atual. Geralmente, no so utilizados laos sempre dentro de rotinas de tratamento, pois o programa nunca terminaria o tratamento e a execuo no voltaria para a rotina principal nem seriam tratadas novas interrupes. O bloco processa eventos no pode ser colocado dentro de rotinas de tratamento de interrupes, pois ele geraria reentrncia (rotina chamando ela mesma), o que no permitido pelo compilador. Procure usar os blocos Buffer Ultrassom dentro das rotinas de tratamento para ter acesso ao valor do sensor, pois estes blocos possuem o valor do sensor no momento em que a interrupo foi gerada.

Ultrasson

14

www.robouno.com.br

12. Especificaes Tcnicas

* Alimentao: 5V ** Padro

A B

Clock Data 5V GND

Clock Data 5V GND

Ultrasson

15

www.robouno.com.br

Ultrasson Sensor Smart Ultrassom UNO 1.0

ESQUEMA ELTRICO

16

www.robouno.com.br

Você também pode gostar