Go Down

Topic: Boitier E85  (Read 5116 times) previous topic - next topic

marcus_95

Mar 05, 2016, 07:21 pm Last Edit: Nov 17, 2019, 10:05 am by marcus_95
Bonjour à tous,

Nouveau boitier E85 ici


Voilà mon projet consiste à faire rouler une voiture essence de 1 à 6 cylindres avec du E85 (éthanol avec 15% de SP95) avec un Arduino Nano.
La plus part des voitures essence construites à partir de 2000 sont compatibles (circuit d'alimentions en carburant).
Le souci est que lorsque qu'on roule avec du E85 la plupart des calculateurs moteur vont arriver à un temps d'injection maxi et allumer le voyant anti-pollution et là ce n'est pas bon, risque de casse moteur car on est trop pauvre en essence. Pour remédier à ce problème on va augmenter le temps d'injection, la moyenne est de 20 à 25%.
La particularité de mon montage est qu'on va lire la sonde lambda pour augmenter ou diminuer par pas de 1% le temps d'injection. Il y a aussi un système de starter automatique.
Je suis actuellement sur la finition du PCB final, le prototype a  nécessité des modifications pour les réglages des tensions du lambda (AOP) et la CTN (990mv pour 35°).
Sur table avec le câblage 12V tout est bon, j'ai pré câblé les  injecteurs de la voiture avec des prises étanches, pratique pour revenir à la monte d'origine en cas de problème.
La CTN est une 10K collé sur la durite d'entrée radiateur proche de la culasse. J'ai repiqué le signal de la sonde lambda sur le fil du calculateur (voir le branchement de la sonde lambda la mienne 4fils retour lambda fil blanc).
Au fur et à mesure de mes essais je les ajouterais sur le post.
Pour la programmation de l'arduino il faut utiliser Atmel Studio 6.2.
Pour la configuration j'utilise :
Pour la commande : C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Pour l'argument : -C"C:\Program Files (x86)\arduino\hardware\tools\avr\etc\avrdude.conf" -patmega328p -carduino -P COM12 -b57600 -D -U flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":i

-b57600 est très important pour programmer un Arduino Nano.

Un grand merci à DFGH qui a écrit le programme en assembleur.

changer l'extension du fichier .H en ASM
Il y a 2 straps à placer sur le CI, ligne GND et +12V (proche du connecteur). J'ai rajouté un 7812 pour le VCC de l'Arduino. Le 78L05 sert pour la sauvegarde, coupure du contact détecté sur A2, maintien à 12V pendant 2 secondes pour écrire dans l'EEPROM. Dprotect n'est plus utile car modification de l'alim de l'AOP par le 5V de A2 au lieu du 12V

Pour le PCB en format ARES. Supprimer l'extension .ZIP

Cdt.
Marcus

marcus_95

#1
Mar 10, 2016, 08:34 pm Last Edit: Mar 11, 2016, 06:17 pm by marcus_95
Voir la photo "Fig Injecteurs".
Tout d'abord, la résistance doit être égale ou supérieure à 10 ohms. Avant tout montage,
réglez votre multimètre sur 12 Volts (Si vous n'avez pas de multimètre, vous pouvez utiliser une lampe témoin). Débranchez l'ensemble des connecteurs d'injecteurs.
- Connectez le fil de masse de la lampe témoin ou du multimètre sur une masse du véhicule.
- Connectez le fil d'alimentation 12V dans la fiche A (marqué en jaune sur les photos) d'un des connecteurs (femelle) allant aux injecteurs.
- Mettez le contact du véhicule et vérifiez si la broche A est alimentée en 12V. Mettre le contact sans faire tourner le moteur.
Le 12V identifié, vous pouvez passer au branchement de vos fiches de connecteurs en fonction de la polarité. Attention, sur certains véhicules la polarité est temporisée, c'est à dire que la polarité change une fois le contact allumé, dans ce cas, il faut faire le test accompagné d'une personne, l'une mettant le contact et l'autre contrôlant le voltmètre ou la lampe témoin.
- S'il n'y a pas de 12V sur la broche A (en jaune), coupez le contact.
- Débrancher le fil d'alimentation du testeur ou de la lampe témoin et le brancher sur la broche B (marquée en bleu sur les photos).
- Remettez le contact du véhicule. Vérifiez si la broche B (marquée en bleu sur les photos) est alimentée en 12V.


Le plan de câblage pour installation du boîtier dans la voiture. "Fig 1".

Il faut couper les fils de liaisons  entre le calculateur et les injecteurs afin de pouvoir y intercaler le boîtier via un connecteur mal femelle. Placer le boîtier de manière à avoir le moins de fils possible.
Le fil de masse doit être le plus court possible, et sur une bonne masse.
Pour mieux comprendre « Fig 2 »:

Détail de l'entrée IN1 (fonctionnement identique pour les autres)

La résistance R16 de 1K8 reliée entre la +12V et la sortie injecteur du calculateur permet de simuler la présence de l'injecteur. Sinon il se peut que le calculateur se mette en défaut.
Cette résistance permet également d'envoyer un niveau logique 1 sur l'entrée du microcontrôleur, par l'intermédiaire de R20 et D1. Ce réseau résistance + zener permet de rabaisser la tension de 12V en 4.7V, pour ne pas griller l'entrée du microcontrôleur, qui ne supporte pas plus de 5V !

Détail de la sortie OUT1 (fonctionnement identique pour les autres)

Au démarrage du microcontrôleur, les ports d'entrées/sorties sont configurés a l'état haut. Pour éviter que le transistor Q1 ne se déclenche, la résistance de pull-down R7 permet de fixer le potentiel de la gate du transistor (c'est un Mosfet) à 0V, le temps que le programme du microcontrôleur démarre et passe le port OUT1 en sortie (et au niveau logique 0).
La résistance R1 permet de limiter le courant d'appel sur la sortie du microcontrôleur lorsque la sortie change d'état. En effet, la gate d'un transistor mosfet comporte une capacité parasite. Sans résistance de limitation, le courant de sortie pourrait dépasser les spécification du fabricant à chaque commutation (passage du niveau logique 1 vers 0, ou 0 vers 1).

marcus_95

#2
Mar 11, 2016, 04:40 pm Last Edit: Mar 11, 2016, 06:19 pm by marcus_95
Il faut modifier cette ligne du programme :
Cpi temp1,0x02 ;0x3c=60   ;60 * 10 = 10 minutes  0x2D=45
En
Cpi temp1,0x2D      ;0x3c=60   ;60 * 10 = 10 minutes  0x2D=45
C'est pour le réglage des 10 minutes pour la prise en charge du lambda.

Pour tester le boitier il faut une alimentation 12V:
1) ne pas monter l'Arduino nano ni l'AOP.
2) Connectez l'alimentation 12V sur le boîtier (+12V et masse).
3) Mettez l'alimentation 12V sous tension
4) tester la présence du VCC sur le support de l'Arduino ainsi que l'état Haut sur les broches A2, D8 à
  D13 (les entrées des injecteurs).
5) Couper l'alimentation.
6) mettre en place l'AOP.
7) Mettez l'alimentation sous tension.
8) Injecter un tentions de 500 mv sur l'entrée du connecteur lambda (vous pouvez utiliser une
  résistance ajustable, une broche sur la masse l'autre sur le +5 de l'Arduino et celle du milieu sur
  l'entré lambda, régler la résistance ajustable pour obtenir 500 mv) régler RV1 et RV2 pour obtenir
  500 mv sur la broche A0.
9) brancher la CTN sur une source de chaleur à 35° (j'utilise un verre d'eau et un Arduino pour  
  mesurer la température avec un DS18b20). Régler RV3 pour obtenir 690 mv.
10) Couper l'alimentation.
11) Positionner l'Arduino Nano programmé. Ne pas oublier :
********************************************************************************
;ces lignes ne doivent être compilées que pour la première utilisation
;il faudra ensuite les mettre en commentaire et recompiler le prg
;et le recharger dans le micro
;ldi     YL,0x32                
;ldi     YH,0x00                 ;par défaut au début si moteur froid ($200 en RAM)
;ldi     temp1,0x08           ;en 208
;rcall   ecriture_EEprom
;********************************************************************************
12) Mettez l'alimentation sous tension, attendre 20 secondes.  Si tout va bien, la led doit clignoter.
13) Couper l'alimentation. La sauvegarde est faite.
14) Reprogrammer l'Arduino comme ci-dessus.

Pour vérifier le bon fonctionnement du boîtier, il faut simuler l'installation dans la voiture. Il vous faut des résistances de 10K.
Connectez ensuite les résistances de 10K entre les sorties injecteurs et le +12V (afin de simuler la présence des injecteurs).
Mettez l'alimentation 12V sous tension : Si tout est bon jusque-là, vous pouvez tester les entrées/sorties injecteurs. Mesurez au multimètre entre la masse et chaque sortie injecteur : vous devez avoir 12V sur toutes les sorties, car les transistors de puissance ne sont pas pilotés, et les résistances de 10K renvoient du 12V sur votre multimètre.
Ensuite forcez une par une à la masse les entrées injecteurs, et vérifiez que la sortie correspondante passe bien à 0V, puis à +12V lorsque vous enlevez la liaison entre l'entrée et la masse.
Si tous se passe bien, le boîtier est fonctionnel.
Vous pouvez aussi utiliser un autre Aduino programmer avec le simulateur et observer avec un analyseur logique sur les broches D2 à D7, pas sur les résistances elles sont à 12V.
Utiliser l'interrupteur E85 essence normal uniquement quand le boitier n'est plus alimenté (contact coupé).
99% des boitiers E85 du commerce utilise le +12V des injecteurs pour l'alimentation, ils ne fonctionnent pas sur ma voiture (j'ai testé 2 boitiers du commerce).
Merci à NLC Chanel pour les explications.

marcus_95

#3
Mar 20, 2016, 11:13 pm Last Edit: Mar 20, 2016, 11:34 pm by marcus_95
Le calculateur BOSCH (ECU) monté sur 90% des voitures ICI. Le moteur ES9J4 de base est un 8 cylindres. Il a été monté sur toutes les voitures des groupes français en 6 cylindresV6 PRV et sur des camions de l'armée francaise en 8 cylindres.

marcus_95

Après plusieurs mois d'essai il y a des petits problèmes :
Décalage du lambda en frein moteur car coupure de l'injection par l'ECU, décalage du lambda en accélération forte. Allumage le voyant anti-pollution. Les vibrations retirent l'Arduino Nano de son support et le grille. Un future montage en standalone est en cour et peut être un nouveau programme.
Cdt.
Marcus.

umaguma49

Bonjour,
Sur mon blog https://umaguma49.blogspot.com/ vous trouverez également des explications et des réalisations de boitier flexfuel E85 à base de PIC ou d'Arduino (Attiny84).
Perso je déconseille fortement l'usage de carte Arduino toutes faites, il vaut mieux utiliser les microcontrôleurs directement sur son PCB (l'Atmega 328P par exemple), vous gagnerez en fiabilité.
 

marcus_95

#6
Nov 16, 2019, 09:03 pm Last Edit: Nov 17, 2019, 12:28 pm by marcus_95
Bonjour,
je testerais ton code en standalone version 6 cylindres (j'ai deja des CI prés câblés tous fait).
Très bon travail et merci de partager.
Cdt.
Marcus.


le boitier E85 n'est pas compatible avec les moteurs essence à injection directe (CGI , GDI, FSI, EcoBoost, etc .)

Benhurburg

Bonsoir,
Pourquoi se limiter à 6 cylindres , les 8 consomment encore davantage ?
Avez vous un lien pour se procurer les connecteurs mâles/femelles d'injecteur entre autres ?
Slt

marcus_95

Bonjour,
non il est possible de modifier le programme pour 8 ou 12 cylindres.
J' ai plus les liens pour les connecteurs, j'utilise des connecteurs comme ici.
Cdt.
Marcus

Go Up