Descargar

El control de la velocidad de motores de corriente alterna (página 2)

Enviado por Pablo Turmero


Partes: 1, 2

Este circuito brinda una referencia positiva de +2.5v con el objetivo de llevar el rango de voltajes de salida de los sensores de efecto Hall a niveles positivos, que puedan ser leídos por el conversor analógico/digital (A/D). El rango de salida de los sensores es +/- 2v y el conversor A/D puede leer solamente valores entre 0 y +5v. La referencia positiva impuesta por el circuito de tierra virtual se suma al voltaje a la salida del sensor obteniéndose un rango de entrada al conversor A/D entre 0.5v (valor mínimo) y +4.5v (valor máximo). Los voltajes de referencia Vreflo y Vrefhi del conversor son establecidos a los valores anteriores para aprovechar todo su rango dinámico.

Sensor de posición ("encoder").

Estos dispositivos se instalan en la flecha del rotor y permiten el cálculo de la velocidad o posición del rotor en un momento dado. Un "encoder" es un dispositivo que entrega un número especificado de pulsos en una revolución mecánica del rotor. A partir del conteo de la cantidad de pulsos obtenidos en un intervalo de tiempo fijo, se puede conocer la velocidad mecánica del motor. El sensor de posición usado en el trabajo es un dispositivo incorporado al motor y tiene una resolución de 1024 pulsos/rev. La señal que entrega este sensor se suministra a una unidad de captura en el DSP, que permite el conteo de pulsos y el cálculo de la velocidad. Los detalles de diseño del software para realizar este algoritmo serán explicados en el capítulo 5.

Computadora personal (PC).

La computadora constituye el elemento de interfaz entre el usuario y el sistema de control. La tarjeta de evaluación (kit) de DSP se conecta a la PC a través del puerto paralelo de esta. En ella se corren los programas de ensamble, enlace y depuración ("debugger"), del procesador TMS320F240. Los requerimientos mínimos necesarios para la PC impuestos por la tarjeta de evaluación son los siguientes [11]:

  • 1- Computadora IBM PC/AT, 386 o superior.

  • 2- Unidad de disco flexible de 1.44 Mb.

  • 3- Puerto paralelo bidireccional de 8 bits o de tipo "Enhanced Parallel Ports" (EPP), para obtener una mayor razón de transferencia de datos.

  • 4- Memoria: 4 Mb (mínimo).

  • 5- Monitor a color de tipo VGA.

  • 6- Software: Windows 3.1 o Windows 95, editor ASCII.

3.2 Diseño del hardware del sistema de control.

Desde el punto de vista eléctrico, el hardware del sistema de control comprende las siguientes etapas.

  • 1- Tarjeta de evaluación (kit) del DSP TMS320F240 y componentes accesorios. Este módulo será explicado en detalle en el epígrafe siguiente.

  • 2- Diseño de la tarjeta de potencia: Esta tarjeta incluye los circuitos optoacopladores, el módulo de potencia PM30RSF060 [15] y las fuentes de voltaje de + 15v para el funcionamiento de los optoacopladores y excitadores y +5v para la etapa de entrada digital de la tarjeta. La tarjeta recibe como entrada las señales de PWM provenientes del DSP y sus salidas se conectan a los sensores de Efecto Hall. En las pruebas de ajuste de esta tarjeta, se comprobó que las señales a la salida de los optoacopladores sufrían una considerable deformación del pulso cuadrado, lo cual afectaba la respuesta dinámica de estos dispositivos. Este efecto se debía a los niveles de corriente que recibían los circuitos optoacopladores, que no eran los adecuados. Por tal motivo se rediseñó esta etapa agregando un circuito "buffer" de corriente como se muestra en la figura 3.3:

  • 3-  Diseño de la tarjeta de adquisición de señales: Incluye los tres sensores de efecto Hall y el circuito de tierra virtual (TLE2425C). Esta tarjeta recibe como entrada las tres corrientes trifásicas generadas en el inversor y entrega las señales de voltaje proporcionales a estas corrientes al bloque de conversión analógico digital del DSP.

  • 4- Diseño de la fuente de corriente directa de 320V para la alimentación de la etapa de potencia del sistema, obtenidos a partir de la rectificación y filtrado de los voltajes trifásicos de 220Vrms.

  • 5- Diseño de las fuentes de +/- 5v para la alimentación de los sensores de efecto Hall y el sensor de posición ("encoder").

En el siguiente epígrafe se explicarán las características más importantes de la tarjeta de evaluación (kit) del DSP TMS320F240, la cual constituye el elemento central del sistema de control.

3.3 La tarjeta de evaluación (kit) TMS320C24x. Arquitectura y funcionamiento [11].

La familia de procesadores de Texas Instrumentas TMS320C2xx, proporciona un conjunto de dispositivos y herramientas de software para la confección y puesta en marcha de aplicaciones relacionadas con estos procesadores. Este conjunto de herramientas está compuesto por:

  • 1- Tarjeta de DSP ("C24x Evaluation board").

  • 2- Adaptador de puerto paralelo ("XDS510PP emulator"): Este dispositivo sirve de interfaz entre la PC y la tarjeta de evaluación.

  • 3- Fuente de alimentación: Entrada: 100-250v, Salida: 5v, 3.3A.

  • 4- Software: Incluye ensamblador, enlazador ("linker"), y el emulador ("C24x EVM C Source Debugger"). Además se brindan algunas utilerías básicas y bibliotecas de programas en ensamblador del TMS320F240.

El anexo 1-a muestra un diagrama en bloques de la tarjeta de evaluación, mientras el 1-b ofrece el esquema eléctrico de la misma. A continuación se explican algunos de los componentes fundamentales de esta tarjeta y su identificación en el esquema 1-a:

  • 1- Procesador digital de señales (DSP), TMS320F240, de punto fijo (U6)

  • 2- 128 Kw de memoria RAM en la tarjeta (U3 y U4).

  • 3- Conversor digital/analógico (D/A) de 12 bits, con cuatro canales de conversión (U9).

  • 4- Dos arreglos lógicos de compuertas (GAL) de tipo 16V8 para la lógica de control y decodificación de la tarjeta. (U7 y U14).

  • 5- Oscilador de reloj de 10Mhz (U16).

  • 6- Puerto serial compatible con RS232 (P6).

  • 7- Puerto para el adaptador XDS510PP (P5).

  • 8- Banco de 8 conmutadores (" DIP switches") (SW2).

  • 9- Banco de 8 LEDS (SW1).

  • 10- Cuatro conectores de expansión de 34 pines, agrupados funcionalmente, los cuales brindan las señales más importantes del DSP y la tarjeta de evaluación. Estos conectores son:

  • Conector de Entrada/Salida: Este conector permite el acceso a todas las señales del módulo de manejo de eventos ("event manager") del DSP, así como a las señales de los puertos de comunicación serial (SCI y SPI). En este trabajo se utiliza para obtener las señales de PWM generadas en el procesador y como entrada de la señal del sensor de posición a la unidad de captura del DSP.

  • Conector analógico: Este conector brinda las señales de los módulos de conversión A/D y D/A. En el trabajo se utiliza para suministrar al DSP las señales de corrientes de fase ia e ib, así como para obtener señales provenientes del conversor digital/analógico (D/A), utilizadas en las pruebas realizadas a los distintos módulos del sistema.

  • Conector de direcciones/datos: A través de este conector se accesan las señales de los buses de direcciones y datos del procesador con el objetivo de conectar periféricos externos o expandir memoria. No se utiliza en este trabajo.

  • Conector de control: Brinda las señales de control más importantes del procesador. No se utiliza en este trabajo.

La distribución de pines de cada conector puede ser consultada en el manual TMS320C24x DSP Controllers. Evaluation Module [11].

Configuraciones básicas realizadas en la tarjeta de evaluación.

  • 1- Puentes ("Jumpers") JP2 y JP3 en posición 2-3: Permite que los voltajes de referencia del conversor A/D, Vrefhi y Vreflo, respectivamente, puedan ser variados en un rango de 0 a 5v de cd.

  • 2- Establecer el voltaje de referencia bajo del A/D (Vreflo), en 0.5v usando el potenciómetro R2.

  • 3- Establecer el voltaje de referencia alto del A/D (Vrefhi), en 4.5v usando el potenciómetro R1.

3.4 El procesador digital de señales (DSP) TMS320F240.

A continuación se exponen algunas de las características más importantes del procesador TMS320F240 y del funcionamiento de los módulos más importantes del mismo usados en el trabajo.

3.4.1 Características generales [12].

a-) Procesadores de 16 bits de punto fijo.

b-) Ciclo de instrucción de 50 (s (20 MIPS).

c-) Memoria:

  • 544 w de RAM interna de acceso dual (DRAM).

  • 16 kw de ROM tipo flash (EEPROM).

  • 224 kw de memoria total (64kw de memoria de programa, 64kw de memoria de datos, 64kw de espacio de entrada/salida y 32kw de memoria global).

d-) Código compatible con los procesadores de la familia TMS320C5x.

e-) Seis fuentes de interrupción, cada una con múltiples subniveles.

f-) 12 canales para modulación de ancho de pulso (PWM).

g-) Tres temporizadores ("timers") de 16 bits, con seis modos de trabajo cada uno.

h-) Módulo de conversión analógico/digital de 10 bits con 6 (s de tiempo de conversión y 16 entradas analógicas, divididas en dos bloques de ocho entradas cada uno, lo que permite la lectura de dos señales simultáneamente.

i-) 28 líneas de entrada/salida multiplexadas.

j-) Dos puertos para comunicación serial ( SCI y SPI).

3.4.2 Módulo manejador de eventos ("event manager") [13].

Este módulo proporciona una amplia gama de funciones que son de gran utilidad para aplicaciones de control de motores.

En el anexo 2 se muestra un diagrama general del mismo, en el cual se pueden identificar los siguientes bloques:

  • 1- Tres temporizadores de 16 bits de propósito general ("GP timers 1, 2 y 3").

  • 2- Tres unidades de comparación completa ("Full compare 1, 2 y 3").

  • 3- Tres unidades de comparación simple ("Simple compare 1, 2 y 3").

  • 4- Circuitos para generación de señales PWM que incluyen:

  • Circuito de generación de PWM usando el método de vectores espaciales (SV PWM).

  • Unidad de generación de banda muerta ("dead band").

  • Lógica de salida que permite controlar el nivel de activación de las señales PWM que se generan.

  • 5- Cuatro unidades de captura.

  • 6- Circuito para detección de pulsos en cuadratura (QEP).

  • 7- Interrupciones asociadas a la generación de cada evento del módulo.

A continuación se explican las principales características de los bloques anteriores usadas en el desarrollo de este trabajo.

Temporizadores ("timers").

Cada temporizador puede ser programado en seis modos de trabajo diferentes (modo 0 al modo 5), dependiendo de las características de la señal que se necesite usar como base de tiempo. La programación de los temporizadores requiere de la iniciación de los siguientes registros:

1- GPTCON: Se programan los niveles de activación de las salidas de cada temporizador, el inicio de conversión del A/D por un evento del temporizador, etc.

2- TxCON (x=1,2,3): Registro de control de cada temporizador: Se programa el modo de trabajo, la fuente de reloj del temporizador, el valor del pre-escalador, entre otras funciones.

3- TxPER(x=1,2,3): Registro de período de la señal. Se programa la duración del período (cantidad de pulsos de reloj) de la señal que se genera.

4- TxCNT(x=1,2,3): Registro contador de pulsos de reloj de cada temporizador.

La estructura completa de cada registro se muestra en el manual TMS320C24x DSP Controllers. Vol 2 [13].

En este trabajo se utilizaron los temporizadores 1 y 2 para generar la señal de referencia triangular en el bloque de PWM y para el conteo de pulsos de la unidad de captura en la medición de velocidad, respectivamente. Los detalles de programación de estos módulos serán expuestos en el capítulo 5.

Unidades de comparación completa ("Full compare")

Este procesador incluye tres unidades de comparación completa (1,2,3), que permiten comparar el valor del contador de un temporizador, con otro valor previamente cargado en un registro de comparación. Cuando ambos valores coinciden se modifica el valor de las salidas de la unidad. Cada unidad tiene dos salidas complementadas, que pueden ser programadas para generar PWM.

La programación de las unidades de comparación completa incluye la iniciación de los siguientes registros:

  • 1- COMCON: Permite programar la condición de recarga de los comparadores, el modo de trabajo de cada salida (comparación/PWM), entre otras funciones.

  • 2- ACTR: En este registro se programa el nivel de activación de cada una de las salidas de cada unidad.

  • 3- CMPRx: Registro donde se carga el valor a comparar para cada una de las unidades.

La estructura completa de cada registro se muestra en el manual TMS320C24x DSP Controllers. Vol 2 [13].

En este trabajo se utilizan las unidades de comparación completa para generar las seis señales PWM, necesarias para el control de las corrientes del inversor (Figura 3.1).

Circuito para generación de PWM.

La familia de procesadores TMS320C2xx, proporciona hasta doce salidas PWM, uniendo las seis salidas de las unidades de comparación completa, las tres de las unidades de comparación simple y las salidas individuales de cada temporizador. Entre las posibilidades que brinda la generación de PWM se encuentran:

  • Resolución máxima: 16 bits.

  • Mínima amplitud del pulso de PWM: Un ciclo de reloj (50(s).

  • Posibilidad de cambiar la frecuencia de portadora "al vuelo" (durante el conteo). Esto es posible por la existencia de registros de períodos (TxPER) dobles, que permiten escribir un nuevo valor sin afectar el conteo actual.

  • Posibilidad de cambiar la amplitud de pulso "al vuelo". Esto es posible por la existencia de registros de comparación (CMPRx) también dobles.

  • Posibilidad de programar banda muerta ("dead band"), usando el registro DBTCON en un rango de 0 a 102(s para un reloj de 50(s. La banda muerta es un intervalo de tiempo necesario para la conmutación de los transistores en un inversor.

  • Posibilidad de programación de PWM en tres modos de trabajo: asimétrico, simétrico y por generación de vectores espaciales (SV PWM) [5].

Este trabajo implementa una generación de PWM de tipo simétrica como se muestra en la figura 3.4.

El temporizador genera una forma de onda triangular, programado en modo 5 (conteo ascendente/descendente continuo), cuyo período es el de la señal portadora en la modulación por ancho de pulso y se calcula como:

Período(PWM)= 2 * Tx PER (3.1)

donde TxPER es el valor que se le programa al registro de período del temporizador.

Cuando la señal de referencia triangular coincide con el valor programado al registro de comparación, se produce una conmutación de las salidas PWMx y PWMx+1.Los valores de los registros de comparación y de período pueden ser recargados en cualquier instante de tiempo.

En este trabajo el valor del registro de comparación proviene de la salida de un regulador PI y constituye la señal moduladora en la modulación por ancho de pulso (PWM). La figura 3.4 muestra como dependiendo del valor del registro de comparación (CMPRx) y el punto donde intercepta a la señal triangular de referencia, varía la amplitud de los pulsos de las salidas PWM. El nivel de activación de estas señales ("0" ó "1") puede ser establecido programando el registro ACTR.

El capítulo 5 brinda una explicación detallada de la generación de señales PWM, explicando el funcionamiento completo del lazo de control de las corrientes de fase, la programación de los registros y la incorporación de banda muerta en la generación de PWM.

Unidades de captura.

Las unidades de captura permiten leer el valor del contador de un temporizador cuando una determinada señal llega a la entrada de la unidad. Este procesador contiene cuatro unidades de captura con las siguientes características:

  • 1- Cada unidad puede elegir el temporizador 2 ó 3 como base de conteo.

  • 2- Cada unidad presenta una estructura FIFO ("First In First Out") de dos niveles de 16 bits que permite almacenar hasta dos conteos.

  • 3- Cada unidad presenta un registro de control (CAPCONx), donde se programa, entre otras, la habilitación de la unidad, la selección del temporizador que utilizará y el frente de activación de la señal de captura (subida, bajada o ambos frentes).

  • 4- Las unidades de captura 1 y 2 pueden ser programadas en un modo llamado cuadratura de pulsos (QEP) en la cual se detecta el tiempo transcurrido entre dos pulsos defasados 90º.

Este trabajo utiliza la unidad de captura 1 para leer la señal del sensor de posición ("encoder") y calcular la velocidad del rotor, como se explicará en el capítulo 5.

Interrupciones del módulo de manejo de eventos.

Este módulo genera una gran cantidad de eventos que pueden ser tratados por interrupción y que se encuentran agrupados en tres bloques llamados A, B y C. Entre las fuentes de interrupción más importantes se encuentran:

  • 1- Interrupción por comparación en las unidades de comparación completa: Se produce cuando el valor del registro de comparación se iguala al valor del contador del temporizador.

  • 2- Interrupciones de los temporizadores: Se producen por:

– Período: Cuando el valor del contador se iguala al del registro de período (TxPER).

– "Overflow": El contador alcanza su máximo valor.

– "Underflow": El contador alcanza el valor 0 contando de forma descendente.

  • 3- Interrupciones de la unidad de captura.

El trabajo con interrupciones involucra la programación de los siguientes registros:

  • 1- IMR: Registro de máscaras de interrupción, el cual habilita o no las seis fuentes de interrupciones principales del procesador.

  • 2- IFR: Registro de banderas de interrupción, el cual permite conocer el estado de las fuentes de interrupción. Escribiendo un "1" en el bit correspondiente se limpia esa solicitud de interrupción.

  • 3- EVIMRA, EVIMRB, EVIMRC: Registros de máscaras de interrupción de cada una de las fuentes de interrupción del módulo de manejo de eventos.

  • 4- EVIFRA, EVIFRB, EVIFRC: Registros de banderas de interrupción de cada una de las fuentes de interrupción del módulo de manejo de eventos.

3.4.3 Módulo de conversión analógico digital ( A/D) [13].

El procesador TMS320F240 incluye un módulo de conversión analógico/digital interno. Un esquema general de este módulo se muestra en el anexo 3, el cual presenta las siguientes especificaciones:

  • 1- 16 entradas analógicas agrupadas en dos módulos multiplexores de 8 bits cada uno, lo cual permite la lectura de dos canales simultáneamente.

  • 2-  Resolución de los conversores: 10 bits.

  • 3- Tiempo de conversión: 6.6(s.

  • 4- Estructura FIFO de dos niveles para cada conversor, lo cual permite el almacenamiento de dos lecturas sin pérdida de información.

  • 5- Los voltajes de referencia máximo (Vrefhi) y mínimo (Vreflo), pueden ser establecidos en cualquier valor entre 0 y +5v.

  • 6- Posibilidad de realizar conversión simple o continua.

  • 7- El inicio de conversión puede ser suministrado por software, eventos internos del módulo A/D o eventos externos producidos por el módulo manejador de eventos ("event manager").

  • 8- Circuito pre-escalador programable. La elección de un valor en el pre-escalador debe satisfacer la siguiente fórmula:

La programación del módulo de conversión A/D se realiza a través de los siguientes registros:

  • 1- ADCTRL1: Se habilita el conversor, el inicio de conversión, la interrupción del A/D y el canal a leer.

  • 2- ADCTRL2: Se programa el valor del pre-escalador, el inicio de conversión por un evento externo, entre otras funciones.

En este trabajo se utilizan los canales 3 y 11 del conversor para la lectura de las corrientes de fase del inversor (ia e ib). La lectura se realiza usando la interrupción del conversor A/D.

3.5 Módulo de conversión digital/analógico (D/A) de la tarjeta de evaluación[11]

La tarjeta de evaluación del DSP TMS320F240 incorpora un conversor digital analógico de cuatro canales con una resolución de 12 bits cada uno. Cada canal tiene un registro asociado en el cual se carga el valor digital a convertir. Estos registros están mapeados en la página 0 de memoria y ocupan las siguientes direcciones:

El registro DAC UPDATE permite iniciar un ciclo de conversión escribiendo cualquier valor en el mismo.

El módulo de conversión D/A requiere la generación de estados de espera para una operación correcta. El procesador debe ser programado para generar estados de espera por software, para lo cual son necesarios los siguientes requerimientos:

1- El registro WSGR debe ser programado para habilitar un estado de espera en el espacio de entrada/salida.

2- La señal CPUCLK de 20 Mhz debe ser enviada por el pin CLKOUT del DSP. Esta señal es usada por la GAL (U14) de la tarjeta de evaluación para generar los estados de espera requeridos por el módulo de conversión D/A.

La programación de los registros para generar los estados de espera se puede observar en el bloque de iniciación de registros del programa en el anexo 4.

La resolución de los cuatro canales del conversor D/A es de 12 bits por lo que se pueden enviar valores entre 0 y 0fffH equivalentes a niveles de voltajes analógicos a la salida entre 0 y 5v.

En este trabajo, los canales del conversor D/A son usados para comprobar el funcionamiento de distintas etapas del software del sistema de control, cuyos valores se obtienen de forma digital dentro del sistema y son convertidos a señales analógicas para ser observadas a través de un osciloscopio en las pruebas de puesta a punto del sistema. Entre las variables que son convertidas están las salidas de las subrutinas de Clarke (isalfa, isbeta), Park (isd, isq), las señales de referencia de los controladores de par y flujo (isd_ref, isq_ref) y las señales de referencia del lazo de corriente obtenidas producto del control (ia_ref, ib_ref, ic_ref).

Con el objetivo de poder obtener todas las señales usando los cuatro canales, en cada bloque se cargan las variables anteriores en los registros del conversor y dependiendo de las que se quieran obtener en un momento dado, se activa la llamada a la rutina de conversión D/A correspondiente. El anexo 4 muestra el código en lenguaje ensamblador de la programación de la etapa D/A.

Este capítulo abordó todos los aspectos relacionados con el funcionamiento y especificaciones de los distintos módulos que intervienen en el hardware del sistema de control. En el siguiente capítulo se explica el diseño general del software del sistema y la estructura del programa propuesta.

CAPÍTULO 4

Software del sistema de control

INTRODUCCIÓN

Este capítulo abarca el diseño del software del sistema. Se brinda una descripción general del funcionamiento del programa, explicando los diferentes módulos que lo integran. Además se expone la estructura del programa dividida en Programa Principal y Rutinas de interrupción utilizadas.

4.1 Descripción general del software del sistema.

El programa elaborado para implementar el control por campo orientado se basa en la utilización del método directo, como se explicó en el capítulo 2 [1,2,6]. La figura 4.1 muestra un esquema general de este método.

El sistema adquiere las corrientes de fase ia, ib e ic del inversor trifásico (IGBT), además obtiene la velocidad real del motor (vel_real), a partir de un sensor de posición ("encoder"), conectado en la flecha motor. Estas señales constituyen las variables de entrada al sistema de control. Los detalles de programación de esta etapa de entrada son explicados en el capítulo siguiente.

El esquema de la figura 4.1 muestra los lazos de control utilizados en el diseño. El lazo más externo controla la velocidad del motor a partir de una velocidad de referencia (vel_ref) y la velocidad real calculada. La salida de este regulador entrega la señal de referencia (isq_ref) al regulador del par conectado en cascada al anterior. La regulación del par se realiza a partir de esta señal y la componente de corriente isq, proporcional al par. La salida de este regulador es la señal isq*, que se suministra al bloque de transformación inversa de coordenadas.

La regulación de flujo, por su parte, obtiene la señal de referencia (isd_ref) a partir de la velocidad de referencia (vel_ref) y un bloque nombrado "debilitamiento de campo (Field Weakening)"[9], que tiene como objetivo poder extender el control de velocidad más allá de la velocidad base y cuya implementación será explicada en el capítulo 5. La regulación de flujo se realiza a partir de esta señal y la componente de corriente isd, proporcional al flujo. La señal de salida de este regulador (isd*), se envía también al bloque de transformación de coordenadas

Las componentes de corriente en coordenadas de campo (isd,isq), son obtenidas a partir de las corrientes trifásicas (ia,ib,ic), mediante los bloques de transformación de coordenadas Clarke y Park, explicados en el capítulo 2.

Los valores de corriente en el plano d,q, (isd,isq) junto a la velocidad obtenida a partir del sensor de posición ("encoder"), constituyen las entradas al modelo de corriente que tiene

Figura 4.1 Esquema general del método directo de campo orientado.

la función de calcular el vector posición del flujo del rotor ((cm) [9]. El valor calculado es suministrado a los bloques de transformación de coordenadas (Park directo y Park inverso), que lo utilizan para la transformación del sistema de referencia bifásico estacionario a coordenadas de campo d,q o viceversa.

El modelo de corriente constituye el centro del método directo ya que en él se implementan las ecuaciones de campo orientado con el objetivo de obtener el vector de flujo del rotor. La programación del modelo de corriente se explica en el capítulo 5.

Los valores obtenidos a la salida de los reguladores PI de par y flujo (isq*, isd*), son nuevamente transformados a un marco de referencia trifásico estacionario usando las transformaciones de planos Park inverso y Clarke inverso, según las ecuaciones 2.22 a 2.26, del epígrafe 2.3.

Los reguladores PI de velocidad, par y flujo mostrados en la figura 4.1 fueron sintonizados usando la herramienta Simulink de Matlab. Los detalles de sintonización de los mismos, la

elección de los valores de saturación de cada uno de ellos y su realización en el DSP serán ampliados en el capítulo 5.

Una vez obtenidas las corrientes de referencia trifásicas (ia_ref, ib_ref e ic_ref), se implementan tres lazos de control de las corrientes del inversor, en el cual se comparan los valores de corrientes de referencia obtenidos, con los valores reales de corrientes de fase medidos. Estos lazos son los más internos del sistema y están en cascada con los reguladores de par y flujo. El error de salida es minimizado a través de un regulador PI para cada fase, siendo la salida de este, el valor que se carga a los registros comparadores en el bloque de generación de señales PWM de tipo triangular (epígrafe 3.2.2). Las salidas PWM obtenidas, dos por cada fase de corriente, son enviadas al inversor trifásico, a través de circuitos optoacopladores y excitadores (Figura 3.1), controlando el tiempo de conmutación de los transistores del inversor y con ello los niveles de corriente que se entregan al motor. Los detalles de diseño del lazo de corriente y la generación de PWM serán abordados en el capítulo 5.

4.2 Estructura del programa

El programa confeccionado para realizar este sistema de control fue escrito en lenguaje ensamblador del procesador TMS320F240 de Texas Instruments. El listado completo del mismo se muestra en el anexo 4 y está estructurado de la siguiente forma:

Programa Principal:

Es el bloque fundamental del programa y debe realizar las siguientes funciones:

  • 1- Iniciación de registros y variables.

Se inician los registros de propósito general del procesador, los registros de interrupción, del módulo manejador de eventos y del módulo de conversión analógico/digital. Además todo un conjunto de variables necesarias para las rutinas de control.

  • 2- Programación del algoritmo de control de campo orientado.

Este algoritmo se realizará cada vez que se obtenga una medición de corrientes de fase del conversor A/D (102.4(s) e incluye las siguientes rutinas según el diagrama de la figura 4.1:

a-) Transformaciones de Clarke y Park directas.

b-) Obtención del ángulo ((cm) en el modelo de corriente.

c-) Control PI de velocidad, par y flujo.

d-) Módulo de debilitamiento de campo ("Field Weakening").

e-) Transformaciones de Clarke y Park inversas.

f-) Lazo de control de las corrientes del inversor que incluye:

  • Comparaciones de las corrientes reales y de referencia.

  • Rutina de control PI de corriente para cada fase.

  • Recarga de los circuitos comparadores para la generación de PWM.

Un diagrama de flujo del programa principal se muestra en la figura 4.2

Figura 4.2 Diagrama de flujo del programa principal.

El programa debe mantener un lazo de espera verificando el estado de una bandera de control (CONT_FLAG), que indica que se ha obtenido una medición nueva de corrientes de fase y se debe ejecutar una corrida del programa de control. El algoritmo está concebido para ejecutarse en lazo infinito, mientras no sea detenido por un comando del simulador. En cada corrida del algoritmo de control se ejecutan las rutinas mencionadas anteriormente en el orden en que se muestran en el diagrama de flujo.

Rutinas de servicio de interrupción.

El programa utiliza las interrupciones INT2 e INT4 para la adquisición de corrientes de fase del rotor (interrupción del A/D) y el cálculo de la velocidad a partir del sensor de posición (interrupción de captura 1)

La interrupción del conversor A/D se realiza cada 102.4(s sincronizada con los pulsos de PWM. El inicio de conversión del A/D se obtiene cada vez que se genera un período de la señal de referencia triangular en el bloque de generación de PWM. Las características de diseño del algoritmo de adquisición y almacenamiento de las corrientes de fase se explican en el capítulo 5.

La interrupción de captura, por su parte, se ejecuta cuando se detecta un frente de subida o uno de bajada de la señal del sensor de posición ("encoder"). A partir del conteo de los pulsos realizados por la interrupción de captura se estima la velocidad en la flecha del rotor.

El diseño del algoritmo de cálculo de la velocidad se expone en el siguiente capítulo.

Definición de bloques de memoria del programa.

Para una correcta relocalización de los bloques de memoria usados en el programa, el enlazador ("linker"), utiliza un archivo con extensión .cmd, en el cual se definen todas las secciones de memoria usadas en el programa y el bloque al cual están asignadas en el mapa de memoria del TMS320F240. En este sistema se utilizaron los siguientes bloques de memoria:

1- Memoria de programa (Página 0 ): Se utiliza para colocar el código del programa y los vectores de interrupción.

2- Memoria de datos DRAM (Bloque B0): Es la zona donde se definen la mayor cantidad de variables del sistema. Inicia en la dirección 200H y tiene una longitud de 256 bytes.

3-Memoria de datos DRAM (Bloque B2): Se utiliza para definir algunas variables del sistema. Inicia en la dirección 60H y tiene 32 bytes de longitud.

4-Memoria de datos DRAM (Bloque B1): Se utiliza para almacenar la tabla de senos usada en el sistema. Inicia en la dirección 300H y tiene 256 bytes de longitud.

El listado completo del archivo tesis.cmd se encuentra en el anexo 4, a continuación del programa. De igual forma el código del programa debe incluir un archivo donde se encuentran definidos todos los registros mapeados en memoria y sus direcciones respectivas dentro del procesador. Este archivo se denomina F240regs.h y se muestra también al final del anexo 4.

El capítulo 4 abarcó una concepción general del funcionamiento del software del sistema de control y la forma en la que se estructuró el mismo. El capítulo siguiente amplía las características de implementación de cada uno de los bloques explicados.

Enviado por:

Pablo Turmero

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente