Cómo leer los comentarios de un sensor óptico

Sensor óptico

Sensores ópticos, cuando se utilizan con actuadores lineales,función muy similar a sensores de efecto hall, excepto que detectan luz en lugar de campos magnéticos [1]. Los sensores ópticos funcionan mediante el uso de luz de un LED o alguna otra fuente de luz que se pasa a través de un disco codificador. Este disco codificador está ranurado para permitir que la luz lo atraviese periódicamente. En el otro lado del disco hay un fotodetector, que detecta la luz cuando pasa a través de las ranuras del disco y crea una señal de salida [1]. A medida que el actuador se mueve, el disco codificador gira y el fotodetector detecta la luz, lo que produce una onda cuadrada de pulsos de voltaje. Estos pulsos se pueden usar de manera similar a los pulsos de un sensor de efecto Hall para determinar qué tan lejos se ha movido el actuador.

Sensor óptico

Retroalimentación posicional de un sensor óptico

Como los sensores ópticos funcionan de manera bastante similar a los sensores de efecto Hall en términos de su salida, esta publicación de blog cubrirá brevemente cómo leer su salida para obtener retroalimentación posicional. Si está buscando más detalles, consulte nuestra publicación sobre cómo leer la retroalimentación posicional de un sensor de efecto Hall, ya que será similar.

Al igual que los sensores de efecto Hall, los sensores ópticos tendrán 3 pines para conectarse; uno es el voltaje de entrada, otro es el suelo y, por último, uno es la señal de salida. Para utilizar los pulsos en la señal de salida para la retroalimentación posicional, necesitará usar un microcontrolador para contar los pulsos producidos. Querrá hacer uso de los pines de interrupción externos de su microcontrolador para contar con precisión estos pulsos. Dado que las interrupciones externas se desencadenan por un cambio en el voltaje, se pueden usar para detectar cada pulso a medida que ocurren. Una vez que haya configurado su interrupción en el código de su microcontrolador, deberá configurar una rutina de servicio de interrupciones que cuente los pulsos a medida que ocurren. La función countSteps () en el ejemplo de código a continuación se usa para contar el número de pulsos del sensor óptico.

Para utilizar estos pulsos para determinar un valor posicional, necesitará conocer la posición anterior del actuador lineal y la dirección en la que se desplaza el actuador lineal. Mientras controla en qué dirección se mueve su actuador lineal, simplemente puede configurar una variable para rastrear la dirección del actuador en su código. Esta variable se puede utilizar para determinar si necesita sumar o restar los pulsos de su posición anterior. Una vez que haya actualizado su posición, deberá restablecer los pulsos contados a cero. El siguiente ejemplo de código le muestra una función que actualiza la posición en función del número de pulsos contados. Una vez que tenga una posición en términos de pulsos, puede convertirla en pulgadas usando la especificación de pulso por pulgada de su actuador lineal.

Inicio de su actuador lineal

Para utilizar con precisión la retroalimentación posicional de un sensor óptico, debe conocer siempre la posición de inicio de su actuador lineal. Aunque cuando enciende su sistema por primera vez, su microcontrolador no podrá saber si el actuador está extendido o no. Esto requerirá que coloque su actuador lineal en una posición conocida. A casa tu actuador lineal, deberá conducirlo a una posición conocida, como completamente retraído. Usando el siguiente código de Arduino como ejemplo, hemos configurado un bucle WHILE que conducirá nuestro actuador lineal hacia nuestra posición conocida. En este ejemplo, sabremos que estamos en nuestra posición conocida comprobando si la interrupción se ha disparado o no comprobando si la variable de pasos ha cambiado. También debemos asegurarnos de que ha pasado suficiente tiempo para esperar que se dispare la interrupción, para esto hacemos uso de la función millis () y la comparamos con la marca de tiempo anterior. Una vez que hemos determinado que el actuador lineal está en nuestra posición de inicio, dejamos de conducir el actuador, restablecemos la variable de pasos y salimos del ciclo WHILE.

Lidiar con los desencadenantes falsos

Si bien los sensores ópticos no son tan sensibles al ruido eléctrico como los potenciómetros, el ruido eléctrico y el rebote del interruptor aún pueden afectar la señal de salida y pueden activar el recuento de pulsos falsos. Unos pocos pulsos adicionales no afectarán mucho la posición, pero con el tiempo puede ser un problema mayor. Puede combatir estos problemas haciendo uso de un temporizador interno para filtrar los disparadores falsos. Como puede determinar con qué frecuencia esperaría que se detectaran nuevos pulsos, puede filtrar cuándo la interrupción fue provocada por el ruido. En el siguiente ejemplo de código, trigDelay es el tiempo de retraso entre cada pulso. Si la interrupción se activó antes de esta demora, el pulso no se contará. La duración de esta demora variará según su aplicación, pero si es demasiado corta no filtrará el ruido correctamente y si es demasiado larga perderá los pulsos reales del sensor óptico.

Otra forma de combatir los disparos falsos es corregir el valor posicional cada vez que el actuador alcanza una posición conocida. Al igual que con el inicio del actuador lineal, si ha conducido el actuador lineal a una posición completamente retraída o extendida o si utiliza interruptores de límite externos, sabrá cuántos pulsos se necesitan para alcanzar esa posición. Luego, simplemente puede corregir el valor posicional usando ese valor cuando alcance esa posición conocida. En el siguiente ejemplo de código, esto se hace para las posiciones completamente extendidas y completamente retraídas. Este método proporciona una solución práctica para garantizar que su valor posicional se mantenga preciso.

Resumen

Los sensores ópticos utilizados para la retroalimentación posicional proporcionan una mayor precisión y resolución en comparación con los sensores y potenciómetros de efecto Hall, al tiempo que tienen fortalezas e inconvenientes similares a los sensores de efecto Hall. Aunque no miden la posición absoluta y requieren una posición inicial conocida para proporcionar un valor posicional, la gran cantidad de pulsos por pulgada permite la confiabilidad en el posicionamiento y asegura que múltiples actuadores lineales se muevan simultáneamente. Utilizando nuestro FA-SYNC-X controlador de actuador otmediante código adicional, incluso puede asegurarse de que los actuadores se muevan al unísono independientemente de la carga.

Para obtener un ejemplo de código completo, consulte nuestro blog en cómo leer la retroalimentación posicional de un sensor de efecto Hall tanto será similar. Valores como pulso por pulgada y retardos de tiempo entre pulsos son algunos de los cambios que deberá realizar para usar ese código para utilizar con precisión su sensor óptico.

 

[1] Paschotta, R. Artículo sobre sensores ópticos. Obtenido de:https://www.rp-photonics.com/optical_sensors.html

product-sidebar product-sidebar product-sidebar
Tags:

Share this article

Productos especiales

water resistant IP66 Premium Linear Actuator
Actuadores lineales premium In Stock
$129.99USD

¿Necesita ayuda para encontrar el actuador adecuado?

Realizamos ingeniería de precisión y fabricamos nuestros productos para que usted obtenga precios directos de los fabricantes. Ofrecemos envío el mismo día y atención al cliente informada. Intente utilizar nuestra Calculadora de actuadores para obtener ayuda para elegir el actuador adecuado para su aplicación.