Herramienta de simulación de los consumos y emisiones de...
-
Upload
nguyenthien -
Category
Documents
-
view
215 -
download
0
Transcript of Herramienta de simulación de los consumos y emisiones de...
Herramienta de simulación de los consumos y emisiones
de un vehículo.
Titulación: Ingeniería Técnica Industrial: Electrónica Industrial
DIRECTOR: Roger Cabré
AUTOR: Iván Tamarit Román
FECHA: Septiembre / 2015.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
2
ÍNDICE
1- Introducción………………………………………………………………………….4
1.1 Descripción del problema: La contaminación y el consumo………...…………..4
1.2 Objetivo del PFC…………………………………………………………………...7
2- Descripción del programa………….…………………………………………….9
2.1 GUIDE……………………………………………………………..........................9
2.2 Secuencia de ejecución del programa……….…………………………………...12
3- Variables de entrada…………………..………………………………………...20
3.1 Variables del coche………………………….………………………………........20
3.2 Trayecto……………………………………………………….…........................23
3.3 Perfil de conducción: Cambio de marcha……………….………………………24
4- Fuerzas resultantes…………………..……………………………………….....25
5- Subprogramas…………………….……………………………………..............28
6- Variables de entrada………………..…………………………………………..33
6.1 Gráficas……………………….…………………………………........................47
6.1.1 Gráficas características de los vehículos……………………………………..50
6.1.2 Gráficas del trayecto…………………………………………………………..54
6.2 Cálculos……………………….…………………………………………………..59
7- Resultados y pruebas…………..……………………………………………….60
8- Conclusiones…………………………….………………………………………..87
9- Anexos..…………………………..…………..…………………………………….89
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
3
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
4
1- Introducción
En primer lugar me gustaría exponer brevemente las razones por las cuales he escogido
este proyecto.
Durante el transcurso de todos estos años cursando esta ingeniería, lo que más me ha
motivado y en lo que más empeño he puesto a la hora de realizar algún trabajo ha sido a la
hora de ponerme a programar, y más aun, cuando la realización de este, tiene una
aplicación palpable y visible. Y que mejor manera de programar que con MATLAB y con
su entorno de programación visual, GUIDE. Y a todo esto añadir la aplicación de este
proyecto y en este caso, un problema muy grave en todo el mundo, la contaminación. Y
este caso nos toca muy de cerca a todos, y que creo que gracias a programas como el que
he realizado, podremos ser un poco más conscientes de lo que contaminamos cada uno y
de lo que, los conductores, podemos dejar de contaminar cambiando nuestra manera de
conducir.
1.1 Descripción del problema: La contaminación y el consumo [3]
La energía, en cualquiera de sus formas, es necesaria para la supervivencia de la
humanidad y sin la misma no sería posible lograr los avances tecnológicos, sociales, y
económicos, que deben propiciar la mejora de la calidad de vida de los habitantes del
planeta. Sin embargo, su uso indiscriminado, sobre todo teniendo en cuenta la gran
dependencia que España tiene de los combustibles fósiles (carbón, petróleo y gas natural)
y, por tanto, agotables, tiene repercusiones medioambientales indeseables, además de
consecuencias negativas en los ámbitos económico y sociopolítico.
En el transporte existe, actualmente, una práctica total dependencia de la energía de origen
fósil, por su elevada relación energía/volumen y su bajo precio frente a otras fuentes de
energía. El transporte por carretera consume el 42,1 % de la energía en España, lo que
representa más del 60 % del petróleo consumido en nuestro país. El consumo de
carburantes en España en el sector del transporte por carretera es de unos 11.000 millones
de litros de gasolina y de unos 24.000 millones de litros de gasóleo al año, que se reparten
de la siguiente forma:
- Turismos: 50 %
- Furgonetas: 32 %
- Camiones: 6 %
- Autobuses: 3 %
- Otros: 9 %
Como la movilidad de pasajeros y mercancías es un elemento característico de las
sociedades avanzadas, el transporte y las comunicaciones se convierten en estructuras
básicas para el desarrollo económico y social.
La conducción eficiente significa un uso más eficiente de los medios de transporte y
contribuye de forma importante al ahorro económico.
Además de la conducción eficiente, existen otras actuaciones complementarias a la misma
en el transporte por carretera de vehículos industriales encaminadas al logro del ahorro
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
5
energético y la reducción de emisiones al medio ambiente, orientadas a la gestión adecuada
de las flotas de transporte y de sus políticas de renovación de vehículos.
Figura 1. Reparto de consumos de energía primaria en España en 2013
Figura 2. Consumos de energía final por sectores en España en 2013
Impacto del transporte en el medio ambiente:
La combustión de carburantes en los vehículos produce dos tipos de emisiones por el tubo
de escape:
- Anhídrido carbónico (CO2), inherente a todo proceso de combustión. Crece con el
consumo de carburante.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
6
- Contaminantes que afectan a la calidad del aire, dependen de la calidad de la
combustión y los sistemas anticontaminación que tenga el vehículo.
En los motores diésel, cada vez que un litro de gasóleo se quema en el motor, por el tubo
de escape salen 2,6 kg de CO2. Los científicos han demostrado que del CO2 que se emite a
la atmósfera una parte se acumula en la misma, siendo el principal causante de la
modificación del denominado “efecto invernadero” que da lugar al conocido “cambio
climático”. El efecto invernadero es fundamental para la vida en la tierra, pues hace que su
temperatura media sea de unos 15º C, pero el incremento de concentración de este gas en la
atmósfera por causa de la combustión de carburantes hace que dicha temperatura media
tienda a subir, lo que puede ocasionar graves problemas a la humanidad como
modificación de la meteorología o incremento del nivel de los mares, sequías, etc.
De aquí que todos los países están implementando medidas para reducir el consumo de
carburantes fósiles mediante campañas de promoción de un uso eficiente de la energía y a
través de programas de ahorro energético; pero, también, el usuario debe tomar conciencia
de su propia responsabilidad.
Las sustancias contaminantes se emiten en cantidades mucho más pequeñas que las de
CO2, pero al acumularse en la atmósfera afectan a la calidad del aire y la salud de los seres
vivos y el ensuciamiento del ambiente. Las más importantes son:
- El monóxido de carbono (CO)
- Los hidrocarburos (HC)
- Los óxidos de nitrógeno (NOx)
- Las partículas (PM) que son causantes de la opacidad de los humos.
Entre las ventajas de los motores de últimas generaciones, figura la gestión electrónica de
los distintos sistemas del vehículo, a través de una unidad de control electrónica que
incorpora otras funciones como autodiagnosis y ayudas a la conducción en general y a la
conducción económica en particular, que utilizándose adecuadamente pueden reducir
apreciablemente el consumo de carburante del vehículo.
Medición del consumo de carburante:
El funcionamiento del motor de un vehículo implica un consumo de carburante, al ser
inyectado en los cilindros en litros o en gramos durante un tiempo medido en horas, por lo
que la unidad de caudal de combustible sería:
– Gramos / hora
– Litros / hora.
Sin embargo, esta unidad no es la que se usa normalmente en los vehículos de carretera, ya
que su objeto es mover cargas o personas un cierto número de kilómetros por lo que se usa
en este caso:
– Litros por cada 100 kilómetros (l /100km)
– Kilómetros por litro
Atendiendo al motor de un vehículo, su consumo de carburante depende de la potencia,
medida ésta en caballos vapor (CV) o en kilovatios (kW), que el motor entrega en cada
momento, por lo que al hablar de motores, se suele emplear el término de “factor de
consumo” o “consumo específico”, que es el gasto de carburante empleado en producir una
unidad determinada de energía, el cual se puede expresar en:
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
7
– Litros/CVh: litros por cada caballo de potencia y cada hora de funcionamiento.
– Gramos/CVh o g/kWh: Teniendo en cuenta, a efectos de conversión de unidades,
que 1CV equivale a 0,736 kW, y por tanto, 1kW equivale a 1,36 CV.
Conviene conocer, a efecto de la realización de cálculos, que el peso específico del gasóleo
es del orden de 840 gramos por cada litro.
Recordamos que en el uso de un vehículo, la potencia demandada al motor depende de:
– El peso del vehículo y sus características técnicas
– La aceleración que se le imprime
– La pendiente de la carretera
– La velocidad a la que circula
– Las condiciones climatológicas
El motor debe responder en cada momento a la entrega de potencia que las condiciones del
tráfico y el conductor le demanden, por lo que consumirá la cantidad necesaria de
carburante en cada momento y, como éste se emplea en mover el vehículo por la carretera,
el consumo se suele medir en litros utilizados en recorrer 100 kilómetros. Por tanto si
empleamos menos carburante para hacer un mismo recorrido o hacemos más kilómetros
con la misma cantidad de carburante, estamos disminuyendo el consumo.
Ahora bien, el consumo es un valor instantáneo, y por lo tanto, variable en función del
tiempo. Por tanto, una forma de reducir el consumo medio sería a través de la reducción
del consumo en cada uno de los instantes, evitando en la medida de lo posible, los periodos
de consumo con el vehículo parado y su motor funcionando a ralentí.
Disponer de un motor capaz de entregar mucha potencia, para emplear de forma habitual
una potencia mucho menor, da lugar a mayores consumos que si empleáramos para ello un
motor de menor potencia máxima. El propietario debe ser capaz, por tanto, de seleccionar
el motor con una potencia adecuada para el uso requerido a su vehículo.
Además del motor, el tipo de caja de cambios, así como el puente trasero de reducción,
repercutirán en el consumo del vehículo. Actualmente, los fabricantes ofrecen una amplia
oferta en los distintos sistemas del vehículo, pudiendo el comprador personalizar
prácticamente el vehículo en función de sus necesidades.
Por esta razón, es de gran importancia la consideración por parte del comprador, tanto de
las características necesarias que deben tener los distintos sistemas del vehículo, como de
la oferta disponible en el mercado, cotejando la información detallada al respecto facilitada
por los distintos fabricantes.
1.2 Objetivo del PFC
El objetivo principal de este proyecto es realizar un programa, dentro de un entorno visual
interactivo, que calcule las emisiones de CO2 en función de una serie de parámetros
escogidos por el usuario, como pueden ser: coche, RPM de cambio de marcha y trayecto.
Visualizaremos también una serie de graficas en función de las variables de entrada y
mostraremos por pantalla ciertos cálculos de interés como la velocidad media y el tiempo
del trayecto entre otros que expondremos más detenidamente más adelante.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
8
Gracias a todos estos cálculos podremos llegar a sacar conclusiones sobre los diferentes
tipos de conducción y poder determinar cuál de ellos es el más eficiente y por consiguiente
menos contaminante.
El programa pretende ser de gran utilidad para poder simular trayectos de nuestra vida
cotidiana, poder cambiar nuestra manera de conducir en cada uno de ellos mediante la
simulación y obtener resultados de nuestro consumo y emisiones para posteriormente hacer
una comparación global y escoger el estilo más eficiente.
También nos puede servir a la hora de ayudar a decidirnos a comprar un coche.
Introduciendo los datos de cada uno de ellos y simulando respectivamente el mismo
trayecto para cada uno y así poder escoger el vehículo que menos consumo presente para
nuestra manera de conducir.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
9
2- Descripción del programa
El programa se implementara mediante Matlab y su entorno de programación, GUIDE, que
a continuación explicaremos.
Para su elaboración hemos creado una base de datos de diferentes coches y sus diferentes
variables. Para poder añadir cada coche a la base de datos necesitábamos que en sus
características aparecieran las variables concretas que necesitábamos y por tanto no todos
los buscados las tenían. Las que más nos han costado encontrar de cada coche eran las
relaciones de transmisión de cada coche y el rango máximo de valores de RPM.
Hemos utilizado 2 páginas web que nos han servido para encontrar las características
necesarias de cada coche [1] [2].
2.1 GUIDE
GUIDE es un entorno de programación visual disponible en MATLAB para realizar y
ejecutar programas que necesiten ingreso continuo de datos. Tiene las características
básicas de todos los programas visuales como Visual Basic o Visual C++.
Para poder abrir nuestro proyecto o crear uno nuevo primero tenemos que abrir GUIDE.
Para ello tenemos 2 opciones, escribir “guide” en la ventana de comandos o clicando en el
icono correspondiente:
Figura 3. Abrir GUIDE
A continuación nos aparecerá un cuadro en el que podremos crear un GUI, empezándolo
desde 0 o una serie de plantillas adaptadas a nuestro proyecto, o abrir una GUI guardada
anteriormente. En nuestro caso creamos la GUI desde 0.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
10
Figura 4. Crear nueva GUI
Figura 5. Abrir GUI guardada
Al elegir la opción “Blank GUI” nos aparecerá la siguiente ventana:
Figura 6. GUI en blanco
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
11
En la cual tendremos una serie de componentes, a la izquierda de nuestra pantalla, para
poder agregar y dar una gran variedad de funcionalidad a nuestro programa:
Figura 7. Componentes
Componente Descripción
Push Button Genera una acción
Slider Representa un rango de valores
Radio Button Representa una opción
Check Box Inicia el estado de una opción
Edit Text Edita un texto
Static Text Muestra un string de texto
Pop-up Menu Nos ofrece un listado de opciones
Listbox Lista deslizable
Toggle Button Activa o desactiva una acción ON/OFF
Axes Dibuja una gráfica o carga imágenes
Panel Visualiza un grupo de controles
Button grup Panel para radio y toggle buttons
ActiveX Control Despliega controles ActiveX
Una aplicación GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que contiene
el código con las correspondencias de los botones de control de la interfaz y el archivo .fig
contiene los elementos gráficos. Cada vez que se adicione un nuevo elemento en la interfaz
gráfica, se genera automáticamente código en el archivo .m.
Para poder ejecutar el programa, clicaremos en la flecha verde que tenemos en la parte
superior de la barra de herramientas.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
12
Figura 8. Ejecutar GUI
También lo podemos hacer desde la ventana de comandos de matlab, escribiendo el
nombre de nuestro aplicativo, en este caso “pfc”.
Uno de los grandes problemas que hemos tenido a la hora de elaborar el programa y
detectar sus fallos era que, al ejecutar el programa, no podíamos hacer un seguimiento de
las variables ni ir paso por paso durante su ejecución. Lo único que sucedia al producirse
un error era que el aplicativo se bloqueaba y salían todos los errores en la ventana de
comandos de matlab. También teníamos que asegurarnos de que los resultados eran lógicos
y factibles, ya que cualquier error de cálculo el programa no lo detectaba y al no poder
hacer un seguimiento de la variable con errores, era difícil localizar el trozo de código que
estaba incorrecto.
2.2 Secuencia de ejecución del programa
A continuación describiremos el orden de ejecución del programa, así como los pasos a
seguir por el usuario. Para que le usuario sepa los pasos que tiene que seguir durante la
ejecución del programa hemos agregado un botón de ayuda que, al ser pulsado, abrirá una
nueva pestaña con dichos pasos a seguir y su orden.
Figura 9. Botón ayuda
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
13
Figura 10. Ventana botón ayuda
1- Selección de coche
El usuario elegirá uno de los coches de la lista que tenemos en el desplegable.
Figura 11. Desplegable selección de coche
También hemos agregado la opción de edición del coche por el usuario, abriendo una
nueva pestaña en donde podrá ir ingresando los datos de las diferentes características.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
14
Figura 12. Edición de coche
A continuación se mostrarán por pantalla las diferentes variables y características del coche
seleccionado.
Figura 13. Características coche
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
15
2- RPM de cambio de marcha
El usuario podrá seleccionar el porcentaje del RPM máximo al cual quiere cambiar cada
marcha, es decir, que cuando lleguemos a ese RPM independientemente de la marcha o
bien subiremos la marcha a la siguiente, si estamos acelerando, o bien reduciremos una
marcha, si estamos reduciendo la velocidad de nuestro vehículo.
Este dato nos da una orientación del modelo de conducción que queremos simular.
Figura 14. Cuadro %RPM cambio marcha
3- Velocidad inicial del trayecto
Podrá introducir la velocidad inicial del trayecto, en caso de no introducirla, el programa
deducirá que partimos con el coche parado, y le otorgará el valor de 0 a esta variable.
Hemos agregado esta opción para poder calcular los consumos y demás en tramos en los
que vamos a una velocidad prácticamente constante, sin grandes fluctuaciones ni paradas.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
16
Figura 15. Botón Vel.Inicial
Figura 16. Ventana Vel.Inicial
4- Introducción de los tramos del recorrido
El usuario podrá ir introduciendo las variables de cada tramo: velocidad final del tramo,
altura final del tramo, y distancia que queremos recorrer en este tramo. Al introducir estos
3 datos el usuario pulsará el botón de aceptar y podrá volver a introducir los datos del
siguiente tramo hasta el último de ellos.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
17
Figura 17. Introducción tramos recorrido
Durante el trayecto, el usuario podrá también efectuar paradas de un tiempo determinado.
Para ello deberá rellenar la casilla de la velocidad final del tramo anterior a 0 kmh/h y
pulsar el botón de parada.
Figura 18. Botón introducir parada
A continuación se abrirá una nueva pestaña para introducir el tiempo de parada.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
18
Figura 19. Ventana introducir parada
También tendremos la opción de simular los 2 ciclos de conducción estándar: ciclo euro 1
y ciclo euro 2. El primero mas interurbano y el segundo extraurbano. El Usuario
simplemente tendrá que pulsar el botón del ciclo correspondiente que desee simular.
Figura 20. Botones ciclo euro
5- Visualización de los resultados de cálculos y gráficas
Finalmente, y tras introducir todos los tramos del trayecto, el usuario podrá visualizar en la
ventana principal una serie de cálculos relacionados con las diferentes variables de interés
del trayecto. Los cálculos se actualizarán tras pulsar el botón “aceptar” al introducir los
datos de cada tramo correspondiente.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
19
Figura 21. Cálculos
También podremos visualizar una serie de gráficas debajo del desplegable correspondiente.
Tendremos la opción de abrir estas gráficas en otra pantalla para poder recopilar todos sus
datos clicando en la casilla que tenemos al lado de “visualizar gráfica en otra pantalla
(modo edición)”.
Figura 22. Visualización gráficas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
20
3- Variables de entrada
A continuación describiremos las variables de entrada, introducidas por el usuario, que
afectarán a los posteriores cálculos. Intentaremos ofrecer una gran variabilidad para que el
programa sea lo más completo posible y nos permita simular cualquier situación posible.
Las clasificaremos en 3 grupos principales:
1- Variables del coche: Ofreceremos una gran variedad de coches, como también la
opción de editar uno “a la carta”. En cualquier caso tendremos una serie de
características físicas y otras relacionadas con el motor.
2- Variables del trayecto: En su edición, podremos variar la velocidad y la altura final
de cada tramo, la distancia de cada uno de ellos y la velocidad inicial del trayecto.
3- Perfil de conducción-cambio de marchas: Estipularemos el modo de conducción del
piloto basándonos en el momento en el que cambia de marchas, según las RPM en
las que decide cambiar de marcha. Creemos que es el dato más importante a la hora
de consumir más o menos carburante.
3.1 Variables del Coche
Características físicas
Masa: Peso de un vehículo abastecido de aceite, agua, líquidos de frenos y
embrague y equipo de herramientas, pero sin carburante. Será unas de las variables más
importantes en el resultado de las fuerzas durante el trayecto.
Coeficiente de resistencia aerodinámica: es un índice sin dimensiones, que refleja
la influencia de la forma de una carrocería sobre la potencia absorbida para vencer la
resistencia del aire. Cuanto más elevado es este coeficiente, mayor es la resistencia
aerodinámica. Lo utilizaremos para calcular las fuerzas que sufre el vehículo por el aire
cuando este se desplace a una velocidad determinada.
Sección frontal: És el área de la parte delantera del vehículo que se pondrá en
contacto con el aire y la resistencia viscosa que este opondrá al avance de dicho vehículo.
Motor
Revoluciones máximas: Es el número de revoluciones máximas al cual está
limitado el funcionamiento del motor. No es un dato que se tenga que tener muy en cuenta
durante la conducción, ya que normalmente nunca nos acercamos al este límite, pero es de
vital importancia a la hora de representar las gráficas de par máximo y consumo. Este ha
sido uno de los datos más difíciles de encontrar en la búsqueda de coches para la base de
datos, puesto que muchos fabricantes no nos lo ofrecían.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
21
Potencia máxima: la potencia máxima está directamente relacionada con el par
motor y con el número de revoluciones a las que gira la mecánica, así la potencia máxima
es el resultado del producto de estos dos últimos. Un motor puede tener mucha potencia
mediante dos vías, el par motor y las revoluciones de giro.
Momento (par) máximo: Es el valor máximo característico de la fuerza de torsión
ejercida por un motor en cada instante de su funcionamiento. Este dato es muy importante a la
hora de representar la gráfica del consumo específico y evidentemente la de par/rpm. Un dato
también importante son las rpm a las cuales llegamos a este par máximo, normalmente
siempre nos encontramos en que el mayor par lo alcanzamos a la mitad del régimen de
rpm.
Relación de transmisión de cada marcha: És la relación entre el número de
revoluciones por minuto que gira el motor y la velocidad lineal a la que se desplaza el
vehículo. En nuestro caso, la relación de transmisión de cada marcha se corresponderá con
la velocidad en km/h a la cual nos encontramos en 1000rpm del motor.
Tipo de combustible utilizado: Podremos elegir entre combustible diesel o
gasolina. Por defecto si no marcamos la casilla de selección de diesel, el programa elegirá
gasolina.
function menucoches_Callback(hObject, eventdata, handles)
% menu de la elección del coche
global masa
global sf
global CX
global selec
global vm
global fuerzam
global RT
global par
global wpar
global mom
global mom1
global mom2
global mom3
global mom4
global mom5
global mom6
global w
global pot
global potencia
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
22
global CE
global RPM
global figura
global ww
global mm
val =get(handles.menucoches,'Value');
%Segun el coche escogido, modificaremos las variables del vehículo.
if val==1
RPM=6500;
CX=0.3;
sf=2.55; %superficie frontal
par=240;
marchas=6;
RT=[8.1 15 26.6 33.5 41.1 48.4]; %Relación de transmisión de cada
marcha
potencia=156;
masa=1371;
rpmpar=2600; %rango de rpms en que se encuentra en par max
imagen = imread('C4.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==2
RPM=6800;
CX=0.34;
sf=2.12;
par=275;
marchas=6;
RT=[8.9 15.5 22.1 28.7 35.9 42.5];
potencia=200;
masa=1235;
rpmpar=2800;
imagen = imread('peu208.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==3
.
.
.
.
.
.
.
. set(handles.text23,'String',RPM);
set(handles.text22,'String',CX);
set(handles.text25,'String',sf);
set(handles.text24,'String',par);
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
23
set(handles.text31,'String',potencia);
set(handles.text26,'String',RT(1));
set(handles.text28,'String',RT(2));
set(handles.text27,'String',RT(3));
set(handles.text29,'String',RT(4));
set(handles.text30,'String',RT(5));
set(handles.text55,'String',RT(6));
set(handles.text33,'String',masa);
set(handles.text37,'String',marchas);
3.2 Trayecto
Velocidad inicial del trayecto: Es el valor de la velocidad a la que se encuentra el
coche al inicio del trayecto, antes de introducir cualquier parámetro de cada tramo
posterior. Como hemos comentado anteriormente, dato muy útil a la hora de realizar
cálculos para trayectos extraurbanos.
Tramo: Nuestro trayecto se dividirá en tramos, cuantos quiera e introduzca el
usuario. Cada uno de ellos estará definido por estas 3 variables:
- Velocidad: Se refiere a la velocidad final de cada tramo y en consecuencia la
inicial del tramo siguiente en km/h.
- Altura: Define la altura final de cada tramo y la inicial del consecutivo en
metros. De aquí podremos sacar la pendiente de cada tramo.
- Distancia: Definida como la longitud de cada tramo en km.
Así guardaremos las variables de cada tramo en nuestro archivo .m:
function editvelocidad_Callback(hObject, eventdata, handles)
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.velocidad=NewVal ;
guidata(hObject,handles);
function editaltura_Callback(hObject, eventdata, handles)
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.altura=NewVal ;
guidata(hObject,handles);
function editdistancia_Callback(hObject, eventdata, handles)
Val=get(hObject,'String');
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
24
NewVal = str2double(Val);
handles.distancia=NewVal;
guidata(hObject,handles);
Si decidimos realizar una parada, nuestro tramo se compondrá únicamente de 1 sola
variable:
- Tiempo de parada: Tiempo en minutos que transcurre durante la parada.
3.3 Perfil de conducción: Cambio de marchas
RPM de cambio de marchas: Es el valor, en % sobre las rpm máximas del motor,
en el cual el conductor cambiará a la siguiente marcha, si se encuentra acelerandom y a la
anterior marcha si está reduciendo la velocidad. Es la variable más relevante para los
cálculos finales de consumo.
function RPMcambio_Callback(hObject, eventdata, handles)
Val=get(hObject,'String');
NewVal = str2double(Val);
if (NewVal>100)|(NewVal<1)
errordlg('El porcentaje del RPM ha de estar comprendido entre 1 y 100
');
else
handles.RPMcambio=NewVal ;
guidata(hObject,handles);
end
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
25
4- Fuerzas resultantes
Durante nuestro trayecto, el vehículo tendrá que superar una serie de fuerzas de resistencia
al avance para poder circular a la velocidad deseada:
Fuerza por rodadura: Al rodar un neumático cargado por una superficie dura se
deforma. Esto provoca una fuerza que se opone al movimiento del mismo, llamada
resistencia a la rodadura. En vehículos cargados y circulando a bajas velocidades, esta es la
resistencia que más energía requiere para su vencimiento, llegando a suponer hasta más de
un 40% de la fuerza total de resistencia al avance. Esta fuerza, es proporcional a la masa
del vehículo y depende del tipo de neumáticos, aumentando considerablemente cuando
están desinflados.
(1)
M ; Masa del vehículo [kg]
Fuerza por la pendiente: La fuerza de la gravedad evita que cualquier cuerpo
ascienda y cuando sube por una pendiente, es necesario vencer esta fuerza. De la misma
manera, cuando se desciende por una bajada, esta misma fuerza favorece el movimiento,
tendiendo a acelerar el vehículo. Esta fuerza depende directamente de la masa total del
vehículo y de la inclinación de la pendiente.
(2)
M ; Masa total del vehículo [kg]
g ; Gravedad [9,8 m/ ]
pend ; Pendiente [%]
Fuerza por aerodinámica: Cuando un vehículo avanza, desplaza el aire que tiene
delante y llena el hueco que deja detrás. Cuanto mayor es la velocidad, mayor es la fuerza
necesaria para vencer la resistencia aerodinámica. Dicha resistencia depende de la sección
frontal del vehículo, de su forma y de la densidad del aire y es mayor con el aumento de la
velocidad elevada al cuadrado.
(3)
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
26
; Densidad del aire [kg/ ]
sf ; Superficie frontal del vehículo [ ]
Cx ; Coeficiente aerodinámico[sin unidad de medida]
V ; Velocidad [m/s]
=1 atm/(0,082 atm·l/K/mol)/298 K·(28,64 g/mol)= 1,172 g/l = 1,172 kg/
Fuerza por aceleración: Al acelerar un vehículo, se necesita vencer una fuerza
proporcional a la masa del vehículo por la aceleración a la que es sometido. Hemos de
tener en cuenta que la aceleración puede ser negativa y por tanto esta fuerza también.
(4)
M ; Masa del vehículo [kg]
a ; Aceleración [m/ ]
Fuerza de resistencia total: es la suma de estas últimas 4 fuerzas. En la mayoría de
todo el recorrido será positiva, pero puede ser que haya tramos en que haya una gran
desaceleración o un gran desnivel en que sea negativa, en este caso hemos agregado la
posibilidad de que nuestro vehículo pueda absorber esta energía y almacenarla en una
batería con el freno regenerativo.
(5)
El cálculo de cada una de las fuerzas instantáneas y, por tanto, la de la fuerza total a
superar se calcularán al apretar el botón aceptar al introducir un nuevo tramo.
Encontraremos estos cálculos en nuestro archivo .m dentro de la función
pushaceptar_Callback, que más adelante explicaremos más detalladamente.
function pushaceptar_Callback(hObject, eventdata, handles)
.
.
.
.
for ti=round(tiempo(tramo-1)*60+2):1:round(tiempo(tramo)*60+1);
.
.
.
.
% variable para calcular todas las fuerzas durante cada tramo del
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
27
% recorrido
fuerza(ti)=(masa/10)+(masa/216*((vel(tramo)-vel(tramo-
1))/((tiempo(tramo)-tiempo(tramo-
1)))))+(0.5*1.29*sf*CX*(veloc(ti)/3.6)^2)+(masa*9.8*(pend/100)); %216
sale al pasar los km/h a m/s y los min a s -- 3,6*60 // 1,29 es la
densidad del aire
frodadura(ti)=masa/10;
facel(ti)=masa/216*((vel(tramo)-vel(tramo-1))/((tiempo(tramo)-
tiempo(tramo-1))));
faire(ti)=0.5*1.29*sf*CX*(veloc(ti)/3.6)^2;
fpend(ti)=masa*9.8*(pend/100);
if (fuerza(ti)<0)&(frenoreg==1)
energiareg(ti)=abs(fuerza(ti))*veloc(ti)/(3.6*3.6*10^6); %Energia
almacenada instantanea en la bateria al frenar,
%F*distancia recorrida (v/t) pasamos de km/h a m/s // 3.6*10^6
para pasar de J a Kw*h
else
energiareg(ti)=0;
end
.
.
.
Si en modo de edición de coche hemos seleccionado la casilla de freno regenerativo,
almacenaremos energía siempre que la fuerza total a superar sea negativa.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
28
5- Subprogramas
En este apartado explicaremos las GUI auxiliares que hemos implementado para el
correcto funcionamiento de todo el programa principal y como llamamos a estas GUI
desde el programa principal para poder ejecutarlas.
GUI parada: La abriremos cuando durante la ejecución del programa estemos
ingresando los datos de los tramos y deseemos que uno de ellos sea una parada. En este
caso tendremos que fijar la velocidad final del tramo anterior a 0 km/h. A continuación
pulsaremos el botón de introducir parada y se abrirá la GUI parada, en caso de no fijar la
velocidad anteriormente a 0, aparecerá un cuadro de error.
Figura 23. Error parada
En esta GUI lo que haremos es introducir el tiempo que deseamos estar parados durante
ese tramo en minutos.
Desde el archivo .m de nuestro programa principal así hemos llamado a esta GUI:
function parada_Callback(hObject, eventdata, handles)
global vel
global tramo
ans=questdlg('¿Desea introducir un paro?','paro','SI','NO','SI');
if strcmp(ans,'NO')
return;
elseif (strcmp(ans,'SI'))&(vel(tramo)==0)
parada %abrimos la GUI parada
uiwait %nos esperamos que acabe la gui parada para posteriormente
actualizar los datos por pantalla
global d
global t
global CONSMEDIO
global CONSMEDIOL
global segundosparada
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
29
velmed=d*60/t; %distancia total entre el tiempo total
ti=round(t*60+1)
CONSMEDIOINSTANTE=CONSMEDIO/(ti-1);
CONSMEDIOINSTANTEL=CONSMEDIOL/(ti-1-segundosparada);
set(handles.text21,'String',tramo);
set(handles.text38,'String',t);
set(handles.text46,'String',velmed);
set(handles.text61,'String',CONSMEDIOINSTANTE);
set(handles.text67,'String',CONSMEDIOINSTANTEL);
else
errordlg('Para efectuar una parada la velocidad actual debe ser O','
¡¡COCHE EN MARCHA!! ');
end
Y este es el código principal del archivo parada.m, al pulsar el botón aceptar de su ventana
correspondiente:
function aceptar_Callback(hObject, eventdata, handles)
global tramo
global vel
global dist
global alt
global d
global tiempo
global t
global fza
global masa
global tiem
global veloc
global acele
global fuerza
global facel
global frodadura
global faire
global fpend
global marcha
global pot
global consumo
global CONSMEDIO
global CONSMEDIOL
global consumoL
global revoluciones
global fzapar
global segundosparada
CONSMEDIO=0;
CONSMEDIOL=0;
tramo=tramo+1;
vel(tramo)=0;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
30
dist(tramo)=dist(tramo-1); %en una parada no se recorre ninguna distancia
alt(tramo)=alt(tramo-1); %en una parada no se cambia de altura
t=handles.tiempo+t
tiempo(tramo)=t; %pasamos el tiempo total a un vector para representarlo
en una gráfica
velmed=d*60/t; %distancia total entre el tiempo total
pend=0;
fza(tramo)=0;
rev=900;
for ti=round(tiempo(tramo-1)*60+2):1:round(tiempo(tramo)*60+1);
tiem(ti)=ti/60-1/60;
acele(ti)=0; %aceleracion en una parada es 0
veloc(ti)=0; %velocidad en una parada es 0
fuerza(ti)=0;
frodadura(ti)=0;
facel(ti)=0;
faire(ti)=0;
fpend(ti)=0;
marcha(ti)=0;
consumo(ti)=756/pot(rev);
consumoL(ti)=0.8;
segundosparada=segundosparada+1;
revoluciones(ti)=rev;
fzapar(ti)=0;
end
for i=2:1:ti;
CONSMEDIO=consumo(i)+CONSMEDIO;
CONSMEDIOL=consumoL(i)+CONSMEDIOL;
end
close parada
GUI velinitrayect: Esta GUI se abrirá en cuanto pulsemos su botón
correspondiente, antes de empezar a ingresar cada tramo del trayecto. En ella lo que
haremos es introducir la velocidad inicial de nuestro trayecto.
Código de llamada desde archivo principal .m:
function initrayecto_Callback(hObject, eventdata, handles)
global veloc
global tramo
if tramo>1
errordlg('La velocidad inicial ya ha sido introducida o asignada por
defecto',' ¡¡No se encuentra en el inicio del trayecto!! ');
else
velinitray
uiwait %nos esperamos que acabe la gui parada velinitray
set(handles.text58,'String',veloc(1));
end
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
31
Y este es el código principal del archivo velinitray.m :
function pushbutton1_Callback(hObject, eventdata, handles)
global veloc
veloc(1)=handles.velini;
close velinitray
GUI editarcoche: Se abrirá solamente si cuando abrimos el desplegable de
selección de coche, elegimos la opción de “editar coche”. En ella lo que haremos será
ingresar y editar todas las características de nuestro vehículo.
Código de llamada desde archivo principal .m, lo haremos dentro de la función “function
menucoches_Callback” al seleccionar la opción de “editar coche” dentro del desplegable
correspondiente:
else
cocheeditado
uiwait
marchas=6;
rpmpar=2000; %por defecto
Y este es el código principal del archivo editcoche.m :
function Aceptar_Callback(hObject, eventdata, handles)
global RPM
global CX
global sf
global par
global RT
global potencia
global masa
RPM=handles.RPMmax;
CX=handles.Cx;
sf=handles.SF;
par=handles.Par;
RT(1)=handles.RT1;
RT(2)=handles.RT2;
RT(3)=handles.RT3;
RT(4)=handles.RT4;
RT(5)=handles.RT5;
RT(6)=handles.RT6;
potencia=handles.pot;
masa=handles.Masa;
close cocheeditado
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
32
function checkbox1_Callback(hObject, eventdata, handles)
global frenoreg
if get(hObject,'Value')
frenoreg=1;
end
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
33
6- Variables de salida
Primeramente describiremos cada una de las funciones principales de nuestro programa .m,
en los cuales realizamos la mayoría de cálculos relacionados con los resultados finales que
mostramos por pantalla y de toda la serie de gráficas que veremos en los siguientes
apartados.
function pushaceptar_Callback: Esta es la función principal, en la cual
realizaremos todos los cálculos relacionados con el tramo.
function pushaceptar_Callback(hObject, eventdata, handles)
global tramo
global vel
global dist
global alt
global d
global tiempo
global t
global masa
global CX
global sf
global marcha
global vef
global selec
global tiem
global veloc
global acele
global dista
global veldis
global fuerza
global facel
global frodadura
global faire
global fpend
global RT
global pot
global CE
global CONSMEDIO
global consumo
global CONSMEDIOL
global consumoL
global RPM
global frenoreg
global energiareg
global mom6
global mom5
global revoluciones
global fzapar
global segundosparada
rpmcambio=handles.RPMcambio*RPM/100;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
34
for j=1:6;
vef(j)=rpmcambio*RT(j)/1000; %velocidad a la que cada marcha empieza
a tener la máxima eficiencia
end
if vef(6)==0 %si nuestro coche solo tiene 5 marchas
vef(5)=500; %le asignamos un valor muy alto para que no entre la
6ªmarcha
end
if selec==0
errordlg('- Seleccione un coche
-',' ¡¡COCHE NO SELECCIONADO!! ');
else
tramo=tramo+1;
CONSMEDIO=0;
CONSMEDIOL=0;
enalm=0;
veldis(1)=veloc(1);
vel(1)=veloc(1);
if veloc(1)>vef(5)
marcha(1)=6;
elseif veloc(1)>vef(4)
marcha(1)=5;
elseif veloc(1)>vef(3)
marcha(1)=4;
elseif veloc(1)>vef(2)
marcha(1)=3;
elseif veloc(1)>vef(1) %cuando ponemos segunda y el coche ya tiene
velocidad nunca reducimos a 1a
marcha(1)=2;
elseif veloc(1)>0
marcha(1)=1;
else
marcha(1)=0;
end
tc(1)=0;
vel(tramo)=handles.velocidad; %vamos introduciendo a cada vector en cada
posicion segun el tramo que nos encontramos su vel y dist
if (vel(tramo)==0)&(vel(tramo-1)==0)
vel(tramo)=[]; %se borra el valor que hemos obtenido para detectar el
error de
%introducir mal una parada, sino tendriamos un valor mas en el vector
velocidad y tendriamos problemas al visualizar graficas
tramo=tramo-1; %si sale el error el tramo no se ha de incrementar
errordlg('Para efectuar una parada pulsa el boton indicado','
¡¡INTRODUCE PARADA!! '); %para que no siga el programa cuando no se
%introduce correctamente una parada, sino nos daria un tiempo infinito
else
d=handles.distancia+d; %incrementamos la distancia introducida por el
usuario
dist(tramo)=d;
alt(tramo)=handles.altura;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
35
t=(handles.distancia*60/(((vel(tramo)-vel(tramo-1))/2)+vel(tramo-1)))+t;
%sacada de la formula del mov rec unif acc multiplicado
%por 60 para los minutos
tiempo(tramo)=t; %pasamos el tiempo total a un vector para representarlo
en una gráfica
velmed=d*60/t; %distancia total entre el tiempo total
pend=0.1*(alt(tramo)-alt(tramo-1))/(dist(tramo)-dist(tramo-1)); %el 0,1
sale de 100/1000
%- 100 pq es un porcentaje y dividido por 1000 porque hay que pasar km a
metros
acele(1)=1/216*(vel(2)-vel(1))/(tiempo(2)-tiempo(1));
fuerza(1)=(masa/10)+(masa/216*((vel(2)-vel(1))/((tiempo(2)-tiempo(1)))));
for ti=round(tiempo(tramo-1)*60+2):1:round(tiempo(tramo)*60+1); %el
incremento de tiempo en cada instante es 1s. le sumamos 1
%porque en el tiem(1)=o. Redondeamos el tiempo.
tiem(ti)=ti/60-1/60; %tiempo en minutos. Le restamos 1 porque arriba
se lo sumamos, sino iriamos 1s mas adelantados
acele(ti)=1/216*(vel(tramo)-vel(tramo-1))/(tiempo(tramo)-
tiempo(tramo-1)); %aceleracion en m/s
veloc(ti)=acele(ti)*3.6+veloc(ti-1); %velocidad en km/h //mas
adelante introducir la vel.inicial del trayecto por pantalla veloc(1)=
% variable para calcular todas las fuerzas durante cada tramo del
% recorrido
fuerza(ti)=(masa/10)+(masa/216*((vel(tramo)-vel(tramo-
1))/((tiempo(tramo)-tiempo(tramo-
1)))))+(0.5*1.29*sf*CX*(veloc(ti)/3.6)^2)+(masa*9.8*(pend/100)); %216
sale al pasar los km/h a m/s y los min a s -- 3,6*60 // 1,29 es la
densidad del aire
frodadura(ti)=masa/10;
facel(ti)=masa/216*((vel(tramo)-vel(tramo-1))/((tiempo(tramo)-
tiempo(tramo-1))));
faire(ti)=0.5*1.29*sf*CX*(veloc(ti)/3.6)^2;
fpend(ti)=masa*9.8*(pend/100);
if (fuerza(ti)<0)&(frenoreg==1)
energiareg(ti)=abs(fuerza(ti))*veloc(ti)/(3.6*3.6*10^6); %Energia
almacenada instantanea en la bateria al frenar,
%F*distancia recorrida (v/t) pasamos de km/h a m/s // 3.6*10^6
para pasar de J a Kw*h
else
energiareg(ti)=0;
end
if (marcha(ti-
1)>=5)&(veloc(ti)>vef(5))&(mom6(round(veloc(ti)))>fuerza(ti))
marcha(ti)=6;
elseif (marcha(ti-
1)>=4)&(veloc(ti)>vef(4))&(mom5(round(veloc(ti)))>fuerza(ti))
marcha(ti)=5;
elseif (marcha(ti-1)>=3)&(veloc(ti)>vef(3))
marcha(ti)=4;
elseif (marcha(ti-1)>=2)&(veloc(ti)>vef(2))
marcha(ti)=3;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
36
elseif ((marcha(ti-1)>=1)&(veloc(ti)>vef(1)))|((marcha(ti-
1)==2)&(veloc(ti)>2)) %cuando ponemos segunda y el coche ya tiene
%velocidad nunca reducimos a 1a
marcha(ti)=2;
elseif ((marcha(ti-1)==0)|(marcha(ti-
1)==1))&(veloc(ti)>0)&(acele(ti)>=0) %solo ponemos 1a cuando estamos
acelerando o manteniendo
%velocidad, no desacelerando
marcha(ti)=1;
else
marcha(ti)=0;
end
if marcha(ti)>0
rev=veloc(ti)*1000/RT(marcha(ti)); %rev. del motor en funcion de
la marcha seleccionada
fuerzapar=fuerza(ti)*RT(marcha(ti))/1000; %par entregado del
motor en función de la marcha seleccionada
if fuerzapar<1 %si la fuerza es igual o menor que 0, el coche va
con una marcha puesto reduciendo y
%solamente entra aire en el motor. consumo=0
consumo(ti)=0;
consumoL(ti)=0;
else
consumo(ti)=CE(round(rev/10),round(fuerzapar));
consumoL(ti)=(14/44)*(consumo(ti)*pot(round(rev))*100)/(840*veloc(ti));
%Consumo en L/100KM hemos pasado de grCO2/kwh con
%factores de conversión
end
else
rev=900;
fuerzapar=0;
potralenti=pot(rev);
%consumo ralenti gasolina=0,9L/h = 756gr/h
consumo(ti)=(756/potralenti)*44/14;
consumoL(ti)=0.8; %si la velocidad es 0, el cálculo de la
anterior fórmula dará infinito.
end%hemos optado por asignar un valor estandard de consumo
%en Ralentí en L/100KM
revoluciones(ti)=rev; %almacenamos para poderlo mostrar en el grafico
de RPM/par/CE del trayecto
fzapar(ti)=fuerzapar; %almacenamos para poderlo mostrar en el grafico
de RPM/par/CE del trayecto
end
for dis=round(dist(tramo-1)*1000+2):1:round(dist(tramo)*1000+1); %para
calcular la velocidad en funcion de la distancia que recorremos
dista(dis)=dis/1000-1/1000;
veldis(dis)=sqrt(2/216*(vel(tramo)-vel(tramo-1))/(tiempo(tramo)-
tiempo(tramo-1))+(veldis(dis-1)/3.6)^2)*3.6;
end
%consumo medio del trayecto. Dividimos entre ti (s totales) pq es el
%numero de divisiones totales.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
37
for i=2:1:ti;
CONSMEDIO=consumo(i)+CONSMEDIO;
enalm=energiareg(i)+enalm;
CONSMEDIOL=consumoL(i)+CONSMEDIOL;
end
CONSMEDIOINSTANTE=CONSMEDIO/(ti-1);
CONSMEDIOINSTANTEL=CONSMEDIOL/(ti-1-segundosparada);%segundos que
permanecemos en parada, se lo restaremos al tiempo total al calcular el
cosumo en l/100km
set(handles.text21,'String',tramo);
set(handles.text38,'String',t);
set(handles.text43,'String',d);
set(handles.text46,'String',velmed);
set(handles.text52,'String',pend);
set(handles.text58,'String',vel(tramo));
set(handles.text61,'String',CONSMEDIOINSTANTE);
set(handles.text65,'String',enalm);
set(handles.text67,'String',CONSMEDIOINSTANTEL);
end
end
function pushreset_Callback: Resetearemos y inicializaremos todas las variables
correspondientes.
function pushreset_Callback(hObject, eventdata, handles)
global tramo
global d
global t
global vel
global dist
global alt
global tiempo
global fza
global marcha
global tiem
global veloc
global acele
global dista
global veldis
global fuerza
global facel
global frodadura
global faire
global fpend
global CONSMEDIO
global CONSMEDIOL
global energiareg
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
38
global segundosparada
segundosparada=0;
energiareg=[];
CONSMEDIOL=0;
CONSMEDIO=0;
facel=[];
frodadura=[];
faire=[];
fpend=[];
fuerza=[];
dista=[];
veldis=[];
acele=[];
tiem=[];
veloc=[];
marcha=[];
fza=[];
vel=[];
dist=[];
alt=[];
tiempo=[];
d=0;
t=0;
tramo=1;
velmed=0;
pend=0;
vel(tramo)=0;
veloc(1)=0;
CONSMEDIOINSTANTE=0;
CONSMEDIOINSTANTEL=0;
enalm=0;
set(handles.text21,'String',tramo);
set(handles.text38,'String',t);
set(handles.text43,'String',d);
set(handles.text46,'String',velmed);
set(handles.text52,'String',pend);
set(handles.text58,'String',vel(tramo));
set(handles.text61,'String',CONSMEDIOINSTANTE);
set(handles.text65,'String',enalm);
set(handles.text67,'String',CONSMEDIOINSTANTEL);
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
39
function menucoches_Callback: En este caso, tras la elección del coche
correspondiente, realizaremos los cálculos relacionados con las características de los
coches: Par motor en función de las rpm, fuerza de cada marcha en función de la
velocidad, potencia del motor en función de las rpm y del consumo específico.
function menucoches_Callback(hObject, eventdata, handles)
% menu de la elección del coche
global masa
global sf
global CX
global selec
global vm
global fuerzam
global RT
global par
global wpar
global mom
global mom1
global mom2
global mom3
global mom4
global mom5
global mom6
global w
global pot
global potencia
global CE
global RPM
global figura
global ww
global mm
global diesel
val =get(handles.menucoches,'Value');
%Segun el coche escogido, modificaremos las variables del vehículo.
if val==1
RPM=6500;
CX=0.3;
sf=2.55; %superficie frontal
par=240;
marchas=6;
RT=[8.1 15 26.6 33.5 41.1 48.4]; %Relación de transmisión de cada
marcha
potencia=156;
masa=1371;
rpmpar=2600; %rango de rpms en que se encuentra en par max
imagen = imread('C4.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
40
elseif val==2
RPM=6800;
CX=0.34;
sf=2.12;
par=275;
marchas=6;
RT=[8.9 15.5 22.1 28.7 35.9 42.5];
potencia=200;
masa=1235;
rpmpar=2800;
imagen = imread('peu208.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==3
RPM=6500;
CX=0.37;
sf=1.97;
par=260;
marchas=6;
RT=[9.3 14.4 20.7 26.9 32.3 37.6];
potencia=184;
masa=1260;
rpmpar=2770;
imagen = imread('MINI.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==4
RPM=6500;
CX=0.26;
sf=2.15;
par=570;
marchas=6;
RT=[7.8 13.9 22.4 30.5 41.0 51.9];
potencia=362;
masa=1560;
rpmpar=0;
imagen = imread('i8.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==5
RPM=5300;
CX=0.29;
sf=2.19;
par=320;
marchas=6;
RT=[8.9 17.1 26.7 38.5 48.9 58.4];
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
41
potencia=150;
masa=1354;
rpmpar=1250;
imagen = imread('golf.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==6
RPM=5200;
CX=0.33;
sf=2.04;
par=250;
marchas=5;
RT=[9.2 16.4 27.4 40.2 52.7 0];
potencia=105;
masa=1215;
rpmpar=1000;
imagen = imread('audia1.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==7
RPM=5300;
CX=0.33;
sf=2.60;
par=380;
marchas=6;
RT=[9.6 17.7 27.1 37 47.6 57];
potencia=150;
masa=1520;
rpmpar=800;
imagen = imread('mazda.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==8
RPM=6500;
CX=0.28;
sf=2.20;
par=250;
marchas=6;
RT=[8.0 14.1 25.6 36.7 42.1 49.3];
potencia=156;
masa=1370;
rpmpar=2800;
imagen = imread('mercedes.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
42
imshow(imagen); %Presenta la imagen
elseif val==9
RPM=6500;
CX=0.35;
sf=2.31;
par=240;
marchas=6;
RT=[8.2 14.6 20.2 26.2 33.6 40.0];
potencia=190;
masa=1375;
rpmpar=3200;
imagen = imread('juke.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==10
RPM=5000;
CX=0.37;
sf=2.60;
par=320;
marchas=6;
RT=[8.2 15.0 23.1 32.3 42.3 51.3];
potencia=150;
masa=1724;
rpmpar=0;
imagen = imread('koleos.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==11
RPM=4400;
CX=0.28;
sf=2.71;
par=350;
marchas=6;
RT=[9.3 16.5 26.3 37.5 48.2 58.1];
potencia=136;
masa=1507;
rpmpar=750;
imagen = imread('s60.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==12
RPM=6800;
CX=0.30;
sf=2.09;
par=370;
marchas=6;
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
43
RT=[9.8 17.8 25.1 32.2 39.4 47.4];
potencia=230;
masa=1305;
rpmpar=2700;
imagen = imread('auditt.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==13
RPM=7000;
CX=0.33;
sf=1.90;
par=350;
marchas=6;
RT=[9.1 16.7 22.8 29.4 38.5 43.4];
potencia=280;
masa=1458;
rpmpar=0;
imagen = imread('lotevora.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==14
RPM=6800;
CX=0.28;
sf=2.26;
par=210;
marchas=6;
RT=[8.1 13.9 20.9 26.4 32.4 39.9];
potencia=165;
masa=1295;
rpmpar=0;
imagen = imread('mazdasky.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==15
RPM=4000;
CX=0.31;
sf=2.30;
par=450;
marchas=6;
RT=[9.7 17.0 25.9 34.9 46.9 58.7];
potencia=204;
masa=1735;
rpmpar=0;
imagen = imread('c5.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
44
axis off;
imshow(imagen); %Presenta la imagen
elseif val==16
RPM=6500;
CX=0.30;
sf=2.13;
par=110;
marchas=5;
RT=[7.5 13.7 20.1 27.2 34.0 0];
potencia=80;
masa=1111;
rpmpar=1000;
imagen = imread('Note.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
elseif val==17
RPM=6350;
CX=0.31;
sf=2.45;
par=95;
marchas=5;
RT=[6.8 12.8 18.0 23.7 30.1 0];
potencia=68;
masa=1048;
rpmpar=1000;
imagen = imread('c3.jpg'); %Leer imagen
axes(handles.axes2); %Carga la imagen del coche seleccionado en
bckground en este caso para mostrarla en axes2
axis off;
imshow(imagen); %Presenta la imagen
else
cocheeditado
uiwait
marchas=6;
rpmpar=2000; %por defecto
end
w=[]; %la inicializamos por si escogemos otra vez otro coche
pot=[];
wpar=RPM/2; %variable que indica el punto de RPM donde el par es
maximo
porpar=rpmpar*100/RPM; %porcentage del rango de valores de RPM en
par max
set(handles.text23,'String',RPM);
set(handles.text22,'String',CX);
set(handles.text25,'String',sf);
set(handles.text24,'String',par);
set(handles.text31,'String',potencia);
set(handles.text26,'String',RT(1));
set(handles.text28,'String',RT(2));
set(handles.text27,'String',RT(3));
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
45
set(handles.text29,'String',RT(4));
set(handles.text30,'String',RT(5));
set(handles.text55,'String',RT(6));
set(handles.text33,'String',masa);
set(handles.text37,'String',marchas);
selec=1;
for j=1:6;
vm(j)=RPM*RT(j)/1000; %velocidad máxima de cada marcha
fuerzam(j)=par*1000/RT(j); %fuerza máxima de cada marcha
end
w=1:1:RPM;
if porpar>18
mom=(-((abs(w-wpar)).^9)*par/(wpar^9))+par;
w1=0:1:vm(1);
wpar=vm(1)/2;
mom1=((-((abs(w1-wpar)).^9)*par/(wpar^9))+par)*1000/RT(1);
w2=0:1:vm(2);
wpar=vm(2)/2;
mom2=((-((abs(w2-wpar)).^9)*par/(wpar^9))+par)*1000/RT(2);
w3=0:1:vm(3);
wpar=vm(3)/2;
mom3=((-((abs(w3-wpar)).^9)*par/(wpar^9))+par)*1000/RT(3);
w4=0:1:vm(4);
wpar=vm(4)/2;
mom4=((-((abs(w4-wpar)).^9)*par/(wpar^9))+par)*1000/RT(4);
w5=0:1:vm(5);
wpar=vm(5)/2;
mom5=((-((abs(w5-wpar)).^9)*par/(wpar^9))+par)*1000/RT(5);
w6=0:1:vm(6);
wpar=vm(6)/2;
mom6=((-((abs(w6-wpar)).^9)*par/(wpar^9))+par)*1000/RT(6);
elseif porpar<6
mom=(-((abs(w-wpar)).^5)*par/(wpar^5))+par;
w1=0:1:vm(1);
wpar=vm(1)/2;
mom1=((-((abs(w1-wpar)).^5)*par/(wpar^5))+par)*1000/RT(1);
w2=0:1:vm(2);
wpar=vm(2)/2;
mom2=((-((abs(w2-wpar)).^5)*par/(wpar^5))+par)*1000/RT(2);
w3=0:1:vm(3);
wpar=vm(3)/2;
mom3=((-((abs(w3-wpar)).^5)*par/(wpar^5))+par)*1000/RT(3);
w4=0:1:vm(4);
wpar=vm(4)/2;
mom4=((-((abs(w4-wpar)).^5)*par/(wpar^5))+par)*1000/RT(4);
w5=0:1:vm(5);
wpar=vm(5)/2;
mom5=((-((abs(w5-wpar)).^5)*par/(wpar^5))+par)*1000/RT(5);
w6=0:1:vm(6);
wpar=vm(6)/2;
mom6=((-((abs(w6-wpar)).^5)*par/(wpar^5))+par)*1000/RT(6);
else
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
46
mom=(-((abs(w-wpar)).^7)*par/(wpar^7))+par;
w1=0:1:vm(1);
wpar=vm(1)/2;
mom1=((-((abs(w1-wpar)).^7)*par/(wpar^7))+par)*1000/RT(1);
w2=0:1:vm(2);
wpar=vm(2)/2;
mom2=((-((abs(w2-wpar)).^7)*par/(wpar^7))+par)*1000/RT(2);
w3=0:1:vm(3);
wpar=vm(3)/2;
mom3=((-((abs(w3-wpar)).^7)*par/(wpar^7))+par)*1000/RT(3);
w4=0:1:vm(4);
wpar=vm(4)/2;
mom4=((-((abs(w4-wpar)).^7)*par/(wpar^7))+par)*1000/RT(4);
w5=0:1:vm(5);
wpar=vm(5)/2;
mom5=((-((abs(w5-wpar)).^7)*par/(wpar^7))+par)*1000/RT(5);
w6=0:1:vm(6);
wpar=vm(6)/2;
mom6=((-((abs(w6-wpar)).^7)*par/(wpar^7))+par)*1000/RT(6);
end
for j=1:RPM;
pot(j)=mom(j)*j/9550; %calculo de la potencia en KW- dividmos entre
1000 y 60/2pi que es una vuelta en 1min en segundos(9,55)--
1000*9,55=9550
end
CEmin=200; % ConsumO específicO mínimO en [ gr / kWh ]
if diesel==1
% Datos carácteristicos Consumo Específico coche Diesel
WCEmin=RPM/2.4894; % RPM consumo esp. mínimo
MCEmin=par*0.8; % Momento consumo esp. mínimo
CEdal=CEmin*1.0557; % Momentos elevados
CEbai=CEmin*2.4229; % Momentos bajos
CEesq=CEmin*1.1226; % RPM bajos
CEdre=CEmin*1.3837; % RPM elevados
else
% Datos carácteristicos Consumo Específico coche Gasolina
WCEmin=RPM/2.0227; % RPM consumo esp. mínimo
MCEmin=par*0.8; % Momento consumo esp. mínimo
CEdal=CEmin*1.1855; % Momentos elevados
CEbai=CEmin*2.2013; % Momentos bajos
CEesq=CEmin*1.0734; % RPM bajos
CEdre=CEmin*1.2674; % RPM elevados
% Lista general de velocidades y momentos del motor
ww=[0:10:RPM]'; %cada 10 pq sino tarda mucho en cargar el grafico
mm=[0:1:par];
for i=1:RPM/10+1
for j=1:par+1
CE(i,j)=0;
end
end
for i=1:WCEmin/10+1
for j=1:MCEmin
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
47
if j>mom(i*10-9); %para que vaya a la par que las RPM reales - 1, 11,
21...
CE(i,j)=0;
else
CE(i,j)=CEmin+0.7*((((MCEmin-mm(j))^2)/(MCEmin^2))*CEbai+(((WCEmin-
ww(i))^2)/(WCEmin^2))*CEesq*0.5);
end
end
for j=round(MCEmin):par
if j>mom(i*10-9);
CE(i,j)=0;
else
CE(i,j)=CEmin++0.7*((((mm(j)-MCEmin)^2)/(MCEmin^2))*CEdal+(((WCEmin-
ww(i))^2)/(WCEmin^2))*CEesq*0.5);
end
end
end
for i=round(WCEmin/10+1):RPM/10+1
for j=1:MCEmin
if j>mom(i*10-10); %pq mom(RPM+1) no existe
CE(i,j)=0;
else
CE(i,j)=CEmin+0.7*((((MCEmin-mm(j))^2)/(MCEmin^2))*CEbai+(((ww(i)-
WCEmin)^2)/(WCEmin^2))*CEdre*0.5);
end
end
for j=round(MCEmin):par
if j>mom(i*10-10);
CE(i,j)=0;
else
CE(i,j)=CEmin+0.7*((((mm(j)-MCEmin)^2)/(MCEmin^2))*CEdal+(((ww(i)-
WCEmin)^2)/(WCEmin^2))*CEdre*0.5);
end
end
end
guidata(hObject, handles);
6.1 Gráficas
Esta será nuestra función “function menugraficas_Callback” en la cual representaremos la
gráfica correspondiente. Tendremos la opción de mostrarla en la pantalla principal del
programa o en una pantalla nueva para poder editarla.
function menugraficas_Callback(hObject, eventdata, handles)
global dist
global vel
global alt
global tiempo
global masa
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
48
global vm
global mom
global mom1
global mom2
global mom3
global mom4
global mom5
global mom6
global w
global marcha
global tiem
global veloc
global acele
global dista
global veldis
global fuerza
global facel
global frodadura
global faire
global fpend
global pot
global figura
global CE
global ww
global mm
global revoluciones
global fzapar
global consumo
rotate3d off;
fun =get(handles.menugraficas,'Value');
axes(handles.axes1); %necesario ponerlo para que las graficas que
queremos visualizar sean representadas en axes1 y no en axes2
%para poder mostrar la grafica y editarla
if figura==1
figure
end
switch fun
case 1
plot(w,mom);
xlabel('RPM');
ylabel('par motor (N*m)');
case 2
plot(w,pot);
xlabel('RPM');
ylabel('potencia (kW)');
case 3
w1=0:1:vm(1); %son el rango de valores y su precision de cada
velocidad de cada marcha
w2=0:1:vm(2);
w3=0:1:vm(3);
w4=0:1:vm(4);
w5=0:1:vm(5);
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
49
w6=0:1:vm(6);
plot(w1,mom1, w2,mom2, w3,mom3, w4,mom4, w5,mom5, w6,mom6);
xlabel('Velocidad (km/h)');
ylabel('Fuerza (N)');
legend('1º', '2º', '3º', '4º', '5º', '6º');
case 4
[ha,h1,h2]=plotyy(tiem,marcha, tiem,veloc); %dibuja las 2 graficas con
diferenjes escalas de ejes Y
xlabel('Tiempo (min)');
axes(ha(1))
ylabel('Marcha');
axes(ha(2))
ylabel('Velocidad (km*h)');
grid on;
case 5
plot(dist,alt);
xlabel('Distancia (km)');
ylabel('Altura (m)');
case 6
plot(tiem,veloc);
xlabel('Tiempo (min)');
ylabel('Velocidad (km/h)');
case 7
plot(tiem,acele);
xlabel('Tiempo (min)');
ylabel('Aceleración (m/s2)');
case 8
plot(dista,veldis);
xlabel('Distancia (km)');
ylabel('Velocidad (km/h)');
case 9
plot(tiem,fuerza, tiem,frodadura, tiem,facel, tiem,faire, tiem,fpend);
xlabel('Tiempo (min)');
ylabel('Fuerzas Resultantes (N)');
legend('F.Total', 'F.Rodadura', 'F.Aceleracion', 'F.Aire',
'F.Pendiente')
case 10
mesh(ww,mm',CE');
rotate3d on;
xlabel('velocidad motor w(rpm)')
ylabel('momento del motor (N·m)')
zlabel('Consumo específico CE(g /kWh)')
case 11
mesh(ww,mm',CE');
xlabel('velocidad motor w(rpm)')
ylabel('momento del motor (N·m)')
zlabel('Consumo específico CE(g /kWh)')
hold on;
plot3(revoluciones,fzapar,consumo);
view(2);
hold off;
end
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
50
guidata(hObject, handles);
6.1.1 Gráficas características de los vehículos
Par motor: Esta curva del par (N m) en función de la velocidad de giro del motor
nos indica cual es el par máximo a unas determinadas RPM. Nos encontramos que el punto
de máximo par se encuentra justamente en la mitad del valor máximo de RPM del motor.
Figura 24. Par Motor
La fórmula estándar del par del motor es:
(6)
w ; Velocidad de giro del motor [RPM]
; Par máximo [N m]
; Max. Velocidad de giro/2 [RPM]
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
51
Aunque depende también del rango de valores de RPM que se encuentra en par máximo,
por eso en nuestro programa hemos ampliado las opciones de esta función con estas 2
fórmulas:
Si el rango de RPM en par máximo supera el 18% del total de RPM:
(7)
Si el rango de RPM en par máximo es inferior al 6% del total de RPM:
(8)
Potencia: La curva de la potencia (kW) en función de la velocidad de giro del
motor nos indica cual es la potencia máxima del motor a unas determinadas RPM dentro
del rango. Nos encontramos que el punto de máxima potencia se encuentra desplazado
hacia la derecha en comparación con la curva del par motor, justamente cerca de la
velocidad angular en donde empieza a decaer el par. Esto se debe a que la potencia es igual
al par motor por la velocidad de giro.
Figura 25. Potencia
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
52
La fórmula estándar de la potencia es:
(9)
w ; Velocidad de giro del motor [rad/s]
; Par motor[N m]
Consumo específico: El consumo especifico (g CO2 / kWh) indica cuanta masa de
combustible tiene que consumir el motor para generar una unidad de energía. A
continuación podremos ver como varia significativamente en función del punto bajo la
curva en que nos encontramos.
La información del consumo especifico para cada uno de los puntos bajo la curva de la
función par/velocidad es la información más relevante utilizada en los aplicativos de
cálculo de consumo de vehículos. Esta información la tendría que dar el fabricante del
motor ya que la ha tenido que determinar empíricamente en un banco de pruebas y es
característica de cada uno de los motores. Suele ser una información reservada e
inaccesible, por tanto en nuestro proyecto hemos tenido que hacer una determinación
genérica de la forma de la función, observando algunas funciones del Consumo específico
en (R. Carreras, A. Comas, A. Calvo; 1994 ; “Motores de combustión interna,
fundamentos”) i (Miguel de Castro Vicente ; 1996 ; “El motor: de cuatro tiempos / de dos
tiempos”).
La función del consumo específico tiene una representación grafica inversa a la de
par/velocidad. Decrece a medida que aumentan las RPM hasta llegar al punto de menor
consumo y a partir de ahí crece poco a poco hasta que llegamos al límite del régimen de
revoluciones.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
53
Figura 26. Consumo específico
Como vemos en la gráfica, las zonas azules representan los consumos específicos más
bajos y los colores más rojizos los más altos.
Fuerza/Velocidad en función de la marcha:
Figura 27. Fuerza/velocidad en función de la marcha
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
54
6.1.2 Gráficas del trayecto
Altura/Distancia: En este gráfico visualizaremos la altura (m) en que nos
encontramos en función de la distancia (km) recorrida en cada tramo.
Figura 28. Altura/Distancia
Velocidad/Tiempo: Visualizaremos la velocidad (km/h) en función del tiempo
(min) de cada tramo y del total del trayecto. Hemos considerado que tendremos una
aceleración constante y por tanto un movimiento rectilíneo uniformemente acelerado.
(10)
; aceleración [m/ ]
; Tiempo [s]
; velocidad inicial del tramo [m/s]
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
55
Figura 29. Velocidad/Tiempo
Aceleración/Tiempo: Visualizaremos la aceleración (m/ ) en función de tiempo
(min). Como hemos comentado anteriormente esta será constante en cada tramo.
Figura 30. Aceleración/Tiempo
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
56
Velocidad/Distancia: Visualizaremos la velocidad (km/h) en función de la
distancia (km) recorrida.
(11)
; aceleración [m/ ]
; distancia [m]
; distancia inicial del tramo [m]
; velocidad inicial del tramo [m/s]
Figura 31. Velocidad/Distancia
Como podemos ver, la velocidad no evoluciona con una pendiente constante cuando hay
aceleración.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
57
Marcha/Velocidad/Tiempo: Visualizaremos la marcha que hemos seleccionado en
función de la velocidad (km/h) instantánea que nos encontramos. Esta función dependerá
principalmente del % de RPM que el usuario ha seleccionado para el cambio de marchas.
Figura 32. Marcha/Velocidad/Tiempo
Fuerzas/Tiempo: Visualizaremos todas las fuerzas resultantes (N) a lo largo de
todo el recorrido en función del tiempo (min) del trayecto.
Figura 33. Fuerzas resultantes
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
58
Par/RPM/CE: En esta ocasión, veremos cómo trabaja el motor durante el trayecto, y su
eficiencia, en cuanto al consumo específico en grCO2/kWh, en cada instante del trayecto.
Es una de las gráficas más interesantes ya que podremos ver si con nuestro modelo de
conducción nos estamos acercando a las zonas de más eficiencia en cuanto a emisiones de
CO2.
Figura 34. Funcionamiento y eficiencia del motor durante el trayecto
Como podemos ver, el recorrido del coche en función del RPM y momento del motor es
dibujado con una serie de vectores de color azul sobre el gráfico del CE.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
59
6.2 Cálculos
Todos los cálculos mostrados por pantalla relacionados son el trayecto serán realizados
dentro de la función, que hemos mostrado anteriormente, function pushaceptar_Callback.
Tiempo del trayecto: Tiempo (min) total acumulado del trayecto. Iremos sumando
el tiempo de cada tramo al total acumulado.
Distancia total: Distancia (km) total recorrida. Simplemente iremos sumando la
distancia de cada tramo introducida por el usuario a la total acumulada anteriormente.
Velocidad media: La velocidad media (km/h) de todo el trayecto la calcularemos
dividiendo la distancia total entre el tiempo total.
Pendiente del tramo actual: La pendiente (%) la conseguiremos dividiendo el
incremento de altura de cada tramo entre la distancia recorrida en el tramo actual.
Consumo medio: Calcularemos y mostraremos el consumo medio de todo el
trayecto en 2 unidades diferentes. El consumo medio de combustible en l/100km y el
consumo específico medio en grCO2/kWh.
El consumo medio de combustible lo hemos obtenido a partir del consumo específico, y es
proporcional al CE y a la potencia y inversamente proporcional a la velocidad.
Energía almacenada: Si el usuario ha seleccionado la opción del freno
regenerativo, acumularemos energía en nuestra batería siempre que la suma de fuerzas
totales sea inferior a 0. En este caso mostraremos por pantalla la energía almacenada en
kWh
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
60
7- Resultados y pruebas
En este apartado podremos realizar comparaciones variando los tipos de conducción, así
como con diferentes tipos de vehículos.
Caso 1: Pulse&glide VS Vel.constante
Coche seleccionado: Citroën C3 Tonic PureTech
- Características:
Figura 35. Caso 1 C3
RPM de cambio de marcha:
Figura 36. Caso 1 %RPM
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
61
Pulse&glide:
Datos del trayecto:
Nº
Tramo
Velocidad
inicial (km/h)
Velocidad
final (km/h)
Altura
(m)
Distancia
(km)
Distancia
total (km)
1 80 100 0 0.5 0.5
2 100 80 0 0.5 1
3 80 100 10 0.5 1.5
4 100 80 20 0.5 2
5 80 100 20 0.5 2’5
6 100 80 20 0.5 3
7 80 100 10 0.5 3’5
8 100 80 0 0.5 4
9 80 100 0 0.5 4’5
Figura 37. Caso 1 pulse&glide
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
62
Vel.constante:
Datos del trayecto:
Nº
Tramo
Velocidad
inicial (km/h)
Velocidad
final (km/h)
Altura
(m)
Distancia
(km)
Distancia
total (km)
1 90 90 0 1 1
2 90 90 10 0.5 1.5
3 90 90 20 0.5 2
4 90 90 20 1 3
5 90 90 10 0.5 3.5
6 90 90 0 0.5 4
7 90 90 0 0.5 4.5
Figura 38. Caso 1 Velocidad constante
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
63
Resultados:
Pulse&glide:
- Cálculos:
Figura 39. Caso 1 pulse&glide cálculos
Vel.constante:
- Cálculos:
Figura 40. Caso 1 velocidad constante cálculos
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
64
Pulse&glide:
- Gráficas:
Figura 41. Caso 1 pulse&glide marchas
Figura 42. Caso 1 pulse&glide fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
65
Vel.constante:
- Gráficas:
Figura 43. Caso 1 pulse&glide marchas
Figura 44. Caso 1 velocidad constante fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
66
Pulse&glide:
- Zonas de trabajo del motor durante el trayecto:
Figura 45. Caso 1 pulse&glide trabajo motor
Vel.constante:
- Zonas de trabajo del motor durante el trayecto:
Figura 46. Caso 1 velocidad constante trabajo motor
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
67
Caso 2: RPM cambio marcha bajo VS RPM cambio marcha alto
Coche seleccionado: Nissan Note Visia 1.2
- Características:
Figura 47. Caso 2 Nissan Note
Datos del trayecto:
Nº
Tramo
Velocidad
inicial (km/h)
Velocidad
final (km/h)
Altura
(m)
Distancia
(km)
Distancia
total (km)
1 0 50 0 0.7 0.7
2 50 50 0 2 2.7
3 50 100 0 0.6 3.3
4 100 100 0 3 6.3
5 100 50 0 0.3 6.6
6 50 50 0 1.4 8
7 50 0 0 0.5 8.5
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
68
Figura 48. Caso 2 Trayecto
RPM cambio marcha bajo:
RPM de cambio de marcha:
Figura 49. Caso 2 %RPM bajo
RPM cambio marcha alto:
RPM de cambio de marcha:
Figura 50. Caso 2 %RPM alto
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
69
RPM cambio marcha bajo:
Resultados:
- Cálculos:
Figura 51. Caso 2 %RPM bajo cálculos
RPM cambio marcha alto:
Resultados:
- Cálculos:
Figura 52. Caso 2 %RPM alto cálculos
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
70
RPM cambio marcha bajo:
- Gráficas:
Figura 53. Caso 2 %RPM bajo marchas
Figura 54. Caso 2 %RPM bajo fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
71
RPM cambio marcha alto:
- Gráficas:
Figura 55. Caso 2 %RPM alto marchas
Figura 56. Caso 2 %RPM alto fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
72
RPM cambio marcha bajo:
- Zonas de trabajo del motor durante el trayecto:
Figura 57. Caso 2 %RPM bajo trabajo motor
RPM cambio marcha alto:
- Zonas de trabajo del motor durante el trayecto:
Figura 58. Caso 2 %RPM alto trabajo motor
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
73
Caso 3: Coches de gama baja en ciclo euro 1
Datos del trayecto (ciclo euro 1):
Nº
Tramo
Velocidad
inicial (km/h)
Velocidad
final (km/h)
Altura
(m)
Distancia
(km)
Distancia
total (km)
1 0 0 0 0 0
2 0 15 0 0,008 0,008
3 15 15 0 0,033 0,041
4 15 0 0 0,01 0,052
5 0 0 0 0 0,052
6 0 32 0 0,053 0,105
7 32 32 0 0,213 0,318
8 32 0 0 0,048 0,367
9 0 0 0 0 0,367
10 0 50 0 0,18 0,548
11 50 50 0 0,166 0,714
12 50 35 0 0,094 0,809
13 35 35 0 0,126 0,935
14 35 0 0 0,058 0,994
15 0 0 0 0 0,994
Figura 59. Caso 3 ciclo euro 1
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
74
RPM de cambio de marcha:
Figura 60. Caso 3 %RPM
Nissan Note Visia 1.2:
Coche seleccionado: Nissan Note Visia 1.2
- Características:
Figura 61. Caso 3 Nissan Note
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
75
Citroën C3 Tonic PureTech:
Coche seleccionado: Citroën C3 Tonic PureTech
- Características:
Figura 62. Caso 3 Citroën C3
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
76
Nissan Note Visia 1.2:
Resultados:
- Cálculos:
Figura 63. Caso 3 Nissan Note cálculos
Citroën C3 Tonic PureTech:
Resultados:
- Cálculos:
Figura 64. Caso 3 Citroën C3 cálculos
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
77
Nissan Note Visia 1.2:
- Gráficas:
Figura 65. Caso 3 Nissan Note marchas
Figura 66. Caso 3 Nissan Note fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
78
Citroën C3 Tonic PureTech:
- Gráficas:
Figura 67. Caso 3 Citroën C3 marchas
Figura 68. Caso 3 Citroën C3 fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
79
Nissan Note Visia 1.2:
- Zonas de trabajo del motor durante el trayecto:
Figura 69. Caso 3 Nissan Note trabajo motor
Citroën C3 Tonic PureTech:
- Zonas de trabajo del motor durante el trayecto:
Figura 70. Caso 3 Citroën C3 trabajo motor
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
80
Caso 4: Coche de gama baja VS coche de gama alta en ciclo euro 2
Datos del trayecto (ciclo euro 2):
Nº
Tramo
Velocidad
inicial (km/h)
Velocidad
final (km/h)
Altura
(m)
Distancia
(km)
Distancia
total (km)
1 0 0 0 0 0
2 0 70 0 0,398 0,398
3 70 70 0 0,972 1,370
4 70 50 0 0,133 1,504
5 50 50 0 0,958 2,462
6 50 70 0 0,216 2,679
7 70 70 0 0,972 3,651
8 70 100 0 0,826 4,477
9 100 100 0 0,833 5,311
10 100 120 0 0,611 5,922
11 120 120 0 0,333 6,255
12 120 0 0 0,566 6,822
13 0 0 0 0 6,822
Figura 71. Caso 4 ciclo euro 2
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
81
RPM de cambio de marcha:
Figura 72. Caso 4 %RPM
Mercedes-Benz a 200:
Coche seleccionado: Mercedes-Benz a 200
- Características:
Figura 73. Caso 4 Mercedes Benz
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
82
Citroën C3 Tonic PureTech:
Coche seleccionado: Citroën C3 Tonic PureTech
- Características:
Figura 74. Caso 4 Citroën C3
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
83
Mercedes-Benz a 200:
Resultados:
- Cálculos:
Figura 75. Caso 4 Mercedes Benz cálculos
Citroën C3 Tonic PureTech:
Resultados:
- Cálculos:
Figura 76. Caso 4 Citroën C3 cálculos
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
84
Mercedes-Benz a 200:
- Gráficas:
Figura 77. Caso 4 Mercedes Benz marchas
Figura 78. Caso 4 Mercedes Benz fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
85
Citroën C3 Tonic PureTech:
- Gráficas:
Figura 79. Caso 4 Citroën C3 marchas
Figura 80. Caso 4 Citroën C3 fuerzas
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
86
Mercedes-Benz a 200:
- Zonas de trabajo del motor durante el trayecto:
Figura 81. Caso 4 Mercedes Benz trabajo motor
Citroën C3 Tonic PureTech:
- Zonas de trabajo del motor durante el trayecto:
Figura 82. Caso 4 Citroën C3 trabajo motor
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
87
8- Conclusiones
A continuación sacaremos nuestras propias conclusiones de cada uno de los casos que
hemos simulado mediante nuestro aplicativo.
Caso 1: Pulse&glide VS Vel.constante: En esta comparación podemos ver como
cuando conducimos utilizando un modelo de conducción pulse&glide, que consiste, como
el nombre indica en apretar (pisar) y deslizarse; es decir, no mantener siempre el
acelerador al mismo punto sino pisarlo y luego dejarnos llevar por la inercia, el consumo
medio en l/100km es de 4,52 en comparación con los 5,32 en velocidad constante y por
tanto menor en el primer caso. Podemos comprobar que la velocidad media de los 2 casos
es la misma. Algo más significativo es la diferencia de emisiones de grC02/kWh, en este
caso hay una gran diferencia. De 361,4, para el pulse&glide, a 425, para el de velocidad
constante. En la gráfica de la zona en que trabaja el motor, podemos ver como en el
pulse&glide nos encontramos en tramos en donde trabajamos en una zona mucho más
eficiente y incluso en tramos en los que la fuerza será negativa y por tanto el consumo será
nulo.
Caso 2: RPM cambio marcha bajo VS RPM cambio marcha alto: En este caso
hemos comparado 2 estilos de conducción basados en el % de RPM en el cual cambiamos
la marcha. En el primero tendremos un % bajo de cambio de marcha y en el segundo un %
alto en el cambia de marcha. Hemos elegido un trayecto idéntico para los 2 casos, en el que
se simulará una parte interurbana y otra extraurbana. Podemos ver como en los resultados
el consumo en l/100km para los 2 casos. En el primero es de 5,98 y en el segundo de 9,11,
una gran diferencia de la que podemos sacar la conclusión de que con un cambio de
marcha a bajas RPM tendremos un consumo de litros a los 100 muy inferior. En cambio
las emisiones de CO2 para los 2 casos son algo idénticas: 399,85grCO2/kWh contra los
399,58grCO2/kWh para los cambios altos. La razón por la cual con los cambios a altas
RPM tenemos ligeramente menos, o igual, emisiones de CO2 la podemos ver en la gráfica
de la zona en que trabaja nuestro motor durante el recorrido. En esta vemos como con el
cambio de marchas a bajas RPM nos vamos acercando a la zona eficiente de manera más
vertical y en el segundo caso de manera más horizontal. Bien es cierto que cuanto más nos
aproximamos a nuestro momento máximo entregado por el motor, nuestra eficiencia es
mayo, pero también la conseguimos cuanto más nos acercamos a nuestro ecuador de RPM.
Caso 3: Coches de gama baja en ciclo euro 1: En esta ocasión compararemos 2
coches de gama baja, el Citroën C3 y el Nissan Note. Podemos ver en las características de
cada coche como el Nissan tiene un par y una potencia ligeramente mayores a la del C3. El
trayecto que hemos elegido ha sido el ciclo euro1, un modelo de trayecto interurbano
predeterminado. El cambio de marchas lo realizaremos al llegar al 35% del total de RPM
de la marcha correspondiente. Como vemos en los cálculos, el consumo en l/100km es
ligeramente menos en el coche de menos potencia, el C3, pero, en contraposición, las
emisiones de C02 son menores en el caso del Nissan Note. Probablemente esto se deba
como en el caso 2. Para encontrar una explicación lógica debemos observas las relaciones
de transmisión. Y vemos como en el Nissan son más elevadas, por tanto nos encontraremos
durante más tiempo en la zona media de la curva del CE.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
88
Caso 4: Coche de gama baja VS coche de gama alta en ciclo euro 2: En este
caso compararemos un coche de gama baja, el Citroën C3, con uno de gama alta, el
Maercedes Benz. Vemos claramente como el Mercedes tiene una potencia y par motor
mucho más elevados que en el caso del Citroën. El trayecto seleccionado ha sido el ciclo
euro 2, un modelo de trayecto extraurbano predeterminado. El cambio de marchas lo
fijaremos al 40% de las RPM. En este caso se ve claramente como tanto el consumo medio
en l/100km como las emisiones de CO2 en gr/kWh son mucho menores para el coche de
gama baja. Si miramos la gráfica de zonas de trabajo del motor de los 2 casos veremos
como en el caso del Citroën nos encontramos durante más tiempo en una zona más cercana
al momento máximo y en el ecuador de nuestras RPM máximas.
Finalmente podemos concluir con que la manera de conducir del conductor es muy
importante si tenemos en cuenta el consumo de combustible, ya que cuanto antes
cambiemos de marcha, menor será la potencia desarrollada por el motor a una misma
velocidad lineal y, por tanto, el consumo medio será menor. En cuanto al consumo
específico, el estilo de conducción no tendrá tanta importancia a no ser que cambiemos de
marcha por encima del 50% del régimen máximo de RPM.
Como la mayoría de gente sabe el par motor, el régimen de RPM y, por tanto, la potencia
son datos vitales a la hora de obtener el consumo medio y específico, pero otro dato que
tenemos que tener muy en cuenta es la relación de transmisión del vehículo, ya que va a ser
muy importante para determinar la zona de trabajo del motor durante el trayecto así como
la velocidad a la cual cambiaremos de marcha.
Herramienta de simulación de los consumos y emisiones de un vehículo.
Iván
Tamarit
89
9- Anexos
Hemos agregado en la carpeta “archivos del PFC” los archivos pfc.m y pfc.fig así como
los demás subprogramas y imágenes necesarias para la correcta ejecución del programa.
Referéncias
[1] Página web: http://www.km77.com/
[2] Página web: http://www.zeperfs.com/es/
[3] Artículo: Manual Conducción Vehículos Industriales. Junta de Castilla y León.