Como ler feedback de um sensor óptico

Sensor óptico

Sensores ópticos, quando usados ​​com atuadores lineares,função muito semelhante a sensores de efeito hall, exceto que eles detectam luz em vez de campos magnéticos [1]. Sensores ópticos operam usando luz de um LED ou alguma outra fonte de luz que passa por um disco codificador. Este disco codificador tem fenda para permitir que a luz passe por ele periodicamente. Do outro lado do disco está um fotodetector, que detecta a luz quando esta passa pelas ranhuras do disco e cria um sinal de saída [1]. Conforme o atuador se move, o disco codificador gira e a luz é detectada pelo fotodetector, que produz uma onda quadrada de pulsos de tensão. Esses pulsos podem ser usados ​​de forma semelhante aos pulsos de um sensor de efeito Hall para determinar o quão longe o atuador se moveu.

Sensor óptico

Feedback posicional de um sensor óptico

Como os sensores ópticos funcionam de maneira bastante semelhante aos sensores de efeito Hall em termos de saída, esta postagem do blog irá cobrir brevemente como ler sua saída para feedback posicional. Se você estiver procurando por mais detalhes, verifique nosso artigo sobre como ler o feedback posicional de um sensor de efeito Hall, pois será semelhante.

Como os sensores de efeito Hall, os sensores ópticos terão 3 pinos para conexão; um é a tensão de entrada, outro é o aterramento e, por último, um é o sinal de saída. Para utilizar os pulsos no sinal de saída para feedback posicional, você precisará usar um microcontrolador para contar os pulsos produzidos. Você vai querer usar os pinos de interrupção externa do seu microcontrolador para contar com precisão esses pulsos. Como as interrupções externas são acionadas por uma mudança na voltagem, elas podem ser usadas para detectar cada pulso conforme eles ocorrem. Depois de configurar sua interrupção no código do microcontrolador, você precisará configurar uma rotina de serviço de interrupção que conta os pulsos conforme eles ocorrem. A função countSteps () no exemplo de código abaixo é usada para contar o número de pulsos do sensor óptico.

Para utilizar esses pulsos para determinar um valor posicional, você precisará saber a posição anterior do atuador linear e a direção em que o atuador linear está se movendo. Conforme você controla a maneira como o atuador linear se move, você pode simplesmente configurar uma variável para rastrear a direção do atuador em seu código. Esta variável pode ser usada para determinar se você precisa adicionar ou subtrair os pulsos de sua posição anterior. Depois de atualizar sua posição, você precisará zerar os pulsos contados. O exemplo de código abaixo mostra uma função que atualiza a posição com base no número de pulsos contados. Depois de ter uma posição em termos de pulsos, você pode converter em polegadas usando a especificação de pulso por polegada de seu atuador linear.

Direcionando seu Atuador Linear

Para utilizar com precisão o feedback posicional de um sensor óptico, você precisa sempre saber a posição inicial do seu atuador linear. Embora quando você liga o sistema pela primeira vez, o microcontrolador não será capaz de dizer se o atuador está estendido ou não. Isso exigirá que você coloque seu atuador linear em uma posição conhecida. Para casa seu atuador linear, você precisará direcioná-lo para uma posição conhecida, como totalmente retraído. Usando o código do Arduino abaixo como exemplo, configuramos um loop WHILE que conduzirá nosso atuador linear em direção à nossa posição conhecida. Neste exemplo, saberemos que estamos em nossa posição conhecida, verificando se a interrupção foi ou não disparada verificando se a variável de passos mudou. Também precisamos ter certeza de que passou tempo suficiente para esperar que a interrupção fosse disparada; para isso, usamos a função millis () e a comparamos com o carimbo de data / hora anterior. Uma vez que determinamos que o atuador linear está em nossa posição inicial, paramos de dirigir o atuador, redefinimos a variável de passos e saímos do loop WHILE.

Lidando com Falsos Gatilhos

Embora os sensores óticos não sejam tão sensíveis ao ruído elétrico como os potenciômetros, o ruído elétrico e o salto do interruptor ainda podem impactar o sinal de saída e podem disparar pulsos falsos a serem contados. Alguns pulsos extras não afetarão muito o posicionamento, mas com o tempo pode ser um problema maior. Você pode combater esses problemas usando um temporizador interno para filtrar disparos falsos. Como você pode determinar a frequência com que espera que novos pulsos sejam detectados, você pode filtrar quando a interrupção foi disparada por ruído. No exemplo de código abaixo, trigDelay é o atraso de tempo entre cada pulso. Se a interrupção foi disparada antes deste atraso, o pulso não será contado. A duração desse atraso varia de acordo com a sua aplicação, mas se for muito curto, não filtrará o ruído de maneira adequada e, se for muito longo, perderá os pulsos reais do sensor óptico.

Outra forma de combater os disparos falsos é corrigir o valor posicional sempre que o atuador atinge uma posição conhecida. Como o homing do atuador linear, se você conduziu o atuador linear para uma posição totalmente retraída ou estendida ou se fizer uso de interruptores de limite externos, você saberá quantos pulsos são necessários para alcançar essa posição. Você pode então simplesmente corrigir o valor posicional usando esse valor quando alcançar a posição conhecida. No exemplo de código abaixo, isso é feito para as posições totalmente estendidas e totalmente retraídas. Este método fornece uma solução prática para garantir que seu valor posicional permaneça preciso.

Resumo

Os sensores ópticos utilizados para feedback posicional fornecem maior precisão e resolução em comparação com sensores de efeito Hall e potenciômetros, embora tenham pontos fortes e desvantagens semelhantes aos sensores de efeito Hall. Embora eles não meçam a posição absoluta e exijam uma posição inicial conhecida para fornecer um valor posicional, o grande número de pulsos por polegada permite confiabilidade no posicionamento e garante que vários atuadores lineares se movam simultaneamente. Utilizando nosso FA-SYNC-X controlador de atuador ou tatravés de código adicional, você pode até mesmo garantir que os atuadores se movam em uníssono, independentemente da carga.

Para um exemplo de código completo, confira nosso blog em como ler o feedback posicional de um sensor de efeito Hall tanto será semelhante. Valores como pulso por polegada e atrasos de tempo entre os pulsos são algumas das mudanças que você precisa fazer para usar esse código para utilizar com precisão seu sensor óptico.

 

[1] Paschotta, R. Artigo sobre sensores ópticos. Obtido de:https://www.rp-photonics.com/optical_sensors.html

product-sidebar product-sidebar product-sidebar
Tags:

Share this article

produtos em destaque

water resistant IP66 Premium Linear Actuator
Atuadores Lineares Premium In Stock
$129.99USD

Precisa de ajuda para encontrar o atuador certo?

Nós engenharia de precisão e fabricação de nossos produtos para que você obtenha preços diretos dos fabricantes. Oferecemos no mesmo dia o envio e o suporte ao cliente com conhecimento. Tente usar nossa Calculadora de Atuadores para obter ajuda para escolher o atuador certo para sua aplicação.