Para aquellos que les gusta la tecnología, este es el esquema de regulación en el que se basa el software de la placa.
Como podemos apreciar, es tecnología de última generación.
Después de estudiar a fondo los capítulos de la hoja de datos que afectan a este proyecto, ya he definido la forma definitiva de generar la señal PWM y de emplear el ADC para tomar muestras de corriente.
El fabricante define varias formas de generar la señal PWM valiéndose del hardware específico incluido en el chip: Normal, fast PWM, PWM con correción de fase, PWM con correción de fase y de frecuencia.
Los dos primeros son más indicados para otros usos que requieren frecuencias muy elevadas. Los dos últimos están especialmente indicados para el control de motores, al generar una señal PWM de periodo constante.
He optado por el modelo más completo, es decir, el "PWM con correción de fase y de frecuencia".
En la gráfica que se incluye a continuación se indica cómo se genera. La gráfica superior nos indica cómo el hardware y el software que he programado en el chip, nos genera una salida PWM.
Configurando los registros internos, he seleccionado que se genere una señal PWM invertida (en vez de normal), ya que antes de llegar a la puerta del IGBT pasa por el optoacoplador, que la invierte, dejándola "normal".
En las dos gráficas inferiores vemos cómo es la tensión en el motor de fresado, y la corriente eléctrica que circula por él.
También se indica el momento en el que el conversor analógico digital ADC toma la muestra de la corriente. Esta toma de muestra se realiza de forma automática:
El hardware ha sido configurado mediante los correspondientes registros para que cuando la onda triangular llegue a cero (es un contador interno), se lance una interrupción que dispara el funcionamiento del ADC. Éste toma una muestra de la corriente e inicia su conversión a valor numérico. El proceso dura 125 micro segundos. También vemos que en ese momento la tensión lleva tiempo siendo aplicada al motor, y por ello la medida que obtenemos de la intensidad es bastante limpia.
También quiero resaltar que el regulador PI, al ser un sistema de regulación de primer orden, actúa como filtro, en el sentido de que no atiende a las altas frecuencias, es decir, a la pequeña variabilidad que de manera constante se produce en las medidas de corriente que toma el sensor hall.
Al terminar, el propio ADC lanza una interrupción que carga el resultado en la variable con la que realizaremos los cálculos que necesitemos.
Entre esos cálculos está el regulador PI, que es bastante lento. Si además incluimos dos PI (uno para la velocidad y otro para el par), entonces queda claro que la interrupción tardará bastante tiempo en ejecutarse. Esto ha de tenerse en cuenta, para decidir cuando vas a poder muestrear otra vez la corriente, de forma que el ADC esté ya libre.
Podría pensarse que es claramente mejor incluir el código de los PI en el bucle principal del programa, y descargar así a la interrupción de atención a la finalización de la conversión del ADC. Sin embargo, esto no tiene por qué ser así: Al ser un sistema monotarea, el procesador solo ejecuta una cosa en cada momento, así que, o está ejecutando la interrupción, o está ejecutando el bucle principal de programa. Y al final se consume el mismo tiempo. En fin, todo tiene sus pros y sus contras, y es un punto a decidir, en función de lo se vaya viendo durante las pruebas.
En la imagen el ADC tarda poco tiempo en ejecutarse, pero en nuestro caso se necesita bastante más tiempo.
Ya he terminado la implementación de los dos bucles de regulación PI que hacen que nuestra fuente conmutada sea más inteligente:
El bucle más externo determina el par motor que necesita en cada momento el motor, para seguir girando con la misma velocidad (cuando por ej. el torno se pone a cortar metal, y sube el par resistente) o para ajustarse a la nueva velocidad que le marquemos al actuar sobre el potenciómetro.
El bucle más interno recibe esta información y regula el par en el motor de fresado. Para ello controla la corriente por la máquina, ya que son variables dependientes.
Como existe una relación directa entre la variación de la velocidad de la máquina y el par motor, el doble bucle PI te garantiza un control total sobre la velocidad y la forma en la que ésta se alcanza.
Como vemos en el vídeo a continuación, cuando el eje del motor se traba, o cuando sube el par resistente (por ejemplo, cuando la máquina herramienta pasa de girar en vacío a mecanizar el metal), el sistema detecta la nueva situación y regula la tensión de alimentación para que la máquina recupere la velocidad de giro.
Todo esto se hace de forma automática, de la manera más eficiente posible.
Nuestra fuente conmutada cada día es más lista: Ya es capaz de inferir la velocidad de nuestro motor de fresado, sin usar ningún tacómetro. El procedimiento seguido se basa en la medida de corriente que la fuente envía al motor, y de la modelización matemática de éste.
Efectivamente, sabemos que la velocidad de la máquina es proporcional a su fuerza electromotriz. Y esta a su vez se puede calcular como la tensión de alimentación al motor, menos la tensión que cae en el devanado, debido a su resistencia óhmica y menos la caída de tensión en las delgas-colector, que es constante y entorno a 1v:
Y a partir de esto, podemos conocer la velocidad del motor en cada momento, con bastante precisión.
Veamos cómo se utiliza esto:
En el vídeo propuesto a continuación, se presentan en pantalla dos velocidades:
Velocidad Mando: Es la que marca el potenciómetro. Es por tanto, la velocidad que queremos conseguir. (Técnicamente se la llama "velocidad de consigna").
Velocidad estimada: Es la velocidad a la que en realidad está girando la máquina, calculada por el micro-controlador a partir de la corriente consumida, la resistencia del devanado del motor, etc.
En condiciones estables, ambas coinciden, como es lógico.
Cuando hacemos girar el potenciómetro, para que el motor suba de velocidad, esta se refleja inmediatamente en pantalla, en la velocidad de mando. Al fin y al cabo, no es más que la velocidad a la que queremos llegar, y ya veremos si se llega, jajaja.
Debajo de ella vemos como la velocidad estimada sube más lentamente. Lo que está ocurriendo es que el sistema de control de la fuente conmutada ha detectado que la velocidad deseada es mayor que la estimada, y empieza a ejecutar el control PI para aumentar la velocidad de la máquina, hasta lograr que otra vez ambas velocidades coincidan.
En resumen, la velocidad estimada siempre sigue a la velocidad de mando, y este seguimiento lo realiza gracias a los dos bucles PI incorporados al sistema de control de nuestra fuente conmutada.
A veces, con tanta teoría, se pierde de vista cuál es el objetivo práctico -para el funcionamiento en el día a día- de todo lo que se está tratando de explicar. En este post intentaremos visualizar para qué sirve todo esto de los reguladores PI. Es decir, cuál es su utilidad práctica.
Comparemos las dos situaciones posibles:
Motor sin regulación PI: A velocidades muy bajas, la tensión es muy baja y constante. El par es muy bajo porque la corriente también lo es. Así, es muy fácil parar el eje, aplicando un pequeño par resistente. El motor no es útil en estas condiciones.
Motor con regulación PI de doble lazo: A cualquier velocidad, la velocidad y el el par del motor son constantemente supervisados por el regulador PI. El par se reajusta en tiempo real, de forma que la velocidad se mantenga lo más constante posible, y siempre vigilando el par, que es la variable más importante.
En el vídeo que mostramos a continuación, se ve cómo la fuente conmutada, gracias a la doble regulación PI, es capaz de ajustar el par en el motor de fresado, incluso en condiciones extremas, cuando el motor está girando a velocidades muy bajas.
Vemos como al intentar parar el eje, la fuente reacciona incrementando la corriente por el motor (aumentando la tensión de alimentación), de manera que se venza la resistencia que estamos ejerciendo para impedir que siga girando.
Cuando liberamos de golpe el eje, todo ese par que se estaba ejerciendo, queda disponible para acelerar la máquina y se produce una aceleración, la cual es detectada por el sistema de regulación, que actúa para llevar de nuevo la velocidad a su valor inicial.
(El software que estamos empleando en estas demostraciones está configurado para que actúe más lento de lo que lo haría en condiciones normales, para que así podamos apreciar los cambios).