Calcul de la frequence de résonnance d'un circuit bouchon (l/c en électronique)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 208 fois - Téléchargée 20 fois

Contenu du snippet

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 / Exemple :


/*
  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.

A voir également

Ajouter un commentaire Commentaires
Messages postés
549
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010

Ç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

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

avec cet exemple tu en apprends autant.
Messages postés
3839
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 avril 2021
121
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.