Préparation d'un boitier pour mesurer l'AFR embarqué.
KTM Mania :: Technique :: 990 / 950 LC8 :: Toutes machines 990 / 950 SM, SMR, SMT - En cours de tri :: Injection / Carburation
Page 1 sur 1
Préparation d'un boitier pour mesurer l'AFR embarqué.
Suite au post https://www.ktmmania.net/t7483-mesure-de-l-afr-en-embarque , unityraptor m'a proposé de nous aider à en créer un pour les LC8.
Je faire le tuto, il faut que tout le monde bosse
1 - on repère le circuit:
2 - on dresse la liste du matos:
Les discussions se feront Ici.
Je faire le tuto, il faut que tout le monde bosse
unityraptor a écrit: Dans l'idée, les étapes sont les suivantes :
1 - on repère le circuit
2 - on dresse la liste du matos
3 - on valide que l'on veut faire
4 - c'est parti....
1 - on repère le circuit:
unityraptor a écrit: Nous avons besoin de 3 infos :
- AFR
- Ouverture gaz
- Régime moteur
- L'AFR sera filé directement par le module de la sonde large bande donc ça pas de souci.
- Pour l'ouverture des gaz, il s'agit en fait de l'ouverture des papillons. Il doit y avoir un capteur sur ton corps d'injection d'où sortent 3 fils (+5v, masse, et signal). Nous on doit dériver le fil de signal. l'idéal serait de trouver ce capteur, de s'assurer que c'est le bon et de voir ou il amène... Le signal va forcement dans l'ECU, mais s'il y a un connecteur intermédiaire, ce serait intéressant pour la dérivation.
Faire un truc propre pour dériver le fil avec un petit raccord à foutre entre le connecteur d'origine mais la c'est chiant. En tout cas, il faut se pluguer sur ce fil blanc, qui sera le signal TPS, peu importe comment et amener ce fil supplémentaire à l'endroit où l'on mettre le boitier de mesure. Le truc, c'est de faire un tableau d’équivalence de la tension entre le fil signal tps et la masse pour une ouverture de poignée de gaz donnée en %. Donc en gros, brancher la bécane sur tuneecu, ouvrir à 3% et noter le voltage équivalent aux bornes du capteur TPS et faire pareil pour 4%, 5%, 10, 15, 20, 25, etc etc. Plus on a de mesures, plus la regle de calcul sera précise. Mettre tout ça dans un fichier excel.
Avec volt-mètre, il faudra mesurer le voltage entre le signal tacho et la masse (environ 7v sur le 690). Ça servira à faire le calcul des résistances à utiliser pour le pont diviseur de tension puisque l'arduino accepte max 5v en entrée. Attention, au début j'utilisais tuneecu qui donne aussi le voltage, mais bizarrement, je
retrouvais pas les mêmes valeurs au voltmètre. Mais c'est peut-être un peu spécifique au 690 qui a une gestion bizarre de la poignée de gaz.
- Le régime moteur, l'info part de la bobine d'allumage vers l'ECU puis de l'ECU vers le compteur de vitesse. L'idéal, c'est de se plugger entre l'ECU et le compteur car le signal a déjà été filtré.
Sur le schéma il s'agit d'un fil Rose/Blanc qui rentre dans le compteur de vitesse -broche n°4-. On plugue dessus avec un fil supplémentaire et l'on amène ce
fil à l'endroit voulu.
2 - on dresse la liste du matos:
unityraptor a écrit:
Le principal, la sonde wideband avec son contrôleur 145 £ :
http://www.ebay.co.uk/itm/AEM-INLINE-TYPE-WIDEBAND-UEGO-CONTROLLER-30-2310-/290405822715?pt=UK_CarsParts_Vehicles_CarParts_SM&hash=item439d8930fb
Tu peux trouver un peu moins cher aux US en fouillant sur ebay mais moi j'ai pris ici.
Obligatoire - Un arduino mega :
http://www.ebay.fr/itm/Arduino-Mega-2560-R3-Version-ATmega2560-16AU-Board-USB-robotics-electronics-/321019822980?pt=UK_Computing_Other_Computing_Networking&hash=item4abe45c384
Obligatoire - Module SD card :
http://www.ebay.fr/itm/Module-pour-carte-SD-Arduino-compatible-SD-Card-Module-MMC-/281007288826?pt=LH_DefaultDomain_23&hash=item416d56f1fa
Obligatoire - des résistances dont la valeur reste à déterminer mais ça coute keud.
Optionnel mais conseillé : Un boitier en plastique. Ça
c'est celui que j'ai mais n'importe lequel pourrais faire l'affaire
tant que tout rentre dedans (d'ailleurs, dans celui la, tout ne rentre
pas, j'ai du mettre la sdcard en dehors) http://www.ebay.fr/itm/Box-Enclosure-Housing-A000009-for-Arduino-Uno-Mega-and-Ethernet-Shield-BRAND-NEW-/140916297823?pt=UK_Computing_Other_Computing_Networking&hash=item20cf44105f
Optionnel - pack de câbles : très utile pour se brancher rapidement à l'arduino
http://www.ebay.fr/itm/Solderless-Breadboard-Jumper-Cables-for-Arduino-75-Piece-Colour-Coded-Wire-Kit-/281033342828?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item416ee47f6c
Optionnel - Un lcd :
]]http://cgi.ebay.fr/Neu-SainSmart-IIC-I2C-TWI-1602-Serial-LCD-Modul-Display-For-Arduino-UNO-R3-MEGA-/221038732758?pt=Wissenschaftliche_Geräte&hash=item3376ef65d6
Et si tu n'a pas, bah un fer a souder + étain + gaine thermodurcissable très utile. Éventuellement des petits connecteurs.
DC converter,Ça va permettre d'alimenter le boitier plus simplement directement à
partir du + après contact de la moto, car le montage a base de régulateur que j'avais testé ne me convient pas.
http://www.ebay.fr/itm/DC-Converter-Step-Down-Module-7V-24V-to-5V-3A-5V-USB-output-charger-for-mp4-mp3-/390507003928?pt=UK_Computing_Other_Computing_Networking&hash=item5aec080018
un connecteur / des connecteurs pour 4 fils :
- Signal TPS
- Signal RPM
- Signal AFR
- Masse
Les discussions se feront Ici.
Dernière édition par Katomeuch le Dim 10 Mar 2013 - 18:13, édité 2 fois
_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch- Modérateur
- Votre Moto : 990 smr 04/2009
Messages : 20286
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 47
Localisation : Egletons 19300
Câblage du boitier
unityraptor a écrit:bon alors, pour le repérage des fils, sur l'arduino :
le
fil de signal Rpm se branche sur l'analog in A1 (mais a ne pas brancher
de suite car il faudra adapter le voltage avec le pont diviseur de
tension);
le fil de signal tps se branche sur l'analog in A2;
le fil de signal Afr (fil blanc du inline controler) se branche sur l'analog in A3;
tu
dois relier la masse du connecteur ACC2 (plus après contact de la moto)
sur le port GND de l'arduino.
Ces 4 fils sont à relier au travers du connecteur sumitomo, car ils doivent pouvoir être débranchés.
Pour le inline controler (sonde large bande):
Le fil rouge au + après contact de la moto (connecteur ACC2)
les fils marron et noir a la masse (connecteur ACC2)
le fil gris est à isoler, il ne sert a rien.
le fil blanc (signal AFR) va sur l'arduino sur l'analog in A3 comme vu au dessus.
Le lcd :
le GND du lcd vers un GND de l'arduino
le VCC du lcd vers le 5V de l'arduino
le SDA du lcd vers le SDA de l'arduino, port 20
le SCL du lcd vers le SCL de l'arduino, port 21
La sd-card:
Le 5V de la SD vers le 5V de l'arduino
Le GND de la SD vers le GND de l'arduino
Le MOSI de la SD vers le pin 51 de l'arduino
le MISO de la sd vers le pin 50 de l'arduino
le SCK de la sd vers le pin 52 de l'arduino
le CS de la sd vers le pin 53 de l'arduino
Pont diviseur de tension pour le signal RPM:
Si la tension mini maxi varie entre 0 et 5.455 v!!!
Dernière édition par Katomeuch le Mer 10 Avr 2013 - 14:59, édité 4 fois
_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch- Modérateur
- Votre Moto : 990 smr 04/2009
Messages : 20286
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 47
Localisation : Egletons 19300
Programme de test du TPS
unityraptor a écrit:
#include
#include
#include
#include
#define I2C_ADDR 0x3F // Define I2C Address where the PCF8574A is
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
int RpmInput = 1;
int TpsInput = 2;
int AfrInput = 3;
int Rpm;
float Tps;
float Tpsvolt;
float Afr;
unsigned long time = 0;
unsigned long elapsed = 0;
unsigned long elapsedRpm = 0;
int state = HIGH;
int state2 = HIGH;
int cpt = 0;
const int chipSelect = 53;
File dataFile;
void setup()
{
//*********************************************
// INITIALISATION LCD
//*********************************************
lcd.begin (16,2,LCD_5x8DOTS);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); // init the backlight
lcd.setBacklight(HIGH); // Backlight on
//*********************************************
// CONFIG BROCHES
//*********************************************
//Pin Configuration
pinMode(RpmInput, INPUT);
pinMode(TpsInput, INPUT);
pinMode(AfrInput, INPUT);
pinMode(53, OUTPUT);
//*********************************************
// INITIALISATION VARIABLES
//*********************************************
Serial.begin(115200);
Rpm = 0;
Tps = 0;
Afr = 0;
//*********************************************
// INITIALISATION CARTE SD
//*********************************************
lcd.clear();
lcd.home ();
}
void loop()
{
//*********************************************
// MISE A JOUR DES TIMERS AFFICHAGE ET RPM
//*********************************************
elapsed += (micros() - time);
time = micros();
//*********************************************
// PRISE DE MESURE
//*********************************************
//CALCUL TPS
Tpsvolt = (analogRead(TpsInput)/204.8);
Tps = Tpsvolt + 0.02;
Tps = ((31.1 * Tps) – 21.3);
if (Tps < 0) {
Tps = 0;
}
//******************************************
// TRANSMISSION ET AFFICHAGE DES VALEURS
//******************************************
if((elapsed) > 100000){
lcd.home (); // go home
lcd.print(Tpsvolt,2);
lcd.print(" ");
lcd.print(Tps,2);
elapsed = 0;
time = micros();
}
}
Le but de ce programme est de vérifier que la tension TPS qui rentre dans l'arduino et qui est transformé par la Formule:
Tps = Tpsvolt + 0.02;
Tps = ((31.1 * Tps) – 21.3)
donne bien les mêmes valeurs que celle données par tuneecu.
On compare donc le cadran LCD qui affiche une tension en premier chiffre à 3 décimales et un pourcentage en second sont les même que ceux de la base test de tuneecu.
Dernière édition par Katomeuch le Mer 10 Avr 2013 - 14:50, édité 3 fois
_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch- Modérateur
- Votre Moto : 990 smr 04/2009
Messages : 20286
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 47
Localisation : Egletons 19300
Programme final et DataLog.
Dans votre Arduino vous devrez téléverser ce programme ArduinoLog, afin de pouvoir enregistrer les données sur la SDcard.
Les données recueillies, installer le dot net Framework 4 sur le pc pour que le programme fonctionne. Pour lire les résultats télécharger DataLog
Placer dans le même répertoire le fichier de log avec le nom DATALOG.TXT normalement, c’est déjà le nom du fichier de la carte SD donc pas besoin de le renommer. (fichier DATALOG dans le zip pour exemple)
Ensuite lancer le programme Datalog. Dans la fenêtre, il y a 3 boutons:
Les données recueillies, installer le dot net Framework 4 sur le pc pour que le programme fonctionne. Pour lire les résultats télécharger DataLog
Placer dans le même répertoire le fichier de log avec le nom DATALOG.TXT normalement, c’est déjà le nom du fichier de la carte SD donc pas besoin de le renommer. (fichier DATALOG dans le zip pour exemple)
Ensuite lancer le programme Datalog. Dans la fenêtre, il y a 3 boutons:
- Import ça va charger en mémoire l’ensemble des données du fichier de log. Ça mets un peu de temps (environ 1 a 2 minutes) et quand il a finit, il te dit “xxxx lignes importées”.
- Une fois que importé en mémoire, clicker au choix sur "graphe" ou sur "tableau".... qui sont 2 représentations différentes de l’AFR pour un RPM et un TPS donné...
_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch- Modérateur
- Votre Moto : 990 smr 04/2009
Messages : 20286
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 47
Localisation : Egletons 19300
Sujets similaires
» Discussions autour de la préparation d'un boitier de mesure d'AFR embarqué.
» boitier pour duke IV
» préparation pour le grand raid
» Boitier Bazzaz pour calmer une 1190 :-)
» préparation 1190 pour grand raid
» boitier pour duke IV
» préparation pour le grand raid
» Boitier Bazzaz pour calmer une 1190 :-)
» préparation 1190 pour grand raid
KTM Mania :: Technique :: 990 / 950 LC8 :: Toutes machines 990 / 950 SM, SMR, SMT - En cours de tri :: Injection / Carburation
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum