Fabriquer un testeur d'injecteurs Arduino

Contexte et objectifs

J'ai acquis un testeur d'injecteurs pour une quarantaine d'euros (que vous pouvez vous procurer ). 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.

Testeur d'injecteurs
Testeur d'injecteurs "tout fait" acheté sur le web

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.

Testeur d'injecteurs Arduino
Testeur d'injecteurs arduino assemblé

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 Nano
IRF520 driver
Câbles type Arduino
Câbles + pinces croco

Evolution

J'ai développé une version 2 qui comporte en plus un écran permettant de suivre la progression du processus.

Testeur d'injecteurs Arduino version 2 avec écran
Testeur d'injecteurs arduino V2 avec écran
Testeur d'injecteurs Arduino version 2 avec écran
Idem, vue générale !

Vidéo de démonstration

Si un des produits listés dans l'article n'est plus disponible, envoyez-moi un message afin que je le mette à jour.
Cet article vous a plu ? Merci de le partager sur les réseaux sociaux :
image
Qui est l'auteur ?

Passionné de nouvelles technologies, je propose mes services de développement Web, principalement dans l'élaboration de scripts et d'algorithmes sur mesure, ainsi que plus généralement dans la réalisation de sites internet évolués (e-commerce, etc...) et du référencement (SEO).
N'hésitez pas à me contacter pour toute demande !

Abonnez-vous à ce blog par email

Rentrez votre adresse email pour vous abonner au blog et recevoir un e-mail à chaque nouvel article :

ou suivez nous sur Facebook :

Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec une *

Quelle est la dernière lettre du mot hocn ? :