Comentarios de un sensor de efecto Hall con video

Sensor de efecto de pasillo

Los sensores de efectos de la sala pueden detectar la presencia de campo magnético y producir un voltaje de salida cuando se detecta uno. Sensores de efecto de pasillo, cuando se usan conactuadores lineales, generalmente se colocan dentro de la caja de cambios del actuador junto con un disco magnético. A medida que el actuador lineal se extiende o se retrae, este disco gira pasa el sensor de efecto del salón, lo que hace que el sensor produzca una salida digital en forma de un pulso de voltaje. Estos pulsos se pueden contar y utilizar para determinar hasta qué punto se ha movido el actuador.

Cómo leer comentarios de un actuador lineal

Comentarios posicionales de un sensor de efecto Hall

Una desventaja del uso de un sensor de efecto Hall para la retroalimentación posicional es que no miden una posición absoluta. En su lugar, producen pulsos que se pueden contar para determinar hasta qué punto se ha movido el actuador. Para utilizar estos pulsos para la retroalimentación posicional, deberá usar un microcontrolador Para contar los pulsos producidos. Para hacerlo, deberá utilizar los pasadores de interrupción externos de su microcontrolador para contar estos pulsos a medida que ocurren. Las interrupciones externas son pines que detectan un cambio en el voltaje y, en nuestro caso, se pueden usar para detectar el pulso de voltaje del sensor de efectos del salón. Deberá consultar la hoja de datos de su microcontrolador para garantizar qué pines de su microcontrolador se pueden usar como alfileres de interrupción. Usando un Arduino Uno Por ejemplo, los pines 2 y 3 se pueden usar para interrupciones externas. Una vez que haya seleccionado un pasador de interrupción apropiado, puede conectar el cable de la salida del sensor de efecto del salón a ese pin, así como conectar el voltaje de entrada a 5V y tierra a un pasador de tierra.

Conectando el sensor de efectos del salón a Arduino 

El ejemplo del código a continuación muestra cómo configurar una interrupción en el IDE Arduino donde la interrupción se activará en el borde ascendente del pulso de voltaje. Puede configurar su interrupción para activarse en diferentes puntos en un cambio de voltaje y debe consultar la hoja de datos de su microcontrolador para determinar las opciones disponibles. El último aspecto que debe hacer para configurar su interrupción es escribir su rutina de servicio de interrupción, que es la función que el código ejecutará cada vez que se active la interrupción. Esta función debe ser corta y solo realizar tareas simples, como contar el número de pulsos de nuestro sensor de efectos de la sala. La función CountSteps () en el ejemplo de código a continuación se usa para contar el número de pulsos del sensor de efecto Hall.

Para utilizar estos pulsos para determinar un valor posicional, necesitará saber la posición anterior del actuador lineal y la dirección en la que está viajando el actuador lineal. Su microcontrolador ya sabrá de qué manera está conduciendo su actuador lineal, Por lo tanto, simplemente puede configurar una variable para rastrear la dirección del actuador en su código que se utilizará para determinar si suma o resta los pulsos de su posición anterior. Una vez que haya actualizado su posición, deberá restablecer los pulsos contados a cero. El ejemplo de código a continuación 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 convertir en pulgadas usando la especificación de pulso por pulgada de su actuador lineal. En la muestra de código a continuación, el impulso por pulgada de viaje es de 3500.

Homing a su actuador lineal

Para utilizar con precisión la retroalimentación posicional de un sensor de efecto Hall, debe conocer siempre la posición inicial de su actuador lineal. Aunque cuando enciende por primera vez su sistema, su microcontrolador no podrá saber si el actuador está extendido o no. Esto requerirá que esté en el hogar de su actuador lineal a una posición conocida. Para hogare su actuador lineal, deberá conducirlo a una posición conocida, como completamente retraída. También podrías hacer uso de interruptores de límite externos Para establecer su posición conocida en otro lugar que no sea completamente extendido o retraído. Usando el código Arduino a continuación como ejemplo, querremos configurar un bucle de tiempo que conduzca nuestro actuador lineal hacia su posición conocida, en este caso completamente retraído. Sabemos que está en nuestra posición conocida porque la interrupción del sensor de efecto Hall no se activará. En este caso, verificamos si la variable de pasos ha cambiado o no para determinar si la interrupción se ha activado. También debemos asegurarnos de que haya pasado suficiente tiempo para esperar que se active la interrupción, para esto utilizamos la función Millis () que genera el tiempo en milisegundos desde que el código ha comenzado y lo comparamos con el sello de tiempo anterior . Una vez que hemos determinado que el actuador lineal está en nuestra posición de hogar, dejamos de conducir el actuador, restablecemos la variable de pasos y salimos del bucle While.

Lidiar con falsos desencadenantes

Si bien los sensores de efecto Hall no son tan sensibles al ruido eléctrico como un potenciómetro, el ruido eléctrico aún podría afectar la señal de salida. El rebote de interruptores también puede ser un problema con los sensores de efectos de la sala que pueden desencadenar pulsos falsos que se contarán, lo que afectaría hasta qué punto su microcontrolador cree que su actuador lineal se ha movido. Algunos pulsos adicionales no afectarán mucho el posicionamiento, ya que hay 1000 pulsos por pulgada, pero con el tiempo puede ser un problema mayor. Puede combatir estos problemas haciendo uso de un temporizador interno para filtrar desencadenantes falsos. Como puede determinar qué tan frecuente esperaría que se detecten nuevos pulsos, puede filtrar cuando la interrupción se activó por el ruido. En la muestra de código a continuación, Trig-DeLay es el retraso de tiempo entre cada pulso. Si la interrupción se activó antes de este retraso, entonces el pulso no se contará.

El período de tiempo de este retraso variará según su aplicación, pero si es demasiado corto, no filtrará el ruido correctamente y si es demasiado largo, se perderá los pulsos reales del actuador lineal. La velocidad del actuador lineal también afectará este retraso y si desea ajustar la velocidad, esta variable puede necesitar cambiar para ajustarse a la nueva frecuencia de los pulsos esperados. Para determinar con precisión un retraso exacto entre cada pulso, puede usar un analizador lógico para ver la señal real desde el sensor de efecto Hall. Si bien esto no es necesario en la mayoría de las aplicaciones, si necesita un posicionamiento muy exacto, es posible que desee determinar un retraso preciso.

Otra forma de combatir los desencadenantes falsos es corregir el valor posicional cada vez que el actuador alcanza una posición conocida. Al igual que hacer el actuador lineal, si ha llevado el actuador lineal a una posición completamente retraída o extendida o si utiliza interruptores de límite externos, sabrás hasta qué punto se ha movido el actuador. Como sabe cuántos pasos debe enviar el sensor de efecto Hall para alcanzar su posición conocida, simplemente puede corregir el valor cuando lo alcanzamos. En la muestra de código a continuación, esto se realiza para las posiciones completamente extendidas y completamente retraídas. Como el actuador no se moverá una vez que llegue a una de esas posiciones, si intentamos conducir el actuador y el valor de posición no cambia, sabemos que estamos en el límite. Este método proporciona una solución práctica para garantizar que su valor posicional sea preciso, especialmente si se retrae completamente o extiende por completo su actuador en algún momento durante la operación. Puede usar este método junto con el método descrito anteriormente, que debería ayudar a mantener la precisión de su valor posicional.

Resumen

La utilización de un sensor de efecto Hall para la retroalimentación posicional proporciona una resolución mucho mayor en comparación con la retroalimentación de un potenciómetro. Como puede haber 1000 de pulsos por pulgada de movimiento, los sensores de efectos de la sala proporcionan precisión y confiabilidad para posicionar su actuador lineal. Los sensores de efectos de la sala también proporcionan una mayor capacidad para garantizar que múltiples actuadores lineales se muevan juntos simultáneamente, ya que los recuentos de pulso son más precisos que el voltaje cambiante del potenciómetro. Utilizando nuestro FA-Sync-X Controlador del actuador, incluso puede asegurarse de que los actuadores se muevan al unísono independientemente de la carga. Para los bricolajes, puede verificar cómo garantizar que sus actuadores se muevan al unísono usando un Arduino aquí.

A continuación se muestra el código de muestra completo utilizado en este blog y fue construido para controlar una longitud de trazo de 14 " Bullet Series 36 Cal. Actuador lineal. El actuador lineal se conduce usando un conductor de motor, que puedes aprender a configurar aquí

[1] Monari, G. (junio de 2013) Comprensión de la resolución en codificadores ópticos y magnéticos. Recuperado de: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

Share This Article
Tags: