car display

bonjour à tous.

rapide présentation T3man 28 ans possesseur d’un T3 diesel
dans le cadre d’une resto/swap, j’aimerai lui rajouter un petit plus, un ordinateur de bord.

pour le materiel:

une duemilanove
un lcd 4*20
alimentation: allume cigare 5v 1A

pour les sondes:
1 thermocouple type K
1 sonde ctn
1 sonde de pression MAP 250 kPa
1 sonde de pression d’huile
1 capteur à effet hall

le projet:

afficher la température d’huile la pression d 'huile
les tours.min-1
la température des gaz d’échappement
la pression de suralimentation

pour chaque capteur je vais écrire un bout de programme que je vais tester indépendamment sur ma carte, pour être sur de

puis les inclure dans un seul et même programme.

débutant totalement depuis une semaine sur le langage c++, ne soyez pas trop dur.

Hello,

La démarche est bonne... Y aller par étape est le meilleur moyen d'atteindre ton objectif.

Bonne chance et surtout, bon amusement ! :)

Coyotte

Pour la première étape , câblage du LCD "en volant" je l'integrerai dans un support cette semaine avec la carte a cote il me manque juste des câbles dupont . pour la liaison carte/LCD j'utiliserai les câbles entiers et pour la liaison carte/capteurs je passerai par un connecteur a visser et du câble blindé (pour éviter les parasites)...

Seconde etape Amusement avec la bibliothèque liquide crystal LCD... Affichage d'un premier écran avec un délais puis affichage de l'écran principal avec les valeurs à surveiller

(La finalité étant d'avoir 3 écrans a switcher a l'aide d'un bouton poussoir)

Voici une vidéo
Cette aprèm j’essaie la fonction createChar

Bonjour,

Pour le régime moteur, n'oublie pas que la borne W de l'alternateur fournie une fréquence qui sert à déterminer la vitesse de rotation.

Avec un petit circuit adapté il sera plus facile d'en extraire ton régime moteur que de faire des modifs près du volant moteur pour mettre ton capteur à effet Hall.

Cherche aussi les sujets de Super_cinci, il avait refait tout un tableau de bord d'un Renault 21 (de mémoire)

Bon amusement!

J'ai déjà un capteur a effet hall d'origine il lit une courrone sertie sur le vilebrequin

Et il fonctionne en 5v!

Pour les sonde de température, je vais utiliser la relation de steinhart hart

Je resterai mes codes au fur et a mesure et vous présenterais les résultat ;)

voila mon programme 1 affichage des mesures à visualiser

//affichage LCD

The circuit:
LCD RS pin to digital pin 12
LCD Enable pin to digital pin 11
LCD D4 pin to digital pin 5
LCD D5 pin to digital pin 4
LCD D6 pin to digital pin 3
LCD D7 pin to digital pin 2
LCD R/W pin to ground
10K resistor:
ends to +5V and ground
wiper to LCD VO pin (pin 3)

*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

byte templogo[8] = {
B01100,
B01111,
B01100,
B01111,
B01100,
B01100,
B11110,
B01100

};

byte oil1[8] = {
B00000,
B00000,
B00111,
B00010,
B01111,
B01100,
B00100,
B00111
};

byte oil2[8] = {
B00000,
B00000,
B00000,
B00000,
B10110,
B01100,
B01000,
B11000
};

byte turbo1[8] = {
B00000,
B11111,
B00000,
B11011,
B01001,
B01001,
B01000,
B01111
};

byte turbo2[8] = {
B00000,
B11110,
B00010,
B11010,
B10010,
B10011,
B00000,
B11111
};

void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

// create a new character
lcd.createChar(0, templogo);
// create a new character
lcd.createChar(1, oil1);
// create a new character
lcd.createChar(2, oil2);
// create a new character
lcd.createChar(3, turbo1);
// create a new character
lcd.createChar(4, turbo2);

lcd.begin(20, 4);

//affichage ecran bienvenue
lcd.setCursor(4, 1);
lcd.print(“T3 V6 TDI- M”);
lcd.setCursor(4,2);
lcd.print(“www.t3zone.fr”);
delay(5000);
lcd.clear();

}

void loop(){

lcd.setCursor(0, 0);
lcd.print(“RPM”);
lcd.setCursor(8, 0);
lcd.print(“Tr”); //affichage RPM Tr
lcd.setCursor(0, 1);
lcd.print(“EGT”);
lcd.setCursor(3, 1);
//lcd.print(“1000”); //temperature echappement inclure programme mesure egt
lcd.setCursor(9, 1);
lcd.print((char)0); //affichage EGT *C
lcd.setCursor(0, 2);
lcd.print((char)1); lcd.print((char)2);
lcd.setCursor(9, 2);
lcd.print((char)0);
lcd.setCursor(16, 2);
lcd.print(“Bar”); //affichage oil *C et bar
lcd.setCursor(0, 3);
lcd.print((char)3); lcd.print((char)4);
lcd.setCursor(5, 3);
lcd.print(“Press”); //pression de turbo
lcd.setCursor(10, 3);
lcd.print(“Bar”); //affichage BOOST Bar
}

il fonctionne parfaitement

pour inclure mes programmes qui convertiront les signaux envoyés par les différents capteur, il faudra les inclure dans la boucle LOOP ? mais définir toutes mes entrées sorties en amont? je vous fais des copies de programme même si il y a des erreurs :wink:

Bon j'ai un blême ! J'utilise la librairie max6675 pour lire ma température d'échappement

Il me met un message d'erreur No matching functio for call to 'MAX6675::MAX6675(int&,int& int&)' bizarre bizzare

A priori tu essaies d'appeler une fonction qui n'existe pas dans la librairie.

Je vais revoir la bibliothèque
Même l’exemple propose bug
Je m’y replonge…

Pour mes autres sondes de température j’essayerai de passer par un pont diviseur … L’avantage par rapport a ma sonde EGT c’est que j’ai les docs fabricants …

Pour le rpm je met un capteur effet hall et j’essaye sur une perceus. :slight_smile:

bon pour mon bug de librairie j'ai rechargé la dernière MAX6675 et copié collé /adapté d 'un exemple et ça fonctionne!

du coup j'ai inclus mon RPM ma température EGT ma pression d'huile ma température d'huile ma pression de suralimentation

j'ai reçu ma carte+sonde max6675 chip je teste ça aujourd'hui...

Du news J'ai remodelé mon programme pour l'alléger un maximum

Ma sonde egt fonctionne a merveille Le capteur rpm j'attends de recevoir un capteur effet hall mais il devrait fonctionner Par contre mes valeur de pression et température d'huile ainsi que la pression d'air varient ensemble ! Je peux vous mettre mon programme pour voir si ça viens de la ou de mon câblage ??

T3man: Par contre mes valeur de pression et température d'huile ainsi que la pression d'air varient ensemble !

Dans quel ordre de grandeur? Moteur tournant ou stoppé?

T3man: Le capteur rpm j'attends de recevoir un capteur effet hall mais il devrait fonctionner

Tu ne l'avais pas déjà?

J'ai essaye avec capteur g18 d'origine VW mais j'ai du en piocher un boiteux il ne fonctionne même pas sur mon véhicule

Pour mes capteurs je les simules avec des potards pour le moment sur une platine j'ai testé ça sur la table du salon j'attends demain pour essayer au taff ... L'egt fonctionne nickel cependant

quand tu poste ton programme pense à le mettre entre des balises “code” c’est vachement plus lisible :wink:

pour ton capteur de pression d’admission, tu peux utiliser un capteur denso présent sur toutes les xantias, 406, xsara, 307 etc en 2.1TD ou en HDI. Il s’alimente en 5V et sort une tension variable proportionnelle à la pression, c’est très pratique et y’en a plein les casses ! sur les xantias il est à droite du radiateur fixé sur le coté entre le radia et le phare quand tu es face au moteur.
Idem capteur à effet hal en 5V sur le 2L HDI PSA il est en haut sur le couve culasse et il “mesure” un trou dans la poulie d’arbre à cames

Sinon le denso j’en ai plusieurs si tu en veux un on peut s’arranger → MP

sinon je pense à un truc aussi, il y a un projet de calculateur diesel pour pompe bosch VP, pour un T4 TDi, basé sur une méga2560 fait par un allemand ou un hollandais je sais plus. Je trouve plus le lien dans mes favoris, mais google doit pouvoir te trouver ça

pour le capteur rpm, je prend celui d'origine vw il est sur le bloc il compte le nombre d'encoche sur un disque présente sur le vilebrequin coté embrayage... il fonctionne aussi en 5V

après tu as d'autre possibilité, celui de la pompe à injection qui compte les dents du régulateur centrifuge(là je pense pas t'apprendre quelque chose, ton tuto sur FA sur la pompe de 205 diesel à meme été copié/traduis sur plusieurs forum), l'injecteur pilote qui se lève tous les 272° si je dis pas de betise

le capteur de pression vw à le même fonctionnement (en 5v)

je voulais juste les simuler sur une platine d'essai avant de tout monter dans le van j'ai que des potar et résistance de 10kohms sous la main

je vous pose mon programme ce soir

à noter que ce tuto au départ il n'était pas sur FA, mais sur oliomobile ;)

l'injecteur pilote il se lève une fois tous les deux tours de moteur, donc tous les 720° (à chaque injection en fait, et comme sur un cylindre donné sur un 4 temps il y a une injection tous les deux tours... voila). Mais de toutes manières lire un capteur d'injecteur pilote c'est merdique, c'est un système à réluctance variable, il faut un circuit spécialisé.

pour simuler oui un potar entre +5 et GND avec le curseur relié à l'entrée Ax via une R de 10K ça semble pas mal

720* pardon

Oui pour la levée d'aiguille je suis d'accord avec toi

Pour mes capteurs je vais déjà élever la tension de ma carte à 12v stabilisé pour le moment je suis sur l'USB du PC...

Oui mon idée était de faire des ponts diviseur avec r=10kohm et r(var)=10kohm

de ce type:

(+)---R1---*---a1(pression turbo) | | potar | | ( -)

et je fais de même pour la pression d'huile, la température d'huile?...