Está en la página 1de 14

UNIVERSIDAD NACIONAL TECNOLÓGICA DE LIMA SUR

(UNTELS)

CARRERA DE INGENIERÍA ELECTRÓNICA Y


TELECOMUNICACIONES

TALLER DE ELECTRONICA AVANZADA

CONTROL EN TIEMPO REAL DE UN YATE

Abramonte Bonifacio, María José


Soria Ayala, Milton

Lima, 22 de junio de 2020


INTRODUCCION
Los sistemas de tiempo real logran llevar el control de eventos que ocurre en el preciso
momento, por lo que el sistema responde a un estimulo externo dentro de un tiempo.
En el presente proyecto se dará a conocer un ejemplo sobre la utilidad de un sistema en
tiempo real por lo que veremos los cambios que se realizaran en los diferentes tiempos.
También lograremos separarlos por prioridades utilizando una librería llamada FreeRtos en
Arduino.
CONTROL EN TIEMPO REAL DE UN YATE

I. PRESENTACIÓN:
Para la aplicación del presente laboratorio presentamos un sistema de medición y
control de seis tareas referentes a un Yate, adaptaremos las prioridades y sistemas
aprendidos en clase.

II. LAS SEIS TAREAS IDENTIFICADAS PARA NUESTRO EJEMPLO SON:

 Tareas de Estabilización
- Estabilización giroscópica.

 Tareas de Medición y monitoreo de depósitos


- Medición de nivel en depósitos de agua potable y de agua para piscina.
- Medición y detección de nivel en depósitos de combustible.
- Medición y detección de nivel en depósitos de aguas grises y negras.

 Tareas de control de la temperatura de motores


- Sensor de temperatura y humedad.

 Tareas de Medición de agua en Sentinas


- Detección de nivel para la monitorización de Sentinas y fuga.
III. DESCRIPCIÓN DE LAS TAREAS:
1. ESTABILIZACIÓN GIROSCÓPICA

Los 6 grados del Movimiento

1. Avance/Retroceso
2. Deriva
3. Arfada
4. Balance o Rólido
5. Cabeceo
6. Guiñada

Los estabilizadores modernos utilizados en Yates son los Seakeeper, constan de una esfera de
aluminio sellada al vacío que contiene un volante o masa de alrededor de 300 Kg que gira a
10.000 rpm produciendo un gran Momento Angular que controlado por un cilindro hidráulico
manejado por una computadora permite eliminar o reducir ampliamente el ruido resonante
de las embarcaciones.
2. MEDICIÓN DE NIVEL EN DEPÓSITOS DE AGUA POTABLE Y DE AGUA PARA PISCINA

Cada yate dispone de distintos depósitos a bordo para las aguas residuales, el agua de la
piscina y la potable. En concreto, para el agua potable se necesita una medición de nivel
completamente higiénica.

3. MEDICIÓN Y DETECCIÓN DE NIVEL EN DEPÓSITOS DE COMBUSTIBLE

Los depósitos de combustible son los más importantes a bordo. En ellos se almacena el diésel
para los grupos y las máquinas propulsoras, la gasolina para las motos de agua y los botes
salvavidas, y el combustible para el helicóptero. La medición de nivel garantiza un nivel de
combustible óptimo y una prevención de sobrellenado permite la máxima seguridad para el
medio ambiente.
4. MEDICIÓN Y DETECCIÓN DE NIVEL EN DEPÓSITOS DE AGUAS GRISES Y NEGRAS

Las aguas residuales generadas a bordo se almacenan en depósitos de aguas grises y negras
hasta poder ser eliminadas en tierra. Se monitoriza el nivel dentro de los depósitos y se
asegura contra un sobrellenado.

5. SENSOR DE TEMPERATURA Y HUMEDAD

La temperatura y el exceso de humedad a bordo pueden ser una de las alertas que nos
señalan problemas en sistemas, cabina de motor o electrónica. Tener la información en
tiempo real de estos dos datos es optimar para prevenir problemas más graves. Por eso,
gracias al utilizo de un sensor de temperatura junto al motor o generador y otro cerca de la
sentina, podemos controlar siempre su estado desde cualquier sitio.
6. DETECCIÓN DE NIVEL PARA LA MONITORIZACIÓN DE SENTINAS Y FUGAS

Todos los buques disponen de sentinas en las salas de máquinas, que comprenden el espacio
entre el suelo de la sala y el fondo del barco. En el punto más profundo de la sentina se
acumula una mezcla de aceite y agua. Un skimmer y un separador de emulsiones a bordo
vuelven a separar el aceite del agua. El control de los separadores de aceite se realiza
mediante un interruptor de nivel en la sentina.

Por razones de seguridad y medioambientales, los cárteres del motor principal y los sistemas
auxiliares también se deben monitorizar continuamente para evitar posibles fugas.
IV. ASIGNACION DE PRIORIDADES A LAS DIFERENTES TAREAS

En función al grado de importancia en ejecución y tiempo de respuesta designamos las


prioridades de las tareas en el orden siguiente (Teniendo en cuenta que el mayor número
es considerado de mayor prioridad).

V. DEFINICIÓN Y ASIGNACION DE PARÁMETROS A LAS DIFERENTES TAREAS

Se trato de asignar los parámetros adecuados afín de tener un sistema óptimo sin retardos
y periodos de latencia.

VI. ACTIIVIDADES DE LA COMPUTADORA DE UN YATE


VII. ANALISIS TEÓRICO

Para el análisis teórico acudimos al modelo de sistema de Prioridad Fija aprendido en clase,
con el cual pudimos comprobar que no existe periodos de latencia en las tareas, todos son
exactos.

VIII. DISEÑO Y SIMULACIÓN


Fig.1 Esquema en Proteus

En la Fig.1 se visualiza que hemos utilizado el Sensor Ultrasonido para la prueba realizada,
en la que los demás puntos reemplazan a otros sensores que anteriormente se mencionó.
Lo que se llega a utilizar son dos osciloscopios para poder obtener la señal realizada en la
parte teórica. Se inicio desde la izquierda a derecha teniendo el punto A como el sensor de
ultrasonido, luego va siguiendo el orden planteado.

(a) (b)

Fig.2 Imagen obtenido del osciloscopio

En la Fig.2 se puede mostrar las señales obtenidos por el osciloscopio. En la parte (a) se
visualiza que la sección amarilla es la prioridad 1 y tiene pulsos mas seguidos ya que en la
programación se lo indico de esa manera teniendo en cuenta que cubre 2ms. En la parte (b)
se visualiza que la franja amarilla seria la tarea 4 y de esa manera se culminaría hasta el
ultimo que es la tarea 6.

Fig.3 Virtual terminal de las tareas

En la Fig.3 se ve el orden en como el osciloscopio logra leer las tareas planteadas en el


programa de Arduino por lo que se mostrara en la siguiente sección.
Fig.4 Simulando el movimiento de los potenciómetros

En la Fig.4 ya que no se logró conseguir los demás sensores se simulo utilizando


potenciómetros por lo que se puede visualizar los cambios que hay en las graficas con
respecto a la parte inicial.

IX. PROGRAMACION UTILIZADA

#include <Arduino_FreeRTOS.h>

const int LED1=13;


const int LED2=12;
const int LED3=11;
const int LED4=10;
const int LED5=9;
const int LED6=8;
long valor;
int trig = 22;
int echo = 23;
long duracion;
int distancia;
int led=24;

void setup()
{
Serial.begin(9600);
Serial.println(F("In Setup function"));
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);

pinMode(trig, OUTPUT);
pinMode(echo, INPUT);

xTaskCreate(MyTask1, "Task1", 100, NULL, 6, NULL);


xTaskCreate(MyTask2, "Task2", 100, NULL, 5, NULL);
xTaskCreate(MyTask3, "Task3", 100, NULL, 4, NULL);
xTaskCreate(MyTask4, "Task4", 100, NULL, 3, NULL);
xTaskCreate(MyTask5, "Task5", 100, NULL, 2, NULL);
xTaskCreate(MyTask6, "Task6", 100, NULL, 1, NULL);
}

void loop()

{
digitalWrite(trig, LOW);
delay(2);
digitalWrite(trig, HIGH);
delay(10);
digitalWrite(trig, LOW);
duracion = pulseIn(echo,HIGH);
distancia = (duracion*0.034)/2;
Serial.println(distancia);

static void MyTask1(void* pvParameters)


{
while(1)
{
Serial.println(F("Task1"));
digitalWrite(LED1,HIGH);
delay(2);
digitalWrite(LED1,LOW);
vTaskDelay(1);
}
}

static void MyTask2(void* pvParameters)


{
while(1)
{
Serial.println(F("Task2"));
digitalWrite(LED2,HIGH);
delay(4);
digitalWrite(LED2,LOW);
vTaskDelay(2);

}
}

static void MyTask3(void* pvParameters)


{
while(1)
{
Serial.println(F("Task3"));
digitalWrite(LED3,HIGH);
delay(4);
digitalWrite(LED3,LOW);
vTaskDelay(2);

}
}

static void MyTask4(void* pvParameters)


{
while(1)
{
Serial.println(F("Task4"));
digitalWrite(LED4,HIGH);
delay(14);
digitalWrite(LED4,LOW);
vTaskDelay(2);

}
}

/* Task5 with priority 5 */


static void MyTask5(void* pvParameters)
{
while(1)
{
Serial.println(F("Task5"));
digitalWrite(LED5,HIGH);
delay(8);
digitalWrite(LED5,LOW);
vTaskDelay(4);

}
}

static void MyTask6(void* pvParameters)


{
while(1)
{
Serial.println(F("Task6"));
digitalWrite(LED6,HIGH);
delay(3);
digitalWrite(LED6,LOW);
vTaskDelay(9);

}
}

X. CONCLUSIONES

- Las tareas programadas en tiempo real se pueden aplicar a cualquier sistema de control
de vehículos, asignándoles su prioridad mediante programación, esta prioridad asignada
debe ser realizada de forma coherente al grado de importancia de cada proceso.

- Para el control de estabilidad de un Yate , la aplicación del sistema giroscópico, alinea en


función de los vectores espaciales (X,Y,Z) de tal manera aunque el entorno se encuentre
en movimiento la nave permanece estable, lo cual le da aparte de un gran confort (lo
cual es uno los objetivos de las naves de lujo) aporta una estabilidad a los diferentes
sistemas de medición basados en depósitos de líquidos existentes en los yates (agua
limpias, negras, aceites, combustibles)

- El control de las tareas asignadas garantiza el óptimo funcionamiento de máquinas y


equipos y también puede prevenir contra accidentes fortuitos (Choques, incendio por
calentamiento, clima agresivo, etc)

XI. BIBLIOGRAFIA

https://www.vega.com/es-es/home_pe/sectores/construcci%C3%B3n-de-buques-y-yates

https://innovotics.es/que-puedo-automatizar-en-mi-barco/

https://ingenieromarino.com/estabilizadores-del-buque/
www.nauticexpo.es

También podría gustarte