begin process at 2010 02 10 08:16:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CALCUL DE LA FREQUENCE DE RÉSONNANCE D'UN CIRCUIT BOUCHON (L/C EN ÉLECTRONIQUE)

CALCUL DE LA FREQUENCE DE RÉSONNANCE D'UN CIRCUIT BOUCHON (L/C EN ÉLECTRONIQUE)


 Information sur la source

 Description

Calcul la frequence de résonnance de bobines ou selfs associées avec une capacitée,condensateur
formant ainsi un circuit résonnant à une fréquence précise que l'on peut calculer connaissant la valeur de l'un ( self en Henry ou microHenry ) , et de l'autre ( condensateur en Farad ou microFarad )
Le programme comporte 2 choix de calcul à l'aide de 2 formules : l'une etant la formule de base
ou il faudra exprimer la valeur de la self en Henry et celle de la capacité en Farad ( ce qui n'est pas tres pratique ) et l'autre la formule simplifié avec laquelle on pourra directement exprimer en microHenry pour la self et picofarad pour la capa. Dand les deux cas le résultat est tres peu différends
mais donne une parfaite estimation de la frequence obtenue en MegaHertz.

Source

  • /*
  • Calcul circuit L/C
  • Frequence de resonnance
  • TOSSOUKPE Gilles
  • le 13-09-2009
  • */
  • #include <cstdlib>
  • #include <iostream>
  • #include <math.h>
  • #include <conio2.h>
  • using namespace std;
  • double self;
  • double capa;
  • float resultat;
  • int methode ;
  • int x;
  • void calc_freq1();
  • void calc_freq2();
  • void calc_freq1()
  • {
  • resultat = (1 / ((2 * M_PI) * sqrt(self * capa))) / 1000000;
  • }
  • void calc_freq2()
  • {
  • resultat = 159 / sqrt(self * capa) ;
  • }
  • void afficher()
  • {
  • cout << " -------------------------------------- " << endl;
  • cout << " " << endl;
  • cout << " Calcul de frequence " << endl;
  • cout << " Circuit bouchon (self / capacite) " << endl;
  • cout << " Tossoukpe Gilles 13-09-2009 " << endl;
  • cout << " Version 2.0 " << endl;
  • cout << " " << endl;
  • cout << " -------------------------------------- " << endl;
  • cout << endl;
  • }
  • int main()
  • {
  • init:
  • clrscr();
  • afficher();
  • debut:
  • cout << " Choix de la methode " << endl;
  • cout << endl;
  • cout << " 1 - Methode complete " << endl;
  • cout << " 2 - Methode simplifiée " << endl;
  • cin >> methode;
  • if(methode == 1)
  • {
  • cout << " Entrez la valeur de la self (Self en Henry) : " ;
  • cin >> self ;
  • cout << endl;
  • cout << " Entrez la valeur de la capacite (Capacite en Farad) : " ;
  • cin >> capa;
  • cout << endl;
  • }
  • if(methode == 2)
  • {
  • cout << " Entrez la valeur de la self (Self en micro Henry) : " ;
  • cin >> self ;
  • cout << endl;
  • cout << " Entrez la valeur de la capacite (Capacite en pico Farad) : " ;
  • cin >> capa;
  • cout << endl;
  • }
  • /* Controle boucle de retour au 'debut' avec switch */
  • if (!methode || methode > 2)
  • {
  • cout << " Valeur interdite recommencer ... " << endl;
  • system("pause");
  • goto debut;
  • }
  • switch (methode)
  • {
  • case 1:
  • calc_freq1();
  • cout << " Choix Methode complete " << endl;
  • cout << endl;
  • cout << " Frequence ( traditionelle )de resonnance du circuit : " << resultat << " MegaHertz " << endl;
  • break;
  • case 2:
  • calc_freq2();
  • cout << " Choix Methode simplifie " << endl ;
  • cout << " Frequence ( pratique ) de resonnance du circuit : " << resultat << " MegaHertz" << endl;
  • break;
  • default:
  • cout << " Valeur interdite recommencer ... ";
  • system("pause");
  • goto debut;
  • }
  • cout << " Voulez vous recommencer ? 1 : oui 2 : non " << endl;
  • cin >> x ;
  • if (x == 1)
  • {
  • goto init;
  • }
  • else
  • return 0;
  • }
/*
  Calcul circuit L/C
  Frequence de resonnance
  TOSSOUKPE Gilles
  le 13-09-2009
*/  

#include <cstdlib>
#include <iostream>
#include <math.h>
#include <conio2.h>

using namespace std;

double self;
double capa;
float resultat;

int methode ;
int x;

void calc_freq1();
void calc_freq2();

void calc_freq1()
{
    resultat = (1 / ((2 * M_PI) * sqrt(self * capa))) / 1000000;
}

void calc_freq2()
{    
  resultat = 159 / sqrt(self * capa) ;   
} 

void afficher()
{
    cout << " -------------------------------------- " << endl;
    cout << "                                        " << endl;
    cout << "           Calcul de frequence          " << endl;
    cout << "     Circuit bouchon (self / capacite)  " << endl;
    cout << "     Tossoukpe Gilles 13-09-2009        " << endl;
    cout << "             Version 2.0                " << endl;
    cout << "                                        " << endl;
    cout << " -------------------------------------- " << endl;
    cout << endl; 
}   
     
int main()
{
   init:
    clrscr();
    afficher();     
         
   debut:
    cout << "      Choix de la methode               " << endl;
    cout << endl;
    cout << "  1 - Methode complete                  " << endl;
    cout << "  2 - Methode simplifiée                " << endl;
    cin  >> methode;
    
   if(methode == 1)
   {  
    cout << " Entrez la valeur de la self              (Self en Henry)   :  " ;
    cin  >> self ; 
    cout << endl;
    cout << " Entrez la valeur de la capacite       (Capacite en Farad)  :  " ;
    cin  >> capa;   
    cout << endl;
   }
   if(methode == 2)
   {
    cout << " Entrez la valeur de la self         (Self en micro Henry)  :  " ;
    cin  >> self ; 
    cout << endl;
    cout << " Entrez la valeur de la capacite   (Capacite en pico Farad) :  " ;
    cin  >> capa;   
    cout << endl;         
   }
   
    
    /* Controle boucle de retour au 'debut' avec switch */
    
    if (!methode || methode > 2)
    {
       cout << " Valeur interdite recommencer ... " << endl;
       system("pause");
       
       goto debut;
    }
    
    switch (methode)
    {
    case 1:
          
          calc_freq1();
          cout << " Choix  Methode complete " << endl;                
          cout << endl;
          cout << " Frequence ( traditionelle )de resonnance du circuit  : " << resultat << "  MegaHertz " << endl;   
        
         break;
    
    case 2:
         
         calc_freq2();
         cout << " Choix Methode simplifie                            " << endl ;
         cout << " Frequence ( pratique ) de resonnance du circuit  : " << resultat << " MegaHertz" << endl;

         break;
    
    default:
            cout << " Valeur interdite recommencer ... ";
            system("pause");
            goto debut;                         
    } 
    
    cout << " Voulez vous recommencer ?  1 : oui  2 : non "  << endl;
    cin  >>  x ;
    
    if (x == 1)
    {
          goto init;
    }     
    else
    return 0;
}   
    

 Conclusion

Tres pratique pour réaliser soi meme : Circuits HF, oscillateurs
Pour concevoir emmetteurs et récepteurs à la fréquence désirée, et prochainement
une nouvelle source mais cette fois pour calculer un choix étendu de selfs et bobines.


 Sources de la même categorie

Source avec Zip CALLOCATOR par troctsch
Source avec Zip HEAPCOLLECTOR par troctsch
Source avec Zip GÉNÉRE UN TABLEAU DE CARACTÉRE AU FORMAT C CONTENANT LE BYTE... par kertimanoff
FRACTIONS EGYPTIENNES par lptm974
BITOPERATOR par FrancoisGauthier

Commentaires et avis

Commentaire de CptPingu le 21/09/2009 14:10:20 1/10

Le code est particulièrement sale, et peu élégant. Il y a énormément de chose à ne pas faire:
- "using namespace std;" juste pour les std:cout et std::cin. Préférez "using std::cout;" et "using std::cin;". Voir encore mieux, écrire std::cout et std::cin au lieu de respectivement "cout" et "cin".
- Inclusion de "cstdlib", mais je n'en vois pas l'intérêt... (Voir remarque sur la commande "system").
- Utilisation de conio.h, spécifique à Windows, juste pour effacer l'écran. On perds la portabilité du programme pour une fonctionnalité très discutable.
- Utilisation de variable global, très souvent à proscrire.
- Fonction utilisé non pas par passage d'argument, mais en se servant de variable globale. Le principe de la fonction est totalement détruit ici.
- Utilisation de "goto" au lieu de boucle !!! Oo. Les "goto"s sont à proscrire totalement. Le cas d'utilisation d'un goto de manière judicieuse est tellement rare, que je ne peux que t'inviter à te poser des questions sur ton code, si tu en as dans ton programme.
- Non vérification des types d'entrée. Si je tape "xxx" au lieu d'un nombre, ton programme tournera en boucle.
- Utilisation de la commande "system" qui est elle aussi à proscrire.

Au final, le seul intérêt de ce code se limite à ces deux lignes:
- (1 / ((2 * M_PI) * sqrt(self * capa))) / 1000000;
- 159 / sqrt(self * capa) ;

Le code est un parfait exemple d'un ensemble de chose qu'il ne faut jamais faire.

Commentaire de Matt67 le 21/09/2009 23:03:12

Ça c'est du code qui vous en apprend sur le C++. Il y a des cout de partout et deux appels de fonction.

#include <iostream>

int main()
{
   std:cout << "Hello world";
   return 0;
}

avec cet exemple tu en apprends autant.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,964 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales