Caracterizando un sistema de levitación magnética

3

He estado golpeando mi cabeza en este proyecto por un tiempo y necesito un poco de orientación. Es un dispositivo de levitación magnética que se utiliza en la clase de teoría de control. Nunca he tomado la clase, así que he estado tratando de aprenderla a través de cursos y libros en línea. Creo que comprendo algunos de los conceptos básicos, pero no lo suficiente como para resolver esto.

La forma en que se supone que funciona el sistema es que un electroimán pulsa su salida para mantener un objeto (imán permanente en mi caso) levitado.

Breve descripción del sistema: Hay un electroimán que está siendo controlado por una señal PWM de un Arduino. El Arduino sabe, o se supone que debe saber, qué ciclo de trabajo debe proporcionar según la corriente a través del electroimán y el sensor de efecto Hall.

A medida que el objeto se acerca al sensor de hall, aumenta el valor del sensor de hall. El problema aquí es que a medida que la corriente, que es controlada por el PWM, a través del electroimán, el sensor Hall reacciona a esto también. Para eliminar este efecto, medimos la corriente a través del electroimán, la convertimos en un "valor de hall" y la restamos para normalizar la lectura del sensor de hall. En efecto, esto proporciona una lectura pura de la distancia del objeto en relación con el sensor de hall.

Esquema

Ahora mis problemas son cómo caracterizar y ajustar el sistema.

Una de las técnicas para caracterizar el sistema es proporcionar un impulso o un paso y medir la respuesta del sistema. Intenté usar una respuesta escalonada, que esencialmente proporciona energía al electroimán. Ahora la pregunta es ¿cómo mido la respuesta? Si le doy toda la potencia al electroimán, el imán permanente se dispara y se atasca. Tengo una situación de rebasamiento. Si proporciono menos poder, nada sucede realmente. Estoy atrapado en una situación binaria: el imán permanente no se mueve o se dispara y se atasca.

¿Cómo puedo caracterizar este sistema con esta limitación?

También intenté usar un controlador PID y hacer algunas adivinanzas para ajustarlo, pero seguí tratando los mismos problemas.

Gracias,

    
pregunta I Gr

1 respuesta

1

Hay algunos problemas con tu implementación.

  • Necesita un diodo de retorno a través de esa bobina si no desea un transistor de sobrecalentamiento y una interferencia masiva. Tu esquema actual al menos no muestra uno. Yo sugeriría usar un diodo schottky, ya que son rápidos y tienen una caída de voltaje baja.

  • Si tiene problemas para estabilizar el imán, tenga en cuenta que podría no tener nada que ver con sus ganancias PID y todo lo relacionado con la tasa de actualización del ciclo de control. Cuando hice mi levitatior magnético, lo mínimo que pude hacer para trabajar fue de 200 Hz. Especialmente si está usando matemática de punto flotante para el controlador PID en un AVR, apuesto a que no puede obtener una levitación estable. En su lugar, haga todo con matemáticas enteras de 8 bits y 16 bits (lo que se conoce como punto fijo ), y podrá alcanzar fácilmente los tiempos de ciclo por debajo de un milisegundo.

  • Tanto la entrada como la salida de su controlador PID no están linealmente relacionadas con lo que desea controlar (desea detectar la distancia y controlar la fuerza hacia arriba). En cambio, la salida del sensor de efecto Hall es proporcional al inverso multiplicativo de la distancia al cuadrado, y la fuerza ejercida sobre el imán por el electroimán no solo es proporcional a la corriente de la bobina, sino que también es inversamente proporcional a la distancia al cuadrado.
    A los controladores PID no les gusta esta no linealidad. Debe compensar las no linealidades en su sistema de control, de modo que el controlador funcione en un espacio lineal. Para la entrada, calcule una distancia lineal desde la salida del sensor de efecto Hall y alimente que al controlador en lugar del valor bruto. Para la salida, aplique menos corriente para una fuerza solicitada dada cuando el imán esté más cerca, de modo que la atracción sea independiente de la distancia.

También hay una mejor manera de eliminar la contribución del electroimán de la salida del sensor de efecto Hall:

Pruebe la salida del sensor de efecto Hall de forma sincrónica con su salida PWM, de modo que el flujo se mida solo cuando la corriente de la bobina haya descendido a cero al final de cada período PWM. En cuanto a hardware más sencillo, el único inconveniente es que necesita programar a un nivel inferior, iniciando la conversión de analógico a digital en cada ciclo en una interrupción de temporizador. No pase el filtro de paso bajo la entrada del ADC si hace esto.

    
respondido por el jms

Lea otras preguntas en las etiquetas