Usando o Sensor de Efeito Hall US1881


This tutorial is not available in English



Introdução

O sensor de efeito Hall US1881 é capaz de emitir um sinal de acordo com a polaridade de um ímã. Ele pode ser usado como uma chave eletrônica que mantém sua saída digital em nível lógico baixo, e ao detectar a polaridade de um campo magnético, sua saída digital assume o nível lógico alto.

Sabendo disso, podemos criar diversos projetos, tais como: sensor de deslocamento, detector de metais magnéticos, entre outros. Neste tutorial iremos desenvolver uma simples conexão com o Arduino para exibir o pólo do ímã que foi detectado na porta serial, e posteriormente um acionamento de cargas.

Lista de Materiais

Conceitos Teóricos

Magnetismo

fluxo-magnetismo
Campo Magnético
Fonte: Eletrônica Etec

Magnetismo se refere a todo fenômeno, ou conjunto de fenômenos, de atração ou repulsão de corpos que se caracteriza como uma força dipolar, ou seja, que possui dois pólos. No caso de corpos magnéticos, como ímãs, a força magnética é originada no pólo Norte, em direção ao pólo Sul. Essa força resulta em uma atração de corpos caso os pólos sejam opostos, ou seja, o pólo Norte irá atrair o pólo Sul, e vice versa. Consequentemente, para pólos iguais, os corpos tendem a se repelir.

Alguns materiais metálicos, como o próprio ferro, não são capazes de gerar uma força magnética, porém são atraídos por elas. No entanto, existem já alguns métodos para imantar esses materiais, de modo que os mesmos passem a ter uma força magnética para atração ou repulsão. Além disso, graças à eletricidade, é possível criar um campo magnético através da passagem de corrente elétrica. Este fenômeno é denominado eletromagnetismo.

Sensor de Efeito Hall

O US1881 é um circuito integrado que é capaz de operar como um sensor de efeito Hall, detectando a polaridade de um campo magnético. Ele é capaz de identificar o pólo do ímã, entrando em nível lógico alto quando identificado um pólo Norte, e em nível lógico baixo para um pólo Sul, como na imagem abaixo.

US1881
Nível Lógico da Saída
Fonte: Datasheet US1881

Vale lembrar que este sensor mantém o último estado lido, mesmo na ausência de um campo magnético. Ele irá apenas alterar o seu estado caso haja uma alteração na polaridade do campo lido.

Projeto Identificando Pólos do Ímã

Circuito

Monte o circuito conforme a figura abaixo. Note que colocamos um resistor pull-up de 10 kΩ entre os pinos "VCC" e "OUT", responsável por definir a tensão de referência do sinal em 5 V.

circuito
Circuito Elétrico

Código

Copie o código abaixo e carregue-o para sua placa.

Entendendo o Código

No início do código, definimos o pino de conexão com o sensor (PINO_SENSOR), e também criamos variável leitura_sensor, responsável por armazenar o último estado do sensor.

Definimos o pino conectado ao sensor como uma entrada e, com o comando Serial.begin(9600), iniciamos a porta serial em 9600 bps.

No loop do programa, atribuímos à variável leitura_sensor a leitura digital do pino do sensor. Em seguida, utilizamos a lógica if (leitura_sensor == HIGH) para verificar se o estado lido do sensor está nível alto, e então, caso a condição seja verdadeira, imprimir na porta serial que foi identificado o pólo Norte do ímã. Caso contrário, com o comando else, verificamos se o estado lido do sensor está em nível baixo, identificando, portanto, o pólo Sul do ímã.

O Que Deve Acontecer

Separe um imã e abra o serial monitor em 9600 bps. Ao aproximar o ímã do sensor, ele irá imprimir o pólo que ele está identificando, como na imagem a seguir.

resultado1
Resultado Final

Projeto Acionando Cargas com Ímã

Agora que aprendemos como funciona o sensor de efeito Hall, podemos incrementar nosso projeto acionando cargas. No nosso caso, iremos utilizar dois LEDs, um para cada pólo do ímã. Lembrando que você pode usar diversas cargas, sendo elas, relés, motores, entre outros.

Circuito

Para o projeto utilizando LEDs, monte o circuito conforme a figura abaixo.

circuito
Circuito Elétrico

Código

O código abaixo é igual ao do projeto anterior, porém adicionando comandos de controle dos LEDs, portanto copie-o e carregue-o para sua placa.

Entendendo o Código

Primeiramente, definimos os pinos para controle dos LEDs (PINO_LED_VERMELHO e PINO_LED_AZUL). Depois, na configuração do código, definimos ambos como saída do microcontrolador. E então, como boas práticas da programação, iniciamos a execução do código com os pinos dos LEDs em nível lógico baixo.

Assim como no código anterior, quando é identificado o nível alto na variável leitura_sensor, o LED vermelho acende e o LED azul se mantém em nível baixo, identificando assim o pólo Norte do ímã. Caso contrário, o LED vermelho apaga e o LED azul vai para nível alto, indicando o pólo Sul do ímã.

O Que Deve Acontecer

Ao aproximar o ímã do sensor, caso seja detectado pólo Sul, o LED azul acende. Caso o sensor identifique o pólo Norte do ímã, o LED vermelho acende, como no GIF abaixo.

Resultado Final

Indo Além

Neste tutorial vimos como realizar a leitura do sensor de efeito Hall US1881, e o seu funcionamento básico, porém são inúmeras suas aplicações. Alguns encoders de motores DC comuns utilizam um sensor de efeito Hall para ler a polaridade de um imã acoplado ao eixo do motor, conforme ele rotaciona. Essa rotação gera pulsos na saída do sensor, que podem ser usados para determinar a velocidade de rotação do motor.

Utilizando o mesmo princípio do encoder, o Sensor de Fluxo de Água também utiliza um imã acoplado a um eixo e um sensor de efeito de Hall, para determinar a velocidade de rotação de uma hélice. Essa velocidade de rotação pode ser utilizada para calcular o fluxo de água que está passando por ele, assim como calcular o volume total já passado. Caso você queira ver e entender melhor como funciona e como utilizar este sensor de fluxo, acesse o nosso tutorial Primeiros Passos com o Sensor de Fluxo.

Avatar
Avatar