Contexte et objectifs
J'ai acquis un testeur d'injecteurs pour une trentaine d'euros (que vous pouvez vous procurer ici). Il comporte quatre modes, permettant d'envoyer une impulsion simple, ou plusieurs consécutives, jusqu'à un fonctionnement continu.
Dans la fiche technique, ils donnent pour ce mode un envoi de 50 impulsions de 7ms en 1450ms, ce qui veut dire que l'injecteur est ouvert 7ms puis fermé 22ms, logiquement.
Donc un cycle de fonctionnement (IDC, Injector Duty Cycle) fixe, aux alentours de 24% (7x100/29).
Ce montage permet de tester le bon fonctionnement d'un injecteur, et de procéder à son nettoyage une fois plongé dans un bac à ultrasons avec une solution ad-hoc.
Fabriquer son testeur Arduino
La méthode habituelle DIY est avec un un générateur de courant alternatif et des diodes. J'ai pensé qu'il serait intéressant de faire ça en courant continu, avec un MOSFET, et en pouvant faire varier le duty cycle de l'injecteur. Le signal étant un signal carré, deux solutions : utiliser la fonctionnalité PWM de l'Arduino, mais avec la nécessité de modifier sa fréquence interne, ou bien générer le signal "artificiellement" en alternant une phase où le signal est haut et une phase où il est bas. Vu la relative lenteur des phases (se chiffrant en millisecondes), nous pouvons utiliser sans soucis la deuxième solution.
Nous utiliserons un MOSFET afin de faire passer ou non le courant dans l'injecteur., car ce dernier peut alterner les phases on ou off très rapidement.
Améliorations
Nous allons, à l'inverse du modèle acheté dans le commerce, faire varier l'IDC de l'injecteur. Pour ce faire, nous allons commencer par un IDC de 0% (injecteur complètement fermé), pour augmenter progressivement jusqu'à 70% ( injecteur ouvert pendant 20ms, fermé pendant 9ms). A chaque incrémentation, nous augmenterons le temps d'ouverture de 0.05ms, et diminuerons donc le temps de fermeture d'autant (le total ouverture + fermeture étant toujours égal à 29ms).
Pour chaque IDC, on fera 5 ouvertures/fermetures d'injecteur. La totalité mettra environ 60 secondes à s’exécuter, suite à quoi nous ferons une pause de 30 secondes afin de laisser le temps à l'injecteur de refroidir. Et rebelote !
Branchements
L'ensemble sera alimenté par la batterie du véhicule via deux pinces crocodile.
La carte Arduino (modèle nano, la plus compacte) sera alimentée via la broche VIN (entrée régulée par l'Arduino) sur le + de la batterie, et nous utiliserons un montage à base de MOSFET IRF520 pour alimenter l'injecteur.
Pour connecter ce dernier au MOSFET, nous utiliserons aussi deux pinces croco, mais de petit modèle, en prenant bien soin qu'elles ne se touchent pas ! Le MOSFET IRF520 a une réactivité se chiffrant en nanosecondes, il est donc largement assez réactif pour suivre le rythme.

Code source
unsigned long time_micros;
unsigned long last_time_micros;
byte statut=1;
unsigned long ipw=0;
unsigned long time_available=29000;
unsigned long pourcent=70*time_available/100;
unsigned long ratio;
unsigned int sleep_time, difference, cycles;
unsigned int pin=3;
unsigned long start_millis=millis();
unsigned int pas=50;
void setup(){
}
void loop(){
while(ipw<=pourcent)
{
sleep_time=time_available-ipw;
ratio=ipw*100/time_available;
last_time_micros=micros();
analogWrite(pin,255);
statut=1;
cycles=0;
while(cycles<10)
{
time_micros = micros();
difference=time_micros-last_time_micros;
// On passe en LOW
if(difference>=ipw && statut==1)
{
cycles++;
analogWrite(pin,0);
last_time_micros=micros();
statut=0;
}else if(difference>=sleep_time && statut==0) // On passe en HIGH
{
cycles++;
analogWrite(pin,255);
last_time_micros=micros();
statut=1;
}
}
ipw+=pas;
}
ipw=0;
delay(30000);
}
Se procurer le matériel
Vous pouvez, via les liens ci-dessous, vous procurer les composants nécessaires.
Carte Arduino NanoIRF520 driver
Jumper cables pour Arduino
Evolution
J'ai développé une version 2 qui comporte en plus un écran permettant de suivre la progression du processus.


pour la version 2 qui comporte en plus un écran est ce que que je peux avoir le schema et le programme
Bonjour, je serais interessez par le code source 2 avec l'écran, je ne comprend pas qu'elle valeur vous recuperez.
Merci biem
please can you send me the code source of version 2
thank you so much
Bonjour cher Segentbrico
Bravo pour l'idée, chapeaux pour la réussite et merci infiniment pour le partage du code (sketch), je suis aussi intéressés comme les amis au dessus, (dommage qu'ils oublient les notions de respect tel que "bonjour...") j'ai acquis un Arduino Uno, le Module Mosfet et le même écran en I2C.
Je serais donc très intéressé par l'ajout du LCD dans le code, au pire si pas possible, j'essaierai de me débrouiller sur le forum Arduino home. Merci et respect en tout cas pour le partage.
Très bonnes continuation.
please can you send me the code source of version 2
thank you so much
bonjour déjà bravo pour cette réalisation et t'il posible davoir le code source pour la v2 avec l'ecran
Super projet et bien compréhensible pour les novices comme moi , comme les précédents commentaire je serai intéressé par la version écran lcd , et je voudrais savoir si je peu mettre plusieurs modules mosfet en parallèle pour faire un banc à injecteurs. Bien merci. Lionel
Bien le bonjour et tous mes veux pour cette nouvelle année, Super projet serais tu si l.on peu mettre les modules Triac en parallèle afin de monter un rac de 4/6 ou 8 injecteurs , et je suis également très intéressé par ta version LCD bien merci lionel