Regulación lado alto de corriente para válvula proporcional

Estoy trabajando con un circuito que regula la corriente a través de una válvula solenoide proporcional genérica (L1 en el esquema a continuación). Las características de la bobina de la válvula son desconocidas/variarán y la tarea de la aplicación es compensar las variaciones de resistencia/inductancia en la bobina causadas por cambios de temperatura, etc., por medio de un regulador PID. Las corrientes son aproximadamente entre 200 mA y 1 A.

Estamos utilizando un sentido de corriente de lado alto y un controlador de lado alto para lograr esto. La corriente se obtiene de una señal PWM de 5 V 500 Hz, que controla un MOSFET de controlador de lado alto de canal n "inteligente" . La resistencia activada no debería importar mucho ya que la tarea del circuito es compensar la resistencia.

El conductor usa 24 VCC sin procesar y no regulados de un vehículo para controlar la válvula. El diodo de rueda libre utilizado es este .

La corriente del lado alto se mide sobre R1 con un amplificador de detección de corriente del lado alto que da su salida como una corriente entre 0 y 1 mA. Esta corriente es a su vez medida sobre la resistencia R4 por el microcontrolador, de manera que 1mA es igual al valor máximo de ADC. (Por varias razones, la referencia de ADC debe ser inferior a 5 V; en este caso, se obtiene a partir de una referencia de voltaje precisa).

esquemático

simular este circuito : esquema creado con CircuitLab

El regulador PID está implementado en el software y funciona como debería, compensando los cambios en la resistencia. Sin embargo, asume que las entradas y salidas son lineales, por lo que la corriente solo se mide una vez por período, en un punto fijo. Hemos probado que esto funciona conectando resistencias en serie con la válvula. Todo funciona bien mientras el suministro de la válvula se mantenga constante.

Sin embargo, cuando cambiamos el voltaje de suministro, el regulador intentará compensar, pero aún notamos un patrón no lineal en la corriente de salida, mucho más alto que el <1% que se puede esperar del LT6106. Puede variar tanto como 10-20% entre el suministro de 20V y 30V.

Después de mucha investigación, llegamos a la conclusión de que esto se debe a algún fenómeno no lineal en la bobina. En el lado alto, el PWM siempre se parece mucho a una onda cuadrada digital, por lo que no hay mucho que decir de eso.

Pero en el lado bajo, la curva se ve muy diferente según el voltaje de suministro. Logramos medir esto agregando una resistencia de derivación en el lado bajo, se parece a esto:

suministro de 22 VCC

22V

suministro de 30 VCC

30V

Las imágenes de arriba son para la misma salida, pero con el regulador tratando de compensar el cambio de corriente causado por el cambio de voltaje de suministro, por lo tanto, los diferentes ciclos de trabajo.

Soy un tipo de software, por lo que de ninguna manera soy un experto en electrónica, y mucho menos en campos magnéticos en bobinas, por favor tengan paciencia conmigo.

  • P1: ¿Es este un fenómeno conocido y existe una fórmula que pueda usar en el software para compensar la no linealidad? Es posible que la MCU mida el voltaje de suministro si es necesario.

    Dado que la corriente se mide en el lado alto, todo se ve bien allí. Puedo calcular la corriente máxima o promedio, pero eso es de poca utilidad, ya que aparentemente la onda cuadrada no se parece en nada a la corriente real que fluye a través de la bobina.

  • P2: ¿Cuánto impacto, si lo hay, tiene el diodo de rueda libre en la salida? ¿Puedo cambiar la curva eligiendo otro diodo con un voltaje directo diferente, agregando resistencias en serie, etc.?

Los comentarios generales sobre el diseño también son bienvenidos: sé que el controlador IC está obsoleto.

Por cierto, el controlador de lado alto se usa para reducir la cantidad de cables, ya que la válvula no está necesariamente ubicada cerca de la PCB. Medir la corriente del lado bajo o poner cualquier forma de electrónica después de la bobina requeriría un cable adicional, que era lo que el diseño originalmente intentaba evitar.

Respuestas (2)

  1. La corriente de retorno debe estar dentro del bucle de detección de corriente. Esta es una parte legítima de la corriente del solenoide. No medirlo da una mala entrada al controlador.
  2. Otra fuente de no linealidad con respecto a la tensión de alimentación se debe a la caída de tensión D1. Este voltaje fijo introduce un elemento no lineal ya que no se escala con el voltaje de suministro. A un voltaje de suministro más alto, el tiempo de apagado de PWM será menor, por lo que el diodo se enciende más, lo que hace una diferencia aún mayor.


    D1 debe ser un diodo Schottky. Estos tienen aproximadamente la mitad de la caída de voltaje de un diodo de silicio normal. La no linealidad seguirá ahí, pero menos prominente.

  3. El interruptor FET no tiene sentido como se muestra. No desea impulsar la bobina desde un seguidor de fuente, como lo está haciendo ahora. El voltaje de modo común de la bobina puede flotar arbitrariamente, por lo que tiene más sentido usar un interruptor de lado bajo entre la bobina y tierra. Esto le brinda PWM real, con el voltaje de suministro completo a través de la bobina cuando el interruptor está encendido.
  4. Un poco de feed-forward probablemente ayudaría. Haga que el lazo de control calcule un PWM normalizado a un voltaje de suministro fijo. Luego haga la división usando el voltaje de suministro real medido para determinar el ciclo de trabajo PWM real para cargar en el hardware. Esto elimina la compensación de voltaje de suministro del lazo de control, que luego ve una respuesta de planta más consistente. El bucle de control solo maneja la pequeña no linealidad que no se soluciona al hacer que el ciclo de trabajo sea inversamente proporcional al voltaje de suministro.


    Una vez hice esto con una válvula proporcional que tenía que funcionar con un suministro de 8 a 20 V y funcionó muy bien.

  5. 500 Hz parece muy bajo para la frecuencia PWM. Desea que la corriente del solenoide no decaiga mucho durante el tiempo de inactividad de PWM. Piense en la corriente del solenoide como la CC promedio con ondulación PWM de CA. Sólo el primero mueve el solenoide. Este último solo genera energía y calefacción desperdiciadas, y agrega ruido a su medición actual.
  6. El filtro R3 y C1 no tiene sentido considerando la frecuencia PWM de 500 Hz que está utilizando. Desea medir la corriente promedio del solenoide, por lo que la frecuencia PWM debe atenuarse fuertemente. Su filtro se activa a 4,1 kHz, por lo que no hará mucho para reducir la ondulación PWM de 500 Hz. Una frecuencia PWM más alta también ayuda con esto.


    La única forma en que lo que tiene sería aceptable es si está muestreando la corriente a una velocidad mucho más allá de 1 kHz y luego haciendo un filtrado significativo en el firmware. 1 kHz es el mínimo absoluto solo para evitar que la frecuencia fundamental PWM se distorsione. Sin embargo, la señal PWM tendrá armónicos significativos, por lo que necesitará muestrear significativamente más de 1 kHz para obtener una imagen razonable de la corriente.

    Una vez más, use PWM mucho más rápido y una atenuación de filtro mucho menor. Cambiar a un diodo Schottky como ya se indicó reduce la magnitud de la frecuencia PWM en la señal actual. Incluso con todo eso, es posible que aún necesite muestrear a alta velocidad, luego filtrar digitalmente y diezmar.

¡Gracias por su respuesta! Un montón de cosas a considerar. Comenzaré con el schottky, ya que es algo fácil de probar en el diseño existente. Con respecto al C1, en realidad solo está allí debido al ruido que creemos que se origina en el regulador incorporado del controlador "inteligente". No está allí para los 500 Hz: la corriente se mide en un punto de muestra fijo en el ciclo de trabajo positivo (aunque hay un filtro de promedio móvil en el software, antes del PID). De hecho, creo que se necesita una frecuencia más alta, la solución existente "suelta" la corriente, dejándola caer demasiado antes del próximo ciclo de trabajo.

No espere que una bobina de relé actúe como un inductor lineal. La bobina del relé tendrá un núcleo de hierro y, cuando se diseñe correctamente, debería saturarse. Los detalles de la curva de saturación dependerán de la temperatura. Este efecto de saturación se denomina curva BH del hierro. Un desafío adicional es que el hierro se magnetiza y esto provoca histéresis. Para controlar la corriente no lineal con histéresis en el software, un filtro de Kalman debería funcionar mejor que un PID.

Una forma de pensar en esto es que el relé es un motor lineal y el circuito necesita detectar la posición del motor sin medir directamente la posición. El documento " Histéresis de hierro y filtrado de Kalman mejorado para la detección de posición sin sensores de motores síncronos " es un ejemplo de otra persona que utiliza el enfoque del filtro de Kalman.

Los filtros de Kalman solían ser más difíciles de entender, pero ahora hay excelentes tutoriales como " Cómo funciona un filtro de Kalman, en imágenes " .

Estoy de acuerdo con Olin en que sería mejor un interruptor de canal N de lado bajo. Solucionaría esto antes de preocuparme por los otros detalles.

Si bien lo que dice es correcto, tenga en cuenta que el OP dijo específicamente que está trabajando con una válvula solenoide proporcional. En otras palabras, el solenoide ha sido diseñado deliberadamente para no tener los efectos de los que habla, al menos desde el punto de vista exterior de la caja.
Creo que estas válvulas siguen siendo bastante no lineales tanto en magnetismo como en cómo cambia la inductancia con el desplazamiento. Revisé la teoría de los solenoides proporcionales y el cálculo de la fuerza magnética usando COMSOL Multiphysics en comsol.com/paper/download/83443/vogel_paper.pdf . La figura 11 de este documento muestra un pequeño rango lineal de fuerza versus corriente.