depuis quelque temps surtous depuis que j'ai mon boost controler DSBC SPRC R
car malgré la gestion assez évolué est évolutive de n'au cher MAZDA turbo avec un simple robiné ou boost controler nous somme tous bloqué par la richesse moteur ,après il y a toujours des astuce "decrantage du débitmètre , ou injecto plus gros , ou encore pression d'essence révolu , résistance dans la sonde de température d'eau ,etc..... ou pour des tarif bien plus élevé est difficile a trouvé ou le faire faire une bonne petite reprog ou encore gestion programmable mais la encore pour aussi bien les une que les autre il y a des avantage ou des inconvénient qui sont ou le prix ou la précarité de la modif effectué sens compté que pour les modif elle on toute un incident sur le comportement du moteur est de la pollution au contrôle technique
mais moi se que je suis entrain de faire est tous autre du faite de mon budget mini est de mais envie de pouvoir agir sur la gestion au fure est a mesure des KM tous sa pour vous dire que sa fait bientôt 1 mois que je travail sur se projet [explication]:
je veux fabriqué un boitier électronique qui pour moins de 100€ arrive a me modifier ma gestion avec au moins 3 réglage différent se boitier s'occuperait juste de modifier non pas la gestion en elle même mais plutôt le signale partant de l'ECU vers les injecto est serai dévier dans se boitier qui adapterai le temps d'injection selon l'un de ces 3 mode qui correspondra au mode de réglage de mon boost control
quelque explication plus technique pour les connaisseur:
multipoint séquentielle 4 cylindres
1 bouton poussoir et une LED
-1/ le microprocesseur dispose de ports de conversion analogique/numérique ... le taux d'enrichissement se fait donc en tournant un potentiomètre
-2/ un interrupteur à 3 positions pour sélectionner entre
0et10%de plus
entre20 et25%de plus
et jusqu'a40%de plus
LA THEORIE
L'indice stoechiométrique de l'essence est de 14,7 (il faut pour une bonne combustion 14,7 grammes d'air pour 1g d'essence) Il faut donc théoriquement d'une façon ou d'une autre augmenter les temps d'injection, théoriquement de 50%, pratiquement selon tous les experts de l'ordre de 30% , la sonde lambda allant faire la correction supplémentaire ; avec un système d'injection sans sonde lambda, sans doute un peu plus.
Imaginons donc un système simple qui chaque 100µs va scruter le signal en provenance de l'ECU et lire soit 12V (demande de fermeture injecteur) ou 0V (demande d'ouverture). Ce système peut donc déterminer la durée d'injection souhaitée par l'ECU, simplement en comptant le nombre de fois où il a vu 0V entre un front descendant 12V-->0V et un front montant 0V-->12V . Par exemple s'il a compté 32, la durée d'injection demandée par l'ECU est de 32 fois 100µs soit 3,2ms.
Une fois connue la durée d'injection, par exemple 3,2 ms, il peut calculer un allongement variable de x%. Par exemple, un allongement de +30%, conduira dans notre exemple à un allongement de +0,96ms ou encore 9,6 fois 100µs
Le système doit aussi être capable de générer les impulsions allongées vers l'injecteur, simplement en faisant une transition 12V-->0V puis dans notre exemple 4,16ms plus tard, une autre transition 0V-->12V
Chaque 100µs, le système va lire la valeur en provenance de l'ECU et compter la durée d'ouverture. S'il détecte 0V sur le fil en provenance de l'ECU, il affichera 0V sur le fil en direction de l'injecteur. Quand la valeur en provenance de l'ECU repasse à 12V, le logiciel maintient 0V vers l'injecteur … le temps nécessaire déterminé par le pourcentage choisi par l'utilisateur.
Pour faire ce travail, un petit microcontrôleur basique à 5€ tel qu'on en trouve dans bon nombre de systèmes grands publics est largement suffisant. Il est inséré en coupure (il faudra donc soit couper le fil soit utiliser 2 connecteurs d'injecteurs ) entre l'ECU et l'injecteur
Pour communiquer vers l'extérieur, un microcontrôleur basique possède le plus souvent un port de sortie de 8 à 16 bits qui doivent être entre 0V et 5V ; les plus sophistiqués intègrent des convertisseurs analogiques/numériques mais pour notre description, nous considérerons un microcontrôleur basique avec ports entre 0V et 5V.
En entrée le fil en provenance de l'ECU est en logique 0-12V … pour passer en logique 0-5V, il suffit de mettre un pont diviseur fait avec des résistances. En sortie pour "attaquer" l'injecteur et le faire travailler en logique 0-12V, il faut ajouter un transistor de puissance.
4. LES PORTS DU MICROCONTROLEUR
9 ports de codage sont utilisés dans le cas d'un système Monopoint ou Multipoint simultané
• 3 interrupteurs pour l'interface homme machine dans la voiture
• 4 micro-switches pour le codage du % d'augmentation du temps d'injection
• 1 entrée en provenance de l'ECU
• 1 sortie à destination de l'injecteur
4.1 commandes depuis l'habitacle
3 ports seront utilisés pour connecter 3 interrupteurs sur le Tableau de bord du véhicule
• 1 interrupteur pour le taux d'enrichissement demandé
4.2 commandes sur le boitier
4 microswitches en boitier au format DIL (à 1 Euro) de codage seront utilisés pour régler le % d'allongement des injecteurs.
Ces microswitches se présentent sous la forme ou
Pour un véhicule et système d'injection donné, on fixe une valeur (souvent autour de 40%max) et règle éventuellement à la hausse ou à la baisse en fonction de ce que l'on observe, notamment le lambda … mais ce système n'ayant pas vocation à être changé en permanence, un codage par microswitches sur le boitier est suffisant. Cela évitera d'ailleurs la tentation d'y toucher en permanence
Pour simplifier au maximum le logiciel et les erreurs d'arrondis de calculs en informatique de base 8 bits sans multiplications ni divisions, on utilisera des multiples de 1/32 ; on travaillera donc par pas de 3,125% pour calculer l'augmentation de la durée d'injection
Pour faire le calcul des pourcentages, on ne fera jamais de multiplications ou de divisions car trop complexes sur des microcontrôleurs basiques, mais seulement des décalages vers la gauche/droite. En effet, un décalage à droite d'une position revient à diviser par 2, un décalage à droite de 2 positions revient à diviser par 4, de 3 positions par 8, de 4 positions par 16 et de 5 positions par 32 (soit 3,125%) … de même, un décalage à gauche d'une position revient à multiplier par 2, etc …
Le codage binaire des microswitches DCBA est alors :
• 0000 : 0
• 0001 : 3,125%
• 0010 : 6,25%
• 0011 : 9,375%
• 0100 : 12,5%
• 0101 : 15,625%
• 0110 : 18,75%
• 0111 : 21,875%
• 1000 : 25%
• 1001 : 28,125%
• 1010 : 31,25%
• 1011 : 34,375%
• 1100 : 37,5%
• 1101 : 40,625%
• 1110 : 43,75%
• 1111 : 46,875%
4.3 Récapitulatif des signaux de commandes
Les 9 bits du port du microcontrôleur sont utilisés comme suit :
ECU : signal en provenance de l'ECU
INJ : signal en sortie vers l'injecteur
A, B, C,D : microswitches DIL donnant le pourcentage d'augmentation du temps d'ouverture des injecteurs (entre 0 et 46,875% par pas de 3,125%)
5. LE LOGICIEL
C'est une boucle qui tourne chaque 100µs sur interruption déclenchée par l'horloge temps réel interne du microcontrôleur. Enfin l'horloge n'a pas besoin d'être d'une pércision extrème et si c'est 90 ou 110µSec au lieu de 100µS, cela ne changera rien
Le traitement des instructions clés de gestion des injecteurs devra donc être minimisé pour durer au maximum 100µS. On suppose ici que l'ensemble de la lecture des clés et microswitches peut être effectué à l'intérieur de ce temps de base de 100µS
Si cela ne s'avérait pas être possible en fonction de la vitesse de calcul du microcontrôleur choisi, il faudrait alors déporter hors de la boucle principale cette lecture de clés et l'effectuer dans les temps morts, par exemple quand l'ECU indique 12V et qu'en sortie l'injecteur est aussi à 12V car à ce moment là, le microcontrôleur n'a rien à faire.
5.1 Variables
IN : registre de comptage du temps d'ouverture tel qu'indiqué par l'ECU
OUT : registre de comptage du temps d'ouverture à destination de l'injecteur tel que déterminé par le microcontrôleur
MORE : registre temporaire de calcul du temps d'allongement
ECU : valeur lue en provenance de l'ECU sur le port ECU ; ECU=1 signifie que l'ECU demande l'ouverture de l'injecteur (0 volt)
INJ : valeur écrite vers l'Injecteur sur le port INJ ; INJ=1 signifie que le µP demande l'ouverture de l'injecteur (0 Volt)
A, B, C, D : microswitches DIL
5.2 Organigramme en pseudo langage
START
IN =OUT=0 ; mettre In et Out à Zero
VAC : GOTO VAC ; boucle sans fin
INTERRUPT START each 100 µS
IF ECU=1 THEN ; ECU demande l'ouverture de l'injecteur
IN=IN+1 ; ; compter +100µS
OUT=OUT+1 ; ; µP demande ouverture injecteur
GOTO SORTIE
IF IN = 0 THEN GOTO SORTIE ; cas ECU=IN=0 ; pour l'ECU : injecteur fermé
; cas ECU =0 mais IN >0 transition 0>12V ECU demande fermeture injecteur
ALLONGEMENT ; calcul de l'allongement du temps d'injection
SORTIE :
IF OUT =0 THEN
INJ = 0 ; µP demande fermeture de l'injecteur
INTERRUPT END
INJ =1 ; Injecteur ouvert pour 100µs
OUT= OUT-1
INTERRUPT END
Comme on le voit en assembleur, le logiciel doit faire brillamment 100 ou 200 instructions ..
Reste à vérifier que le tout se déroule en moins de 100µS … ce qui ne devrait poser aucun problème avec un bon microcontrôleur
alors vous en pensé quoi








