banc de puissance

bonjour,

je viens ici pour vous exposer mon problème:

matériel:
arduino mega
capteur inductif
roue dentée avec 4 dents

problème:

mon problème est le suivant, lors des essais du banc mon capteur inductif me donne des valeurs aberrante à certain moment et dés que je dépasse 2000 trs/min le capteur me donne que des valeurs aberrante.

es que cela pourrait venir du bruit ?
es que cela pourrait venir de la capacité du capteur inductif ?

Pas de code + Pas de montage = Aucune chance qu'on puisse t'aider !

voici mon programme:

// Définition des broches utilisé et du timeout

// Variable contenant la vitesse du moteur en rotations par minute

        double rpm;
	double N1;
        double N2;
        double rpm2;
	double Cm;
        double P1;
        double P2;
        double delta_t;
        double tempsActuel;
        double a;
        double tempsActuel1;

	void setup () { 
	  // Initialisation du port série
	  Serial.begin(128000); 
          Serial.println("CLEARDATA");
          Serial.println("LABEL,time,N2,P2,Cm,delta_t");
          pinMode(26, INPUT);
	  digitalWrite(26, HIGH);
        }
        
        void loop (){
          //etatInterrupteur = digitalRead(22);
         // if ( etatInterrupteur == HIGH ) {
          //J= 0.8473;
          delta_t =45;
	  // Mesure de la durée du temps bas en us
          //tempsActuel = 0 ;
	  rpm = pulseIn(26, LOW);
          tempsActuel = millis();
	

	  // Calcul de la vitesse en RPM à partir du temps bas en us
	  N1 = 60.0 /((rpm/1000000.0 )/2);

          //N1 = analogRead(26);
          //N1 = 5.7766*N1 - 24.276;
          
          //rad1 = N1*(PI/30.0);
          
          //temporisation 
         
          delay (delta_t);
             
          // Mesure de la durée du temps bas en us
         
	  rpm2 = pulseIn(26, LOW);
          tempsActuel1 = millis();
          a = tempsActuel1- tempsActuel;
	  //tempsActuel1 = millis();
          // Calcul de la vitesse en RPM à partir du temps bas en us
	  N2 = 60 / ((rpm2/1000000.0)/2);
          //N2 = analogRead(26);
         // N2 = 5.7766*N2 - 24.276;
          //rad2 = N2 * ( PI/ 30.0);

          // calcule du couple moteur
          a = a/1000;
          
          Cm = (0.8473 *(((N2*(PI/30)) - (N1*(PI/30)))/a));          
          // calcule de la puissance à t1
         
          //P1 = (Cm*rad1)/736;
          
          // calcule de la puissance à t2
          
          P2 = ((Cm*(N2*(PI/30)))/736.0);


          Serial.print("DATA,TIME,");
          Serial.print(N2, DEC);
          Serial.print(",");
          Serial.print(P2, DEC);
          Serial.print(",");
          Serial.print(Cm, DEC);
          Serial.print(",");
          Serial.println(a, DEC);
          //Serial.print(",");
         // Serial.println(Cm, DEC);
          // }
        }

alors pour le montage:

j'ai deux fils sur mon capteur un sur la masse (GND) et l'autre sur l'entré digital 26 .
le capteur est un capteur d'ABS.

j’avais résolu mon problème mais dimanche après-midi j'ai refait des essais et j'ai des valeur aberrantes qui reviennent .

ps; j'ai mit que deux dents sur la roue dentée

et le code à mettre entre les balises avec le bouton #, tu peux rééditer ton message avec "modify" en haut à droite.