Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session

Auteur Sujet: Traceur de courbe de transistors du (tres) pauvre.  (Lu 24248 fois)

eledtronik

  • Administrator
  • Sr. Member
  • *****
  • Messages: 313
  • apprendre c'est bien, le partager c'est mieux
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #15 le: octobre 24, 2016, 01:34:57 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #16 le: octobre 25, 2016, 02:54:07 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #17 le: octobre 26, 2016, 11:32:00 am »


 const int nEchantillons = 126;//valeur de comptage max
int echantillon[nEchantillons];    // un tableau pour stocker les échantillons lus
int indice = 0;                    // indice de l'échantillon courant
float total = 0;                   // somme des échantillons mémorisés
float moyenne = 0;                 
float intensite = 0;
 int tri =   5;   // Triangle   sur D5
   int vg = 3;   // Voltage step sur D3

   int j   = 0; //pente Vce

   int k = 0;   // steps Ib

   int slope = 4;//pente du triangle

int incomingByte; // variable de stockage des données entrantes
int comptage=0;// comptage du nombre d'échatillons
int bouclecomptage=0;// nombre de comptages
//int row = 0;// pour renvoi de colonnes à  LibreOffice
float tensionVce;
float tensionVb;
float intensiteIb;
   void setup()

{ Serial.begin(   9600);   
Serial.println("CLEARDATA");// Directives pour LibreOffice
Serial.println("LABEL,Time,Vce,Ib");// Directives pour LibreOffice
   pinMode( tri, OUTPUT);

   pinMode( vg,   OUTPUT);
for (int i = 0; i < nEchantillons; i++) {
    echantillon[i] = 0;
  }
} // setup

   void loop()
{
Serial.print("DATA,TIME,"); // Directives pour LibreOffice
   total = total - echantillon[indice];
{ if   (Serial.available() > 0);   

{ incomingByte = Serial.read();   

  int valeur0 = analogRead(A0);//Nbr de pas PWM Vce

// valeur en volts
  int valeur1 = analogRead(A1);//Nbr de pas PWM Vb
tensionVce  = map(valeur1, 0, 1023, 0, 5000);//en millivolts
//intensite=tensionVce/200000.0000;//calcul Ib avec Rb=200K
 
     

echantillon[indice]=(valeur0);
total = total + echantillon[indice];
indice++;

comptage++;

 // si on est à  la fin du tableau ...
  if (indice >= nEchantillons) {
    // ...retour au début
    indice = 0;
  }
 
  // calcul de la moyenne
  moyenne = total / indice;
tensionVb = map(moyenne, 0, 1023, 0, 5000);//en millivolts
//tensionVb/1000 pour valeurs en volt
  Serial.print(tensionVb/1000);
    Serial.print(",");
      Serial.println(tensionVce/1000);

   delay(   10);
}

   j = j+slope;

   analogWrite( tri, j);

   analogWrite(vg, k);

 
   delay(   10);

   if   (j > 250) slope = -4 ;

   if   (j < 1)

{ slope = 4 ;
bouclecomptage++;
comptage=0;
indice = 0;             
total = 0;           
moyenne = 0;         
for (int i = 0; i < nEchantillons; i++) {
    echantillon[i] = 0;
      }
   k = k + int(255/5);
//row=row+1;

}

   if   (k > 255 ) k = 0 ;

}

} //   loop()

IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 930
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #18 le: octobre 26, 2016, 02:01:12 pm »

   
void loop()
{
Serial.print("DATA,TIME,"); // Directives pour LibreOffice
total = total - echantillon[indice];
if (Serial.available() > 0)   
{
incomingByte = Serial.read();   
int valeur0 = analogRead(A0);//Nbr de pas PWM Vce
// valeur en volts
int valeur1 = analogRead(A1);//Nbr de pas PWM Vb
tensionVce  = map(valeur1, 0, 1023, 0, 5000);//en millivolts
...
}
...
}

Vois cela comme un commentaire constructif!  ;)
IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #19 le: octobre 26, 2016, 02:07:25 pm »

const int nEchantillons = 126;       //valeur de comptage max
        int echantillon[nEchantillons];      // un tableau pour stocker les échantillons lus
        int indice = 0;                      // indice de l'échantillon courant
        float total = 0;                     // somme des échantillons mémorisés
        float moyenne = 0;                 
        float intensite = 0;
        int tri =   5;                       // Triangle   sur D5
        int vg = 3;                          // Voltage step sur D3
        int j   = 0;                         // pente Vce
        int k = 0;                           // steps Ib
        int slope = 4;                       // pente du triangle
        int incomingByte;                    // variable de stockage des données entrantes
        int comptage=0;                      // comptage du nombre d'échatillons
        int bouclecomptage=0;                // nombre de comptages
                                             //int row = 0;// pour renvoi de colonnes à  LibreOffice
        float tensionVce;
        float tensionVb;
        float intensiteIb;

   void setup()

{     Serial.begin(   9600);   

           Serial.println("CLEARDATA");         // Directives pour LibreOffice
           Serial.println("LABEL,Time,Vce,Ib"); // Directives pour LibreOffice
           pinMode( tri, OUTPUT);
           pinMode( vg,   OUTPUT);
   
             for (int i = 0; i < nEchantillons; i++)     {
             echantillon[i] = 0;
             }
}   // setup

   void loop()
{
          Serial.print("DATA,TIME,");           // Directives pour LibreOffice 
                 
            total = total - echantillon[indice];   
           
                {   if   (Serial.available() > 0);   

         {  incomingByte = Serial.read();   

    int valeur0 = analogRead(A0);//Nbr de pas PWM Vce
    int valeur1 = analogRead(A1);//Nbr de pas PWM Vb
    tensionVce  = map(valeur1, 0, 1023, 0, 5000);//en millivolts
   
//intensite=tensionVce/200000.0000;//calcul Ib avec Rb=200K

       echantillon[indice]=(valeur0);
       total = total + echantillon[indice];
       indice++;
       comptage++;

                // si on est à  la fin du tableau ...
                if (indice >= nEchantillons) {
               // ...retour au début
               indice = 0;
               }
           
       moyenne = total / indice;                      // calcul de la moyenne
       tensionVb = map(moyenne, 0, 1023, 0, 5000);    //en millivolts
             
          Serial.print(tensionVb/1000);               //tensionVb/1000 pour valeurs en volt
          Serial.print(",");
          Serial.println(tensionVce/1000);

   delay(   10);
   
      }   // incomingByte = Serial.read();   
             j = j+slope;
             analogWrite( tri, j);
             analogWrite(vg, k); 
   delay(   10);
                 if   (j > 250) slope = -4 ;
                 if   (j < 1)
                 {  slope = 4 ;
                      bouclecomptage++;
                      comptage=0;
                      indice = 0;             
                      total = 0;           
                      moyenne = 0;         
                          for (int i = 0; i < nEchantillons; i++) {
                          echantillon[i] = 0;
                          }                   
                      k = k + int(255/5);
                      //row=row+1;
                } // slope = 4 ;
           if (k > 255 ) k = 0 ;
              } // if   (Serial.available() > 0);
} //   loop()

« Modifié: octobre 26, 2016, 02:50:24 pm par Janpolanton »
IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #20 le: février 21, 2017, 08:40:01 am »

IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 930
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #21 le: février 21, 2017, 01:23:19 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #22 le: février 21, 2017, 02:06:03 pm »

IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 930
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #23 le: février 21, 2017, 03:05:47 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #24 le: février 21, 2017, 03:15:20 pm »

montage non inverseur  ;)
IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 930
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #25 le: février 21, 2017, 03:25:26 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #26 le: février 21, 2017, 04:04:40 pm »

IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #27 le: février 21, 2017, 10:53:42 pm »

« Modifié: février 22, 2017, 06:09:35 pm par Janpolanton »
IP archivée

Janpolanton

  • Full Member
  • ***
  • Messages: 108
    • Voir le profil
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #28 le: février 23, 2017, 06:28:26 pm »

IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 930
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Traceur de courbe de transistors du (tres) pauvre.
« Réponse #29 le: février 23, 2017, 06:43:40 pm »

IP archivée