KTM Mania
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Préparation d'un boitier pour mesurer l'AFR embarqué.

Aller en bas

Préparation d'un boitier pour mesurer l'AFR embarqué. Empty Préparation d'un boitier pour mesurer l'AFR embarqué.

Message par Katomeuch Mer 27 Fév 2013 - 14:50

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 lol!


@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.

Préparation d'un boitier pour mesurer l'AFR embarqué. Plan_e10

Préparation d'un boitier pour mesurer l'AFR embarqué. Sumi3_10


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é.
Préparation d'un boitier pour mesurer l'AFR embarqué. Screen33

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
Katomeuch
Modérateur

Votre Moto : 990 smr 04/2009
Messages : 20278
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 44
Localisation : Egletons 19300

Revenir en haut Aller en bas

Préparation d'un boitier pour mesurer l'AFR embarqué. Empty Câblage du boitier

Message par Katomeuch Dim 3 Mar 2013 - 19:04

Préparation d'un boitier pour mesurer l'AFR embarqué. Anduri10


@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!!!
Préparation d'un boitier pour mesurer l'AFR embarqué. Screen36


Dernière édition par Katomeuch le Mer 10 Avr 2013 - 14:59, édité 4 fois

_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch
Katomeuch
Modérateur

Votre Moto : 990 smr 04/2009
Messages : 20278
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 44
Localisation : Egletons 19300

Revenir en haut Aller en bas

Préparation d'un boitier pour mesurer l'AFR embarqué. Empty Programme de test du TPS

Message par Katomeuch Mar 2 Avr 2013 - 8:25

@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.

Préparation d'un boitier pour mesurer l'AFR embarqué. 2013-022


Dernière édition par Katomeuch le Mer 10 Avr 2013 - 14:50, édité 3 fois

_________________
kTm, c'est tout ce que j'aime...!!!!
Katomeuch
Katomeuch
Modérateur

Votre Moto : 990 smr 04/2009
Messages : 20278
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 44
Localisation : Egletons 19300

Revenir en haut Aller en bas

Préparation d'un boitier pour mesurer l'AFR embarqué. Empty Programme final et DataLog.

Message par Katomeuch Mer 10 Avr 2013 - 14:11

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:


  1. 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”.
  2. 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
Katomeuch
Modérateur

Votre Moto : 990 smr 04/2009
Messages : 20278
Humeur : Heureux!!!
Date d'inscription : 26/04/2010
Age : 44
Localisation : Egletons 19300

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum