TECKNE_9_2

Page 18

Revista TECKNE 9 (2) p. 12 - 17. Dic. 2011.

del banco de ensayos se muestra en la figura 3. Como se puedeapreciar, el banco de ensayos está compuesto por una máquina de inducción alimentada por un inversor trifásico. Mediante dos sondas de corriente basadas en efecto Hall, se miden las corrientes de dos fases de la máquina de inducción a través de una tarjeta de adquisición de datos. La velocidad de la máquina se mide con un encoder incremental. Tanto la medida de velocidad a partir del tren de pulsos generado por el encoder como el control preciso de la conmutación del inversor precisan un hardware a medida. En este banco se usa una tarjeta basada en FPGAiii (PWM ENCODER en el diagrama) (Pinzón,2006). Según se ha expuesto anteriormente, para implantar un sistema de control con RT-Linux, éste ha de dividirse en dos partes: por un lado estarán las tareas con restricciones temporales, que en este caso será la tarea de control; y por otro están el resto de servicios, como son el interfaz del usuario, almacenamiento en disco, etc.

A. Metodología de programación en RT-Linux Para realizar un sistema de tiempo real bajo RT-Linux, es necesario dividir el sistema en tareas que han de ejecutarse de tiempo real, como por ejemplo las rutinas de adquisición de datos o de control y las tareas que no tienen restricciones temporales estrictas, como el interfaz con el usuario, el almacenamiento en disco o las comunicaciones.

Figura 3. Diagrama de bloques del banco de ensayos

Figura 4. Diagrama de bloques del programa de control.

Las tareas de tiempo real estarán controladas directamente por el núcleo de tiempo real, con lo que su tiempo de respuesta será determinista. Además, el núcleo de RT-Linux permite definir tareas periódicas o tareas activadas mediante interrupciones hardware, lo que simplifica el trabajo del programador. La única restricción impuesta a estas tareas es la imposibilidad de usar los servicios de Linux, como por ejemplo el acceso a disco o a la memoria dinámicaii. Sin embargo, esta restricción no dificulta la labor del programador, ya que en la práctica estas rutinas sólo realizarán la parte crítica del sistema de tiempo real, por lo que su complejidad no será muy elevada.

En la figura 4 se muestra un diagrama de bloques de la implantación del programa de control. Como se puede apreciar existe una tarea de control que es la que interactúa directamente con el hardware. Esta tarea se activa periódicamente cada 0,5 ms mediante una interrupción generada por un temporizador situado en la FPGA. A partir de las medidas de las corrientes y de la velocidad se calculan los tiempos en los que debe conmutar cada una de las ramas del inversor (Tu, Tv, Tw), usándose para ello un controlador vectorial (Pinzón,2006). El valor de estos tiempos se envía a la tarjeta de modulación, finalizando así la tarea de control. La tarea de supervisión se encarga de arrancar o parar el experimento y de guardar a disco una serie de medidas y datos internos del controlador para su posterior análisis. La comunicación entre ambas tareas se realiza mediante una RT-FIFO, ocupándose un ancho de banda de 0,61 MB/s.

El resto de tareas del sistema se implantarán en el espaciode usuario de Linux, de la misma manera que el resto de programas, por lo que tienen a su disposición todos los servicios del sistema operativo. La comunicación entre las tareas de tiempo real y las tareas en espacio de usuario se realiza mediante colas FIFO (RTFIFOS). Si es necesaria una gran transferencia de datos, puede usarse también una memoria compartida.

VIII. CONCLUSIONES En este artículo se ha mostrado que para implantar un sistema de control digital, es necesario utilizar técnicas de programación de tiempo real. Se han mostrado las distintas alternativas existentes, concluyendo que, salvo en sistemas muy simples, es imprescindible el uso de un sistema operativo de tiempo real. Se han mostrado dos familias de sistemas operativos de tiempo real, los tradicionales, codificados desde cero, y una alternativa más reciente que consiste en modificar un sistema operativo convencional para que cier-

VII. EJEMPLO DE APLICACIÓN:CONTROL DE VELOCIDAD DE UNA MÁQUINA DE INDUCCIÓN El sistema operativo RT-Linux se ha probado para controlar una máquina de inducción. Un diagrama de bloques .16.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.