Sunteți pe pagina 1din 78

MANUAL DE PUESTA EN

MARCHA Y FUNCIONAMIENTO
DEL SISTEMA DSPACE

V1.1

David Saltiveri Campos


Junio 2004
1 Objetivo del sistema .................................................................................... 3
2 Hardware del sistema.................................................................................. 4
2.1 Parte de control .................................................................................... 4
2.1.1 Ordenador ..................................................................................... 4
2.1.2 Tarjeta DS1103 ............................................................................. 4
2.1.3 Panel de conexiones CP1103 ....................................................... 8
2.1.4 Interfaz fibra óptica ....................................................................... 9
2.2 Armario del sistema dSpace .............................................................. 10
2.2.1 Convertidor de frecuencia VLT5003 ........................................... 10
2.2.1.1 Tarjeta de interfaz y protecciones IPC-VLT5000 ................. 12
2.2.2 Sistema de par de carga ............................................................. 13
2.2.2.1 Filtro EMC ............................................................................ 14
2.2.2.2 Reactancia de conmutación................................................. 14
2.2.2.3 Autotransformador ............................................................... 15
2.2.2.4 Fuente de alimentación ....................................................... 15
2.2.2.5 Rectificador SIMOVERT RRU ............................................. 16
2.2.2.6 Inversor SIMOVERT MC...................................................... 18
2.2.3 Esquema eléctrico ...................................................................... 20
2.3 Bancada de motores .......................................................................... 22
2.3.1 PMSM del sistema de par de carga ............................................ 22
2.3.2 Motor de inducción...................................................................... 25
2.3.3 PMSM ......................................................................................... 26
2.4 Sensores ............................................................................................ 28
2.4.1 Sensores de corriente ................................................................. 28
2.4.2 Sensor de velocidad ................................................................... 29
2.5 Conexionado ...................................................................................... 30
2.6 Protocolos de encendido y apagado .................................................. 30
3 Software del sistema ................................................................................. 32
3.1 SIMOVIS DriveMonitor ....................................................................... 32
3.2 Software de control de dSpace .......................................................... 44
3.2.1 RTI (Real-Time Inferface) ........................................................... 45
3.2.2 ControlDesk ................................................................................ 48
3.2.3 Ejemplo de programación: generación de una señal PWM ........ 49
4 Aplicaciones .............................................................................................. 65
4.1 Control V/f en lazo abierto .................................................................. 65
4.2 Control V/f en lazo cerrado de velocidad ........................................... 76
1 Objetivo del sistema

El objetivo del sistema dSpace es disponer de un equipo de investigación y


desarrollo, con el que poder implementar diferentes tipos de control de motores
eléctricos, con un par de carga controlable.

En nuestro caso las aplicaciones básicas son los controles de velocidad y de


par de motores de inducción o de motores síncronos de imanes permanentes
(servomotores brushless), como el control escalar, el control vectorial o el
control directo de par.

Las ventajas de uso del sistema dSpace sobre un sistema de control más
tradicional, en el que se programe en C o en ensamblador un microcontrolador
o un DSP, son la facilidad y la rapidez de implementación del control, ya que la
tarjeta de dSpace se programa mediante modelos de Simulink. Por lo tanto, no
es necesario conocer la arquitectura del microcontrolador o DSP, ni su lenguaje
de programación. Solamente debemos aprender el funcionamiento de Matlab y
Simulink, siendo estas herramientas mucho más visuales y entendibles que la
programación clásica. Además, esto nos da la posibilidad de realizar un modelo
de simulación y posteriormente trasladarlo a un modelo real, compilándolo y
ejecutándolo en la tarjeta de dSpace. También disponemos del programa de
experimentación ControlDesk, el cual nos permite interactuar en tiempo real
con nuestro control, mediante un panel de control virtual con diferentes
instrumentos.
2 Hardware del sistema

En este capítulo describiremos los componentes físicos del sistema dSpace.

2.1 Parte de control

La parte de control está formada por el ordenador, la tarjeta DS1103, el panel


de conexiones CP1103 y el interfaz de fibra óptica.

2.1.1 Ordenador

El ordenador en el cual se instalará la tarjeta de control de dSpace tiene las


siguientes características básicas:

Pentium III a 1GHz


512 MByte de memoria RAM
40 Gb de disco duro
Monitor Philips 17”
Tarjeta de red 3Com

El disco duro está dividido en dos particiones: la unidad C para los programas y
el trabajo habitual y la unidad D para poder guardar copias de seguridad. El
sistema operativo bajo el que trabajaremos será Windows 98.

La única característica especial de este ordenador es que su placa base


incorpora una ranura ISA, necesaria para instalar la tarjeta de control. Esta
característica es difícil de encontrar actualmente, ya que el bus ISA está
obsoleto.

2.1.2 Tarjeta DS1103

La tarjeta de control DS1103 de dSpace está basada en un sistema mixto


RISC/DSP, lo cual proporciona un potente procesador para cálculos en coma
flotante, así como amplias capacidades de I/O.
El procesador RISC (Reduced Instruction Set Computer) es un Motorola
PowerPC 604e (PPC) de coma flotante, este es la unidad de proceso principal
de la tarjeta.

El procesador DSP (Digital Signal Processor) es un Texas Instruments


TMS320F240 de coma fija. Además de otras posibilidades de I/O, este DSP
puede generar señales PWM trifásicas, característica que lo hace
especialmente adecuado para el control de accionamientos de potencia.

El PPC tiene acceso al DSP. Hablando en términos de comunicación entre


procesadores, el PPC es el maestro y el DSP es el esclavo.

Esta tarjeta se inserta en una ranura ISA de un ordenador convencional,


quedando disponibles 3 conectores en su parte posterior para poder conectar
la tarjeta al panel de conexiones CP1103 de dSpace.

Sus características principales son:


Procesador principal

PowerPC 604e a 400 MHz


Microprocesador superscalar
3 unidades enteras, 1 unidad de coma flotante
32 KByte de memoria caché de instrucciones
32 KByte de memoria caché de datos

Timers

2 timers de propósito general

Memoria

2 MByte SRAM de memoria local de programa, en caché, sin estados de


espera
128 MByte DRAM de memoria global para almacenamiento de datos e
intercambio de datos con el ordenador

Unidad de control de interrupciones

Interrupciones del ordenador, CAN, DSP esclavo, interfaz serie,


encoders incrementales y 4 entradas externas (interrupciones de
usuario)
Interrupciones síncronas PWM

Entradas analógicas

4 conversores ADC de 16-bit multiplexados en 4 canales cada uno, con


un tiempo de muestreo de 4 µs
4 conversores ADC de 12-bit, con un tiempo de muestreo de 800 ns
Rango de tensión de ±10 V
Relación señal/ruido > 65 dB

Salidas analógicas

2 conversores DAC de 14-bit de 4 canales cada uno, con un tiempo de


establecimiento de 5 µs
Rango de tensión de ±10 V

Interfaz de encoders incrementales

6 canales digitales (para encoders con señales digitales)


Filtraje de ruido digital de los pulsos
1 canal analógico (para encoder con señales sinusoidales), mediante el
controlador TC 3005H
I/O digitales

Puerto I/O digital de 4 canales de 8-bit


Canales programables individualmente

Interfaz serie

Soporte de RS232 y RS422


Velocidad de transmisión hasta 1 MBaud

Interfaz CAN

Microcontrolador Infineon 80C164


ISO 11898 receptor transmisor hasta 1 MBaud
Frecuencia de reloj a 10–20 MHz
4 kWord de memoria de puerto dual

Subsistema DSP esclavo

Texas Instruments TMS320F240 a 20 MHz, diseñado para el control de


motores
Subsistema independiente
4 kWord de memoria RAM de puerto dual
Soporte de PWM simétrica/asimétrica y SVM (Space Vector Modulation)
Salidas PWM trifásica y 4 PWM simples
4 entradas de captura para medida de frecuencia (F2D) o análisis PWM
(PWM2D)
2 conversores ADC de 10-bit multiplexados en 8 canales cada uno, con
un tiempo de muestreo de 6,6 µs y un rango de tensión de 0–5 V
18 bits de I/O digitales, programables individualmente

Características físicas

Tensión de alimentación 5 V, 6 A / -12 V, 250 mA / 12 V, 750 mA


Sensor de sobretemperatura
Requiere una ranura ISA de 16-bit
Conexión I/O mediante 3 conectores de alta densidad de 100 pines
Soporta BIOS Plug & Play
2.1.3 Panel de conexiones CP1103

El panel de conexiones CP1103 de dSpace nos permite acceder fácilmente a


los dispositivos I/O de la tarjeta DS1103, proporcionando una rápida conexión
entre el control y la planta.

Este panel se conecta a la parte posterior de la tarjeta mediante 3 conectores


de alta densidad, cada uno de los cuales lleva 2 cables planos de 50 hilos.

Físicamente consiste en una caja rectangular de aluminio, en cuya parte


superior van alojados los siguientes conectores:

20 conectores BNC hembra para los conversores ADC (CP01 a CP20)


8 conectores BNC hembra para los conversores DAC (CP21 a CP28)
1 conector Sub-D macho de 37 pines para los conversores ADC del DSP
esclavo (CP29)
1 conector Sub-D macho de 50 pines para las I/O digitales (CP30)
1 conector Sub-D hembra de 37 pines para las I/O digitales del DSP
esclavo (CP31)
7 conectores Sub-D hembra de 15 pines para la interfaz de encoders
incrementales (CP32 a CP37 y CP39)
1 conector Sub-D macho de 9 pines para la interfaz CAN (CP38)
1 conector Sub-D macho de 9 pines para la UART RS232 del PPC
maestro (CP40)
1 conector Sub-D macho de 9 pines para la UART RS232 del DSP
esclavo (CP41)
1 conector Sub-D macho de 9 pines para la UART RS422 del PPC
maestro (CP42)
1 conector Sub-D macho de 9 pines para la UART RS422 del DSP
esclavo (CP43)

La siguiente figura muestra la distribución de los conectores en el panel de


conexiones:
Interfaz de encoders
I/O digitales incrementales
Conversores DAC

RS232 maestro

RS232 esclavo

RS422 maestro

RS422 esclavo

Interfaz
Conversores ADC CAN
Conversores
ADC del DSP I/O digitales del
esclavo DSP esclavo

2.1.4 Interfaz fibra óptica

El interfaz de fibra óptica permite la comunicación entre la tarjeta de control


DS1103 y el convertidor de frecuencia VLT5003. Consiste básicamente en 5
fotoemisores SFH750V y un buffer octal no inversor 74HCT541 que les
proporciona la corriente necesaria para su correcto funcionamiento. Además,
se han incluido 5 LED‟s para poder visualizar fácilmente el estado de los
fotoemisores y un conector Sub-D hembra de 9 pines para su conexión al panel
de conexiones CP1103.
Mediante este interfaz podemos enviar por los cables de fibra óptica, las
señales de puerta de los IGBT‟s de la parte superior del inversor (UP, VP y
WP) (LED‟s verdes), la señal de puerta del IGBT del circuito de frenado (BR)
(LED rojo) y la señal de habilitación (EN) (LED blanco).

El esquemático de la placa se muestra en la siguiente figura:

VCC
CONNECTOR DB9 U1

5 2 18
9 3 A1 Y1 17
4 4 A2 Y2 16
8 5 A3 Y3 15
3 6 A4 Y4 14
7 7 A5 Y5 13
2 8 A6 Y6 12
6 9 A7 Y7 11
1 A8 Y8
1
19 G1
P1 G2

74HCT541 EN BR UP VP WP
SFH750 SFH750 SFH750 SFH750 SFH750

EN-LED BR-LED UP-LED VP-LED WP-LED


WHITE RED GREEN GREEN GREEN

R1 R2 R3 R4 R5
47 47 47 47 47

2.2 Armario del sistema dSpace

Los componentes básicos del armario del sistema dSpace son el convertidor de
frecuencia VLT5003 y el sistema de par de carga.

2.2.1 Convertidor de frecuencia VLT5003


Un convertidor de frecuencia rectifica la tensión alterna de alimentación en
tensión continua, para después convertirla en tensión alterna con amplitud y
frecuencia variables.

El convertidor de frecuencia VLT5003 de Danfoss es un convertidor industrial


estándar, al cual se le ha sustituido su tarjeta de control original por la tarjeta de
interfaz y protecciones IPC-VLT5000 desarrollada en la universidad de Aalborg.

Las características principales del convertidor son las siguientes:

Tensión de alimentación: 3 x 380 V ±10 %, 50 Hz


Corriente de entrada nominal: 3,8 A
Corriente de salida nominal: 4,1 A
Potencia típica del eje: 1,5 kW
Frecuencia de conmutación: 3–5 kHz

Y su diagrama de bloques es:

1 2 3 6
4 7
5 M

1. Alimentación de red: 3 x 380 V, 50 Hz.


2. Puente rectificador trifásico que convierte la tensión alterna en tensión
continua.
3. Bus de continua.
4. Bobinas que nivelan la intensidad del bus de continua y limitan la carga de
la red y de los componentes (transformador de red, cables, fusibles y
contactores).
5. Condensador que nivela la tensión del bus de continua.
6. Inversor que convierte la tensión continua en tensión alterna con amplitud y
frecuencia variables.
7. Tensión del motor.
8. Tarjeta de interfaz y protecciones IPC-VLT5000.

El convertidor también dispone de un circuito de frenado para limitar la tensión


en el bus de continua cuando el motor funciona como generador, descargando
la energía sobre una resistencia. Esto ocurre, por ejemplo, cuando la carga
acciona el motor y la energía se transmite al bus de continua. El circuito de
frenado está integrado por un transistor IGBT en serie con una resistencia
externa, que en nuestro caso es de 310 , 210 W.
2.2.1.1 Tarjeta de interfaz y protecciones IPC-VLT5000

La tarjeta IPC-VLT5000 (Interface and Protection Card) ha sido desarrollada en


la universidad de Aalborg en Dinamarca, para sustituir las tarjetas de control
originales de la serie de convertidores de frecuencia VLT5000 de Danfoss, con
el objetivo de poder controlar externamente los 3 IGBT‟s de la parte superior
del inversor y el IGBT del circuito de frenado. Además de ofrecernos
protecciones contra cortocircuitos, sobretensión en el bus de continua,
sobrecorriente y sobretemperatura, mediante comparadores analógicos rápidos
de precisión. Todas las funciones lógicas se implementan en una CPLD.

Esta tarjeta necesita las señales de puerta de los IGBT‟s de la parte superior
del inversor (UP, VP y WP), la señal de puerta del IGBT de la rama de frenado
(BR) y la señal de habilitación (EN), que se encarga de habilitar y deshabilitar
todas las señales de puerta. Estas señales pueden conectarse a la tarjeta de
dos maneras distintas:

1. Mediante el conector J2 con lógica TTL negativa.


2. Mediante los 5 fotoreceptores con lógica positiva. Nosotros hemos elegido
esta opción porque con los cables de fibra óptica evitamos posibles
interferencias exteriores.

Las señales de puerta complementarias de los 3 IGBT‟s de la parte inferior del


inversor, se generan internamente en la CPLD con un tiempo muerto de 1,5 s.
La tarjeta tiene dos pulsadores:

1. Pulsador de reset manual (RST), sirve para inicializar la tarjeta después de


alimentar el convertidor y cuando ocurre algún fallo.
2. Pulsador de paro manual (MT), sirve para parar el convertidor de frecuencia
si el controlador externo queda fuera de control.

También dispone de un display de 8 segmentos para mostrar los siguientes


posibles fallos:

Sobretemperatura (OT). Se activa cuando la temperatura del disipador del


inversor supera los 90 ºC

Paro manual (MT). Se activa cuando se pulsa el paro manual

Cortocircuito (ST). Se activa cuando las señales de puerta de los dos


IGBT’s de una rama del inversor están en estado alto
Sobretensión en el bus de continua (OV). Se activa cuando la tensión en
el bus de continua supera en un 140 % su valor nominal
Sobrecorriente (SC). Se activa cuando la corriente de línea del motor
supera en un 250 % su valor nominal
VLOG fuera de rango. Se activa cuando la tensión lógica de la tarjeta sale
fuera del rango 4,75–5,25 V

Enable (EN). Se activa cuando el señal de habilitación está en estado bajo

La siguiente figura muestra la forma en que la tarjeta IPC-VLT5000 procesa las


señales de control enviadas desde la tarjeta de control de dSpace.

Interfaz fibra
IPC CPLD RESET
óptica
UP UP
UN
VP VP
VN
VLT5000
WP Buffer WP POWER
DS1103
WN CARD
(MK103)
BR BR
EN EN

Transmisores Fibras Receptores


de fibra óptica ópticas de fibra
de óptica ENABLE
plástico

2.2.2 Sistema de par de carga

El sistema de par de carga consiste básicamente en un inversor SIMOVERT


MC, que controla el par de un PMSM (Permanent Magnet Synchronous Motor),
por lo tanto podemos trabajar con una gran variedad de características de par.
El inversor se alimenta mediante un rectificador regenerativo SIMOVERT RRU,
que proporciona la tensión del bus de continua.

Todos los elementos de este sistema son de la marca Siemens. En los


siguientes subapartados se describen sus componentes:

2.2.2.1 Filtro EMC

Es un filtro reductor de interferencias electromagnéticas (EMI). Sus


características principales son:

Tensión de línea nominal: 380 V, 50 Hz


Corriente máxima: 120 A

2.2.2.2 Reactancia de conmutación

La reactancia de conmutación se usa para limitar los harmónicos y reducir el


rizado de la corriente de línea producidos por el rectificador SIMOVERT RRU.
Sus características principales son:

Tensión de línea nominal: 400 V, 50 Hz


Corriente nominal: 91 A
Autoinductancia: 0,31 mH
Tensión relativa de cortocircuito: 4 %
2.2.2.3 Autotransformador

El autotransformador aumenta en un 20 % la tensión de entrada del puente


regenerativo del rectificador, para evitar una caída de tensión cuando se trabaja
en modo regenerativo. Sus características principales son:

Tensiones de línea nominales: V1N = 415 V, V2N = 498 V


Corrientes nominales: I1N = 82,8 A, I2N = 68,4 A
Potencia nominal: 59 kVA
Grupo de conexión horaria: Ya0

2.2.2.4 Fuente de alimentación

La fuente de alimentación suministra la tensión continua de 24 V, necesaria


para el funcionamiento del rectificador SIMOVERT RRU. Sus características
principales son:

Tensión de entrada: 230 V


Tensión de salida: 24 VDC
Corriente máxima de salida: 2 A
2.2.2.5 Rectificador SIMOVERT RRU

El rectificador regenerativo SIMOVERT RRU convierte la tensión trifásica de la


red en tensión continua que suministra al inversor SIMOVERT MC. La parte de
potencia del rectificador consiste en dos puentes de tiristores conectados en
antiparalelo, para poder alimentar el bus de continua del inversor y devolver
energía desde el bus de continua a la red. La tensión continua se controla
automáticamente mediante un controlador digital basado en un
microprocesador.

Las características principales del rectificador son:

Tensión de línea de entrada: 380–480 V


Tensión de salida: 510–650 VDC
Corriente máxima de salida: 86 A

Se puede programar el equipo con el panel PMU integrado, con el panel de


mando OP1S o con el programa SIMOVIS DriveMonitor desde un PC
conectado al rectificador a través de la interfaz serie RS232.

En nuestro caso decidimos utilizar el panel de mando OP1S fijado a su frontal,


porque la programación del rectificador es mucho más simple que la del
inversor, ya que no requiere la introducción de muchos parámetros.
Para su programación, hemos seguido los siguientes pasos:

P050 = 2 Idioma del OP1S a español

P051 = 2 Nivel de acceso a modo estándar

P053 = 6 Autorización de parametrización con OP1S

P554 = 2001 OP1S para orden de mando CON/DES1

P555 = 2001 OP1S para orden de mando DES2

P052 = 5 Ajuste del accionamiento

P071 = 380 Tensión de red de alimentación [V]

Parada de si
ondulador > 1 año P408 = Formar el circuito intermedio (si es necesario)

- La unidad de alimentación/realimentación debe encontrarse en


el estado º009 ó inferior (dar orden DES)
no P052 = 20 - Ajustar P408 (Tiempo de formación: 1 a 600 minutos)
Tecla P - Seleccionar la función de formación (P052 = 20)
- Pulsar la tecla P
Tecla I - Conectar: Pulsar la tecla I
- Se efectua la formación del circuito intermedio
- Al término de la formación, el display retorna a la visualización
Formación de estado

r000 ≤ º009

Espera hasta
Ud < 50 V

r949.i009 = ? Efectuar la identificación del circuito


P052 = 21
Tecla P - La unidad de alimentación/realimentación debe encontrarse en el
Tecla I r000 ≤ º009 estado º009 ó inferior (dar orden DES)
- Seleccionar la función de identificación de circuito (P052 = 21)
- Pulsar la tecla P
- Conectar: Pulsar la tecla I
Identificación Acuse - Se efectúa la identificación del circuito (duración aproximada 10 s)
- Al término de la identificación del circuito, el display retorna a la
visualización de estado
- Si aparece una señalización de fallo durante la identificación del
sí Eliminar causa del circuito, es necesario repetir la identificación. Más detalles sobre la
Aviso de fallo causa del fallo figuran en el valor de fallo r949 asociado a la
fallo memoria de fallos r947 (en el índice i009 si el fallo ha sido acusado)

no

r000 ≤ º009

P052 = 0 Seleccionar la función de retorno


2.2.2.6 Inversor SIMOVERT MC

El inversor SIMOVERT MC es un convertidor de potencia destinado al control


de motores de inducción y motores síncronos de imanes permanentes dentro
de una gama de potencias de 2,2 kW a 37 kW.

A partir de la tensión del bus de continua, se genera un sistema de tensión


trifásico con una frecuencia variable que oscila entre 0 Hz y 400 Hz, mediante
técnicas de modulación PWM (Pulse Width Modulation).

La tensión continua de 24 V necesaria para alimentar la electrónica de


regulación se obtiene a partir de la tensión del bus de continua, a través de una
fuente de alimentación integrada. La electrónica de regulación se encarga del
control del inversor y está básicamente formada por un microprocesador y un
DSP.

El inversor incorpora una tarjeta CUMC, que proporciona las siguientes


capacidades de I/O:

1 entrada analógica diferencial de 12-bit con un rango de tensión de ±10


V y una resistencia de entrada de 40 kΩ
1 salida analógica de 12-bit con un rango de tensión de ±10 V
4 señales digitales parametrizables como entradas o salidas de 24 V
2 entradas digitales de 24 V
2 interfaces serie RS485
El diagrama de bloques del inversor es el siguiente:

Y sus características principales son:

Tensión de entrada: 510–650 VDC


Tensión de línea de salida: 0–0,64 x Tensión de entrada
Frecuencia de salida: 0–400 Hz
Corriente de entrada: 40,5 A
Corriente de salida: 34,0 A
Frecuencia de conmutación: 5–10 kHz

También incluye la tarjeta opcional SBM (Sensor Board Encoder/Multiturn) que


procesa las señales provenientes del encoder del PMSM, para la
realimentación del control, a la vez que suministra las señales diferenciales A+,
A , B+, B , cero+ y cero , simuladas electrónicamente con una resolución de
2048 pulsos, para uso externo.

Se puede programar el equipo con el panel PMU integrado, con el panel de


mando OP1S o con el programa SIMOVIS DriveMonitor desde un PC
conectado al inversor a través de la interfaz serie RS232.

En nuestro caso decidimos utilizar el programa SIMOVIS DriveMonitor, porque


la programación del inversor requiere la introducción de muchos parámetros y
además, es posible que deseemos volver a ajustar el equipo.

Por lo tanto, para su programación es necesario conectar un cable cruzado


desde el conector X300 del inversor hasta un puerto serie del PC.
2.2.3 Esquema eléctrico

En la siguiente figura podemos ver el esquema eléctrico del armario del


sistema dSpace, donde se muestra el conexionado de potencia del convertidor
de frecuencia y del sistema de par de carga.
3 4 1 2
R
5 6 3 4
S
7 8 5 6
T
1 2 N N
N
1
M1 D1
STOP
2
F1 F3 F4 F2 2

OFF
1

L1 L2 L3 14 4

EMC K2 ON
L1 N 13 3 X1
L1' L2' L3' 1 3 5
A1
FA.1
1 3 5 K2 ON
A2 L+ M
A2
2 4 6
X2 R1
K1
A1
2 4 6
DAN.1
R+ R-
1U1 1V1 1W1
L3 W

L1 L2 V

L1 U
T1 1U2 1V2 1W2
PE

2U1 1U1

J PE L1 L2 L3 SALIDA
CONVERTIDOR
2V1 1V1
RECT.1 DANFOSS
X9-5 X9-4
X9-1
MC
2W1 1W1 X9-2
X1:
W1/L3
PE U V W
V1/L2

U1/L1 C/L+ C/L+ U2/T1

V2/T2
X4:
1W2/1T3 D/L- D/L- W2/T3 SM MI
1V2/1T2 PE2

1U2/1T1

PLETINAS DE TIERRA

P1
RECT.1 MC FA.1 DA.1

P2
T1 L1

Todos los componentes del armario están etiquetados de la siguiente forma:

M1
Interruptor Magnetotérmico
Merlin Gerin Multi9 C60N
40 A, curva C

D1
Interruptor Diferencial
Merlin Gerin Multi9
0,030 A

K1
Contactor
Telemecanique LC1D32
Incluye protección RC contra sobretensiones

K2
Contactor
Telemecanique LC1D25
F1
3 Bases Portafusibles
Telemecanique 14 × 51

3 Fusibles
Ferraz Shawmut
Ultrarrápidos 32 A

F2
3 Bases Portafusibles
Telemecanique 10,3 × 38

3 Fusibles
Ferraz Shawmut
Ultrarrápidos 10 A

F3
Base Portafusibles
Telemecanique 10,3 × 38

Fusible
DF
2A

F4
Base Portafusibles
Telemecanique 10,3 × 38

Fusible
DF
2A

DAN.1
Rectificador + Inversor
Danfoss Bookstyle VLT5003
3 x 380-500 VAC; 4,1 A; 1,5 kW

T1
Autotransformador
Siemens 4AU3995-0UA01-8A
415/498 VAC; 59 kVA

L1
Bobina de Conmutación
Siemens 4EU2552-2UB00-0A
0,31 mH; 91 A; 37 kW

FA.1
Fuente de Alimentación
Siemens SIMATIC S7-300 6ES7307-1BA00-0AA0
120-230 VAC; 24 VDC; 2 A

EMC
Filtro EMI
Siemens 6SE7031-0ES87-0FA0
380-460 VAC, 120 A
RECT.1
Unidad Rectificadora/Regeneradora
Siemens SIMOVERT Master Drives P Size C 6SE7028-6EC85-1AA0
380-480 VAC; 510-620 VDC, 86 A

MC
Inversor
Siemens SIMOVERT Master Drives Motion Control Compact Type 6SE7023-4TC51-Z
510-650 VDC; 380-480 VAC; 34 A

R1
Resistencia de Frenado
JAM 194F5413
310 Ω; 250 W

SM
Brushless Servomotor
Siemens 1FT6084-8SH71-1AA0
4500 rpm; 20 Nm; 24,5 A
Encoger Incremental B01 2048 S/R

MI
Motor de Inducción
Siemens 1LA7090-4AA10-Z
1415 rpm; 1,1 kW; 4,43 A

La salida del convertidor de frecuencia se conecta a una toma de corriente


trifásica con la siguiente distribución:

TIERRA

MALLA U

W V

Toda la información contenida en este subapartado está también disponible en


el armario.

2.3 Bancada de motores

La bancada de motores está formada por tres motores de Siemens acoplados


al mismo eje: el PMSM del sistema de par de carga en un extremo, un motor de
inducción con doble extremo de eje en medio y otro PMSM en el otro extremo.

2.3.1 PMSM del sistema de par de carga

El PMSM 1FT6084-8SH71-1AA0 de Siemens es un motor síncrono de imanes


permanentes que incorpora un encoder incremental de 2048 líneas, ventilación
forzada y protección térmica. Sus características principales son:
Datos de ingeniería

Velocidad nominal nrated 4500 rpm


Par nominal Mrated (100 K) 20 N·m
Corriente nominal Irated (100 K) 24,5 A
Par de arranque M0 (100 K) 26 N·m
Corriente de arranque I0 (100 K) 28 A
Momento de inercia Jmot 0,0048 kg·m2

100 K es el incremento medio de temperatura del bobinado.

Datos límite

Velocidad máxima nmax 7100 rpm


Par máximo Mmax 65 N·m
Corriente máxima Imax 86 A
Par límite (600 V) Mlimit 45 N·m
Corriente límite (600 V) Ilimit 52 A

Constantes físicas

Constante de par kT 0,93 N·m/A


Constante de voltaje (entre fases) kE 58 V/1000 rpm
Resistencia del bobinado Rph 0,17 Ω
Inductancia trifásica LD 2 mH
Constante de tiempo eléctrica Tel 12 ms
Constante de tiempo mecánica Tmech 2,9 ms
Constante de tiempo térmica Tth 42 min
Resistencia térmica Rth 0,09 W/K
Peso m 25 kg

Constante de par: Es el cociente entre el par de arranque y la corriente de


arranque kT = M0 / I0

Constante de voltaje: Es el valor del voltaje inducido a una velocidad de


1000 rpm

Resistencia del bobinado: Es la resistencia de una fase, con el motor en


configuración estrella

Inductancia trifásica: Es la inductancia de las tres fases LD = 1,5 · Lph

Constante de tiempo eléctrica: Es el cociente entre la inductancia trifásica y


la resistencia del bobinado Tel = LD / Rph

Constante de tiempo mecánica: Se obtiene a partir de la tangente a lo largo


de una función rampa empezando desde el origen Tmech = 3 · Rph · Jmot / kT2
Constante de tiempo térmica: Define el incremento de la temperatura de la
carcasa del motor, cuando la carga se incrementa rápidamente hasta el par
S1 permisible. En Tth el motor alcanza el 63 % de su temperatura final

Resistencia térmica: Describe la disipación de potencia a través de la


carcasa del motor trabajando en condiciones nominales

La característica par-velocidad del motor es la siguiente:

Donde las características térmicas de límite son:

Ciclo de trabajo continuo

S1 (100 K)

Ciclo de trabajo intermitente de 10 minutos

S3-60 % (100 K)
S3-40 % (100 K)
S3-25 % (100 K)
Los tres conectores del motor se describen a continuación:

Conector de alimentación del motor

Este conector contiene las señales de alimentación del motor U, V y W, la


señal de tierra GNYE y las señales de alimentación del freno de
mantenimiento BR y BR2, aunque este motor no lo incorpora.

Conector del ventilador

Este conector contiene las señales de alimentación del ventilador del motor
L1 y N.

Conector del encoder incremental

Este conector contiene las señales de alimentación del encoder incremental


P encoder y M encoder, las señales de alimentación del sensor de
temperatura 5 V sense y 0 V sense, las señales del encoder incremental
A+, A , B+, B , C+, C , D+, D , R+ y R , y las señales del sensor de
temperatura +temp y –temp.

2.3.2 Motor de inducción

El motor de inducción 1LA7090-4AA10-Z de Siemens es un motor trifásico


asíncrono con rotor de jaula de ardilla y doble extremo de eje. Sus
características principales son:
Datos de ingeniería

Velocidad nominal nrated 1415 rpm


Potencia nominal Prated 1,1 kW
Par nominal Mrated 7,4 N·m
Tensión nominal Vrated 230/400 V
Corriente nominal Irated 4,43 A
Frecuencia nominal frated 50 Hz
Factor de potencia cos(φ) 0,81
Par de arranque M0 2,3 N·m
Corriente de arranque I0 4,6 A
Corriente en vacío Io 2,13 A
Momento de inercia Jmot 0,0024 kg·m2

Constantes físicas

Resistencia de un devanado del estator Rs 9,21


Resistencia de un devanado del rotor Rr 6,644
Inductancia de pérdidas del estator ls 32,07 mH
Inductancia de pérdidas del rotor lr 8,47 mH
Inductancia magnetizante de las tres fases M‟ 444,15 mH
Peso m 13 kg

Y su circuito equivalente en régimen permanente es:


Rs ls lr Rr / s

M‟

2.3.3 PMSM

El PMSM 1FT6062-6AC71-3AA0 de Siemens es un motor síncrono de imanes


permanentes que incorpora un encoder incremental de 2048 líneas y
protección térmica. Sus características principales son:

Datos de ingeniería

Velocidad nominal nrated 2000 rpm


Par nominal Mrated (100 K) 5,2 N·m
Corriente nominal Irated (100 K) 2,6 A
Par de arranque M0 (100 K) 6 N·m
Corriente de arranque I0 (100 K) 2,7 A
Momento de inercia Jmot 0,00085 kg·m2
Datos límite

Velocidad máxima nmax 3200 rpm


Par máximo Mmax 24 N·m
Corriente máxima Imax 15 A
Par límite (600 V) Mlimit 12,8 N·m
Corriente límite (600 V) Ilimit 6A

Constantes físicas

Constante de par kT 2,22 N·m/A


Constante de voltaje (entre fases) kE 135 V/1000 rpm
Resistencia del bobinado Rph 5,8 Ω
Inductancia trifásica LD 43 mH
Constante de tiempo eléctrica Tel 7,3 ms
Constante de tiempo mecánica Tmech 2,9 ms
Constante de tiempo térmica Tth 30 min
Resistencia térmica Rth 0,19 W/K
Peso m 9,5 kg

La característica par-velocidad del motor es la siguiente:

Los dos conectores del motor se describen a continuación:

Conector de alimentación del motor


Este conector contiene las señales de alimentación del motor U, V y W, la
señal de tierra GNYE y las señales de alimentación del freno de
mantenimiento BR y BR2, aunque este motor no lo incorpora.

Conector del encoder incremental

Este conector contiene las señales de alimentación del encoder incremental


P encoder y M encoder, las señales de alimentación del sensor de
temperatura 5 V sense y 0 V sense, las señales del encoder incremental
A+, A , B+, B , C+, C , D+, D , R+ y R , y las señales del sensor de
temperatura +temp y –temp.

2.4 Sensores

Para poder implementar un control de velocidad en lazo cerrado, tendremos


que realimentar la velocidad y/o dos de las corrientes de línea del motor. Por lo
tanto, necesitamos disponer de sensores de velocidad y corriente.

2.4.1 Sensores de corriente

La placa de sensores de corriente se basa en dos sensores de efecto Hall


LA55-P de LEM, cuyas características principales son:

Corriente eficaz nominal del primario: IPN = 50 A


Rango de medida de corriente del primario: IP = 0–±70 A
Corriente eficaz nominal del secundario: ISN = 50 mA
Ratio de conversión: KN = 1 : 1000
Voltaje de alimentación: ±12–±15 V
Resistencia de medida (TA = 70 ºC, VC = ±15 V): RM = 50–160 Ω

Y su conexionado es el siguiente:
En nuestro caso hemos elegido como resistencia de medida, una resistencia de
película metálica de 100 Ω. Por lo tanto, el factor de conversión será de 0,1
V/A.

Esta placa esta montada en un costado del motor de inducción y se alimenta


directamente a ±15 V mediante una fuente de alimentación.

2.4.2 Sensor de velocidad

El sensor de velocidad utilizado es el encoder incremental integrado en el


PMSM del sistema de par de carga, sus características principales son:

Tensión de alimentación: 5 V ±5 %
Consumo de máximo de corriente: 300 mA
Número de pulsos: 2048
Límite de velocidad mecánico: 12000 rpm

Las señales que nos proporciona el encoder son A+, B+, C+, D+ y R+, y sus
respectivas complementarias A , B , C , D y R . Estas señales tienen la
siguiente forma:

Para convertir estas señales a las señales digitales A+, A , B+, B , cero+ y
cero , más comunes de un encoder incremental, disponemos de la tarjeta SBM
del inversor Simovert MC.
2.5 Conexionado

La siguiente figura muestra el conexionado de control y medida del sistema


dSpace, exceptuando las masas. El esquema incluye la denominación de los
conectores y de los pines utilizados.

PMSM
Ib
5,2 N·m/
CP18-ADCH18
400 V
Ia
2000 rpm
CP17-ADCH17

UP
7 5 UP UP
INTERFAZ CONVERTIDOR SENSORES
FIBRA DANFOSS LEM
VP ÓPTICA VLT5003
8 4 VP VP
U
MI
CP31- 1,1 kW/
Slave I/O WP DB9 IPC V
400 V
9 3 WP WP
1415 rpm
W

BR
5 2 BR BR
EN
36 1 EN EN

P1

P2
CP1103
P3

PC+DS1103

TQ-REF
CP21-DACH1 10
TQ-ACT X101 CUMC INVERSOR
CP19-ADCH19 11 SIMOVERT
A+ MC
2 80
A- SBM U2
PMSM
3 81
20 N·m/
B+ X2 V2
400 V
4 82
CP32- 4500 rpm
B- X420 W2
Inc1
5 83
cero+
6 84
E
cero-
7 85 X424

25

2.6 Protocolos de encendido y apagado

El protocolo de encendido más seguro es el siguiente:

1. Encender la fuente de alimentación de los sensores.


2. Encender el ordenador y cargar nuestro experimento, para que la señal de
enable EN se desactive.
3. Activar el interruptor magnetotérmico M1.
4. Desenclavar el paro de emergencia STOP girándolo.
5. Pulsar el botón de marcha verde ON.
6. Encender la fuente de alimentación FA.1 y esperar a que el LED verde del
panel de mando OP1S del rectificador RECT.1 empiece a parpadear.
7. Pulsar la tecla verde I del panel de mando OP1S del rectificador RECT.1 y
esperar a que se encienda el inversor MC (hasta que aparezca º009 en el
panel PMU integrado del inversor MC).
8. Pulsar la tecla verde I del panel PMU integrado del inversor MC.
9. Pulsar el pulsador de reset RST del convertidor de frecuencia DAN.1
cuando los 8 segmentos de su display estén iluminados.

10. En este punto, sólo debe permanecer iluminado un segmento del display,
qué indica que las protecciones están activas y que el convertidor de
frecuencia DAN.1 está esperando la señal de enable EN, para habilitar las
señales de puerta de los IGBT‟s. Así pues, ya podemos poner en
funcionamiento nuestro experimento.

11. Si durante el funcionamiento del sistema se produce algún fallo, el


convertidor de frecuencia DAN.1 se parará automáticamente y su display
nos indicará el tipo de fallo. En ese momento deberemos poner la consigna
a cero y desactivar la señal de enable EN desde nuestro experimento, y
seguidamente deberemos pulsar el pulsador de reset RST, para volver al
estado anterior.

El protocolo de apagado más seguro es el siguiente:

1. Poner la consigna a cero y desactivar la señal de enable EN desde nuestro


experimento.
2. Pulsar la tecla roja O del panel PMU integrado del inversor MC.
3. Pulsar la tecla roja O del panel de mando OP1S del rectificador RECT.1 y
esperar a que se apague el inversor MC (hasta que se apague el display
luminoso del panel PMU integrado del inversor MC).
4. Apagar la fuente de alimentación FA.1.
5. Enclavar el pulsador de emergencia STOP pulsándolo.
6. Desactivar el interruptor magnetotérmico M1.
7. Cerrar nuestro experimento y apagar el ordenador.
8. Apagar la fuente de alimentación de los sensores.
3 Software del sistema

El software necesario para la puesta en marcha y el funcionamiento del sistema


se compone de dos paquetes básicos: el SIMOVIS DriveMonitor y el software
de control de dSpace.

3.1 SIMOVIS DriveMonitor

El SIMOVIS DriveMonitor nos permite programar los parámetros del rectificador


SIMOVERT RRU o del inversor SIMOVERT MC, mediante un PC conectado al
equipo a través de la interfaz serie RS232, de una forma más rápida y sencilla
que con el panel PMU integrado o el panel de mando OP1S.

Para instalar este software hemos de insertar el CD Siemens MASTERDRIVES


/ SIMOVIS DriveMonitor y automáticamente aparecerá la siguiente pantalla:

Solamente debemos instalar el programa SIMOVIS DriveMonitor con los


siguientes componentes:
Una vez finalizado el proceso de instalación, ejecutamos el programa
DriveMonitor desde el icono del escritorio o desde el icono de la carpeta
Siemens.
Por defecto, los menús de programa aparecen en alemán. Para cambiar el
idioma debemos ir al menú Extras y seleccionar Sprache.

Una vez cambiado el idioma al español, para seleccionar el puerto serie del PC
en el que tenemos conectado el equipo, debemos ir al menú Herramientas y
seleccionar Preferencias ONLINE.
Para empezar una nueva programación basada en los parámetros de fábrica
del inversor, tenemos que ir al submenú Nuevo del menú Archivo y seleccionar
Basado en ajuste de fábrica.

Nos pedirá el directorio donde queremos guardar el archivo de parámetros.


Seguidamente, hemos de seleccionar el accionamiento MASTERDRIVES MC,
pulsar conectado y Aceptar.

A continuación, debemos ir al menú Ver y seleccionar Online (EEPROM), para


que los ajustes de parámetros que efectuemos, queden almacenados en la
memoria EEPROM del equipo.

Para programar el inversor, podemos ir introduciendo uno a uno los parámetros


necesarios, tal y como hemos hecho con el rectificador. Pero el SIMOVIS
DriveMonitor incluye una parametrización guiada para diferentes aplicaciones,
que hace mucho más fácil y rápida la programación del equipo.
En nuestro caso tenemos que ir a Funciones básicas dentro de
Parametrización guiada.

El primer paso será seleccionar el equipo rectificador que alimenta al inversor.


Después seleccionaremos el motor conectado al inversor.

Y su sensor de velocidad.
En el siguiente paso escogemos como vamos a introducir la consigna y el tipo
de regulación.

Y los límites del regulador.


Después configuramos las entradas y salidas analógicas y digitales.

El siguiente paso nos muestra las palabras utilizadas para la comunicación.


Después elegimos los interfaces con los que nos será posible programar el
equipo.

El último paso nos da un resumen de la configuración elegida y si pulsamos


Aceptar la configuración, se procederá a la programación automática.
Para acabar, debemos ir a Pal. Mando/Estado y configurar la fuente de
liberación del ondulador y la fuente de conexión y desconexión, para poder
activar y desactivar el inversor mediante las teclas I y O del panel PMU
integrado.
Así el convertidor se configura en control de par, donde el par de referencia
(TQ-REF) se da desde un DAC de la tarjeta de dSpace, como un voltaje de 10
V conectado a la entrada ADC de la tarjeta CUMC del inversor. El par actual
calculado (TQ-ACT) se lee a través de la salida DAC del CUMC, conectada a
un ADC de la tarjeta de dSpace, para su monitorización en tiempo real.
3.2 Software de control de dSpace

Antes de instalar cualquier versión del software de control de dSpace es


necesario tener instalada una versión compatible de Matlab, ya que la tarjeta
dSpace se programa mediante modelos de Simulink. En nuestro caso hemos
instalado el software de control de dSpace edición 3.4 para Matlab 6.1 edición
12.1, aunque también disponemos de la edición 3.5 para Matlab 6.5 edición 13.

Para instalarlo se han de seguir los siguientes pasos:

1. Insertar el Key-Disk (disquete llave).


2. Insertar el CD Solutions for Control 3.4 de dSpace y ejecutar el archivo
CDSetup.exe.

3. Seguir las instrucciones del programa de instalación. Si queremos instalarlo


con las opciones por defecto, sólo hemos de ir pulsando el botón Next hasta
que concluya el proceso de instalación.

Siguiendo este procedimiento, podemos instalar el software en cualquier PC,


pero para su funcionamiento será necesario tener conectada la llave física al
puerto paralelo del PC.

Este software esta compuesto fundamentalmente de la librería RTI (Real-Time


Interface) para Simulink y del programa de experimentación ControlDesk
3.2.1 RTI (Real-Time Inferface)

Una vez finalizada la instalación del software de control de dSpace, al iniciar


Matlab nos aparecerá la siguiente pantalla:

Seleccionamos la RTI1103, ya que nuestra tarjeta es la DS1103, y dejamos


activada la opción Do not show this dialog again, para que no nos vuelva a
aparecer esta pantalla cada vez que iniciemos Matlab.

Seguidamente, en la ventana de comandos de Matlab, se nos informa sobre el


software de dSpace instalado y se nos recomienda que cambiemos algunas
opciones por defecto de Simulink para adaptarlas al funcionamiento con la RTI.

La RTI añade un nuevo conjunto de bloques para Simulink, que permiten


incorporar capacidades I/O a los modelos, accediendo al hardware de la tarjeta
de dSpace. Así, junto con la RTW (Real-Time Workshop), podemos compilar el
modelo, generando el código necesario para la ejecución de aplicaciones en
tiempo real.

La forma más cómoda para trabajar, es acceder a los bloques de la librería


dSpace RTI1103 mediante el visualizador de librerías de Simulink. Estos
bloques se dividen en cuatro sublibrerías:
DS1103 MASTER PPC: Esta sublibrería reúne los bloques de las
unidades I/O del procesador PowerPC 604e.

DS1103 SLAVE DSP: Esta sublibrería reúne los bloques de las unidades
I/O del DSP TMS320F240.
Extras: Ofrece bloques para propósitos especiales.

TaskLib: Ofrece bloques para modelar interrupciones en Simulink.


Otra forma de acceder a la librería es tecleando rti1103 en la ventana de
comandos de Matlab, con lo que nos aparecerá la siguiente ventana:

Desde aquí podremos acceder directamente a las demos y a la ayuda de la


librería.

3.2.2 ControlDesk

Una vez instalado el software de control de dSpace, ya podemos ejecutar el


programa de experimentación ControlDesk, desde el icono del escritorio o
desde el icono de la carpeta dSpace Tools.
El programa de experimentación ControlDesk nos permite controlar, monitorizar
y automatizar experimentos en tiempo real y hace que el desarrollo de
controladores sea más efectivo. Los experimentos engloban todos los datos
necesarios para el funcionamiento de nuestra aplicación y se cargan en una
sola operación. Así podemos configurar el hardware de dSpace y manejar
aplicaciones en tiempo real con un interfaz gráfico de usuario.

El programa nos ofrece una variedad de instrumentos para poder configurar


nuestros interfaces gráficos de usuario de acuerdo con nuestras necesidades.
Utilizando los instrumentos de adquisición de datos podemos capturar datos del
modelo ejecutándose en tiempo real. También se pueden cambiar los valores
de los parámetros del modelo mediante los instrumentos virtuales, así podemos
leer el valor actual de los parámetros desde el hardware y cambiar su valor en
un sólo paso de ejecución.

3.2.3 Ejemplo de programación: generación de una señal PWM

En este subapartado describiremos un ejemplo de programación, en el qué


generaremos una señal PWM con un duty variable. Para empezar, es muy
aconsejable crear una nueva carpeta para cada nuevo proyecto y usarla como
directorio de trabajo en Matlab, para hacer que todos los ficheros que
generemos se encuentren dentro de esta carpeta. En nuestro caso el directorio
de trabajo se llama “prueba”.
Iniciamos Simulink y creamos un nuevo modelo “prueba.mdl” que contenga un
bloque Constant y un bloque DS11103SL_DSP_PWM de la sublibrería DS1103
SLAVE DSP, con el cuál podemos controlar los duty de cuatro señales PWM.
Renombramos el bloque Constant a Duty, le damos un valor de 0.5 y lo
conectamos a la primera entrada del bloque DS11103SL_DSP_PWM.
Accediendo a los parámetros del bloque DS11103SL_DSP_PWM, podemos
cambiar el modo y la frecuencia de la modulación. Para informarnos sobre el
funcionamiento y las características de los bloques de la librería dSpace
RTI1103 podemos usar los manuales, pero lo más rápido y sencillo es utilizar la
ayuda de cada bloque.

Si queremos saber el conector y el pin del panel de conexiones de dSpace, por


el qué obtendremos la señal PWM, debemos ir al apartado I/O mapping y
seleccionar la referencia que nos indica.
Así accedemos a una tabla donde se muestran todos los conectores y los pines
que utiliza el bloque. En nuestro caso obtenemos la señal del primer canal
PWM, por el pin 5 del conector CP31. Si queremos una descripción del
conector debemos pulsar sobre el hipertexto correspondiente.

Así podemos ver todos los pines del conector. Para visualizar la señal,
podemos usar cualquiera de las masas ya que todas están unidas.
Antes de compilar el modelo, debemos adaptar los parámetros de simulación a
los requerimientos de la tarjeta de dSpace.

Hemos de trabajar con un tiempo infinito, paso fijo (en nuestro caso de 50 µs) y
con un método de integración ode1 (Euler).

También debemos desactivar la opción de reducción de bloques.


Y finalmente, seleccionamos el sistema rti1103, correspondiente a la tarjeta
DS1103 de dSpace, para la Real-Time Workshop.

Ahora ya podemos compilar nuestro modelo, seleccionando Build Model dentro


del submenú Real-Time Workshop del menú Tools.

Así pasamos a la compilación y ejecución automática de nuestro modelo,


mientras se nos muestran mensajes de información en la ventana de
comandos de Matlab. Durante el proceso de compilación se generan una serie
de archivos, como el archivo descriptor del sistema “prueba.sdf”, en el
directorio de trabajo de Matlab, por eso es recomendable que compilemos
siempre en la carpeta de nuestro proyecto.
Una vez finalizado el proceso, si conectamos el osciloscopio entre los
correspondientes pines, podemos visualizar la señal PWM generada.

En este momento el modelo se esta ejecutando en la tarjeta de dSpace, pero


no podemos interactuar con él, para modificar o visualizar sus datos. Para
hacerlo debemos crear un experimento con el programa de experimentación
ControlDesk.
Así pues, abrimos el programa y creamos un nuevo layout, seleccionando
Layout en el submenú New del menú File.

Seguidamente, cargamos nuestra aplicación seleccionando Load Application


desde el submenú Application del menú Platform.
El programa nos pedirá el archivo descriptor del sistema, que en nuestro caso
se llama “prueba.sdf”.

Después guardamos el layout en el fichero “prueba.lay” seleccionando Save


desde el menú File.
Si seleccionamos la pestaña del fichero descriptor del sistema
“c:\prueba\prueba.sdf” en la ventana de herramientas, desde Model Root
podemos tener acceso a los parámetros y conexiones de los bloques que
componen nuestro modelo.

Seguidamente, añadimos al layout un Slider y un Display desde la ventana de


instrumentos.
Y asociamos a los dos instrumentos el parámetro Value del bloque Duty,
arrastrándolo y soltándolo con el botón izquierdo del ratón.
Podemos ver que desaparece el borde rojo de los instrumentos y aparece el
nombre del parámetro asociado en su parte superior. El siguiente paso será
crear un nuevo experimento seleccionando New Experiment desde el menú
File.

El programa nos pedirá su nombre y el directorio donde queremos guardarlo.


En nuestro caso también lo llamaremos prueba.
Para asegurarnos que la aplicación y el layout queden asociados al
experimento, lo mejor es cerrar el programa.

Así nos pedirá si queremos asociar todos los ficheros abiertos al experimento.

Si visualizamos el directorio “c:\prueba”, podemos ver todos los archivos que


componen nuestra aplicación. Ahora ya podemos abrir nuestro experimento
desde el archivo de experimento “prueba.cdx”.
Para asegurarnos que cada vez que abramos nuestro experimento se cargue
nuestra aplicación, seleccionamos la opción Autorun Application desde el menú
contextual que aparece al seleccionar con el botón derecho del ratón el archivo
descriptor del sistema “prueba.sdf”.

Seguidamente, ajustamos de 0 a 1 el rango del Slider que controla el duty de la


señal PWM, desde sus propiedades.

Ahora mediante los iconos de la barra de herramientas, para poder manejar los
instrumentos pasamos del Edit Mode al Animation Mode, siempre que el
sistema este ejecutándose.
El estado de los instrumentos se actualiza y ya podemos ver el valor actual del
duty.

Finalmente, cambiando el valor del Slider a 0.7, podemos ver como también
cambia el duty de la señal PWM en el osciloscopio.
4 Aplicaciones

En este capítulo describiremos dos aplicaciones de control de velocidad de un


motor de inducción implementadas en el sistema dSpace: un control V/f en lazo
abierto y un control V/f en lazo cerrado de velocidad.

4.1 Control V/f en lazo abierto

La primera aplicación implementada en el sistema dSpace es un control escalar


de velocidad en lazo abierto. El modelo “v_f_abierto.mdl” es el siguiente:

En este caso nuestra consigna es la frecuencia de las tensiones de


alimentación del motor „f_ref‟, que inicializamos a 0 mediante un bloque
Constant.

El subsistema Control V/f genera las tensiones sinusoidales de fase de estator


„ua‟ y „ub‟, a partir de la frecuencia de referencia „f_ref‟, manteniendo la relación
amplitud/frecuencia constante en la zona de par constante, desde 0 a la
frecuencia nominal, y limitando su amplitud en la zona de potencia constante,
desde la frecuencia nominal hasta la frecuencia máxima.
El subsistema anterior incluye otro llamado Cálculo de theta, con el que se
asegura la continuidad del ángulo „theta‟ de las tensiones frente a cambios
bruscos de la consigna de frecuencia.

El subsistema Transformada de Clarke aplica esta transformada matemática a


las tensiones „ua‟ y „ub‟, para obtener las tensiones „u_alfa‟ y „u_beta‟
expresadas en la referencia en cuadratura fijada al estator.

A la salida del subsistema anterior, las tensiones en cuadratura se multiplican


por 1 o 0 según si la variable „ENABLE‟ está activada o no. Seguidamente, se
aplica la modulación vectorial SVM, mediante un bloque S-Function llamado
Space Vector Modulation, programado en C. El fichero en C “svecmod_duty.c”
utilizado tiene las siguientes líneas de código:
/*************************************************************************
FILE:
svecmod_duty.c

DESCRIPTION:
space vector modulation for AC Demo

REMARKS:
F. Schuette 13.10.00 (transfer of dc_link_voltage by parameter list)

AUTHOR(S):
A. Ruekgauer
M. Deter

Copyright (c) 1997 dSPACE GmbH, GERMANY

$RCSfile: s_function.c $ $Revision: 1.5 $ $Date: 1998/01/09 16:42:57 $


$Source: O:/projects/rcs/PROJECTS/SOURCES/RTI_3/template/s_function.c $
*************************************************************************/

#define S_FUNCTION_NAME svecmod_duty

#define NUM_PARAM 1
#define NUM_INPUTS 2
#define NUM_OUTPUTS 6
#define NUM_SAMPLETIMES 1
#define SFCN_NUM_PARAM_ERROR 199
#include "tmwtypes.h"
#include "simstruc.h"

#ifndef MATLAB_MEX_FILE
#include "dstypes.h"
#endif

#include "svtoduty.c" /* space vector transformation */


#ifndef MATLAB_MEX_FILE
#include <math.h>
#endif

#define DC_LINK_VOLTAGE (mxGetPr(ssGetSFcnParam(S,0))[0]) /* Parameter 0 */

void sv_to_duty(float u_ref_alpha,


float u_ref_beta,
float ud,
float *duty_a,
float *duty_b,
float *duty_c,
float *sector,
float *d_right,
float *d_left);

static void mdlInitializeSizes(SimStruct *S)


{
ssSetNumSFcnParams(S, NUM_PARAM);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S))
{
#ifndef MATLAB_MEX_FILE
/* msg_error_set(MSG_SM_RTI, MESSAGE_12_NO, MESSAGE_12_STRING); */
#endif
return;
}
ssSetNumSFcnParams(S, NUM_PARAM);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) return;
ssSetNumContStates( S, 0);
ssSetNumDiscStates( S, 0);
ssSetNumInputs( S, NUM_INPUTS);
ssSetNumOutputs( S, NUM_OUTPUTS);
ssSetDirectFeedThrough(S, 0);
ssSetNumSampleTimes( S, NUM_SAMPLETIMES);
ssSetNumRWork( S, 0);
ssSetNumIWork( S, 0);
ssSetNumPWork( S, 0);
ssSetNumModes( S, 0);
ssSetNumNonsampledZCs( S, 0);
ssSetOptions( S, 0);
}

static void mdlInitializeSampleTimes(SimStruct *S)


{
ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME);
ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET);
}

static void mdlInitializeConditions(real_T *x0, SimStruct *S)


{
}

static void mdlOutputs(real_T *y, const real_T *x, const real_T *u,
SimStruct *S, int_T tid)
{
/* #ifndef MATLAB_MEX_FILE */

float duty_a, duty_b, duty_c, sector, d_right, d_left, ud;

ud = DC_LINK_VOLTAGE;

sv_to_duty(u[0], /* space vector modulation */


u[1],
ud,
&duty_a,
&duty_b,
&duty_c,
&sector,
&d_right,
&d_left);

y[0] = d_right;
y[1] = d_left;
y[2] = sector;
y[3] = duty_a;
y[4] = duty_b;
y[5] = duty_c;

/* #endif */
}

static void mdlUpdate(real_T *x, const real_T *u, SimStruct *S, int_T tid)
{
}

static void mdlDerivatives(real_T *dx, const real_T *x, const real_T *u,
SimStruct *S, int_T tid)
{
}

static void mdlTerminate(SimStruct *S)


{
}

#ifdef MATLAB_MEX_FILE
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif

El fichero anterior incluye al fichero en C “svtoduty.c” que incorpora la función


sv_to_duty para el cálculo de los duty de la SVM. Este fichero tiene las
siguientes líneas de código:
/******************************************************************************
* *
* File.............: svtoduty.c *
* Date.............: August 1997 *
* Author...........: Andreas Trepel *
* function.........: space vector modulation in connection *
* *
* A. Ruekgauer, 21.1.98: added definition for struct abc_type *
* explicit inlining *
* changed scaling from -1..1 to 0..1 *
* M. Deter 12.8.98: change struct to call by referenz *
* M. Deter 11.3.99: change duty cycles (a->b, b->c, c->a) *
* calculate values for DS1103 space vector PWM *
* F. Schuette 13.10.00: - bug fix in calculation of duty cycles da, db, dc *
* - bug fix for normalization of space vector *
* components u_ref_alpha and u_ref_beta *
* *
******************************************************************************/

/* constants for modulation algorithem */


#define SQRT3 1.732050808 /* sqrt(3) */
#define UD_NORM (0.666666666*ud) /* 2/3 dc link voltage */

void sv_to_duty(float u_ref_alpha,


float u_ref_beta,
float ud,
float *duty_a,
float *duty_b,
float *duty_c,
float *sector,
float *d_right,
float *d_left)
{

/* local variables */
float value1, value2, value3, value4; /* used to reduce exectime */

/*************************************************************************
* 1) sector identification (1,2,3,4,5,6) *
* U(1,0,0) -> U(1,1,0): sector 1 def: U(1,0,0):=u_alpha *
* U(1,1,0) -> U(0,1,0): sector 2 *
* U(0,1,0) -> U(0,1,1): sector 3 *
* U(0,1,1) -> U(0,0,1): sector 4 *
* U(0,0,1) -> U(1,0,1): sector 5 *
* U(1,0,1) -> U(1,0,0): sector 6 *
* *
* 2) calculate the duty cicles d_right *
* (duty cycle right SV) and d_left (duty cycle left SV) *
* 3) calculate the duty cycles (d_a, d_b, d_c) *
*************************************************************************/
if (u_ref_beta >= 0.0)
{
value1 = u_ref_alpha - u_ref_beta/(float)SQRT3;
if (value1 >= 0.0) /* 1. sector */
{ /* z_right:(100) z_left:(110) */
*d_right = value1/(float)UD_NORM;
*d_left = 2/((float)SQRT3*(float)UD_NORM)*u_ref_beta;
*sector = 1;

*duty_c = 0.5*(1.0 - *d_right - *d_left);


*duty_a = 1.0 - *duty_c;
*duty_b = *duty_c + *d_left;
}
else
{
value2 = -u_ref_alpha -u_ref_beta/(float)SQRT3;
if (value2 >= 0.0) /* 3. sector */
{ /* z_right:(010) z_left:(011) */
*d_right = 2/((float)SQRT3*(float)UD_NORM)*u_ref_beta;
*d_left = value2/(float)UD_NORM;
*sector = 3;

*duty_a = 0.5*(1.0 - *d_right - *d_left);


*duty_b = 1.0 - *duty_a;
*duty_c = *duty_a + *d_left;
}
else /* 2. sector */
{ /* z_right:(110) z_left:(010) */
*d_right = -value2/(float)UD_NORM;
*d_left = -value1/(float)UD_NORM;
*sector = 2;

*duty_c = 0.5*(1.0 - *d_right - *d_left);


*duty_b = 1.0 - *duty_c;
*duty_a = *duty_c + *d_right;
}
}
}
else /* u_ref_beta < 0.0 */
{
value3 = u_ref_alpha+u_ref_beta/SQRT3;
if (value3 >= 0.0) /* 6. sector */
{ /* z_right:(101) z_left:(100) */
*d_right = -2/((float)SQRT3*(float)UD_NORM)*u_ref_beta;
*d_left = value3/(float)UD_NORM;
*sector = 6;

*duty_b = 0.5*(1.0 - *d_right - *d_left);


*duty_a = 1.0 - *duty_b;
*duty_c = *duty_b + *d_right;
}
else
{
value4 = -u_ref_alpha + u_ref_beta/(float)SQRT3;
if (value4 >= 0.0) /* 4. sector */
{ /* z_right:(011) z_left:(001) */
*d_right = value4/(float)UD_NORM;
*d_left = -2/((float)SQRT3*(float)UD_NORM)*u_ref_beta;
*sector = 4;

*duty_a = 0.5*(1.0 - *d_right - *d_left);


*duty_c = 1.0 - *duty_a;
*duty_b = *duty_a + *d_right;
}
else /* 5. sector */
{ /* z_right:(001) z_left:(101) */
*d_right = -value3/(float)UD_NORM;
*d_left = -value4/(float)UD_NORM;
*sector = 5;

*duty_b = 0.5*(1.0 - *d_right - *d_left);


*duty_c = 1.0 - *duty_b;
*duty_a = *duty_b + *d_left;
}
}
}
}

#undef __INLINE
El único parámetro requerido por la S-Funcion es la tensión del bus de continua
„Ud‟.

Para generar el fichero “svecmod_duty.dll”, necesario para el funcionamiento


de la S-Function, se ha de compilar el fichero en C tecleando “mex
svecmod_duty.c” en la ventana de comandos de Matlab. Una vez generado
este fichero, ya no hace falta volver a compilar, a no ser que modifiquemos el
fichero en C.

La S-Function genera seis variables de salida: los duty „d_right‟ y „d_left‟ de los
vectores activos, el „sector‟ donde se encuentra nuestro vector y los „duty_a‟,
„duty_b‟ y „duty_c‟ de los interruptores de la parte superior del inversor. Las tres
primeras variables sirven para poder utilizar el bloque DS1103SL_DSP_PWSV
de la librería dSpace RTI1103, y las tres últimas para el bloque
DS1103SL_DSP_PWM3. En nuestro caso hemos elegido la segunda opción,
porqué es la que nos ha dado mejores resultados experimentales.

A la salida del bloque Space Vector Modulation se conecta un bloque Selector


para seleccionar solamente las tres últimas variables de salida de la S-
Function. Finalmente, el bloque DS1103SL_DSP_PWM3 procesa estas
variables y genera las señales UP, VP y WP, que se conectan al interfaz fibra
óptica.

Todos los bloques que pertenecen a la librería dSpace RTI1103, se han


coloreado de azul, para identificarlos y distinguirlos rápidamente.

Los subsistemas que se describen a continuación son comunes para las tres
aplicaciones descritas en este capítulo, y es muy recomendable que se
mantengan en posteriores aplicaciones, ya que su funcionamiento está
probado y dan una mayor seguridad al sistema dSpace.

El subsistema Medida de velocidad mide la velocidad de giro „n‟ de los motores


en rpm, a partir de las señales del encoder incorporado en el PMSM del
sistema de par de carga. Se ha añadido un filtro pasabajos para eliminar el
posible ruido de las lecturas.
El subsistema Medida de corrientes mide las corrientes „ia‟ e „ib‟ del motor de
inducción a partir de las señales que nos proporcionan los sensores LEM, y
genera „ic‟ suponiendo que la suma de las tres corrientes es igual a cero. Se
han añadido filtros pasabajos para eliminar el posible ruido de las lecturas, y un
sistema que captura el offset inicial de los sensores, para corregirlo
posteriormente.

El subsistema Par de carga se encarga de generar la consigna de par del


PMSM del sistema de par de carga. Mediante el bloque load_sw se puede
seleccionar el tipo de par de carga: cero, constante o linear, cúbico o cuadrático
con la velocidad. La salida del bloque Switch se multiplica por 1 o 0, según si la
variable „ENABLE‟ está activada o no.
El subsistema Par estimado lee la señal del par de carga estimado por el
inversor SIMOVERT MC. Se ha añadido un filtro pasabajos para eliminar el
posible ruido de la señal

El subsistema Protecciones intenta proteger el motor de inducción contra


sobrecorriente y sobrevelocidad, comparando las lecturas de corriente y de
velocidad con sus valores máximos permitidos. La variable „FAULT‟ nos
informa del tipo de fallo ocurrido, según sea su valor. Después de un fallo será
necesario poner la constante „reset_trip‟ a 1 durante un instante, para resetear
las básculas y poder poner en marcha el sistema de nuevo.

El subsistema Control encendido es muy importante ya que es el encargado de


habilitar o deshabilitar las señales de puerta de los IGBT‟s del inversor Danfoss
mediante la señal de enable EN, y de activar o desactivar la variable „ENABLE‟.
Cuando ocurre un fallo, la variable „TRIP‟ hace que el sistema se pare,
desactivando la señal de enable EN y la variable „ENABLE‟.

Por último, el subsistema Control resistencia frenado debería controlar la


conexión y desconexión de la resistencia de frenado, cuando el motor actúa
como generador y la tensión del bus de continua supera un cierto límite, pero
como no disponemos de la medida de la tensión del bus de continua, este
subsistema solamente hace que la resistencia permanezca desconectada.
El paso fijo de ejecución de nuestras aplicaciones es el inverso de la frecuencia
de conmutación „fs‟.

El archivo de parámetros “start.m” que debemos cargar al Workspace de


Matlab antes de compilar el modelo, contiene las siguientes líneas:
% Motor de induccion de doble eje Siemens 1LA7090-4AA10-Z

Un = 220; % Tension de fase nominal RMS [V]


In = 4.43; % Corriente nominal RMS [A]
fn = 50; % Frecuencia nominal [Hz]
p = 2; % Numero de pares de polos

% Inversor

Ud = sqrt(2)*380; % Tension del bus de continua [V]


fs = 5000; % Frecuencia de conmutacion [Hz]

% Encoder

INC_LINES = 2048; % Numero de pulsos por revolucion

% Protecciones

i_max = 3*In; % Corriente maxima (300% In) [A]


n_max = fn*60/p*1.2; % Velocidad maxima (120% nn) [rpm]

% Factores de escalado

SCALE_ADC_CUR = 50; % Factor de escalado para la medida de corriente con los sensores LEM 55-P [A/V]
SCALE_ADC_TQ = 20; % Factor de escalado para la estimacion de par del inversor SIMOVERT MC [Nm/V]
SCALE_DAC_TQ = 1/20; % Factor de escalado para la consigna de par del inversor SIMOVERT MC [V/Nm]

Para poder variar las consignas y visualizar las señales en tiempo real, hemos
creado el experimento “v_f_abierto.cdx” que contiene el fichero descriptor del
sistema “v_f_abierto.sdf” y el layout “v_f_abierto.lay”.

Si queremos poner la aplicación en funcionamiento, debemos seguir el


protocolo de encendido descrito en el apartado 2.6. Una vez finalizado,
pasamos al modo de animación y visualizamos el layout a pantalla completa.
Ahora ya podemos activar la señal de enable EN, pulsando el botón START, y
variar las consignas de frecuencia y de par de carga.
En el caso de que actúe alguna de las protecciones implementadas en el
modelo, la aplicación se parará y se nos informará del tipo de fallo ocurrido
mediante un mensaje. Para poder volver a poner en funcionamiento la
aplicación, deberemos pulsar el botón de STOP y seguidamente el botón de
RESET.

Si queremos capturar las señales que aparecen en los osciloscopios virtuales


debemos usar el instrumento de captura de datos.

En Length introducimos el período de tiempo y pulsando en Settings podemos


seleccionar las variables a capturar desde la pestaña CaptureVariables.
Pulsando en Save, el programa nos pedirá el nombre y el tipo de archivo donde
queremos guardar las capturas.

Si lo guardamos como archivo binario de Matlab “captura.mat”, podremos


cargar la estructura de datos que contiene, tecleando “load captura” en la
ventana de comandos de Matlab.

4.2 Control V/f en lazo cerrado de velocidad

La segunda aplicación implementada en el sistema dSpace es un control


escalar de velocidad en lazo cerrado de velocidad. El modelo “v_f_cerrado.mdl”
es el siguiente:

Las únicas diferencias respecto al modelo anterior son la consigna de velocidad


en rpm „n_ref‟, la realimentación de velocidad y la inclusión de un controlador
PI.
El subsistema PI está formado por un PI convencional con limitación en la
salida y lazo antiwind-up para obtener una respuesta más rápida. La entrada
„error_n‟ corresponde al error de velocidad en rpm. La salida „f_ref‟ corresponde
a la frecuencia de referencia de las tensiones de alimentación del motor.

El archivo de parámetros “start.m” que debemos cargar al Workspace de


Matlab antes de compilar el modelo, contiene las siguientes líneas:
% Motor de induccion de doble eje Siemens 1LA7090-4AA10-Z

Un = 220; % Tension de fase nominal RMS [V]


In = 4.43; % Corriente nominal RMS [A]
fn = 50; % Frecuencia nominal [Hz]
p = 2; % Numero de pares de polos

% Inversor

Ud = sqrt(2)*380; % Tension del bus de continua [V]


fs = 5000; % Frecuencia de conmutacion [Hz]

% Encoder

INC_LINES = 2048; % Numero de pulsos por revolucion

% Protecciones

i_max = 3*In; % Corriente maxima (300% In) [A]


n_max = fn*60/p*1.2; % Velocidad maxima (120% nn) [rpm]

% Factores de escalado

SCALE_ADC_CUR = 50; % Factor de escalado para la medida de corriente con los sensores LEM 55-P [A/V]
SCALE_ADC_TQ = 20; % Factor de escalado para la estimacion de par del inversor SIMOVERT MC [Nm/V]
SCALE_DAC_TQ = 1/20; % Factor de escalado para la consigna de par del inversor SIMOVERT MC [V/Nm]

% PI

Kp = 0.04; % Constante proporcional PI


Ki = 0.05; % Constante integral PI
f_ref_max = 60; % Saturacion positiva PI
f_ref_min = -60; % Saturacion negativa PI

Para poder variar las consignas y visualizar las señales en tiempo real, hemos
creado el experimento “v_f_cerrado.cdx” que contiene el fichero descriptor del
sistema “v_f_cerrado.sdf” y el layout “v_f_cerrado.lay”.

Una vez cargado el experimento, pasamos al modo de animación y ponemos


en funcionamiento la aplicación.
Las únicas diferencias respecto al layout anterior son la inclusión de
instrumentos, para poder modificar las constantes Kp y Ki del controlador PI y el
cambio de consigna de frecuencia a consigna de velocidad.