Table des matières:
- Étape 1: Contexte
- Étape 2: Entrées
- Étape 3: Résultat
- Étape 4: Comprendre votre résultat
- Étape 5: Plus de projets
- Étape 6: Code source
Vidéo: Comment obtenir n'importe quelle résistance/capacité à l'aide des composants que vous possédez déjà ! : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ce n'est pas juste un autre calculateur de résistance équivalente série/parallèle ! Ce programme calcule comment combiner les résistances/condensateurs dont vous disposez actuellement pour atteindre une valeur cible de résistance/capacité dont vous avez besoin.
Avez-vous déjà eu besoin d'une résistance ou d'un condensateur spécifique que vous n'avez pas ou qui n'existe pas ? N'ai pas peur! Vous pouvez probablement créer cette valeur de résistance ou de capacité spécifique en utilisant des composants que vous possédez déjà. Au lieu de résoudre un énorme problème d'optimisation multivariable avec des millions de combinaisons différentes, utilisez ce programme !
Sélectionnez simplement la résistance ou le condensateur, entrez la valeur cible, entrez le nombre maximum de composants que vous souhaitez utiliser, entrez une liste des valeurs des composants que vous avez et cliquez sur calculer ! Le programme vous indiquera quels composants utiliser et comment les connecter pour atteindre votre valeur cible.
Pour essayer la calculatrice, visitez cette application Web.
Pour afficher le code source, visitez ce référentiel Github.
S'il vous plaît laissez-moi savoir si vous avez des suggestions pour améliorer encore la convivialité de cet outil de conception !
Étape 1: Contexte
Cette application Web a été développée par nécessité. Il existe de nombreux circuits différents que je construis qui nécessitent une résistance ou un condensateur très spécifique. Souvent, je n'ai pas de résistance ou de condensateur avec cette valeur spécifique. Parfois, ils ne fabriquent même pas un composant avec cette valeur unique ! Au lieu d'abandonner ou de me contenter de quelque chose qui n'est pas idéal, j'ai décidé d'écrire un programme pour examiner toutes les combinaisons possibles de résistances (chaque valeur possible et qu'elles soient en série ou en parallèle) et renvoyer la meilleure combinaison.
Lors de la conception du circuit de mon orgue dans le cadre de mon projet instructable Battle of the Bands, j'ai dû essayer de calculer à la main la meilleure combinaison de condensateurs pour atteindre une fréquence spécifique. Ce processus était incroyablement fastidieux et j'ai finalement abandonné et opté pour des combinaisons de condensateurs qui produisaient n'importe quelle quantité de fréquence audible. Maintenant, avec cette application Web, je peux concevoir mon orgue pour une fréquence spécifique et l'accorder aux notes d'un clavier ! L'équation ci-dessous est utilisée pour calculer la fréquence spécifique et est discutée dans l'autre projet Instructables.
f = 1 / (0,693×C×(R1 + 2×R2))
En utilisant cette équation où R1 = 100 kOhm et R2 = 10 kOhm, j'ai calculé qu'un condensateur de 27,33 nF produira une note A4 (fréquence 440 Hz). À l'aide de mon programme, j'ai pu calculer une valeur de capacité équivalente à 0,001 nF (beaucoup moins que la tolérance d'un condensateur standard) que je peux créer à l'aide de condensateurs que j'avais déjà. La sortie et la configuration résultantes sont décrites ci-dessous. Je suis maintenant capable d'accorder beaucoup plus efficacement mon orgue aux fréquences exactes des notes standard. J'aurais aimé avoir fait cela pour commencer. Ma chanson de démonstration à l'orgue aurait probablement sonné beaucoup mieux.
Valeur la plus proche: 27,329 nF Différence: 0,001 nFC Configuration du condensateur: C0=0,068 nF || C1=30 nF + C2=300 nF
Équations d'équivalence de condensateur de résistance
Pour référence, vous trouverez ci-dessous les équations d'équivalence pour combiner des résistances et des condensateurs dans un circuit.
- Résistances en série (R1 + R2): Req = R1 + R2
- Résistances en parallèle (R1 || R2): Req = 1 / (1/R1 + 1/R2)
- Condensateurs en série (C1 + C2): Ceq = 1 / (1/C1 + 1/C2)
- Condensateurs en parallèle (C1 || C2): Ceq = C1 + C2
Étape 2: Entrées
Vous devrez fournir 4 entrées:
- Que vous calculiez une valeur pour une résistance ou un condensateur.
- La valeur de résistance ou de capacité cible et les unités.
- Le nombre maximum de composants que vous souhaitez utiliser pour atteindre la valeur cible (c'est-à-dire que je ne voudrais pas utiliser plus de 3 résistances pour atteindre ma valeur de résistance cible).
- La liste des valeurs des résistances/condensateurs que vous possédez actuellement. Ces valeurs doivent être dans les mêmes unités que votre valeur cible (c'est-à-dire si votre valeur cible était de 110 nF, toutes vos valeurs devraient être fournies en nF).
Étape 3: Résultat
Vous obtiendrez 3 sorties pour votre résultat:
- Valeur la plus proche - la valeur de résistance/capacité la plus proche que vous avez pu atteindre avec vos paramètres.
- Différence - à quelle distance votre valeur la plus proche était de votre valeur cible.
- Configuration des résistances/condensateurs - une liste des valeurs des résistances/condensateurs à utiliser et leur configuration.
Étape 4: Comprendre votre résultat
La sortie de configuration utilise une notation standard. "+" signifie que les composants sont en série et "||" signifie que les composants sont en parallèle. Les opérateurs ont la même priorité et sont associatifs de gauche à droite, ce qui signifie que vous regroupez les termes en partant de la gauche et en vous déplaçant vers la droite.
Par exemple, regardez le résultat suivant:
Configuration de la résistance: R0=15 Ohms + R1=470 Ohms || R2=3300 Ohms + R3=1500 Ohms
Si vous suivez les directives décrites ci-dessus, vous pouvez voir que cela équivaut à l'équation et à l'image ci-dessus.
((R0+R1)||R2)+R3
Étape 5: Plus de projets
Pour plus de projets, visitez mes pages:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Étape 6: Code source
Pour afficher le code source, visitez ce référentiel Github ou consultez le code JavaScript ci-dessous.
/* --------------------------------------------------------------- */
/* Script de calculatrice r/c */ /* ---------------------------------------- -------------------------*/ var val_plus proche; // valeur la plus proche jusqu'à présent var plus proche_diff = 1000000.00; // diff de val et de la var cible la plus proche = ; // tableau détaillant les valeurs des composants var ser_par_config = ; // tableau détaillant série/parallèle var outputStr = ""; function calculateClick() { // efface les valeurs globales pour chaque nouveau clic close_val = 0; plus proche_diff = 1000000.00; le plus proche = ; ser_par_config = ; var resultDisplay = document.getElementById("resultRow"); var exampleDisplay = document.getElementById("exampleRow"); var calcOutput = document.getElementById("calcOutput"); var targetTextObj = document.getElementById('targetText'); var numCompTextObj = document.getElementById('numCompText'); var compValsTextObj = document.getElementById('compValsText'); var cible = parseFloat(targetTextObj.value); var numComp = parseInt(numCompTextObj.value); var compValsStr = compValsTextObj.value; var compVals = ; compVals[0] = ""; var i = 0; var errFlag = 0; // erreur dans l'analyse de la valeur cible if (isNaN(target)) { outputStr = "Error check 'Target Value' input!" } // erreur dans l'analyse du nombre de composants else if (isNaN(numComp)){ outputStr = "Error check Entrée 'Nombre de composants' ! " } // else si aucune erreur dans la cible ou numComp else if (!isNaN(target) && !isNaN(numComp)) { while (compValsStr.indexOf(", ") != -1) { var virgule = compValsStr.indexOf(", "); var newInt = parseFloat(compValsStr.substring(0, virgule)); // erreur lors de l'analyse de la liste des valeurs du composant, définissez l'indicateur if (isNaN(newInt)) { errFlag = 1; Pause; } compValsStr = compValsStr.substring(virgule+1, compValsStr.length); compVals = newInt; je++; } var newInt = parseFloat(compValsStr); // erreur lors de l'analyse de la liste des valeurs du composant, définissez l'indicateur if (isNaN(newInt)) { errFlag = 1; } compVals = newInt; if (errFlag == 0) { if (document.getElementById("resRadio").checked) { resistance(target, numComp, compVals); } else if (document.getElementById("capRadio").checked) { condensateur(cible, numComp, compVals); } } // erreur lors de l'analyse de la liste des valeurs des composants else { outputStr = "Erreur lors de la vérification de l'entrée 'Liste des valeurs des composants' !" } } calcOutput.innerHTML = outputStr; resultDisplay.style.display = "bloc"; exampleDisplay.style.display = "flex"; // faites défiler jusqu'au résultat window.scrollTo(0, exampleDisplay.scrollHeight); } /* Récupère et imprime la meilleure configuration de résistance * target - valeur de résistance cible * numComp - nombre total de résistances autorisées à être utilisées pour atteindre la cible val * compVals - tableau de valeurs de résistance */ function resistance(target, numComp, compVals) { // longueur des valeurs de résistance var num_res = compVals.length; // parcourt tout le nombre possible de composants pour (var i=1; i<=numComp; i++) { var data = ; resCombination(compVals, num_res, i, 0, data, target); } var units = document.getElementById("selected_unit").value; // affiche les résultats outputStr = "Valeur la plus proche: " + la plus proche_val.toFixed(3) + " " + units + " "; outputStr += "Différence: " + plus proche_diff.toFixed(3) + " " + unités + " "; outputStr += "Configuration de la résistance: "; for (var i=0; i<numComp; i++) { if (i<closest.length) { outputStr += "R" + i + "=" + plus proche + " " + units + " "; if (i+1<closest.length) { if (ser_par_config[i+1]) outputStr += "|| "; else outputStr += "+ "; } } else pause; } } /* Calcule la meilleure combinaison de résistances pour atteindre une valeur cible. * res - tableau d'entrée des valeurs de résistance * num_res - taille du tableau d'entrée des valeurs de résistance * num_comb - nombre de résistances autorisées * index - indice de peigne * comb - tableau de combinaison actuelle * cible - la valeur cible * Aucune valeur de retour - passe la meilleure combinaison actuelle aux valeurs globales */ function resCombination(res, num_res, num_comb, index, comb, target) { // la combinaison actuelle est complète if (index == num_comb) { var ser_par_size = Math.pow (2, num_comb); // 2^(nombre de composants) var ser_par = ; // tableau booléen spécifiant série ou parallèle pour chaque composant var calc; // valeur de résistance équivalente calculée // passe en revue toutes les configurations série/parallèle possibles de combinaison de courant pour (var j=0; j
Conseillé:
Grande version d'une résistance Smd de 1 ohm qui fournit une résistance de 1 ohm sans utiliser de composants électroniques. : 13 étapes
Grande version d'une résistance Smd de 1 ohm qui fournit une résistance de 1 ohm sans utiliser de composants électroniques. Ici, je vais faire une grosse résistance smd qui est très énorme par rapport à la vraie résistance smd
Comment essayer et obtenir des composants gratuits : 5 étapes
Comment essayer et obtenir des composants gratuits : parfois, vous n'avez pas d'argent, mais vous voulez construire quelque chose de chouette. voici un guide pour vous aider
Comment obtenir de la musique à partir de PRESQUE N'IMPORTE QUEL (Haha) site Web (tant que vous pouvez l'entendre, vous pouvez l'obtenir Ok très bien s'il est intégré dans Flash, vous ne pourrez peut-être pas) ÉDITÉ !!!!! Informations ajoutées : 4 étapes
Comment obtenir de la musique à partir de PRESQUE N'IMPORTE QUEL (Haha) site Web (tant que vous pouvez l'entendre, vous pouvez l'obtenir… Ok très bien s'il est intégré dans Flash, vous ne pourrez peut-être pas) ÉDITÉ !!!!! Informations supplémentaires : si jamais vous allez sur un site Web et qu'il joue une chanson que vous aimez et que vous voulez, voici l'instructable pour vous pas de ma faute si vous gâchez quelque chose (la seule façon dont cela se produira est si vous commencez à supprimer des éléments sans raison ) J'ai pu obtenir de la musique pour
Comment obtenir le code hexadécimal pour n'importe quelle couleur sur votre écran : 7 étapes
Comment obtenir le code hexadécimal pour n'importe quelle couleur sur votre écran : Je vais vous montrer comment obtenir le code hexadécimal pour n'importe quelle couleur que votre écran d'ordinateur vous montre, afin que vous puissiez les utiliser dans des documents HTML et d'autres trucs informatiques sophistiqués. Étonnamment, il utilise un logiciel légal
Comment restaurer les dossiers ouverts lorsque vous vous reconnectez après vous être déconnecté : 5 étapes
Comment restaurer les dossiers ouverts lorsque vous vous reconnectez après vous être déconnecté : Bon, voici la situation, vous utilisez l'ordinateur avec beaucoup, beaucoup de vos dossiers ouverts… Ensuite, votre mère est rentrée à la maison plus tôt que prévu ! Vous savez parfaitement que si elle vous surprend en train d'utiliser l'ordinateur, alors que vous devriez être au lit car