Comentarios de un sensor de efecto Hall con video

Sensor de efecto Hall

Los sensores de efecto Hall pueden detectar la presencia de campo magnético y producir un voltaje de salida cuando se detecta uno. Sensores de efecto Hall, cuando se utilizan conactuadores lineales, se colocan típicamente 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 y pasa por el sensor de efecto Hall, lo que hace que el sensor produzca una salida digital en forma de pulso de voltaje. Estos pulsos se pueden contar y usar para determinar qué tan lejos se ha movido el actuador.

Cómo leer la retroalimentación de un actuador lineal

Retroalimentación posicional de un sensor de efecto Hall

Una desventaja de usar 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 qué tan lejos 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 pines de interrupción externos de su microcontrolador para contar estos pulsos a medida que ocurren. Las interrupciones externas son pines que detectan un cambio de voltaje y, en nuestro caso, se pueden utilizar para detectar el pulso de voltaje del sensor de efecto Hall. Deberá consultar la hoja de datos de su microcontrolador para asegurarse de qué pines de su microcontrolador se pueden usar como pines 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 pin de interrupción apropiado, puede conectar el cable de la salida del sensor de efecto Hall a ese pin, así como conectar el voltaje de entrada a 5V y tierra a un pin de tierra.

Conexión del sensor de efecto Hall a Arduino 

El siguiente ejemplo de código muestra cómo configurar una interrupción en el IDE de Arduino donde la interrupción se activará en el borde ascendente del pulso de voltaje. Puede configurar su interrupción para que se active 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 ejecutará el código cada vez que se active la interrupción. Esta función debe ser breve y solo realizar tareas simples como contar el número de pulsos de nuestro sensor de efecto Hall. 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á conocer la posición anterior del actuador lineal y la dirección en la que se desplaza el actuador lineal. Su microcontrolador ya sabrá en qué dirección está conduciendo su actuador lineal, por lo que simplemente puede configurar una variable para rastrear la dirección del actuador en su código que se utilizará para determinar si agrega 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 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. En el ejemplo de código siguiente, el recorrido de pulso por pulgada es 3500.

Inicio de 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 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. Para colocar su actuador lineal, deberá conducirlo a una posición conocida, como completamente retraído. También puede hacer uso de finales de carrera 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 WHILE que conducirá nuestro actuador lineal hacia su posición conocida, en este caso completamente retraído. Sabemos que se encuentra 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 se ha disparado la interrupción. También debemos asegurarnos de que haya pasado suficiente tiempo para esperar que se dispare la interrupción, para esto hacemos uso de la función millis () que genera el tiempo en milisegundos desde que se inició el código y lo 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 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 del interruptor también puede ser un problema con los sensores de efecto Hall que pueden activar el recuento de pulsos falsos, lo que afectaría la distancia que su microcontrolador cree que se ha movido su actuador lineal. Unos pocos pulsos adicionales no afectarán mucho la posición ya que hay miles de pulsos por pulgada, 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, trig-Delay 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 este retraso variará según su aplicación, pero si es demasiado corto no filtrará el ruido correctamente y si es demasiado largo perderá los pulsos reales del actuador lineal. La velocidad del actuador lineal también afectará este retraso y, si desea ajustar la velocidad, es posible que esta variable deba cambiar para ajustarse a la nueva frecuencia de pulsos esperada. Para determinar con precisión un retraso exacto entre cada pulso, puede utilizar un analizador lógico para ver la señal real del 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 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 finales de carrera externos, sabrá qué tan lejos 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 alcancemos. En el siguiente ejemplo de código, esto se hace para las posiciones completamente extendidas y completamente retraídas. Como el actuador no se moverá una vez que alcance una de esas posiciones, si intentamos impulsar 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 se mantenga preciso, especialmente si está retrayendo o extendiendo completamente el actuador en algún momento durante la operación. Puede utilizar este método junto con el método descrito anteriormente que debería ayudar a mantener la precisión de su valor posicional.

Resumen

El uso 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 miles de pulsos por pulgada de movimiento, los sensores de efecto Hall brindan precisión y confiabilidad en el posicionamiento de su actuador lineal. Los sensores de efecto Hall también brindan una mayor capacidad para garantizar que múltiples actuadores lineales se muevan juntos simultáneamente, ya que los conteos de pulsos son más precisos que el voltaje cambiante del potenciómetro. Utilizando nuestro FA-SYNC-X controlador de actuador, incluso puede asegurarse de que los actuadores se muevan al unísono independientemente de la carga. Para los aficionados al bricolaje, puede verificar cómo asegurarse de 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 se creó para controlar una longitud de trazo de 14 ”. Bullet Serie 36 Cal. Actuador lineal. El actuador lineal se acciona mediante un conductor del 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. Obtenido de: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

Tags:

Share this article

Productos especiales

Premium Linear Actuators
Actuadores lineales premium In Stock
From $136.95USD

¿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.