Categorias: Circuitos de microcontrolador
Número de visualizações: 18998
Comentários sobre o artigo: 0

Conectando sensores analógicos ao Arduino, sensores de leitura

 

Os sensores são usados ​​para medir quantidades, condições ambientais e reações a mudanças de estados e posições. Em sua saída, pode haver sinais digitais consistindo em um e zeros e analógicos consistindo em um número infinito de tensões em um determinado intervalo.


Sobre sensores

Assim, os sensores são divididos em dois grupos:

1. Digital.

2. Analógico.

Para ler valores digitais, podem ser usadas entradas digitais e analógicas do microcontrolador, no nosso caso Avr na placa do Arduino. Os sensores analógicos devem ser conectados através de um conversor analógico-digital (ADC). ATMEGA328, é ele que está instalado na maioria das placas ARDUINO (mais sobre isso existe um artigo no site), contém em seu circuito o ADC incorporado. Até 6 entradas analógicas estão disponíveis para você escolher.

Se isso não for suficiente, você poderá usar um ADC externo adicional para conectar-se às entradas digitais, mas isso complicará o código e aumentará seu volume, devido à adição de algoritmos de processamento e controle do ADC. O tópico dos conversores analógico-digitais é amplo o suficiente para que você possa criar um artigo separado ou dar um ciclo sobre eles. É mais fácil usar uma placa com um grande número deles ou multiplexadores. Vejamos como conectar sensores analógicos ao Arduino.

Conectando sensores analógicos ao Arduino, lendo as leituras dos sensores

Esquema geral dos sensores analógicos e sua conexão

O sensor pode até ser um potenciômetro convencional. De fato, este é um sensor de posição resistivo; nesse princípio, eles implementam o controle do nível de líquidos, o ângulo de inclinação, a abertura de alguma coisa. Ele pode ser conectado ao arduino de duas maneiras.

Esquema geral dos sensores analógicos e sua conexão

O circuito acima permite ler valores de 0 a 1023, devido ao fato de que toda a tensão cai no potenciômetro. O princípio de um divisor de tensão funciona aqui, em qualquer posição do motor, a tensão é distribuída linearmente na superfície da camada resistiva ou em uma escala logarítmica (dependendo do potenciômetro) que parte da tensão que permanece entre a saída do controle deslizante (contato deslizante) e o solo (gnd) chega à entrada. Na tábua de pão, esta conexão é assim:

Diagrama de fiação para sensores analógicos

A segunda opção é conectada de acordo com o esquema do divisor resistivo clássico, aqui a tensão no ponto de resistência máxima do potenciômetro depende da resistência do resistor superior (na Figura R2).

Divisor Resistivo Clássico

Em geral, o divisor resistivo é muito importante não apenas no campo de trabalho com microcontroladores, mas também na eletrônica em geral. Abaixo você vê o esquema geral, bem como as relações calculadas para determinar o valor da tensão no braço inferior.

Relações de esquema e projeto para determinar o valor da tensão no braço

Essa conexão é característica não apenas para um potenciômetro, mas para todos os sensores analógicos, porque a maioria deles trabalha com o princípio de alterar a resistência (condutividade) sob a influência de fontes externas - temperatura, luz, radiação de vários tipos, etc.

A seguir, é apresentado o diagrama de conexão mais simples termistor, em princípio, um termômetro pode ser feito com base. Mas a precisão de suas leituras dependerá da precisão da tabela de conversão de resistência à temperatura, da estabilidade da fonte de energia e dos coeficientes de mudança de resistência (incluindo o resistor do braço) sob a influência da mesma temperatura. Isso pode ser minimizado selecionando as resistências ideais, a potência e as correntes de operação.

O diagrama de conexão mais simples para um termistor

Da mesma forma, você pode conectar fotodiodos, fototransistores como um sensor de luz. A fotoeletrônica encontrou aplicação em sensores que determinam a distância e a presença de um objeto, um dos quais consideraremos mais adiante.

Photoresistor

A figura mostra a conexão do fotorresistor ao arduino.

Esquema de conexão do fotorresistor ao arduino

Parte do software

Antes de falar sobre a conexão de sensores específicos, decidi considerar o software para processá-los. Todos os sinais analógicos são lidos nas mesmas portas usando o comando analogRead ().Vale ressaltar que o Arduino UNO e outros modelos com 168 e 328 atmega possuem ADC de 10 bits. Isso significa que o microcontrolador vê o sinal de entrada como um número de 0 a 1023 - um total de 1024 valores. Se você considerar que a tensão de alimentação é de 5 volts, a sensibilidade de entrada:

5/1024 = 0,0048 V ou 4,8 mV

Ou seja, com um valor de 0 na entrada, a tensão é 0 e com um valor de 10 na entrada - 48 mV.

Em alguns casos, para converter os valores no nível desejado (por exemplo, para transmitir para a saída PWM), 1024 é dividido por um número e, como resultado da divisão, o máximo necessário deve ser obtido. A função de mapa (origem, baixo, alto, alto, alto, baixo) funciona mais claramente, onde:

  • baixo - número menor antes da conversão por função;

  • vch - superior;

  • VCh - o número mais baixo após o processamento pela função (na saída);

  • VHV - topo.

Uma aplicação prática para converter uma função em um valor de entrada para transmissão para um PWM (o valor máximo é 255, para converter dados do ADC para a saída PWM, 1024 é dividido por 4):

Opção 1 - divisão.

int x;

x = leitura analógica (pote) / 4;

// um número de 0 a 1023 será recebido

// divida por 4, obtemos um número inteiro de 0 a 255 analogWrite (led, x);

A opção 2 - a função MAP - abre mais oportunidades, mas mais sobre isso mais tarde.

loop vazio ()

{int val = analogRead (0);

val = mapa (val, 0, 1023, 0, 255);

analogWrite (led, val); }

Ou ainda mais curto:

analogWrite (led, map (val, 0, 1023, 0, 255))

Nem todos os sensores têm 5 volts na saída, ou seja, nem sempre é conveniente dividir o número 1024 para obter os mesmos 256 para o PWM (ou qualquer outro). Pode ser 2 e 2,5 volts e outros valores, quando o sinal máximo for, por exemplo, 500.


Sensores analógicos populares

Uma visão geral do sensor para o arduino e sua conexão é mostrada abaixo:

Como conectar um sensor analógico

Geralmente existem três saídas, pode haver uma quarta digital, mas essas são características.

Explicação da designação das saídas do sensor analógico:

  • G - menos energia, barramento comum, terra. Pode ser designado como GND, “-";

  • V - mais potência. Pode ser indicado como Vcc, Vtg, "+";

  • S - sinal de saída, possível notação - sinal de saída, SGN, Vout.

Iniciantes para aprender a ler os valores dos sensores, escolha projetos de todos os tipos de termômetros. Esses sensores são de design digital, por exemplo, DS18B20 e analógico - todos os tipos de microcircuitos, como LM35, TMP35, TMP36 e outros. Aqui está um exemplo do design modular de um sensor desse tipo na placa.

Sensor analógico no TMP36

A precisão do sensor é de 0,5 a 2 graus. Construído em um chip TMP36, como muitos de seus análogos, seus valores de saída são 10 mV / ° C. A 0 °, o sinal de saída é 0 V e, em seguida, são adicionados 10 mV por 1 grau. Ou seja, a 25,5 graus de tensão é de 0,255 V, é possível um desvio no erro e no auto-aquecimento do chip IC (até 0,1 ° C).


Dependendo do microcircuito usado, as faixas de medição e as tensões de saída podem diferir, consulte a tabela.

Intervalos de temperatura e tensões de saída do sensor

No entanto, para um termômetro de alta qualidade, você não pode simplesmente ler os valores e exibi-los no indicador LCD ou na porta serial para comunicação com um PC, para a estabilidade do sinal de saída de todo o sistema como um todo, é necessário calcular os valores dos sensores, analógicos e digitais, dentro de certos limites, enquanto sem prejudicar sua velocidade e precisão (há um limite para tudo). Isso ocorre devido à presença de ruído, interferência e contatos instáveis ​​(para sensores resistivos baseados em um potenciômetro, consulte mau funcionamento do sensor de nível de água ou combustível no tanque do carro).

Os códigos para trabalhar com a maioria dos sensores são bastante volumosos; portanto, não vou dar a todos, eles podem ser facilmente encontrados na rede pela solicitação "sensor + nome do Arduino".

O próximo sensor que os engenheiros robóticos do arduino costumam usar é o sensor de linha. É baseado em dispositivos fotoeletrônicos, tipo de fototransistores.

Sensor de linha

Com a ajuda deles, um robô que se move ao longo da linha (usado na produção automatizada para entregar peças) determina a presença de uma faixa branca ou preta. No lado direito da figura, dois dispositivos semelhantes aos LEDs são visíveis. Um deles é o LED, ele pode emitir no espectro invisível, e o segundo é um fototransistor.

A luz é refletida da superfície se estiver escura - o fototransistor não recebe um fluxo refletido, mas se a luz recebe e se abre. Os algoritmos que você coloca no microcontrolador processam o sinal e determinam a correção e a direção do movimento e os corrigem. O mouse óptico, que você provavelmente segura na mão enquanto lê essas linhas, é organizado da mesma forma.

Vou suplementar com um sensor adjacente - um sensor de distância da Sharp, também é usado em robótica, bem como em condições de monitorar a posição dos objetos no espaço (com o erro TX correspondente).

Sensor de distância afiado

Funciona com o mesmo princípio. Bibliotecas e exemplos de esboços e projetos com eles estão disponíveis em grande número em sites dedicados ao Arduino.


Conclusão

O uso de sensores analógicos é muito simples e, com a linguagem de programação Arduino fácil de aprender, você aprende rapidamente dispositivos simples. Essa abordagem tem desvantagens significativas em comparação com as contrapartes digitais. Isso ocorre devido à grande variação nos parâmetros, o que causa problemas ao substituir o sensor. Você pode precisar editar o código fonte do programa.

É verdade que dispositivos analógicos individuais incorporam fontes de tensão de referência e estabilizadores de corrente, o que afeta positivamente o produto final e a repetibilidade do dispositivo na produção em massa. Todos os problemas podem ser evitados usando dispositivos digitais.

O circuito digital reduz a necessidade de desligar e ajustar o circuito após a montagem. Isso lhe dá a oportunidade de montar vários dispositivos idênticos no mesmo código-fonte, cujos detalhes fornecerão os mesmos sinais; com sensores resistivos, isso é raro.

Veja também em nosso site:Conectando dispositivos externos ao Arduino

Veja também em bgv.electricianexp.com:

  • Qual é a diferença entre sensores analógicos e digitais
  • Medindo temperatura e umidade no Arduino - uma variedade de maneiras
  • Como a conversão do sinal analógico para digital
  • Sensores mais populares para Arduino
  • Como o sensor de linha é organizado e funciona

  •