Energía Undimotriz Tesis España PDF
Energía Undimotriz Tesis España PDF
Energía Undimotriz Tesis España PDF
MODELADO DE UN CONVERTIDOR
UNDIMOTRIZ DEL TIPO ABSORBEDOR
PUNTUAL EN UN MICROPROCESADOR
Septiembre 2017
“Modelado de un convertidor undimotriz del tipo absorbedor puntual en un microcontrolador”
- Albert Einstein
AGRADECIMIENTOS
Me gustaría agradecer en este apartado a todas aquellas personas que me han ayudado y han hecho
posible el desarrollo de este Trabajo de Fin de Grado tanto de manera directa como indirecta.
En primer lugar, querría agradecer a mi tutor del trabajo Dionisio Ramírez por dirigir y supervisar este
trabajo, así como por el tiempo dedicado y la ayuda proporcionada.
De igual forma me gustaría agradecer al profesor Hugo Rocha por ejercer de cotutor del trabajo así
como por su ayuda, sus explicaciones y la proporción de datos con los que trabajar.
Agradecer a mis padres por su apoyo y sus ánimos durante estos cuatro años y por proporcionarme la
oportunidad de estudiar en esta universidad.
A mi novio Álvaro por su cariño y paciencia así como por no dejar de confiar en mí.
A mis amigos con los que he compartido estos últimos cuatro años y juntos hemos pasado muy buenos
momentos.
RESUMEN EJECUTIVO
El objetivo de este trabajo es modelar la dinámica de un convertidor
undimotriz del tipo absorbedor puntual e implementarla en un
microprocesador. Un convertidor undimotriz es cualquier convertidor
utilizado para convertir la energía undimotriz en energía eléctrica. Los
convertidores de tipo absorbedor puntual están constituidos por un
cuerpo flotante (boya), un PTO (power take off: convertidor lineal) y un
cuerpo de reacción sumergido (en este caso el suelo marino). La
interacción entre el cuerpo flotante y la ola da lugar al movimiento
vertical del cuerpo flotante. Ante este movimiento, el PTO se mueve a su
vez verticalmente y ejerce una fuerza de reacción contra el cuerpo de
Esquema de fuerzas sobre un
reacción para extraer la energía proveniente de la ola. Absorbedor Puntual
La función del microprocesador es calcular la fuerza que ejercería dicha boya sobre el PTO a partir de
la fuerza de excitación de un oleaje. Después se inyectaría el par equivalente en un motor, imitando el
funcionamiento de la boya, y éste haría girar el eje del generador, el cual hace de PTO en el sistema.
Fuerzas exteriores:
▪ 𝑓𝑒𝑥𝑡 (𝑡): fuerza de Froude-Krylov
+∞
𝑓𝑒 (𝑡) = 𝑓𝑒𝑥𝑡 (𝑡) + 𝑓𝑑 (𝑡) = ∫ ℎ𝑒 (𝜏). 𝜂(𝑡 − 𝜏). 𝑑𝜏
−∞
▪ 𝑓𝑏 (𝑡): fuerza hidrostática / de flotabilidad
Fuerza debida al empuje del fluido del mar sobre el cuerpo flotante
𝑡
𝑓𝑏 (𝑡) = −𝜌. 𝑔. 𝑆𝑤 . ∫ 𝑥̇ (𝜏). 𝑑𝜏 = −𝐾𝑤 . 𝑥(𝑡)
0
▪ 𝑓𝑣 (𝑡): fuerza de viscosidad
𝑓𝑣 (𝑡) = 0
OLEAJE REGULAR
El estudio más sencillo de la dinámica de
un cuerpo flotante comienza suponiendo
que el oleaje con el que se trabaja es un
oleaje regular, es decir, su perfil se puede
asemejar a una función senoidal de
amplitud la unidad y frecuencia
constante. Al ser de frecuencia constante
se puede convertir directamente la
ecuación en el dominio del tiempo al
Ejemplo de oleaje regular en tres dimensiones
dominio de la frecuencia que resulta:
A partir de esta ecuación se obtiene la función de transferencia que relaciona la altura de la ola con el
desplazamiento de la boya para un oleaje con una frecuencia determinada y constante:
𝐹𝑟
𝐵𝑤 (𝑤)
𝐹𝑏
𝐾𝑤
Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando la
entrada al sistema es un oleaje regular
OLEAJE IRREGULAR
Cuando el oleaje es irregular, el perfil de la ola se asemeja a una
combinación de componentes armónicas por lo que no se puede pasar al
dominio de la frecuencia directamente. El procedimiento consiste en
eliminar los productos de convolución implicados en la ecuación en el
dominio del tiempo. Para ello se expresa la fuerza de radiación mediante
un espacio de estado de la forma:
𝑧̇ = 𝐴𝑟 . 𝑧 + 𝐵𝑟 . 𝑥̇
{
𝑓𝑟 = 𝐶𝑟 . 𝑧 + 𝐷𝑟 . 𝑥̇
𝐴 𝐵
𝑥̃1 (𝑡)
𝑦 = [1 0 … 0]. [𝑥̃2 (𝑡)] + [0]. 𝑢
𝑧(𝑡)
𝐶 𝐷
𝑆𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑢𝑙𝑡𝑖𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒:
𝑢 = 𝐹𝑒 𝑦 = 𝑥̃1 = 𝑥(𝑡)
𝜂 𝑥̃̇ (𝑡) = 𝐴. 𝑥̃(𝑡) + 𝐵. 𝑢
𝐻𝑒 (𝑠)
𝑦 = 𝐶. 𝑥̃(𝑡) + 𝐷. 𝑢
Para dicha implementación, ha sido necesario la discretización previa de las funciones de transferencia
a utilizar.
𝐹𝑟
𝑧̇ = 𝐴𝑟 . 𝑧 + 𝐵𝑟 . 𝑥̇
𝑓𝑟 = 𝐶𝑟 . 𝑧 + 𝐷𝑟 . 𝑥̇
𝐹𝑏
𝐾𝑤
Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando la entrada al
sistema es un oleaje irregular
Se ha trabajado con un tiempo de muestreo de 10.000 𝜇𝑠 por lo que en los 240 segundos hay presentes
24.000 muestras. Como la interfaz de trabajo está limitada a 2.400 muestras y se deseaba trabajar con
una dinámica del oleaje durante un tiempo suficiente que permitiese ver la evolución de las variables,
se selecciona la décima parte de las muestras (una muestra cada 1.000 𝜇𝑠) trabajando con 24 segundos
de muestras pero cuya evolución es la misma que la mostrada arriba.
Los resultados calculados por el microprocesador se observan a través de una interfaz de usuario:
Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del
microprocesador
Los resultados obtenidos se verifican con los esperados, calculados anteriormente en el entorno de
Matlab:
Desplazamiento de la boya x ante oleaje irregular Velocidad de la boya x ante oleaje irregular
ÍNDICE
AGRADECIMIENTOS ...................................................................................................................... 3
RESUMEN EJECUTIVO ................................................................................................................... 5
CAPÍTULO 1. INTRODUCCIÓN ...................................................................................................... 13
1.1. DISPOSITIVOS DE EXTRACCIÓN DE ENERGÍA DEL OLEAJE (WEC) ...............................................13
1.2. ABSORBEDORES PUNTUALES.....................................................................................................18
1.3. OBJETIVOS Y JUSTIFICACIÓN .....................................................................................................21
CAPÍTULO 2. MODELO MATEMÁTICO DE UN ABSORBEDOR PUNTUAL DE UN SOLO CUERPO
OSCILANTE ................................................................................................................................. 23
2.1. PARA UN OLEAJE REGULAR .......................................................................................................23
2.1.1. EQUIVALENTE MECÁNICO ..................................................................................................30
2.1.2. EQUIVALENTE ELÉCTRICO ...................................................................................................30
2.1.3. EFECTO DEL PTO SOBRE EL SISTEMA ..................................................................................32
2.2. PARA UN OLEAJE IRREGULAR ....................................................................................................34
2.2.1. EFECTO DEL PTO SOBRE EL SISTEMA ..................................................................................36
CAPÍTULO 3. TEORÍA DE OLAS ..................................................................................................... 37
3.1. OLEAJE REGULAR .......................................................................................................................37
3.2. OLEAJE IRREGULAR ....................................................................................................................38
CAPÍTULO 4. MICROPROCESADOR .............................................................................................. 41
4.1. CARACTERÍSTICAS ......................................................................................................................43
4.2. CODE COMPOSER STUDIO .........................................................................................................46
4.2.1. CONEXIÓN Y CARGA DE LOS PROYECTOS ...........................................................................47
CAPÍTULO 5. DESCRIPCIÓN DEL SISTEMA ..................................................................................... 49
5.1. AJUSTE DE LOS PARÁMETROS DEL PTO .....................................................................................50
5.2. DATOS DE LA BOYA Y DEL SISTEMA ...........................................................................................51
CAPÍTULO 6. IMPLEMENTACIÓN EN EL MICROPROCESADOR ........................................................ 53
CAPÍTULO 7. RESULTADOS Y CONCLUSIONES ............................................................................... 57
7.1. OBTENCIÓN DE RAO ..................................................................................................................57
7.2. RESULTADOS ANTE OLEAJE REGULAR .......................................................................................62
7.3. RESULTADOS ANTE OLEAJE IRREGULAR ....................................................................................67
7.4. CONCLUSIONES .........................................................................................................................72
CAPÍTULO 8. LÍNEAS FUTURAS .................................................................................................... 73
CAPÍTULO 9. GESTIÓN DEL PROYECTO ......................................................................................... 75
9.1. PLANIFICACIÓN TEMPORAL .......................................................................................................75
9.1.1. ESTRUCTURA DE DESCOMPOSICIÓN DEL PROYECTO (EDP) ................................................75
9.1.2. DIAGRAMA DE GANNT DEL PROYECTO...............................................................................76
CAPÍTULO 1. INTRODUCCIÓN
1.1. DISPOSITIVOS DE EXTRACCIÓN DE ENERGÍA DEL OLEAJE (WEC)
El oleaje es considerado una fuente de energía totalmente sostenible. La energía undimotriz, energía
cinética de las partículas del mar fruto del movimiento de las olas, se puede captar y convertir en
energía eléctrica mediante dispositivos de extracción de energía del oleaje (WEC: Wave Energy
Converter). Existen numerosos dispositivos capaces de extraer la energía undimotriz del mar, basados
en distintas tecnologías.
El European Marine Energy Center [2] clasifica las diferentes tecnologías en nueve tipos según el
concepto que utilizan para la extracción de la energía:
• Atenuador (Attenuator)
Un absorbedor puntual es una estructura flotante que absorbe la energía del oleaje con cualquier
dirección de propagación. El dispositivo se sitúa sobre la superficie del agua y convierte el movimiento
de arfada (cabeceo de un cuerpo flotante sobre el mar) debido a la fuerza de flotación en energía
eléctrica [2].
El sistema de extracción PTO (power take off) puede tener distintas configuraciones dependiendo de
si utiliza un generador eléctrico lineal o una cámara OWC (Oscillating Water Column), en la cual la
cámara de aire hace de fluido intermedio entre el agua y la turbina de generación.
Estos dispositivos poseen un brazo que oscila como un péndulo y a la vez puede pivotar. Teóricamente
las partículas de agua en mar abierto se desplazan con una trayectoria circular. El movimiento circular
de estas partículas es aprovechada por el brazo del dispositivo para extraer la energía [2].
Ejemplos comerciales: Aquamarine (Oyster), AW Energy (WaveRoller) y Pico (Pico OWC) [3].
Se trata de una columna de agua parcialmente sumergida en el interior de una estructura hueca. Por
la parte inferior la estructura se encuentra abierta al mar y en la parte superior, sobre la columna de
agua, se encierra una columna de aire. El movimiento de las olas del mar produce el ascenso y descenso
de la columna de agua de forma continuada. El aire encerrado entre la estructura y la columna de agua
Ejemplos comerciales: Ocean Energy, Oceanlinx (greenWAVE) y Sea Energies (SEWEC) [3].
Este tipo de dispositivos recogen el agua cuando las olas rompen contra el depósito de
almacenamiento de agua. El agua es capturada y devuelta después al mar a través de una turbina
convencional [2].
Estos dispositivos se fijan al fondo del mar y se colocan habitualmente cerca de la costa debido a la
limitación en la profundidad máxima a la que pueden ser instalados. El movimiento del oleaje hace
ascender y descender el nivel del agua encima del dispositivo, lo que induce una diferencia de
presiones sobre el dispositivo. Esta diferencia de presiones es aprovechada por el sistema para generar
electricidad [2].
Esta tecnología consiste en un tubo de goma relleno de agua orientado paralelamente a la dirección
de propagación del oleaje. El dispositivo está anclado al fondo marino de forma que la presión
originada por el oleaje empuja el agua a través del tubo obligándola a pasar a través de una turbina
situada al final del tubo [2].
Ejemplos comerciales: Checkmate Seaenergy UK (Anaconda), Surfpower y Vigor Wave Energy AB [3].
Mediante esta tecnología se aprovecha la energía procedente tanto del movimiento de balanceo del
dispositivo como del movimiento de arfada del mismo. Se suele emplear una masa excéntrica o
giroscópica como cuerpo rotativo unido al generador eléctrico [2].
Ejemplos comerciales: Ecole Centrale de Nantes (SEAREV), Wello OY (Penguin) y Waves for Energy
(ISWEC) [3].
Además de los nueve tipos comentados arriba, existen muchos otros que no se incluyen en la
clasificación por su concepto y diseño totalmente diferentes a los utilizados en la tecnología más
establecida a día de hoy.
Entre las ventajas que estos dispositivos suponen frente a otras tecnologías se encuentran:
• Dispositivo alejado de la costa: permite disponer de oleajes de mayor energía al poder colocar
estos dispositivos en alta mar. Debido a esto se puede obtener mayor energía al ser el oleaje
más energético. Sin embargo, la ubicación en zonas alejadas de la costa también conlleva
mayores costes de instalación y mantenimiento debido a la necesidad de emplear amarres al
fondo del mar más resistentes.
• El cuerpo móvil recibe la acción del oleaje: al ser un solo cuerpo el que percibe el movimiento
del oleaje, es necesario menor cantidad de material reduciendo los costes de diseño y
fabricación. J. Falnes concluye en dos artículos [5] y [6] que el tamaño del dispositivo no debe
ser demasiado grande si lo que se busca es maximizar la potencia extraída con respecto al
coste del dispositivo. Según un criterio de densidad de energía, el tamaño del absorbedor
puntual no debería ser superior al 5-10% de la longitud equivalente de las olas incidentes.
Debido a la tendencia de las compañías a emplear esta tecnología, junto con la OWC, parece que este
dispositivo es el que está liderando el desarrollo de los WEC.
Los absorbedores puntuales están constituidos por un cuerpo flotante, basado en las boyas marinas
para asegurar su resistencia ante condiciones meteorológicas extremas, un PTO para extraer la energía
y un cuerpo de reacción sumergido. El cuerpo de reacción puede tener inercia infinitiva (fondo marino)
o finita (masa adicional, resistencia hidrodinámica, fuerza de excitación). De esta manera, la
interacción entre el cuerpo flotante y la ola da lugar al movimiento vertical del cuerpo flotante. Ante
este movimiento, el PTO se mueve a su vez verticalmente y ejerce una fuerza de reacción contra el
cuerpo de reacción para extraer la energía proveniente de la ola.
La extracción de energía se puede entender mejor viendo las olas como ondas. Para extraer energía
de ellas, será necesario generar olas que interfieran de manera destructiva con las originales. Es decir,
un absorbedor puntual se basa en la extracción de energía mediante la generación de olas en el agua
como consecuencia de su propio movimiento vertical.
En función de si el cuerpo de reacción tiene inercia infinita o finita recibe el nombre de WEC de un
cuerpo oscilante o WEC de dos cuerpos oscilantes.
Es una tecnología desarrollada para ser instalada en plataformas petrolíferas. Los absorbedores
puntuales van unidos a la plataforma semi-sumergida. De esta manera, la plataforma actúa como
cuerpo de reacción. Cada absorbedor puntual se compone por un cilindro que al moverse arriba y
abajo por las olas absorben la energía de la ola. Este modelo está previsto que genere hasta 2,52 MW,
• Seabased
El sistema está constituido por un cuerpo flotante anclado al fondo marino mediante un PTO. El PTO
reacciona contra el cable de anclaje y contra el fondo marino para extraer la energía de la ola [8].
• CETO (Carnegie)
El sistema es igual que el de Seabased con la única diferencia de que en el CETO el cuerpo flotante está
completamente sumergido. Esto aporta seguridad en caso de grandes tormentas y elimina la
contaminación visual del paisaje. Otra diferencia del CETO es que el sistema de extracción de energía
se encuentra en el interior del cuerpo flotante en vez de estar por separado [9].
Usa el mismo concepto que los dos modelos comentados anteriormente. Sin embargo, este modelo
destaca por ser un captador múltiple con convertidores complementados de energía. La diferencia
entre los convertidores simples y los múltiples radica en que los simples captan las formas de energía
potencial y cinética por separado mientras que los múltiples lo hacen de forma simultánea logrando
una conversión complementada. Aunque este modelo de convertidores múltiples cuesta alrededor de
un 50% más que el modelo de convertidores simples, sería capaz de producir hasta un 170% más de
potencia llegando al orden del MW como unidad de potencia generada [10].
1. Estudiar la dinámica de un cuerpo flotante libremente, el efecto del PTO sobre su dinámica y
las diferencias en la dinámica si se trabaja con un oleaje regular o irregular.
2. Generar un oleaje irregular de trabajo con unas condiciones determinadas.
3. Programar en un microprocesador la dinámica del cuerpo flotante ante una entrada de oleaje
irregular para que calcule la fuerza que ejercería la boya.
Para el desarrollo de este trabajo se han tenido que adquirir conocimientos tanto de programación de
microprocesadores como de la dinámica vertical de un cuerpo flotante genérico que se encuentre
flotando en el mar. Así mismo, ha sido necesario también entender la manera matemática de generar
un oleaje a partir de su espectro de energía y conocer su dependencia de los distintos parámetros.
Este proyecto se justifica por la necesidad de simular en laboratorio procesos tan complejos como son
los procesos de obtención de energía que ocurren bajo el mar. La posibilidad de estudiar estos
procesos en una bancada de laboratorio simplifica y facilita su estudio, y reduce su complejidad a la
hora de realizar ensayos eliminando las complicaciones técnicas debidas al trabajo bajo el agua.
BOYA
Una de las ventajas a la hora de escoger un absorbedor puntual es el
ሬ𝑭Ԧ𝑶𝑳𝑨
hecho de que suelen ser axilsimétricos. Esta propiedad permite su
ሬ𝑭Ԧ𝑶𝑳𝑨 modelización aproximada evitando el uso de programas de elementos
finitos [11] [12].
ሬ𝑭Ԧ𝑷𝑻𝑶
A continuación se expondrá el modelo primeramente para el caso en el
PTO que el oleaje es regular (función senoidal de frecuencia constante) y
ሬ𝑭Ԧ𝑷𝑻𝑶 posteriormente se incluirán en el modelo las variaciones propias para
tratar oleajes irregulares.
ሬ𝑭Ԧ𝑭𝑶𝑵𝑫𝑶
El modelado de la interacción entre el oleaje y la boya se basa en la ecuación de Cummins [1], que
describe el comportamiento dinámico de un cuerpo flotante sobre la superficie del agua. Esta ecuación
parte de la segunda ley de Newton ∑ 𝑓 (𝑡) = 𝑚. 𝑥̈ (𝑡) aplicada al movimiento vertical de la boya. El
análisis se puede llevar a cabo en el dominio del tiempo [13] y en el dominio de la frecuencia [14]. La
ventaja de trabajar con un oleaje regular es que se encuentra en régimen permanente (frecuencia
constante) lo que permite que sea trabajado en el dominio de la frecuencia disminuyendo la
complejidad y el tiempo en el cálculo.
Fuerzas exteriores:
𝑓𝑒𝑥𝑡 (𝑡): fuerza de Froude-Krylov
Fuerza debida al empuje del fluido del mar sobre el cuerpo flotante
❖ Fuerza de excitación: está compuesta por la fuerza de Froude-Krylov de las olas y la fuerza de
radiación inercial. Ambas fuerzas se pueden agrupan en un solo término 𝑓𝑒 (𝑡).
La fuerza de Froude-Krylov es la fuerza que ejercen las olas si la boya estuviese en reposo. Por ello esta
fuerza tiene en cuenta la variación de la fuerza de Arquímedes sobre la boya como causa del cambio
de la altura del agua debido a la ola pero no considera la variación de esta fuerza debida al
desplazamiento de su punto de equilibrio.
La fuerza de difracción es la fuerza que ejerce la boya al dispersar las olas que inciden contra ella.
La fuerza de excitación aplicada sobre un cuerpo rígido provoca que éste oscile, por ello la fuerza total
del oleaje depende de la altura 𝜂 de la ola incidente y se representa como una función lineal de dicha
altura. Sin embargo, la relación entre la altura de la ola y la fuerza debida al oleaje es no causal. La no
causalidad quiere decir que para conocer la fuerza debida al oleaje en el instante actual será necesario
conocer la altura de la ola en un instante futuro [15].
oleaje vendrá dada por una función no causal. Por ello, la respuesta de la boya ante la incidencia de
una ola es no causal lo que significa que la elevación de la ola no es la causante directa de la fuerza de
excitación sobre la boya sino que la causante real podría ser una tormenta lejana [15].
− 𝜂 es la altura de la ola en un instante dado, también se puede ver como la elevación
de la superficie libre del agua respecto de su punto de equilibrio a causa de la ola.
− 𝐴𝑤 (𝑤) es la masa añadida y tiene unidades de masa, en el S.I. 𝑘𝑔. Para los datos de la
boya trabajada, su representación es:
Según el Principio de Arquímedes el fluido del mar ejerce sobre la boya una fuerza igual al peso del
fluido desplazado por el volumen de la boya sumergida bajo la superficie libre del agua.
− 𝜌 es la densidad del fluido (en este caso la densidad del agua del mar).
− 𝑔 es la aceleración de la gravedad.
− 𝑆𝑤 es la sección transversal de la boya.
− 𝐾𝑤 es el coeficiente de rigidez hidrostática de la boya y su valor es independiente de la
frecuencia. Su valor es: 𝐾𝑤 = 𝜌. 𝑔. 𝑆𝑤 y sus unidades en el S.I. son 𝑘𝑔/𝑠2 .
El efecto de la viscosidad sobre el modelo puede no tenerse en cuenta debido a que la boya va a
trabajar a valores bajos de la velocidad.
𝑋(𝑗𝑤) 𝐻𝑒 (𝑤)
= (XIV)
𝜂 −𝑤 2 . (𝑚 + 𝐴𝑤 (𝑤)) + 𝑗. 𝑤. (𝐵𝑤 (𝑤) + 𝐾𝑤
𝐹𝑟
𝐵𝑤 (𝑤)
𝐹𝑏
𝐾𝑤
Figura 18 - Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando la
entrada al sistema es un oleaje regular
La respuesta de dicha función de transferencia ante una entrada senoidal de amplitud la unidad para
distintos valores de frecuencia es la conocida respuesta RAO (response amplitude operator) [14],
calculada en ANEXO 1.1. CÁLCULO Y REPRESENTACIÓN DE RAO, cuya forma para la boya en particular
estudiada es:
Es decir, para cada frecuencia, los valores de 𝐴𝑤 , 𝐵𝑤 y 𝐻𝑒 son distintos por lo que para cada frecuencia
diferente se tiene una función de transferencia diferente.
𝒙
𝑲𝒘 𝑲𝒘 . 𝑿
𝑭𝒆
𝑩 𝑀 = 𝑚 + 𝐴𝑤 (𝑤)
(𝒎 + 𝑨𝒘 (𝒘)). 𝑿̈
𝑩𝒘 . 𝑿̇
Figura 20 – Esquema mecánico de la dinámica del cuerpo flotante
1ൗ
𝑿̇(𝒋𝒘) 𝑚 + 𝐴𝑤 (𝑤) 𝐵𝑤 (𝑤) 𝐾𝑤
𝑭𝒆
La siguiente tabla muestra la equivalencia entre las magnitudes del equivalente mecánico y el
equivalente eléctrico:
Figura 22 – Tabla de equivalencia entre las magnitudes del equivalente mecánico y el equivalente eléctrico
El efecto de esta fuerza equivale al efecto combinado que tienen un muelle y un amortiguador sobre
un sistema dinámico o al de una resistencia y un condensador en un circuito eléctrico.
De esta manera, el efecto de la fuerza sobre el sistema será aumentar estos efectos del muelle y el
amortiguador o la resistencia y el condensador.
Las nuevas expresiones de la ecuación dinámica de la boya tras incluir la fuerza que introduce el PTO
son:
𝐹𝑟
𝐵𝑤 (𝑤)+𝑩𝑷𝑻𝑶 (𝒘)
𝐹𝑏
𝐾𝑤 + 𝑲𝑷𝑻𝑶 (𝒘)
Esto es debido a que un oleaje irregular no presenta una frecuencia constante sino que está compuesto
por una combinación de armónicos. De esta manera, el sistema no tendrá unos coeficientes 𝐴𝑤 y 𝐵𝑤
específicos asociados.
De esta forma la nueva expresión que define la dinámica de la boya ante un oleaje irregular queda:
𝑡
𝑓𝑒 (𝑡) = 𝑀. 𝑥̈ (𝑡) + ∫ ℎ𝑟 (𝜏 − 𝜏). 𝑥̇ (𝑡 − 𝜏). 𝑑𝜏 + 𝐾. 𝑥(𝑡) = 𝑀. 𝑥̈ (𝑡) + 𝑓𝑟 (𝑡) + 𝐾𝑤 . 𝑥(𝑡) (XXIII)
0
𝑓𝑟 (𝑡)
𝐹𝑟
𝑧̇ = 𝐴𝑟 . 𝑧 + 𝐵𝑟 . 𝑥̇
𝑓𝑟 = 𝐶𝑟 . 𝑧 + 𝐷𝑟 . 𝑥̇
𝐹𝑏
𝐾𝑤
Mediante la definición de unas nuevas variables de estado se consigue un nuevo espacio de estado en
el que la entrada se corresponde con la fuerza de excitación de la ola 𝑓𝑒 y la salida con el
desplazamiento de la boya 𝑥. Las nuevas variables de estado 𝑥̃ propuestas son [17]:
𝑥̃1 (𝑡)
𝑥̃2 (𝑡) 𝑥̃3 (𝑡)
𝑥̃(𝑡) = 𝑥̃3 (𝑡) donde 𝑥̃1 (𝑡) = 𝑥(𝑡) 𝑥̃2 (𝑡) = 𝑥̇ (𝑡) 𝑧(𝑡) = { ⋮
⋮ 𝑥̃𝑛 (𝑡)
[𝑥̃𝑛 (𝑡)]
𝑥̌̇1 (𝑡)
𝑥̃̇ (𝑡) = [𝑥̌̇2 (𝑡)]
𝑧̇ (𝑡)
Tras la definición de las nuevas variables de estado, las ecuaciones de estado del nuevo sistema son:
Llamando a la entrada del sistema 𝑢 = 𝑓𝑒 (𝑡), las ecuaciones anteriores se pueden expresar de forma
matricial resultando el espacio de estado:
𝐴 𝐵
𝑥̃1 (𝑡)
𝑦 = [1 0 … 0]. [𝑥̃2 (𝑡)] + [0]. 𝑢
𝑧(𝑡)
𝐶 𝐷
De esta manera se consigue expresar la dinámica de la boya mediante una sola función de
transferencia:
𝑆𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑢𝑙𝑡𝑖𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒:
𝑢 = 𝐹𝑒
𝜂 𝑥̃̇ (𝑡) = 𝐴. 𝑥̃(𝑡) + 𝐵. 𝑢 𝑦 = 𝑥̃1 = 𝑥(𝑡)
𝐻𝑒 (𝑠)
𝑦 = 𝐶. 𝑥̃(𝑡) + 𝐷. 𝑢
𝐴 𝐵
𝑥̃1 (𝑡)
𝑦 = [1 0 … 0]. [𝑥̃2 (𝑡)] + [0]. 𝑢 (VI)
𝑧(𝑡)
𝐶 𝐷
𝜂1 (𝑡) = 𝐴1 . 𝑠𝑒𝑛(𝑤1 . 𝑡 + 𝜑1 )
𝜂 (𝑡) = 𝐴2 . 𝑠𝑒𝑛(𝑤2 . 𝑡 + 𝜑2 )
{ 2 (XXVIII)
⋮
𝜂𝑛 (𝑡) = 𝐴𝑛 . 𝑠𝑒𝑛(𝑤𝑛 . 𝑡 + 𝜑𝑛 )
La suma de estas componentes de altura de ola representa la altura de la ola en cada instante:
𝜂(𝑡) = ∑ 𝜂𝑘 (XXIX)
𝑘=1
Figura 28 – Descomposición de un
oleaje irregular en distintos oleajes
regulares [20]
El espectro de energía del oleaje viene caracterizado por el parámetro 𝐻𝑠 (altura significativa de la ola)
cuyo valor se corresponde en la práctica con la media de los valores de las alturas de la ola del tercio
mayor. 𝐻𝑠 se calcula estadísticamente como 𝐻𝑠 = 4. √𝑚𝑜 . 𝑚𝑜 es el momento espectral y se puede
calcular a partir de la expresión general del momento 𝑚𝑘 = ∫ 𝑓 𝑘 𝑆(𝑓). 𝑑𝑓 [20].
Otro parámetro por el cual se caracteriza un espectro es 𝑇𝑒 (periodo energético), 𝑇𝑧 (periodo cero), 𝑇𝑝
(periodo de pico) o 𝑇𝑚 (periodo medio). En este trabajo se ha utilizado el periodo energético 𝑇𝑒 . Este
periodo hace referencia al periodo necesario en un oleaje regular para contener la misma energía que
el oleaje irregular generado.
A partir del espectro de energía previamente calculado es posible generar matemáticamente un oleaje
de cresta larga o cresta corta así como la fuerza de excitación que este oleaje generaría. Para su cálculo
se ha utilizado la función Función genolaFe.m : , que da una altura y una fuerza de excitación:
Figura 30 – Altura de la ola del oleaje irregular en metros en cada instante de tiempo
CAPÍTULO 4. MICROPROCESADOR
El microprocesador escogido para realizar el simulador de generación de energía a partir del oleaje es
un Digital Signal Processor (DSP) de doble núcleo modelo F28M35H52C “Concerto” de Texas
Instruments (TI), perteneciente a la familia C2000.
Los modelos “CONCERTO” han sido diseñados específicamente para ser integrados en sistemas de
Smart Grids y Smart Cities y para ello se ha diseñado escogiendo un núcleo especializado en
comunicaciones (el ARM Cortex) y otro especializado en control de accionamientos (el F28335 de TI),
integrándolos mediante un sistema de comunicación entre núcleos basado memoria RAM compartida.
El subsistema de control en tiempo real lo constituye el núcleo C28x de 32 bits con coma flotante y
reloj de 150MHz que incluye periféricos de gran flexibilidad y precisión. Algunos de estos son ePWMs
con protección ante faltas, conexión directa para encoder o 16 canales de conversión A/D, etc., todos
ellos implementados de la misma manera que en otros modelos anteriores y mono núcleo de la familia
C2000 de TI. Además, la CPU del C28 ha sido mejorada con la incorporación del acelerador de
instrucciones VCU que implementa algoritmos eficientes como Viterbi, Aritmética Compleja, FFT de 16
bits o CRC. Este núcleo posee un hardware especializado en el control de la electrónica de potencia.
El subsistema analógico ADC de alta velocidad y una parte de memoria RAM son compartidos por
ambos núcleos así como como el regulador de tensión y la circuitería de sincronización (de manera
redundante).
La arquitectura del modelo escogido ha sido diseñada para independizar las acciones de control (C28)
y las de monitorización y comunicación (ARM Cortex-M3), logrando una mayor rapidez de ejecución.
Por otra parte, la tarjeta va encajada en una “Docking Station” de Texas Instruments, que facilita la
conexión de los pines de los sensores y las señales de disparo del inversor al microprocesador. Además
incorpora una fuente de alimentación para el microprocesador cuando no esté conectado al
ordenador.
4.1. CARACTERÍSTICAS
A continuación se recogen todas las especificaciones de microprocesador presentado previamente
obtenidas de la página web del fabricante [7].
❖ Sincronización
− Oscilador de cristal integrado en el chip y entrada de reloj externa
− Posibilidad de realizar cambios en la relación del bucle de enganche de fase (PLL) dinámico
• Criterios de diseño de los puertos: 1.2-V Digital, 1.8-V Analog, 3.3-V I/O
• Comunicaciones entre los procesadores (IPC)
− 32 canales “handshaking”2
− Cuatro canales para generar interrupciones para la IPC
− Puede utilizarse para coordinar la transferencia de datos mediante mensajes IPCRAM
• Subsistema analógico
− Convertidores analógico digitales de 12 bits duales (ADCs)
− Hasta 2.88 MSPS (velocidad de conversión)
− Hasta 20 canales
− Cuatro circuitos de muestreo y retención
− Hasta seis comparadores con convertidores digital-analógico (DAC) de 10 bits
• Encapsulado
− RFP PowerPAD plana mejorada térmicamente de 144 pines
El entorno de desarrollo integrado (IDE) es Code Composer Studio, en la versión 6.0.1 que se puede
utilizar para operar con los microprocesadores de TI. CCS incorpora multitud de herramientas para
desarrollar y depurar las aplicaciones. Además, incluye un compilador de C/C++, un editor de código
fuente, entorno de compilación de proyectos, depurador, entre otras aplicaciones. La interfaz y las
herramientas han sido pensadas para que el usuario no encuentre grandes dificultades en el manejo
del programa y por tanto en el desarrollo de aplicaciones. CCS pertenece al marco de software de
Eclipse pero incorpora la capacidad de depuración de TI con lo que resulta un entorno con buenas
características para el desarrollo de proyectos de software.
CCS tiene dos vistas del proyecto, para editar o depurar. En la creación del programa se utiliza la
perspectiva de edición y una vez cargado el proyecto la de depurar. Ambas muestran los archivos con
el código, pero ofrecen herramientas diferentes. CSS permite abrir varios archivos de un proyecto o
incluso de diferentes proyectos, empleando para ello varias pestañas. Por ello, se debe tener
precaución y asegurarse de que el archivo que se modifique pertenece al proyecto deseado. Una vez
cargado y con el programa corriendo en el microprocesador se pueden realizar cambios en el código,
teniendo en cuenta que estos no se aplicarán hasta que no carguemos el nuevo fichero.
Una vez cargado el programa se crea un archivo con información del mapa de memoria que permite
acceder a información sobre las variables cargadas conociendo, por ejemplo, el espacio que ocupan
en memoria.
En el caso que nos ocupa, cargamos dos proyectos, uno en cada núcleo. En primer lugar se activan
ambos núcleos y se cargan los programas con el botón “Debug”. A continuación, para correr el
programa se pulsa el botón “Reset”, para resetear todas las variables; “Restart”, para comenzar a
correr el programa desde la primera línea; y “Resume”, para comenzar a correr el programa. Esta
secuencia se debe ejecutar en ambos núcleos, realizándose en primer lugar en el M3 ya que actúa
como maestro.
Para la desconexión se debe finalizar primero el C28 y posteriormente el M3, pulsando el botón
“Pause”. El botón “Stop” solo se debe pulsar cuando se desee desconectar el microprocesador.
Una vez finalizada la fase de pruebas de depuración y se disponga de los proyectos definitivos se
pueden dejar cargados en el microprocesador y que se carguen y corran una vez que este se conecte
a una fuente de alimentación de 5V. Por tanto, ya no será necesaria la conexión con el ordenador.
• Subsistema ficticio:
− Absorbedor puntual
▪ Cuerpo flotante (boya)
▪ PTO
▪ Anclaje al fondo marino
• Subsistema real:
− Motor DC
− Generador DC
El PTO no existe en realidad en el laboratorio. El efecto del PTO sobre la boya, es decir, el
amortiguamiento y la rigidez que añade el PTO sobre la dinámica de la boya, es ejercida en el sistema
real por el generador. Estos parámetros de amortiguamiento y rigidez pueden ser modificados
haciendo variar la inductancia del devanado del generador.
Recordando la figura Figura 21 – Circuito eléctrico equivalente de la dinámica del cuerpo flotante en
la que se mostraba el circuito eléctrico equivalente de la dinámica de la boya, se puede llegar al circuito
equivalente en el que se muestra el efecto del PTO de manera separada:
1ൗ
𝑿̇(𝒋𝒘) 𝑚 + 𝐴𝑤 (𝑤) 𝐵𝑤 (𝑤) 𝐾𝑤
𝐵𝑃𝑇𝑂 (𝑤)
𝑭𝒆 𝒁𝒘
𝒁𝑷𝑻𝑶
1ൗ
𝐾𝑃𝑇𝑂 (𝑤)
Figura 38 - Circuito eléctrico equivalente de la dinámica del cuerpo flotante con el efecto del PTO
Con el fin de obtener la máxima cantidad de energía eléctrica, se hace uso del Teorema de la Máxima
Transferencia de Potencia [16] para establecer los parámetros óptimos del PTO. Según este teorema,
la máxima transferencia de potencia ocurre cuando la impedancia del generador (PTO) coincide con la
impedancia del dispositivo (par mecánico que emula el par que ejercería la boya). Esto equivale a decir
que el circuito debe estar en resonancia y que la parte real de las impedancias son iguales. Se llega de
esta manera a las expresiones:
𝑍 = 𝐵𝑤 + 𝑗. 𝑤. (𝑚 + 𝐴𝑤 ) − 𝑗. 𝐾𝑤 /𝑤
{ 𝑤 (XXX)
𝑍𝑃𝑇𝑂 = 𝐵𝑃𝑇𝑂 − 𝑗. 𝐾𝑃𝑇𝑂 /𝑤
𝐵𝑃𝑇𝑂 = 𝐵𝑤
{ (XXXI)
𝐾𝑃𝑇𝑂 = −𝑤 2 . (𝑚 + 𝐴𝑤 ) + 𝐾𝑤
Boya:
▪ Masa: 3640,32 𝑘𝑔
▪ Radio: 1,5 𝑚
▪ Altura: 1 𝑚
▪ Altura sumergida: 0,5 𝑚
▪ Densidad: 515 𝑘𝑔/𝑚3
Recordando la ecuación (XXIII) que muestra la expresión de 𝑓𝑏𝑜𝑦𝑎 , para obtener las fuerzas a partir de
las cuales se calcula, será necesario implementar en el microprocesador tres funciones de
transferencia discretizadas para obtener: 𝑥 desplazamiento de la boya, 𝑥̇ velocidad de la boya y 𝑓𝑟 :
Donde:
𝑥̇ 𝑧̇ = 𝐴𝑟 . 𝑧 + 𝐵𝑟 . 𝑥̇ 𝐹𝑟
𝑓𝑟 = 𝐶𝑟 . 𝑧 + 𝐷𝑟 . 𝑥̇
Este espacio de estado se convierte en una función de transferencia que puede ser
discretizada e implementada en el microprocesador en forma de ecuación. Los pasos
detallados son:
107,2
−5,876
𝐵𝑟 = 49,94
−20,45
9,989
𝐷𝑟 = [ 47,05 ]
𝑥 𝐹𝑏
𝐾𝑤
De esta manera 𝑓𝑏 puede ser calculada como 𝑓𝑏 = 𝑥. 𝐾𝑤 que escrito de manera discretizada
queda:
𝑆𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑢𝑙𝑡𝑖𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒:
𝑢 = 𝐹𝑒 𝑥̃1 = 𝑥(𝑡)
𝜂 𝑥̃̇ (𝑡) = 𝐴. 𝑥̃(𝑡) + 𝐵. 𝑢
𝐻𝑒 (𝑠)
𝑦 = 𝐶. 𝑥̃(𝑡) + 𝐷. 𝑢
0 1 0 0 0 0 0
−7,6446 −0,0050 −0,0115 −6,2915𝑒 − 4 0,0053 0,0022 −0,0011
𝐴= 0 107,2214 −1,8400 −2,3278 1,9997 0,6733 −0,3374 (XXXVII)
0 −5,8761 2,3278 −0,0061 0,0889 0,0442 −0,0209
0 49,9383 −1,9997 0,0889 −2,7935 −3,2616 1,2592
0 −20,4527 0,6733 −0,0442 3,2616 −1,5701 1,1136
0 9,9885 −0,3374 0,0209 −1,2592 1,1136 −0,9931
0
1,0707𝑒 − 5
𝐵= 0
0
0
0
0
𝐶 =[1 1 1 1 1 1 1]
𝐷 = [0 ]
X: 2.0020
Y: 1.0698
X: 3.3360
𝒘𝟏 Y: 0.5342
𝒘𝟐
Figura 43 - Gráfica de la respuesta en frecuencia del desplazamiento de la boya x (RAO: response amplitude operator)
para diez frecuencias muestreadas
X: 10.3800
Y: 1.0700
Figura 45 – Comparación del desplazamiento de la boya x para una frecuencia w=2,0020 rad/s obtenida en Matlab y en el
micro
X: 18.2600
Y: 0.5300
Figura 47 - Comparación del desplazamiento de la boya x para una frecuencia w=3,3360 rad/s obtenida en Matlab y en el micro
Se comprueba que para cualquier frecuencia, la salida desplazamiento de la boya 𝑥 es la prevista por
la gráfica de RAO, y este valor de la salida se obtiene correctamente tanto en el entorno de Matlab
como mediante el microprocesador.
Para la obtención de las gráficas a partir de los valores calculados en el microprocesador se ha utilizado
una interfaz que permite además exportar los datos al entorno de Matlab para trabajar más
cómodamente:
Figura 48 – Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del microprocesador
Cabe mencionar que aunque el microprocesador trabaja con un tiempo de muestreo de 𝑡𝑠 = 100 𝜇𝑠,
ha sido necesario trabajar con funciones discretizadas para 𝑡𝑠 = 10.000 𝜇𝑠 debido tanto a problemas
de convergencia de las funciones discretizadas como a limitaciones en el número de puntos de las
gráficas de la interfaz de usuario utilizada para obtener las gráficas. Al necesitarse la evolución de las
salidas durante un suficiente periodo de tiempo, era inviable utilizar un tiempo de muestro menor.
Para comprobar el correcto funcionamiento de dicha función de transferencia, se verifica primero que
ante un oleaje regular de una frecuencia determinada como entrada al sistema, la salida
desplazamiento de la boya 𝑥 coincide con la que se obtendría con la función de transferencia específica
para dicha frecuencia, como se ha procedido en 7.1. OBTENCIÓN DE RAO.
Para llevar a cabo esta tarea, se ha utilizado de nuevo la interfaz de usuario antes mencionada:
Figura 49 - Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del microprocesador
Ante un oleaje de frecuencia 𝑤 = 2,0020 𝑟𝑎𝑑/𝑠 y amplitud la unidad, se ha calculado la evolución del
desplazamiento de la boya y de la velocidad de la boya. Dichas evoluciones se han calculado mediante
la función de transferencia para dicha frecuencia (función de transferencia para oleaje regular) y
mediante la función de transferencia independiente de la frecuencia (función de transferencia para
oleaje irregular). Como se puede observar, la evolución de ambas variables calculadas mediante ambas
funciones de transferencia es muy similar, variando únicamente en los primeros segundos de la
simulación:
Figura 50 – Evolución del desplazamiento de la boya calculada mediante la función de transferencia para oleaje regular y
mediante la función de transferencia para oleaje irregular
Figura 51 - Evolución de la velocidad de la boya calculada mediante la función de transferencia para oleaje regular y
mediante la función de transferencia para oleaje irregular
Estas pequeñas diferencias en las evoluciones del desplazamiento y la velocidad de la boya dan lugar
a diferencias en las evoluciones de las fuerzas de radiación 𝑓𝑟 y las fuerzas de flotación 𝑓𝑏 ya que se
calculan a partir de la posición y de la velocidad. Por ello, aparecen también pequeñas diferencias en
la evolución de la fuerza de la boya 𝑓𝑏𝑜𝑦𝑎 pero que se consideran poco significativas debido a la
magnitud de esta fuerza:
Figura 52 - Evolución de la velocidad de la boya calculada mediante la función de transferencia para oleaje regular y
mediante la función de transferencia para oleaje irregular
Se llega a la conclusión de que la función de transferencia para oleaje irregular funciona correctamente
ante cualquier la entrada de un oleaje regular a cualquier frecuencia y por ello se puede proceder a
ser utilizada para oleajes irregulares.
A continuación se muestran las gráficas de las distintas fuerzas mediante las cuales se calcula la fuerza
deseada 𝐹𝑏𝑜𝑦𝑎 obtenidas mediante las funciones de transferencia para oleaje irregular:
Figura 53 – Representación de las distintas fuerzas del sistema ante oleaje regular calculadas mediante la función de
transferencia irregular calculadas mediante el microprocesador
Figura 54 – Comparación del desplazamiento de la boya x calculada mediante la función de transferencia para oleaje
regular e irregular
Figura 55 - Comparación de la velocidad de la boya calculada mediante la función de transferencia para oleaje regular e
irregular
El oleaje regular con dicha altura da lugar a una fuerza de excitación representada por:
Figura 57 – Fuerza de excitación del oleaje irregular generada para un tiempo de muestreo 𝑡𝑠 = 10000 𝜇𝑠
Debido a la limitación de 2.400 muestras de la interfaz de usuario, se han tomado 2.400 muestras de
la anterior fuerza de excitación cogiendo una muestra cada 1.000 𝜇𝑠 y obteniéndose una nueva fuerza
de excitación muestreada con la que se calculan las variables de interés. La razón por la cual no se ha
generado el oleaje directamente para los 24 segundos se simulación, de manera que se obtendrían las
2.400 muestras de forma directa, ha sido el hecho de que en solo 24 segundos la evolución de la fuerza
de excitación oleaje es muy corta y tiene apenas cinco picos. Así, se obtendrían unas evoluciones de la
posición y de la velocidad que no permitirían hacerse idea de la evolución del sistema ante dicho oleaje.
Figura 58 - Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del microprocesador
Se comprueba de nuevo que los resultados obtenidos mediante Matlab y el microprocesador son los
mismos:
A continuación se muestran las gráficas de las distintas fuerzas mediante las cuales se calcula la fuerza
deseada 𝐹𝑏𝑜𝑦𝑎 :
Así, se ha conseguido el objetivo del trabajo que era obtener la evolución de la fuerza de la boya en
cada instante.
7.4. CONCLUSIONES
El objetivo del trabajo era implementar en el microprocesador la dinámica de la boya ante la fuerza de
excitación del oleaje como entrada. Como se ha expuesto en los apartados anteriores, se ha
conseguido satisfactoriamente obtener la evolución de la fuerza de la boya en cada instante, además
de observar la evolución de la boya para distintas condiciones del oleaje.
Para la simulación en la bancada, deben solo modificarse varias lineas del código del microprocesador:
Tras realizar estos pequeños cambios, el microprocesador estará listo para ser implementado en la
bancada del laboratorio.
A continuación se muestra la relación temporal de las tareas y la duración de cada una de ellas:
Nº de
Nombre de tarea Duración Comienzo Fin Predecesoras
tarea
1 Estudios previos 57 días vie 16/12/16 lun 06/03/17
2 Definición del trabajo 5 días vie 16/12/16 jue 22/12/16
Lectura y comprensión
3 52 días vie 23/12/16 lun 06/03/17 2
de la bibliografía
Estudio de aplicaciones
4 37 días vie 23/12/16 lun 13/02/17 2
reales
Desarrollo de la
5 76 días lun 13/03/17 lun 26/06/17 3
dinámica de la boya
6 Oleaje regular 70 días lun 13/03/17 vie 16/06/17 3
7 Efecto del PTO 55 días lun 03/04/17 vie 16/06/17
8 Oleaje irregular 25 días lun 15/05/17 vie 16/06/17 3
9 Efecto del PTO 20 días lun 22/05/17 vie 16/06/17 3
Verificación en Matlab
10 6 días lun 19/06/17 lun 26/06/17 6;8
ante distintas entradas
Generación del oleaje
11 11 días mar 07/03/17 vie 21/03/17 3
irregular
Implementación en el
12 55 días lun 24/04/17 vie 07/07/17 3
microprocesador
Obtención de las
13 funciones de 45 días lun 24/04/17 vie 23/06/17 3
transferencia
Discretización de las
14 funciones de 35 días lun 08/05/17 vie 23/06/17 3
transferencia
15 Programación 40 días lun 15/05/17 vie 07/07/17 3
Verificación de los
16 6 días vie 26/06/17 vie 14/07/17 11
resultados
El diagrama de Gannt completo se encuentra en la siguiente figura y muestra de forma más gráfica la
sucesión de las distintas tareas a los largo del tiempo:
9.2. PRESUPUESTO
Para la realización del presupuesto del trabajo se han tenido en cuenta tres partidas diferentes:
material, software y personal.
La amortización realizada se ha aplicado únicamente al ordenador portátil utilizado pues el resto del
material tenía un valor cuya amortización iba a resultar despreciable frente al total del presupuesto.
Por último, de forma indirecta, un aumento en el desarrollo de este tipo de tecnologías puede suponer
en el futuro una mejora en la generación de energía procedente de las olas. Esto implicaría un consumo
de energías más responsable, disminuyendo la utilización de combustibles fósiles para obtener energía
así como una posible reducción en el precio de la electricidad como consecuencia de un mayor acceso
a la energía procedente de energías renovables.
ÍNDICE DE FIGURAS
Figura 1 – Esquema gráfico de un Atenuador [4] .................................................................................13
Figura 2 – Esquema gráfico de un Absorbedor Puntual [4] ..................................................................14
Figura 3 – Esquema gráfico de un convertidor de Brazo Oscilante Sumergido [4] ...............................14
Figura 4 – Esquema gráfico de una Columna de Agua Oscilante [4] .....................................................15
Figura 5 – Esquema gráfico de una Columna de un Terminador por Rebosamiento [4] ......................15
Figura 6 – Esquema gráfico de un Convertidor Sumergido de Presión Diferencial [4] .........................16
Figura 7 – Esquema gráfico de un Convertidor Bulge Wave [4] ...........................................................16
Figura 8 – Esquema gráfico de un Convertidor de Masa Rotativa [4] ...................................................17
Figura 9 – Esquema gráfico de una columna del FO3 [7]......................................................................19
Figura 10 – Esquema gráfico de una columna del SeaBased [8] ...........................................................19
Figura 11 – Esquema gráfico de una columna del CETO [9] .................................................................20
Figura 12 – Esquema gráfico del APC-PISYS [10] ..................................................................................20
Figura 13 – Esquema de fuerzas sobre un Absorbedor Puntual ...........................................................23
Figura 14 – Módulo del coeficiente de fuerza de excitación frente a la frecuencia .............................25
Figura 15 – Fase del coeficiente de fuerza de excitación frente a la frecuencia ...................................25
Figura 16 –Masa añadida frente a la frecuencia...................................................................................26
Figura 17 – Coeficiente de amortiguamiento hidrodinámico frente a la frecuencia ............................27
Figura 18 - Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando
la entrada al sistema es un oleaje regular ............................................................................................29
Figura 19 – Gráfica de la respuesta en frecuencia del desplazamiento de la boya x (RAO: response
amplitude operator) .............................................................................................................................29
Figura 20 – Esquema mecánico de la dinámica del cuerpo flotante.....................................................30
Figura 21 – Circuito eléctrico equivalente de la dinámica del cuerpo flotante .....................................30
Figura 22 – Tabla de equivalencia entre las magnitudes del equivalente mecánico y el equivalente
eléctrico ...............................................................................................................................................31
Figura 23 – Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando
la entrada al sistema es la altura de la ola en presencia de un PTO .....................................................33
Figura 24 - Diagrama de bloques de la obtención de la velocidad y el desplazamiento de la boya cuando
la entrada al sistema es un oleaje irregular ..........................................................................................35
Figura 25 - Diagrama de bloques reducido de la obtención de la velocidad y el desplazamiento de la
boya cuando la entrada al sistema es un oleaje regular .......................................................................36
Figura 26 – Función senoidal de amplitud la unidad ............................................................................37
Figura 27 – Ejemplo de oleaje regular en tres dimensiones .................................................................37
Figura 28 – Descomposición de un oleaje irregular en distintos oleajes regulares [20] .......................38
Figura 29 – Densidad del espectro S de energía del oleaje frente a la frecuencia ................................39
Figura 30 – Altura de la ola del oleaje irregular en metros en cada instante de tiempo ......................39
Figura 31 – Fuerza de excitación del oleaje en cada instante de tiempo .............................................40
Figura 32 - Imagen del microprocesador F28M35H52C [21] ................................................................41
Figura 33 - Microprocesador encajado en la "Docking Station" [21] ....................................................42
Figura 34 - Diagrama funcional de bloques del F28M35H52C [21] ......................................................45
Figura 35 - Code Composer Studio [21] ................................................................................................46
Figura 36 - Barras de herramientas de la perspectiva Debug. ..............................................................47
Figura 37 – Estructura y partes del sistema ..........................................................................................49
Figura 38 - Circuito eléctrico equivalente de la dinámica del cuerpo flotante con el efecto del PTO ...50
Figura 39 – Vista en 3D de las dimensiones de la boya ........................................................................51
Figura 40 – Diagrama de bloques para obtener la fuerza de radiación a partir de la radiación en el caso
de trabajar con un oleaje irregular .......................................................................................................53
Figura 41 – Diagrama de bloques para obtener la fuerza hidrostática/de flotabilidad ........................54
Figura 42 - Diagrama de bloques reducido de la obtención de la velocidad y el desplazamiento de la
boya cuando la entrada al sistema es un oleaje regular .......................................................................55
Figura 43 - Gráfica de la respuesta en frecuencia del desplazamiento de la boya x (RAO: response
amplitude operator) para diez frecuencias muestreadas .....................................................................58
Figura 44 – Entrada: Ola regular de frecuencia w=2,002 rad/s y amplitud la unidad ...........................58
Figura 45 – Comparación del desplazamiento de la boya x para una frecuencia w=2,0020 rad/s obtenida
en Matlab y en el micro ........................................................................................................................59
Figura 46 - Entrada: Ola regular de frecuencia w=3,3360 rad/s y amplitud la unidad..........................59
Figura 47 - Comparación del desplazamiento de la boya x para una frecuencia w=3,3360 rad/s obtenida
en Matlab y en el micro ........................................................................................................................60
Figura 48 – Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del
microprocesador ..................................................................................................................................61
Figura 49 - Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del
microprocesador ..................................................................................................................................62
Figura 50 – Evolución del desplazamiento de la boya calculada mediante la función de transferencia
para oleaje regular y mediante la función de transferencia para oleaje irregular ................................63
Figura 51 - Evolución de la velocidad de la boya calculada mediante la función de transferencia para
oleaje regular y mediante la función de transferencia para oleaje irregular ........................................63
Figura 52 - Evolución de la velocidad de la boya calculada mediante la función de transferencia para
oleaje regular y mediante la función de transferencia para oleaje irregular ........................................64
Figura 53 – Representación de las distintas fuerzas del sistema ante oleaje regular calculadas mediante
la función de transferencia irregular calculadas mediante el microprocesador ...................................65
Figura 54 – Comparación del desplazamiento de la boya x calculada mediante la función de
transferencia para oleaje regular e irregular ........................................................................................65
Figura 55 - Comparación de la velocidad de la boya calculada mediante la función de transferencia para
oleaje regular e irregular ......................................................................................................................66
Figura 56 – Altura del oleaje irregular ..................................................................................................67
Figura 57 – Fuerza de excitación del oleaje irregular generada para un tiempo de muestreo 𝑡𝑠 =
10000 𝜇𝑠 .............................................................................................................................................68
Figura 58 - Imagen de la interfaz de usuario utilizada para observar las gráficas obtenidas a partir del
microprocesador ..................................................................................................................................69
Figura 59 – Desplazamiento de la boya x ante oleaje irregular ............................................................69
Figura 60 – Velocidad de la boya ante oleaje irregular.........................................................................70
Figura 61 – Fuerzas presentes en el sistema ante oleaje irregular .......................................................71
Figura 62 – Estructura de descomposición del proyecto (EDP) ............................................................75
Figura 63 – Tabla de tareas del diagrama de Gant del proyecto ..........................................................76
Figura 64 – Diagrama de Gannt del proyecto .......................................................................................77
Figura 65 – Tabla del presupuesto del proyecto ..................................................................................78
ÍNDICE DE ECUACIONES
(I) ..........................................................................................................................................................23
(II) .........................................................................................................................................................24
(III) ........................................................................................................................................................24
(IV)........................................................................................................................................................25
(V).........................................................................................................................................................26
(VI)........................................................................................................................................................26
(VII).......................................................................................................................................................27
(VIII)......................................................................................................................................................27
(IX) ........................................................................................................................................................28
(X) .........................................................................................................................................................28
(XI) ........................................................................................................................................................28
(XII) .......................................................................................................................................................28
(XIII) ......................................................................................................................................................28
(XIV)......................................................................................................................................................28
(XVII).....................................................................................................................................................28
(XVI)......................................................................................................................................................30
(XVII).....................................................................................................................................................30
(XVIII)....................................................................................................................................................32
(XIX) ......................................................................................................................................................32
(XX) .......................................................................................................................................................32
(XXI) ......................................................................................................................................................32
(XXII) .....................................................................................................................................................34
(XXIII) ....................................................................................................................................................34
(XXIV)....................................................................................................................................................35
(XXV).....................................................................................................................................................35
(XXVI)....................................................................................................................................................36
(XXVII)...................................................................................................................................................37
(XXVIII)..................................................................................................................................................38
(XXIX) ....................................................................................................................................................38
(XXX) .....................................................................................................................................................50
(XXXI) ....................................................................................................................................................50
(XXXII) ...................................................................................................................................................53
(XXXIII) ..................................................................................................................................................54
(XXXIV)..................................................................................................................................................54
(XXXV)...................................................................................................................................................54
(XXXVI)..................................................................................................................................................54
(XXXVII).................................................................................................................................................55
(XXXVIII)................................................................................................................................................55
(XXXIX) ..................................................................................................................................................56
(XL) .......................................................................................................................................................56
REFERENCIAS
[1] W. Cummins, «The Impulse Response Function and Ship Motions,» 1962.
[5] J. Falnes, «Small is beautiful: How to make wave energy economic",» de Proceedings 1993
European WaveEnergy Symposium, Edinmburg, Scotland, 21-24 July 1993.
[11] H. Eidsmoen, «Hydrodynamic parameters for a two-body axissymmetric system,» Applied Ocean
Research 17 (1995) 103-115, 1995.
[14] R. A. A. L. Wanan Sheng, «On Improving Wave Energy Conversion, Part I and Part II: Optimal and
Control Technologies,» 2013.
[16] D. M. M. M. a. J. X. J.K.H. Shek, «Reaction force control of a lineal electrical generator for direct
drive wave energy conversion».
for i=1:1:length(w)
f(i)=w(i)/(2*pi);
T(i)=2*pi/w(i);
RAO(i)=(HeMod(i))/(-w(i)^2*(m+Aw(i))+j*w(i)*Bw(i)+K);
end
figure
plot(w, abs(RAO))
wres=sqrt(K/(m+Aw(length(Aw)))); %w de resonancia
muestras=10;
contador=1;
ts=10000e-6;
if contador==1
G_1=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_1=c2d(G_1,ts,'tustin')
end
if contador==2
G_2=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_2=c2d(G_2,ts,'tustin')
end
if contador==3
G_3=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_3=c2d(G_3,ts,'tustin')
end
if contador==4
G_4=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_4=c2d(G_4,ts,'tustin')
end
if contador==5
G_5=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_5=c2d(G_5,ts,'tustin')
end
if contador==6
G_6=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_6=c2d(G_6,ts,'tustin')
end
if contador==7
G_7=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_7=c2d(G_7,ts,'tustin')
end
if contador==8
G_8=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_8=c2d(G_8,ts,'tustin')
end
if contador==9
G_9=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_9=c2d(G_9,ts,'tustin')
end
if contador==10
G_10=tf([HeMod10(contador)],[m+A10(contador) B10(contador) K])
sysd_10=c2d(G_10,ts,'tustin')
end
contador=contador+1;
end
figure
plot(w10, abs(RAO10))
wres10=sqrt(K/(m+Aw(length(Aw))))
%CASO 4
caso=4;
ts=10000e-6;
amp_entrada=1;
Ent_0(caso)=0;
Ent_1(caso)=0;
Ent_2(caso)=0;
Sal_0(caso)=0;
Sal_1(caso)=0;
Sal_2(caso)=0;
entrada=0;
contador=1;
w_caso=w10(caso);
f_caso=f10(caso);
b2(caso)=sysd_4.Numerator{1,1}(1);
b1(caso)=sysd_4.Numerator{1,1}(2);
b0(caso)=sysd_4.Numerator{1,1}(3);
a2(caso)=sysd_4.Denominator{1,1}(1);
a1(caso)=sysd_4.Denominator{1,1}(2);
a0(caso)=sysd_4.Denominator{1,1}(3);
t_total=500;
for t=0:ts:t_total
entrada=amp_entrada*sin(w_caso*t);
Ent_2(caso)=entrada;
Ent_2_vector4(contador)=Ent_2(caso);
Sal_2(caso)=(Ent_2(caso)*b2(caso)+Ent_1(caso)*b1(caso)+Ent_0(caso)*b0(ca
so)-Sal_1(caso)*a1(caso)-Sal_0(caso)*a0(caso))/a2(caso);
Sal_2_vector4(contador)=Sal_2(caso);
Ent_0(caso)=Ent_1(caso);
Ent_1(caso)=Ent_2(caso);
Sal_0(caso)=Sal_1(caso);
Sal_1(caso)=Sal_2(caso);
contador=contador+1;
end
figure
plot(0:ts:t_total, Ent_2_vector4)
figure
plot(0:ts:t_total, Sal_2_vector4)
ts=10000e-6;
amp_entrada=1;
Ent_0(caso)=0;
Ent_1(caso)=0;
Ent_2(caso)=0;
Sal_0(caso)=0;
Sal_1(caso)=0;
Sal_2(caso)=0;
entrada=0;
contador=1;
w_caso=w10(caso);
f_caso=f10(caso);
b2(caso)=sysd_6.Numerator{1,1}(1);
b1(caso)=sysd_6.Numerator{1,1}(2);
b0(caso)=sysd_6.Numerator{1,1}(3);
a2(caso)=sysd_6.Denominator{1,1}(1);
a1(caso)=sysd_6.Denominator{1,1}(2);
a0(caso)=sysd_6.Denominator{1,1}(3);
t_total=500;
for t=0:ts:t_total
entrada=amp_entrada*sin(w_caso*t);
Ent_2(caso)=entrada;
Ent_2_vector6(contador)=Ent_2(caso);
Sal_2(caso)=(Ent_2(caso)*b2(caso)+Ent_1(caso)*b1(caso)+Ent_0(caso)*b0(ca
so)-Sal_1(caso)*a1(caso)-Sal_0(caso)*a0(caso))/a2(caso);
Sal_2_vector6(contador)=Sal_2(caso);
Ent_0(caso)=Ent_1(caso);
Ent_1(caso)=Ent_2(caso);
Sal_0(caso)=Sal_1(caso);
Sal_1(caso)=Sal_2(caso);
contador=contador+1;
end
figure
plot(0:ts:t_total, Ent_2_vector6)
figure
plot(0:ts:t_total, Sal_2_vector6)
caso=4;
%inicializacion de variables
Ent_7_x=0;
Ent_6_x=0;
Ent_5_x=0;
Ent_4_x=0;
Ent_3_x=0;
Ent_2_x=0;
Ent_1_x=0;
Ent_0_x=0;
Sal_7_x=0;
Sal_6_x=0;
Sal_5_x=0;
Sal_4_x=0;
Sal_3_x=0;
Sal_2_x=0;
Sal_1_x=0;
Sal_0_x=0;
Ent_7_v=0;
Ent_6_v=0;
Ent_5_v=0;
Ent_4_v=0;
Ent_3_v=0;
Ent_2_v=0;
Ent_1_v=0;
Ent_0_v=0;
Sal_7_v=0;
Sal_6_v=0;
Sal_5_v=0;
Sal_4_v=0;
Sal_3_v=0;
Sal_2_v=0;
Sal_1_v=0;
Sal_0_v=0;
Ent_2_v_r=0;
Ent_1_v_r=0;
Ent_0_v_r=0;
Sal_2_v_r=0;
Sal_1_v_r=0;
Sal_0_v_r=0;
Ent_5_fr=0;
Ent_4_fr=0;
Ent_3_fr=0;
Ent_2_fr=0;
Ent_1_fr=0;
Ent_0_fr=0;
Sal_5_fr=0;
Sal_4_fr=0;
Sal_3_fr=0;
Sal_2_fr=0;
Sal_1_fr=0;
Sal_0_fr=0;
altura_ola=0;
contador=1;
%declaracion de parámetros
Bw=B10(caso);
He=HeMod10(caso);
g=9.80665;
K=rhof*g*pi*r^2;
ts=10000e-6;
%F de transferencia x_boya/altura_ola
%irregular
M=m+Aw(length(Aw));
D=0;
C=[1 0 0 0 0 0 0];
B=[0;1/M;0;0;0;0;0];
A=zeros(5,5);
A(1,2)=1;
A(2,1)=-K/M;
A(2,2)=-sis_hr5.D/M;
for i=1:1:5
A(2,i+2)=-sis_hr5.C(i)/M;
end
for i=1:1:5
A(i+2,2)=sis_hr5.B(i);
end
for i=1:1:5
for p=1:1:5
A(i+2,p+2)=sis_hr5.A(i,p);
end
end
%Creamos el sistema
sistema=ss(A,B,C,D);
%Hallamos la función de transferencia
G_x=tf(sistema);
%Discretizamos la función de transferencia
G_dis_x=c2d(G_x, ts, 'tustin');
b7_x=G_dis_x.Numerator{1,1}(1);
b6_x=G_dis_x.Numerator{1,1}(2);
b5_x=G_dis_x.Numerator{1,1}(3);
b4_x=G_dis_x.Numerator{1,1}(4);
b3_x=G_dis_x.Numerator{1,1}(5);
b2_x=G_dis_x.Numerator{1,1}(6);
b1_x=G_dis_x.Numerator{1,1}(7);
b0_x=G_dis_x.Numerator{1,1}(8);
a7_x=G_dis_x.Denominator{1,1}(1);
a6_x=G_dis_x.Denominator{1,1}(2);
a5_x=G_dis_x.Denominator{1,1}(3);
a4_x=G_dis_x.Denominator{1,1}(4);
a3_x=G_dis_x.Denominator{1,1}(5);
a2_x=G_dis_x.Denominator{1,1}(6);
a1_x=G_dis_x.Denominator{1,1}(7);
a0_x=G_dis_x.Denominator{1,1}(8);
%F de transferencia v_boya/altura_ola
%regular
s=tf('s');
G_4_v_r=G_4*s;
sysd_4_v_r =c2d(G_4_v_r, ts, 'tustin');
b2_v_r =sysd_4_v_r.Numerator{1,1}(1);
b1_v_r =sysd_4_v_r.Numerator{1,1}(2);
b0_v_r =sysd_4_v_r.Numerator{1,1}(3);
a2_v_r =sysd_4_v_r.Denominator{1,1}(1);
a1_v_r =sysd_4_v_r.Denominator{1,1}(2);
a0_v_r =sysd_4_v_r.Denominator{1,1}(3);
%irregular
s=tf('s');
G_v=G_x*s;
G_dis_v=c2d(G_v, ts, 'tustin');
b7_v=G_dis_v.Numerator{1,1}(1);
b6_v=G_dis_v.Numerator{1,1}(2);
b5_v=G_dis_v.Numerator{1,1}(3);
b4_v=G_dis_v.Numerator{1,1}(4);
b3_v=G_dis_v.Numerator{1,1}(5);
b2_v=G_dis_v.Numerator{1,1}(6);
b1_v=G_dis_v.Numerator{1,1}(7);
b0_v=G_dis_v.Numerator{1,1}(8);
a7_v=G_dis_v.Denominator{1,1}(1);
a6_v=G_dis_v.Denominator{1,1}(2);
a5_v=G_dis_v.Denominator{1,1}(3);
a4_v=G_dis_v.Denominator{1,1}(4);
a3_v=G_dis_v.Denominator{1,1}(5);
a2_v=G_dis_v.Denominator{1,1}(6);
a1_v=G_dis_v.Denominator{1,1}(7);
a0_v=G_dis_v.Denominator{1,1}(8);
t_total=500;
for t=0:ts:t_total
altura_ola=sin(w10(caso)*t);
Sal_7_x=(Ent_7_x*b7_x+Ent_6_x*b6_x+Ent_5_x*b5_x+Ent_4_x*b4_x+Ent_3_x*b3_
x+Ent_2_x*b2_x+Ent_1_x*b1_x+Ent_0_x*b0_x-Sal_6_x*a6_x-Sal_5_x*a5_x-
Sal_4_x*a4_x-Sal_3_x*a3_x-Sal_2_x*a2_x-Sal_1_x*a1_x-Sal_0_x*a0_x)/a7_x;
Sal_7_vector_x(contador)=Sal_7_x;
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Ent_2_x=Ent_3_x;
Ent_3_x=Ent_4_x;
Ent_4_x=Ent_5_x;
Ent_5_x=Ent_6_x;
Ent_6_x=Ent_7_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
Sal_2_x=Sal_3_x;
Sal_3_x=Sal_4_x;
Sal_4_x=Sal_5_x;
Sal_5_x=Sal_6_x;
Sal_6_x=Sal_7_x;
Ent_0_v_r=Ent_1_v_r;
Ent_1_v_r=Ent_2_v_r;
Sal_0_v_r=Sal_1_v_r;
Sal_1_v_r=Sal_2_v_r;
%irregular
Ent_7_v=altura_ola*He;
Ent_7_vector_v(contador)=Ent_7_v;
Sal_7_v=(Ent_7_v*b7_v+Ent_6_v*b6_v+Ent_5_v*b5_v+Ent_4_v*b4_v+Ent_3_v*b3_
v+Ent_2_v*b2_v+Ent_1_v*b1_v+Ent_0_v*b0_v-Sal_6_v*a6_v-Sal_5_v*a5_v-
Sal_4_v*a4_v-Sal_3_v*a3_v-Sal_2_v*a2_v-Sal_1_v*a1_v-Sal_0_v*a0_v)/a7_v;
Sal_7_vector_v(contador)=Sal_7_v;
Ent_0_v=Ent_1_v;
Ent_1_v=Ent_2_v;
Ent_2_v=Ent_3_v;
Ent_3_v=Ent_4_v;
Ent_4_v=Ent_5_v;
Ent_5_v=Ent_6_v;
Ent_6_v=Ent_7_v;
Sal_0_v=Sal_1_v;
Sal_1_v=Sal_2_v;
Sal_2_v=Sal_3_v;
Sal_3_v=Sal_4_v;
Sal_4_v=Sal_5_v;
Sal_5_v=Sal_6_v;
Sal_6_v=Sal_7_v;
%fuerza de radiacion
Ent_5_fr=Sal_7_v;
Sal_5_fr=(Ent_5_fr*b5_fr+Ent_4_fr*b4_fr+Ent_3_fr*b3_fr+Ent_2_fr*b2_fr+En
t_1_fr*b1_fr+Ent_0_fr*b0_fr-Sal_4_fr*a4_fr-Sal_3_fr*a3_fr-
Sal_2_fr*a2_fr-Sal_1_fr*a1_fr-Sal_0_fr*a0_fr)/a5_fr;
Ent_0_fr=Ent_1_fr;
Ent_1_fr=Ent_2_fr;
Ent_2_fr=Ent_3_fr;
Ent_3_fr=Ent_4_fr;
Ent_4_fr=Ent_5_fr;
Sal_0_fr=Sal_1_fr;
Sal_1_fr=Sal_2_fr;
Sal_2_fr=Sal_3_fr;
Sal_3_fr=Sal_4_fr;
Sal_4_fr=Sal_5_fr;
Fr(contador)=Sal_5_fr;
Fb(contador)=Sal_7_x*K;
Fex(contador)=altura_ola*He;
Fboya(contador)=Fex(contador)-Fr(contador)-Fb(contador);
contador=contador+1;
end
figure
plot(0:1000e-6:t_total, Sal_2_vector4)
hold
plot(0:ts:t_total,Sal_7_vector_x)
figure
plot(0:ts:t_total,Sal_7_vector_v_r)
hold
plot(0:ts:t_total,Sal_7_vector_v)
figure
plot(0:ts:t_total, Fr)
hold
plot(0:ts:t_total, Fb)
plot(0:ts:t_total, Fex)
plot(0:ts:t_total, Fboya)
figure
plot(0:1000e-6:t_total, Sal_7_vector_v_r *B10(4))
hold
plot(0:ts:t_total, Fr)
% 0.0001 Hz.
% Según la característica del espectro, o sea, si es bi- o
% tri-dimensional, la función genera un oleaje de cresta larga o corta,
% respectivamente.
%
% [t,zeta] = genola(pos,t,N,S,f,ang,wHid,HeMod,HeFase)
% t - vector del tiempo de simulación.
% zeta - matriz de altura del oleaje en que cada columna representa
% una coordenada.
% fe - matriz de la fuerza de excitación para una dada estructura
% flotanto en que cada columna representa una coordenada.
% pos - coordinadas de los puntos de generación del oleaje
% [x1 y1; x2 y2; ...; xn yn].
% t - vector de tiempo de la serie temporal.
% N - número de armónicos a ser utilizados.
% S - espectro de la ola.
% f - vector de frecuencias del espectro de ola.
% ang - angulo de frente de ola (grados) con relación
% al eje-x positivo; en el caso de generación de oleaje de
% cresta corta, es la malla de los ángulos generada en la
% función espcola.
% wHid - frecuencia de los parámetros hidrodinámicos.
% HeMod - módulo del coeficiente de fuerza de excitación.
% HeFase - fase del coeficiente de fuerza de excitación.
if nargin ~= 9
error('¡Número de entradas invalido!')
end
t = t';
x = pos(:,1);
y = pos(:,2);
theta = ang*pi/180;
w = 0.0001:1e-4:2*pi*max(f);
Sw = interp1(2*pi*f,S/2/pi,w);
Sw(isnan(Sw)) = 0;
HeMod = interp1(wHid,HeMod,w);
HeFase = interp1(wHid,HeFase,w);
zeta = zeros(length(t),length(x));
fe = zeros(length(t),length(x));
for contPos = 1:length(x)
zetaaux = zeros(length(t),1);
feaux = zeros(length(t),1);
for n = 1:N
k = w(idx(n))^2/9.81;
kx = k*cos(theta);
ky = k*sin(theta);
zetaaux = zetaaux + Zeta(n)*cos(w(idx(n))*t - ...
kx*x(contPos) - ky*y(contPos) + e(n));
feaux = feaux + Fe(n)*cos(w(idx(n))*t - ...
kx*x(contPos) - ky*y(contPos) + e(n) + ...
HeFase(idx(n))*pi/180);
end
zeta(:,contPos) = zetaaux;
fe(:,contPos) = feaux;
fprintf('\b\b\b\b\b\b%5.1f%%',contPos/length(x)*100);
end
fprintf('\n\n¡Oleaje generado!\n')
end
if nargin==3
f = x;
Hs = ParOlas(1);
T = ParOlas(2);
fe = 1/T;
Te = T;
switch tipoEspc
case 'jonswap'
if length(ParOlas) == 2
disp('JONSWAP')
gam = 3.3;
else
gam = ParOlas(3);
end
varargout{1} = a*Hs^2*(f.^-5/fp^-4).*exp(-1.25*(f/fp).^-
4).*gam.^exp(-(f-fp).^2./(2*tau.^2*fp^2));
varargout{2} = f;
case 'ITTC'
disp('ITTC')
K = Te/2.137*sqrt(g/Hs);
A = 0.0081*g^2/K^4;
B = 0.0081*4*g^2/K^4/Hs^2;
varargout{1} = (A*f.^-5).*exp(-B*f.^-4);
varargout{2} = f;
otherwise
end
elseif nargin==4
f = x;
Hs = ParOlas(1);
T = ParOlas(2);
switch tipoEspc
case 'jonswap'
if length(ParOlas) == 2
disp('JONSWAP')
gam = 3.3;
else
gam = ParOlas(3);
end
switch varargin{1}
case 'Te'
disp('Te')
fe = 1/T;
fp = fe*(0.8255 + 0.03852*gam - 0.005537*gam^2 +
0.0003154*gam^3);
case 'Tp'
disp('Tp')
fp = 1/T;
case 'T1'
disp('T1')
f1 = 1/T;
fp = f1*(0.7303 + 0.04936*gam - 0.006556*gam^2 +
0.0003610*gam^3);
case 'Tz'
disp('Tz')
fz = 1/T;
fp = fz*(0.6673 + 0.05037*gam - 0.006230*gam^2 +
0.0003341*gam^3);
otherwise
end
varargout{1} = a*Hs^2*(f.^-5/fp^-4).*exp(-1.25*(f/fp).^-
4).*gam.^exp(-(f-fp).^2./(2*tau.^2*fp^2));
varargout{2} = f;
case 'ITTC'
disp('ITTC')
switch varargin{1}
case 'Te'
disp('Te')
Te = T;
K = Te/2.137*sqrt(g/Hs);
case 'Tp'
disp('Tp')
Tp = T;
K = Tp/2.492*sqrt(g/Hs);
case 'T1'
disp('T1')
T1 = T;
K = T1/1.924*sqrt(g/Hs);
case 'Tz'
disp('Tz')
Tz = T;
K = Tz/1.771*sqrt(g/Hs);
otherwise
end
A = 0.0081*g^2/K^4;
B = 0.0081*4*g^2/K^4/Hs^2;
varargout{1} = (A*f.^-5).*exp(-B*f.^-4);
varargout{2} = f;
otherwise
end
elseif nargin==6
Hs = ParOlas(1);
T = ParOlas(2);
X0 = varargin{2}(1);
n = varargin{2}(2);
X = varargin{3} + X0;
% Función de esparcimiento
Xd = X - X0;
Xd(abs(Xd)>=90) = []; % -90º < X-X0 < 90º
Xd = unique([Xd 0])*pi/180;
[f,chi] = meshgrid(x,Xd); % malla del espectro de ola
% multidireccional
varargout{2} = f;
varargout{3} = chi+X0*pi/180;
G = (2^(2*n-1)*factorial(n)*factorial(n-1)/pi/...
factorial(2*n-1)).*cos(chi).^(2*n);
switch tipoEspc
case 'jonswap'
if length(ParOlas) == 2
disp('JONSWAP')
gam = 3.3;
else
gam = ParOlas(3);
end
switch varargin{1}
case 'Te'
disp('Te')
fe = 1/T;
fp = fe*(0.8255 + 0.03852*gam - 0.005537*gam^2 +
0.0003154*gam^3);
case 'Tp'
disp('Tp')
fp = 1/T;
case 'T1'
disp('T1')
f1 = 1/T;
fp = f1*(0.7303 + 0.04936*gam - 0.006556*gam^2 +
0.0003610*gam^3);
case 'Tz'
disp('Tz')
fz = 1/T;
fp = fz*(0.6673 + 0.05037*gam - 0.006230*gam^2 +
0.0003341*gam^3);
otherwise
end
Sz = a*Hs^2*(f.^-5/fp^-4).*exp(-1.25*(f/fp).^-4).*gam.^exp(-(f-
fp).^2./(2*tau.^2*fp^2));
varargout{2} = f;
case 'ITTC'
disp('ITTC')
switch varargin{1}
case 'Te'
disp('Te')
Te = T;
K = Te/2.137*sqrt(g/Hs);
case 'Tp'
disp('Tp')
Tp = T;
K = Tp/2.492*sqrt(g/Hs);
case 'T1'
disp('T1')
T1 = T;
K = T1/1.924*sqrt(g/Hs);
case 'Tz'
disp('Tz')
Tz = T;
K = Tz/1.771*sqrt(g/Hs);
otherwise
end
A = 0.0081*g^2/K^4;
B = 0.0081*4*g^2/K^4/Hs^2;
Sz = (A*f.^-5).*exp(-B*f.^-4);
varargout{2} = f;
otherwise
end
% Espectro direccional
varargout{1} = Sz.*G;
end
caso=4;
%inicializacion de variables
Ent_7_x=0;
Ent_6_x=0;
Ent_5_x=0;
Ent_4_x=0;
Ent_3_x=0;
Ent_2_x=0;
Ent_1_x=0;
Ent_0_x=0;
Sal_7_x=0;
Sal_6_x=0;
Sal_5_x=0;
Sal_4_x=0;
Sal_3_x=0;
Sal_2_x=0;
Sal_1_x=0;
Sal_0_x=0;
Ent_7_v=0;
Ent_6_v=0;
Ent_5_v=0;
Ent_4_v=0;
Ent_3_v=0;
Ent_2_v=0;
Ent_1_v=0;
Ent_0_v=0;
Sal_7_v=0;
Sal_6_v=0;
Sal_5_v=0;
Sal_4_v=0;
Sal_3_v=0;
Sal_2_v=0;
Sal_1_v=0;
Sal_0_v=0;
Ent_5_fr=0;
Ent_4_fr=0;
Ent_3_fr=0;
Ent_2_fr=0;
Ent_1_fr=0;
Ent_0_fr=0;
Sal_5_fr=0;
Sal_4_fr=0;
Sal_3_fr=0;
Sal_2_fr=0;
Sal_1_fr=0;
Sal_0_fr=0;
altura_ola=0;
contador=1;
%declaracion de parámetros
Bw=B10(caso);
He=HeMod10(caso);
g=9.80665;
K=rhof*g*pi*r^2;
ts=10000e-6;
%F de transferencia x_boya/altura_ola
M=m+Aw(length(Aw));
D=0;
C=[1 0 0 0 0 0 0];
B=[0;1/M;0;0;0;0;0];
A=zeros(5,5);
A(1,2)=1;
A(2,1)=-K/M;
A(2,2)=-sis_hr5.D/M;
for i=1:1:5
A(2,i+2)=-sis_hr5.C(i)/M;
end
for i=1:1:5
A(i+2,2)=sis_hr5.B(i);
end
for i=1:1:5
for p=1:1:5
A(i+2,p+2)=sis_hr5.A(i,p);
end
end
%Creamos el sistema
sistema=ss(A,B,C,D);
%Hallamos la función de transferencia
G_x=tf(sistema);
%Discretizamos la función de transferencia
G_dis_x=c2d(G_x, ts, 'tustin');
b7_x=G_dis_x.Numerator{1,1}(1);
b6_x=G_dis_x.Numerator{1,1}(2);
b5_x=G_dis_x.Numerator{1,1}(3);
b4_x=G_dis_x.Numerator{1,1}(4);
b3_x=G_dis_x.Numerator{1,1}(5);
b2_x=G_dis_x.Numerator{1,1}(6);
b1_x=G_dis_x.Numerator{1,1}(7);
b0_x=G_dis_x.Numerator{1,1}(8);
a7_x=G_dis_x.Denominator{1,1}(1);
a6_x=G_dis_x.Denominator{1,1}(2);
a5_x=G_dis_x.Denominator{1,1}(3);
a4_x=G_dis_x.Denominator{1,1}(4);
a3_x=G_dis_x.Denominator{1,1}(5);
a2_x=G_dis_x.Denominator{1,1}(6);
a1_x=G_dis_x.Denominator{1,1}(7);
a0_x=G_dis_x.Denominator{1,1}(8);
%F de transferencia v_boya/altura_ola
%irregular
s=tf('s');
G_v=G_x*s;
G_dis_v=c2d(G_v, ts, 'tustin');
b7_v=G_dis_v.Numerator{1,1}(1);
b6_v=G_dis_v.Numerator{1,1}(2);
b5_v=G_dis_v.Numerator{1,1}(3);
b4_v=G_dis_v.Numerator{1,1}(4);
b3_v=G_dis_v.Numerator{1,1}(5);
b2_v=G_dis_v.Numerator{1,1}(6);
b1_v=G_dis_v.Numerator{1,1}(7);
b0_v=G_dis_v.Numerator{1,1}(8);
a7_v=G_dis_v.Denominator{1,1}(1);
a6_v=G_dis_v.Denominator{1,1}(2);
a5_v=G_dis_v.Denominator{1,1}(3);
a4_v=G_dis_v.Denominator{1,1}(4);
a3_v=G_dis_v.Denominator{1,1}(5);
a2_v=G_dis_v.Denominator{1,1}(6);
a1_v=G_dis_v.Denominator{1,1}(7);
a0_v=G_dis_v.Denominator{1,1}(8);
t_total=500;
for t=0:ts:t_total
entrada=fe(contador,1);
%irregular
Ent_7_x=entrada;
Ent_7_vector_x(contador)=Ent_7_x;
Sal_7_x=(Ent_7_x*b7_x+Ent_6_x*b6_x+Ent_5_x*b5_x+Ent_4_x*b4_x+Ent_3_x*b
3_x+Ent_2_x*b2_x+Ent_1_x*b1_x+Ent_0_x*b0_x-Sal_6_x*a6_x-Sal_5_x*a5_x-
Sal_4_x*a4_x-Sal_3_x*a3_x-Sal_2_x*a2_x-Sal_1_x*a1_x-
Sal_0_x*a0_x)/a7_x;
Sal_7_vector_x(contador)=Sal_7_x;
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Ent_2_x=Ent_3_x;
Ent_3_x=Ent_4_x;
Ent_4_x=Ent_5_x;
Ent_5_x=Ent_6_x;
Ent_6_x=Ent_7_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
Sal_2_x=Sal_3_x;
Sal_3_x=Sal_4_x;
Sal_4_x=Sal_5_x;
Sal_5_x=Sal_6_x;
Sal_6_x=Sal_7_x;
%irregular
Ent_7_v=entrada;
Ent_7_vector_v(contador)=Ent_7_v;
Sal_7_v=(Ent_7_v*b7_v+Ent_6_v*b6_v+Ent_5_v*b5_v+Ent_4_v*b4_v+Ent_3_v*b3_
v+Ent_2_v*b2_v+Ent_1_v*b1_v+Ent_0_v*b0_v-Sal_6_v*a6_v-Sal_5_v*a5_v-
Sal_4_v*a4_v-Sal_3_v*a3_v-Sal_2_v*a2_v-Sal_1_v*a1_v-Sal_0_v*a0_v)/a7_v;
Sal_7_vector_v(contador)=Sal_7_v;
Ent_0_v=Ent_1_v;
Ent_1_v=Ent_2_v;
Ent_2_v=Ent_3_v;
Ent_3_v=Ent_4_v;
Ent_4_v=Ent_5_v;
Ent_5_v=Ent_6_v;
Ent_6_v=Ent_7_v;
Sal_0_v=Sal_1_v;
Sal_1_v=Sal_2_v;
Sal_2_v=Sal_3_v;
Sal_3_v=Sal_4_v;
Sal_4_v=Sal_5_v;
Sal_5_v=Sal_6_v;
Sal_6_v=Sal_7_v;
%fuerza de radiacion
Ent_5_fr=Sal_7_v;
Sal_5_fr=(Ent_5_fr*b5_fr+Ent_4_fr*b4_fr+Ent_3_fr*b3_fr+Ent_2_fr*b2_fr+
Ent_1_fr*b1_fr+Ent_0_fr*b0_fr-Sal_4_fr*a4_fr-Sal_3_fr*a3_fr-
Sal_2_fr*a2_fr-Sal_1_fr*a1_fr-Sal_0_fr*a0_fr)/a5_fr;
Ent_0_fr=Ent_1_fr;
Ent_1_fr=Ent_2_fr;
Ent_2_fr=Ent_3_fr;
Ent_3_fr=Ent_4_fr;
Ent_4_fr=Ent_5_fr;
Sal_0_fr=Sal_1_fr;
Sal_1_fr=Sal_2_fr;
Sal_2_fr=Sal_3_fr;
Sal_3_fr=Sal_4_fr;
Sal_4_fr=Sal_5_fr;
Fr(contador)=Sal_5_fr;
Fb(contador)=Sal_7_x*K;
Fex(contador)=entrada;
Fboya(contador)=Fex(contador)-Fr(contador)-Fb(contador);
contador=contador+1;
end
figure
plot(0:ts:t_total,Sal_7_vector_x)
figure
plot(0:ts:t_total,Sal_7_vector_v)
figure
plot(0:ts:t_total,Fr)
hold
plot(0:ts:t_total,Fb)
plot(0:ts:t_total,Fex)
plot(0:ts:t_total,Fboya)
main.c:
//caso 4
h_ola=sin(w_caso*T_0);
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
T_0=T_0+T_muestreo;
Variables_globales.h
double T_0=0.00000000;
#define T_muestreo 10000e-6
main.c
//caso 6
h_ola=sin(w_caso*T_0);
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
T_0=T_0+T_muestreo;
Variables_globales.h
double T_0=0.00000000;
#define T_muestreo 10000e-6L
main.c
h_ola=sin(w_caso*T_0)*He_caso;
Sal_7_x=(Ent_7_x*b7_x+Ent_6_x*b6_x+Ent_5_x*b5_x+Ent_4_x*b4_x+En
t_3_x*b3_x+Ent_2_x*b2_x+Ent_1_x*b1_x+Ent_0_x*b0_x-Sal_6_x*a6_x-
Sal_5_x*a5_x-Sal_4_x*a4_x-Sal_3_x*a3_x-Sal_2_x*a2_x-Sal_1_x*a1_x-
Sal_0_x*a0_x)/a7_x;
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Ent_2_x=Ent_3_x;
Ent_3_x=Ent_4_x;
Ent_4_x=Ent_5_x;
Ent_5_x=Ent_6_x;
Ent_6_x=Ent_7_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
Sal_2_x=Sal_3_x;
Sal_3_x=Sal_4_x;
Sal_4_x=Sal_5_x;
Sal_5_x=Sal_6_x;
Sal_6_x=Sal_7_x;
Sal_7_v=(Ent_7_v*b7_v+Ent_6_v*b6_v+Ent_5_v*b5_v+Ent_4_v*b4_v+En
t_3_v*b3_v+Ent_2_v*b2_v+Ent_1_v*b1_v+Ent_0_v*b0_v-Sal_6_v*a6_v-
Sal_5_v*a5_v-Sal_4_v*a4_v-Sal_3_v*a3_v-Sal_2_v*a2_v-Sal_1_v*a1_v-
Sal_0_v*a0_v)/a7_v;
Ent_0_v=Ent_1_v;
Ent_1_v=Ent_2_v;
Ent_2_v=Ent_3_v;
Ent_3_v=Ent_4_v;
Ent_4_v=Ent_5_v;
Sal_5_fr=(Ent_5_fr*b5_fr+Ent_4_fr*b4_fr+Ent_3_fr*b3_fr+Ent_2_fr
*b2_fr+Ent_1_fr*b1_fr+Ent_0_fr*b0_fr-Sal_4_fr*a4_fr-Sal_3_fr*a3_fr-
Sal_2_fr*a2_fr-Sal_1_fr*a1_fr-Sal_0_fr*a0_fr)/a5_fr;
Ent_0_fr=Ent_1_fr;
Ent_1_fr=Ent_2_fr;
Ent_2_fr=Ent_3_fr;
Ent_3_fr=Ent_4_fr;
Ent_4_fr=Ent_5_fr;
Sal_0_fr=Sal_1_fr;
Sal_1_fr=Sal_2_fr;
Sal_2_fr=Sal_3_fr;
Sal_3_fr=Sal_4_fr;
Sal_4_fr=Sal_5_fr;
Fb=Sal_7_x*Kw;
Fboya=h_ola-Sal_5_fr-Fb;
T_0=T_0+T_muestreo;
Variables_globales.h
//Datos F radiacion
long double Ent_5_fr=0.0;
long double Ent_4_fr=0.0;
long double Ent_3_fr=0.0;
long double Ent_2_fr=0.0;
// COMIENZA EL ENSAYO:
//------------------------------------------------------------------
------------
//------------------------------------------------------------------
------------
// CODIGO DE MARTA:
//------------------------------------------------------------------
------------
Entrada=Fexc[j1];
Sal_7_x=(Ent_7_x*b7_x+Ent_6_x*b6_x+Ent_5_x*b5_x+Ent_4_x*b4_x+Ent_3_x
*b3_x+Ent_2_x*b2_x+Ent_1_x*b1_x+Ent_0_x*b0_x-Sal_6_x*a6_x-
Sal_5_x*a5_x-Sal_4_x*a4_x-Sal_3_x*a3_x-Sal_2_x*a2_x-Sal_1_x*a1_x-
Sal_0_x*a0_x)/a7_x;
Ent_0_x=Ent_1_x;
Ent_1_x=Ent_2_x;
Ent_2_x=Ent_3_x;
Ent_3_x=Ent_4_x;
Ent_4_x=Ent_5_x;
Ent_5_x=Ent_6_x;
Ent_6_x=Ent_7_x;
Sal_0_x=Sal_1_x;
Sal_1_x=Sal_2_x;
Sal_2_x=Sal_3_x;
Sal_3_x=Sal_4_x;
Sal_4_x=Sal_5_x;
Sal_5_x=Sal_6_x;
Sal_6_x=Sal_7_x;
Sal_7_v=(Ent_7_v*b7_v+Ent_6_v*b6_v+Ent_5_v*b5_v+Ent_4_v*b4_v+Ent_3_v
*b3_v+Ent_2_v*b2_v+Ent_1_v*b1_v+Ent_0_v*b0_v-Sal_6_v*a6_v-
Ent_0_v=Ent_1_v;
Ent_1_v=Ent_2_v;
Ent_2_v=Ent_3_v;
Ent_3_v=Ent_4_v;
Ent_4_v=Ent_5_v;
Ent_5_v=Ent_6_v;
Ent_6_v=Ent_7_v;
Sal_0_v=Sal_1_v;
Sal_1_v=Sal_2_v;
Sal_2_v=Sal_3_v;
Sal_3_v=Sal_4_v;
Sal_4_v=Sal_5_v;
Sal_5_v=Sal_6_v;
Sal_6_v=Sal_7_v;
Sal_5_fr=(Ent_5_fr*b5_fr+Ent_4_fr*b4_fr+Ent_3_fr*b3_fr+Ent_2_fr*b2_f
r+Ent_1_fr*b1_fr+Ent_0_fr*b0_fr-Sal_4_fr*a4_fr-Sal_3_fr*a3_fr-
Sal_2_fr*a2_fr-Sal_1_fr*a1_fr-Sal_0_fr*a0_fr)/a5_fr;
Ent_0_fr=Ent_1_fr;
Ent_1_fr=Ent_2_fr;
Ent_2_fr=Ent_3_fr;
Ent_3_fr=Ent_4_fr;
Ent_4_fr=Ent_5_fr;
Sal_0_fr=Sal_1_fr;
Sal_1_fr=Sal_2_fr;
Sal_2_fr=Sal_3_fr;
Sal_3_fr=Sal_4_fr;
Sal_4_fr=Sal_5_fr;
Fb=Sal_7_x*Kw;
Fboya=Entrada-Sal_5_fr-Fb;
//------------------------------------------------------------------
------------
// INTERPROCESSOR COMMUNICATION
//------------------------------------------------------------------
------------
// GRAFICOS:
// 1a 1b
InterCommunication((float)Sal_7_x*10.0,(float)Sal_7_v,(float)Sa
l_5_fr/1000.0,(float)Fboya/1000.0, R, R, K, K);//1a;2a;1b;2b
//------------------------------------------------------------------
------------
j1=j1+1;
//------------------------------------------------------------------
------------
//}// if(j1<size){
//------------------------------------------------------------------
------------
Variables_globales.h
#ifndef VARIABLES_GLOBALES_H_
#define VARIABLES_GLOBALES_H_
// codigo MARTA
int contador=0;
int contador_fe=0;
int contador_fe1=0;
//Datos F radiacion
long double Ent_5_fr=0.0;
long double Ent_4_fr=0.0;
long double Ent_3_fr=0.0;
long double Ent_2_fr=0.0;
long double Ent_1_fr=0.0;