Avisador acústico (y por led) de regenación filtro FAP

Por: profepaco

Fecha: 04-06-15 13:24

PARTE 1. AVISADOR ACÚSTICO (Y POR LED) DE REGENERACIÓN DEL FILTRO ANTIPARTÍCULAS

El objetivo de este brico es poner un avisador acústico (y también si se desea por led) de regeneración del filtro antipartículas (FAP) a cualquier coche que no lleve avisador de regeneración.

Si no sabes lo que es la regeneración del FAP de tu coche diésel, y por qué es bueno saber cuando hace el motor la regeneración, es MUY recomendable que te informes aquí:

http://www.motorpasion.com/compactos/el-ocaso-del-diesel-el-filtro-de-particulas
http://www.motorpasion.com/compactos/el-ocaso-del-diesel-los-inconvenientes-del-filtro-de-particulas


La detección del inicio de la regeneración la vamos a hacer detectando la activación de la luneta térmica trasera o detectando la activación de los calefactores de los retrovisores.

El aviso mediante un led está ya explicado en varios sitios. En concreto, algunos bricos se pueden encontrar aquí:

http://www.foropeugeot.com/led-aviso-regeneracion-f-a-p-t15722.html
http://citroen.mforos.com/1257918/11123044-led-regeneracion-de-fap-c5-ii/
http://citroen.mforos.com/1257918/10634217-brico-para-poner-led-de-aviso-de-regeneracion-del-fap/


Sin embargo, yo prefiero un avisador acústico, porque el led puedes no verlo, sobre todo de día, y también prefiero no modificar nada el aspecto exterior del salpicadero. Además, la ventaja de un avisador acústico es que podemos, por ejemplo, poner un contador de tiempo que lleva en marcha la regeneración, como veremos.

En principio podríamos poner directamente en lugar del led un avisador acústico, un zumbador. Pero estaría todo el rato sonando. Y podría resultar molesto. Si quieres algo mejor hecho, hace falta utilizar un microprocesador.

Para que se vea como queda al final os pongo un video ya instalado en mi C4 Picasso


--- Soporte de vídeos YouTube en pruebas v0.90 ---

Utilizar un microprocesador puede parecer una desventaja. Pero hoy en día, gracias a Arduino, utilizar un microprocesador es fácil y barato. ¿Qué es Arduino? Hace unos años unos italianos tuvieron la feliz idea de encapsular un microprocesador en un entorno en el que fuera fácil su programación y su conexión al exterior.

http://es.wikipedia.org/wiki/Arduino

Hay varias versiones de Arduino. La que vamos a utilizar aquí es el Arduino nano. El Arduino nano es pequeño, muy barato, tiene una conexión USB para poder programarlo fácilmente desde un ordenador y tiene incluido un regulador de tensión, que nos viene genial para convertir el voltaje del coche a las 5 voltios que utiliza el procesador del Arduino nano.

El Arduino nano tiene un montón de salidas y entradas que conectan con el micro. Pero en nuestro caso sólo vamos a utilizar una salida para el zumbador, y otra salida para el led, si es que además queréis que tenga aviso por led.

La programación se hace en un lenguaje muy parecido al C++. Es muy sencillo si sabes programar en cualquier lenguaje. Y mucha gente que le daba miedo la electrónica se ha hecho experta. Si no sabes programar, sólo tienes que copiar y pegar el código que adjunto en este brico.

El primer paso es encontrar, como se ve en los otros bricos que he puesto antes, el cable que lleva la alimentación a la luneta térmica trasera o a los calefactores de los retrovisores. Porque mientras se hace la regeneración llevan tensión. En la segunda parte de este brico lo muestro como se hace en mi coche, un Citroën C4 Picasso modelo año 2014.

Los objetivos son:

1.- Que avise con una melodía cuando empiece la regeneración.
2.- Que cada X segundos avise de que la regeneración sigue en marcha. Valores recomendados son cada 15 segundos, 20 ó 30. Es decir, que sus múltiplos den un minuto.
3.- Opcional: que nos indique el número de minutos que la regeneración está en marcha. Lo hace con sonido grave + un número de pitidos que corresponde a los minutos que está en marcha, o, si prefieres, cada pitido indica que han pasado dos minutos, o tres, o el número que quieras. Por ejemplo: grave+agudo+agudo+agudo = la regeneración lleva en marcha 3 minutos (si pides que te avise cada minuto).
4.- Opcional. Un led que parpadea o está fijo mientras la regeneración está en marcha. Se puede cambiar la frecuencia de parpadeo.


Material necesario:

1.- Un Arduino nano.
Imagen

Puede ser el original, o un clon chino, más barato. Para esta aplicación la verdad es que el clon chino es suficiente. Aunque algunos clones pueden tener problemas el convertir un voltaje de unos 14 voltios a 5 voltios. El regulador algunas veces (muy pocas) se quema. En ese caso el original puede ser mejor. Pero por lo que vale el clon, vale la pena intentarlo. Es mis clones no ha habido problemas.

Se puede comprar en ebay, alliexpress, dx.com…etc. El coste desde 6 euros enviado desde España o desde 3 euros (en el caso de estar todo ya soldado) desde China, con envío incluido. Hace falta un cable mini USB. Normalmente va incluido con el Arduino.

2.- También hace falta un zumbador. Buscad “arduino buzzer”.
Imagen

Al buscar veréis que los venden sin cables, con cables, sólo, en placa….mirad cuál os conviene más. Precios a partir de 1 euro, envío incluido desde China.

3.- También por comodidad sería bueno comprar una pequeña base para conectar el Arduino (buscad “mini breadboard”). Aunque no es necesario.
Imagen

Cuesta un euro envío incluido desde China.

4.- Cables. Lo ideal es que sean cables RÍGIDOS, no trenzados, de 0.2 mm2 de sección. El por qué de que sean rígidos ya lo veréis en el brico de aplicación. Pero una de las ventajas es que se pinchan directamente en la base (breadboard).

Por último, hay que programar el Arduino. Para programarlo tenemos que instalar en nuestro ordenador el entorno de desarrollo (IDE). Lo bajamos de la página de arduino.cc. En concreto:

http://www.arduino.cc/en/Main/Software

Instaláis el IDE. El último paso es instalar los drivers del Arduino. Los drivers pueden diferir de si es el original o es el clon chino. Si es el original, normalmente los drivers ya estarán al instalar el IDE. Si es un clon, y el clon es reciente, los drivers se bajan de aquí:

http://www.wch.cn/download/CH341SER_ZIP.html


Cuando arranques el IDE tienes que decir en qué puerto USB está conectado el Arduino y qué tipo de Arduino es. La siguiente foto muestra como indicar el puerto, en este caso el número 15:

Imagen


La siguiente foto muestra que hemos dicho que queremos programar un arduino nano.

Imagen

A continuación tienes que pegar en el IDE el siguiente código:

//A CONTINUACIÓN VARIABLES QUE PUEDES MODIFICAR
int sonar = 1; //si hay avisos sonoros. (1 = sí; 0 = no) se supone que los hay siempre
//si lo ponemos a 0 sólo sería aviso por led.
int encender_led = 0; //si queremos aviso también por led. (1 = sí; 0 = no)
int parpadea_led = 1; //si parpadea o fijo. (1 = parpadea; 0 = fijo)
int fuerza_led = 10; //un valor de 1 a 255. Ojo si conectas el led directamente,
//es decir, sin resistencia, este valor debe ser bajo. Empezar con 10, e ir subiendo poco a poco
//hasta conseguir el brillo deseado. Maximo debe ser sobre 100
float flash_led = 0.8; //intervalo en segundos que está encendido y apagado el led
int periodico = 1; //si queremos aviso periódico de regeneración sigue en marcha(1 = sí; 0 = no)
int tiempo_periodico = 15; //en segundos (tiempo entre avisos de regeneración está en marcha
int aviso_minutos = 1; //si hay aviso de contador de minutos (1 = sí; 0 = no)
int grupo_minutos = 1; //cada cuantos minutos hay aviso/contador de minutos.
//FIN VARIABLES QUE PUEDES MODIFICAR
//**********************
int led_encendido = 1; //led empiza encendido
int pos_zumbador = 4;
int pos_led = 9;
long tiempo = 0;
long tiempo2 = 0;
long tiempo_led = 0;
int contador_minutos = 0;
long multi;

void setup() {
multi = grupo_minutos*60000;
pinMode(pos_led, OUTPUT);
if (encender_led ==1 ) {analogWrite(pos_led, fuerza_led);}
pinMode(pos_zumbador, OUTPUT);
if (sonar == 1) {digitalWrite(pos_zumbador, HIGH); delay(1500);tone(pos_zumbador, 800, 500);
delay(500);
tone(pos_zumbador, 1000, 500); delay(500);
tone(pos_zumbador, 1200, 500); delay(500);
tone(pos_zumbador, 2000, 1000); delay(1200);
//tone(pos_zumbador, 1800, 1000); delay(1500);
tone(pos_zumbador, 800, 300); delay(300);
tone(pos_zumbador, 900, 500); delay(500);
digitalWrite(pos_zumbador, HIGH); delay(1500);
noTone(pos_zumbador);
}

}


//*****************************
void loop() {

if (encender_led == 1) {
if (parpadea_led == 1){
if ((millis() - tiempo_led) > flash_led*1000){
tiempo_led = millis();
if (led_encendido == 0) {analogWrite(pos_led, fuerza_led); led_encendido = 1;}
else {analogWrite(pos_led, 0); led_encendido = 0;}
}
}//parpadea
}//encender_led

if (sonar == 1){


//no funciona con tiempo de mintos > 30
if (((millis() - tiempo2) > multi) && (aviso_minutos == 1))
{contador_minutos = contador_minutos + 1;
tiempo2 = millis(); tiempo = millis();recordatorio2(contador_minutos);
} else
if (((millis() - tiempo) > tiempo_periodico*1000) && (periodico == 1))
{ tiempo = millis(); recordatorio();
}
} //sonar = 1
} //loop

//**********************


void recordatorio()
{
digitalWrite(pos_zumbador, HIGH);
delay(150);
digitalWrite(pos_zumbador, LOW);
delay(100);
digitalWrite(pos_zumbador, HIGH);
delay(700);
digitalWrite(pos_zumbador, LOW);
}

//*****************************


void recordatorio2(int numero)

{
tone(pos_zumbador, 650, 700); delay(700); noTone(pos_zumbador);
delay(300);
for (int bucle=1; bucle <= numero; bucle++){
digitalWrite(pos_zumbador, HIGH);
delay(600);
digitalWrite(pos_zumbador, LOW);
delay(300);
}

}
//************************




Entonces sólo queda programar el Arduino, dándole al siguiente botón.

Imagen

Si no sale mensaje de error, ya tendríamos el Arduino listo.

MODIFICACIÓN DEL CÓDIGO
Es muy fácil modificar el código a vuestro gusto, porque al principio del código están las variables que se pueden modificar, las que personalizan vuestro avisador. Allí está todo explicado, y creo que se entiende bien. Cualquier duda me preguntáis. Tal y como está puesto el código, tiene avisador cada 15 segundos, cuenta los minutos, y no tiene aviso por led.


Una vez programado, tenemos que ver las conexiones a utilizar en el Arduino.

Imagen

VIN: aquí ponemos la alimentación proveniente de la luneta trasera o del calefactor del retrovisor. En Vin hay un convertidor de tensión a 5 voltios.
GND: conectar aquí la masa del coche y el negativo del zumbador (hay dos GND en el Arduino nano).
D4: salida al positivo del zumbador.
D9: Si quieres un avispo por led, se conecta a la salida D9.


Cuando termine la regeneración dejará de sonar, simplemente porque el Arduino se queda sin corriente. Si quieres comprobar si realmente ha terminado, sólo hay que apretar el botón de la luneta térmica o calefactor delantero. Si la regeneración sigue activa nada pasará. Si ya ha terminado, empezará la melodía de inicio pues habrás conectado otra vez el Arduino.

CONSIDERACIONES FINALES
No he puesto que haga otra melodía al terminar la regeneración, para saber exactamente cuándo termina. No lo he hecho por sencillez. Para que esto fuera posible, haría falta que el Arduino se conectara al arrancar el coche, estuviera siempre encendido y una de las entradas al Arduino fuera el encendido de la luneta o calefactor. Por sencillez, el Arduino se enciende cuando se enciende la luneta o calefactor. Y se apaga cuando se apaga la luneta o calefactor. No está siempre conectado.

No he empleado timers, porque cuando llega al minuto no ha de sonar la señal periódica y para que no haya que instalar librerías. Así es más fácil para el novato.

Animaros a preguntar.

PARTE 2. PONER EL AVISADOR ACÚSTICO EN UN CITRÖEN C4 PICASSO MODELO 2014.

He intentado buscar el cable debajo del volante que da corriente a los calefactores de los retrovisores o el cable que da corriente a la luneta trasera. Me ha sido imposible encontrarlo. En coches más viejos los cables no están tan empaquetados. Por ejemplo, en el Xsara Picasso todo es mucho más fácil.

No he encontrado el fusible de la luneta trasera o el fusible calefactor retrovisores. El manual no dicen donde están. Si alguien lo sabe sería bueno pasar esta información.

Así que me he ido al portón trasero para encontrar el cable de la luneta. Casi he conseguido desmontar el guarnecido, pero al final he tenido que parar, estaba a punto de romperlo. Si alguien quiere intentarlo, que me pregunte y explico hasta dónde he llegado yo. No debe quedar mucho. No lo cuento ahora por no hacer esto más largo.

Empezamos a explicar cómo he puesto yo el Arduino. El guarnecido tiene tres tapas que se pueden quitar y que cubren tres huecos. Quitamos la de la izquierda.
Imagen

Quitamos la del centro.
Imagen


Aquí en el hueco del centro es donde pondremos el Arduino. En ese hueco es seguro que hay un cable de masa que nos hace falta. Pero he preferido no tocar nada los cables, por seguridad y por no meter la pata. Así que la masa la voy a sacar de un tornillo. Eso seguro que no da problemas eléctricos. Aunque vosotros podéis buscar la masa ahí, pero mucho cuidado.

En la siguiente foto el círculo rojo muestra el tornillo que utilizaremos como masa. He comprobado que realmente es una buena masa. Aunque el arduino consume muy poco.

Imagen

Como vemos, vamos a pasar un cable por el guarnecido, por la ranura que hay.
Imagen

Hasta meterlo por el hueco izquierdo. Y del hueco izquierdo al central
Imagen

Imagen

El cable al final no se ve. Es muy fácil esconderlo todo dentro de la ranura.

Ahora sujetamos el hilo a la tuerca. Podéis soltar un poco la tuerca y meter el hilo. O en mi caso he utilizado pegamento conductor. Sirve para soldar en frío. Es una pasta negra. Buscad “wire glue”. En la siguiente foto antes de aplicar el pegamento.

Imagen

Luego, como el cable es morado y cantaba…le he puesto cinta negra encima. Es mejor que utilicéis cable negro si no ponéis cinta después. Mi cable negro no era suficientemente largo.

Imagen
Al final apenas es perceptible el apaño. Aquí el cable ya está dentro del guarnecido. Esta parte ya está terminada.

Imagen

Ahora vamos a sacar la corriente que alimenta el Arduino de la propia luneta. Los hilos naranja de la luneta son conductores. Son como cables pelados. Y directamente al tocarlo tenemos voltaje. El voltaje depende de la posición. En el centro de la luneta hay poco más de 6 voltios. El regulador del arduino los convertirá a 5 voltios, si lo conectamos a la entrada Vin. Los clones no van a tener ningún problema en convertir ese voltaje.

Pasamos un cable desde el agujero central al cristal, parte interior del cristal. En la siguiente foto es el cable blanco. Sólo hay que meterlo, hay hueco de sobra.

Imagen

Aquí se ve el cable blanco ya pasado.
Imagen

Y simplemente apoyamos la punta del cable pelado en la luneta.
Imagen

En la foto anterior vemos que también hemos pasado otro cable. Hace falta pasar tres cables:

Uno que conecta con la luneta (el blanco de la foto). Y otros dos para el zumbador (masa y positivo, el que va a la salida D4).

Ahora, si lo volviese a hacer, creo que tomaría la tensión de la raya naranja que se ve a la derecha de la foto, la que está más abajo. Para que se vea menos el cable.

Ahora hay que pegar el cable blanco a la luneta. Bastaría con pegar la parte no pelada del cable al cristal. Es suficiente. El cable, al no ser trenzado, no se mueve, es rígido, y hace buen contacto. Pero, por si acaso, he pegado la parte del cable sin pelar al cristal, con loctite, y el cable pelado a la luneta, con pegamento conductor.

Imagen

Para pegar utilizamos un palillo para meter el pegamento loctite debajo del cable como se ve en la foto anterior. Y también el palillo para “pintar” con pegamento conductor la parte pelada. Como vemos en la foto anterior, ya está conectado también el zumbador. En la foto se ve la pasta negra que es el pegamento conductor. Aunque insisto en que no es necesario, aunque recomendable.

No soldéis los cables al zumbador. Al soldar, el zumbador se estropea. No soporta la temperatura de soldado. Utilizad conectores o pegamento conductor.

Luego me di cuenta de que para disimular más, lo mejor sería que en vez de cable blanco fuera naranja como la líneas luneta (aunque no tenía naranja). Pero realmente apenas se ve, y más en mi coche, con luneta sobre tintada.

Fijaros y veréis el cable blanco. Pero cuesta.

Imagen

Si nos acercamos sí que se ve, claro. Pero no es evidente.

Imagen
De todas formas, como he dicho antes, intentad coger la tensión de la línea naranja que hay más abajo. Entonces os quedará perfecto, invisible.

Ahora utilizamos velcro adhesivo para sujetar el arduino en el hueco central. Y conectamos los 4 cables. Corriente, masa, y los dos para el zumbador.

Imagen

En ese sitio, el Arduino queda en posición horizontal cuando el portón está cerrado. Es decir, cero peligro de que se caiga con el tiempo y las vibraciones del coche.

Ahora ya sólo falta poner el motor en marcha y conectar la luneta trasera. Tiene que funcionar. Ojo, con el stop&start activado y el coche parado la luneta no funciona aunque la conectéis.

Aquí como se ve desde dentro.

Imagen

Cerramos los huecos del guarnecido y ya está. Recordamos como queda al final, viendo el video:


--- Soporte de vídeos YouTube en pruebas v0.90 ---

Cualquier pregunta a vuestra disposición.

Síguelo en el foro


cron