Cuprins:
- Pasul 1: fundal
- Pasul 2: Intrări
- Pasul 3: Rezultat
- Pasul 4: Înțelegerea rezultatului dvs
- Pasul 5: mai multe proiecte
- Pasul 6: Cod sursă
Video: Cum să obțineți orice rezistență / capacitate utilizând componentele pe care le aveți deja !: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acesta nu este doar un alt calcul de rezistență echivalent serie / paralel! Acest program calculează cum să combinați rezistențe / condensatori de care aveți în prezent pentru a atinge o valoare țintă de rezistență / capacitate de care aveți nevoie.
Ați avut vreodată nevoie de un rezistor sau condensator specific pe care nu îl aveți sau care nu există? Nu te teme! Probabil puteți face acea valoare specifică a rezistenței sau capacității folosind componentele pe care le aveți deja. În loc să rezolvați o uriașă problemă de optimizare multivariabilă cu milioane de combinații diferite, utilizați acest program!
Doar selectați rezistor sau condensator, introduceți valoarea țintă, introduceți numărul maxim de componente pe care doriți să le utilizați, introduceți o listă a valorilor componentelor pe care le aveți și faceți clic pe calculare! Programul va scuipa ce componente să utilizați și cum să le conectați pentru a atinge valoarea țintă.
Pentru a încerca calculatorul, vizitați această aplicație web.
Pentru a vizualiza codul sursă, vizitați acest depozit Github.
Vă rugăm să-mi spuneți dacă aveți sugestii pentru a îmbunătăți în continuare utilitatea acestui instrument de proiectare!
Pasul 1: fundal
Această aplicație web a fost dezvoltată din necesitate. Există multe circuite diferite pe care le construiesc și care necesită un rezistor sau un condensator foarte specific. De multe ori, nu am un rezistor sau condensator cu acea valoare specifică. Uneori nici măcar nu fac o componentă cu acea valoare unică! În loc să renunț sau să mă mulțumesc cu ceva mai puțin decât ideal, am decis să scriu un program care să analizeze fiecare combinație posibilă de rezistențe (fiecare valoare posibilă și dacă acestea sunt în serie sau paralele) și să returnez cea mai bună combinație.
Când am proiectat circuitul pentru organul meu ca parte a proiectului meu Bătălia Bandelor, a trebuit să încerc să calculez manual cea mai bună combinație de condensatori pentru a obține o frecvență specifică. Acest proces a fost incredibil de plictisitor și în cele din urmă tocmai am renunțat și am mers cu combinații de condensatori care au produs orice cantitate de frecvență sonoră. Acum, cu această aplicație web, îmi pot proiecta organul pentru o anumită frecvență și o pot regla la notele de pe tastatură! Ecuația de mai jos este utilizată pentru a calcula frecvența specifică și este discutată în celălalt proiect Instructables.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Folosind această ecuație în care R1 = 100 kOhm și R2 = 10 kOhm, am calculat că un condensator de 27,33 nF va produce o notă A4 (frecvența 440 Hz). Folosind programul meu, am reușit să calculez o valoare echivalentă a capacității la 0,001 nF (mult mai mică decât toleranța unui condensator standard) pe care o pot crea folosind condensatori pe care îi aveam deja în jur. Ieșirea și configurația rezultate sunt descrise mai jos. Acum pot să-mi reglez mult mai eficient și mai eficient organul la frecvențele exacte ale notelor standard. Aș vrea să fi făcut asta pentru început. Melodia mea demo de pe orgă probabil ar fi sunat mult mai bine.
Cea mai apropiată valoare: 27,329 nF Diferență: 0,001 nFC Configurare condensator: C0 = 0,068 nF || C1 = 30 nF + C2 = 300 nF
Ecuații de echivalență a condensatorului rezistor
Pentru referință, mai jos sunt ecuațiile de echivalență pentru combinarea rezistențelor și condensatoarelor într-un circuit.
- Rezistoare în serie (R1 + R2): Req = R1 + R2
- Rezistoare în paralel (R1 || R2): Req = 1 / (1 / R1 + 1 / R2)
- Condensatoare în serie (C1 + C2): Ceq = 1 / (1 / C1 + 1 / C2)
- Condensatoare în paralel (C1 || C2): Ceq = C1 + C2
Pasul 2: Intrări
Există 4 intrări pe care va trebui să le furnizați:
- Indiferent dacă calculați o valoare pentru un rezistor sau un condensator.
- Rezistența țintă sau valoarea capacității și unitățile.
- Numărul maxim de componente pe care doriți să le utilizați pentru a atinge valoarea țintă (adică nu aș dori să folosesc mai mult de 3 rezistențe pentru a atinge valoarea mea de rezistență țintă).
- Lista valorilor pentru rezistențele / condensatoarele pe care le aveți în prezent. Aceste valori ar trebui să fie în aceleași unități ca valoarea țintă (de exemplu, dacă valoarea țintă a fost 110 nF, toate valorile dvs. ar trebui furnizate în nF).
Pasul 3: Rezultat
Veți obține 3 rezultate pentru rezultatul dvs.:
- Cea mai apropiată valoare - cea mai apropiată valoare de rezistență / capacitate pe care ai reușit să o atingi cu parametrii tăi.
- Diferență - cât de departe se afla cea mai apropiată valoare față de valoarea țintă.
- Configurarea rezistorului / condensatorului - o listă de valori ale rezistențelor / condensatoarelor de utilizat și configurația acestora.
Pasul 4: Înțelegerea rezultatului dvs
Ieșirea de configurare utilizează o notație standard. „+” înseamnă că componentele sunt în serie și „||” înseamnă că componentele sunt în paralel. Operatorii au prioritate egală și sunt asociativi de la stânga la dreapta, ceea ce înseamnă că grupați termenii împreună începând de la stânga și deplasându-vă spre dreapta.
De exemplu, aruncați o privire la următorul rezultat:
Configurarea rezistorului: R0 = 15 Ohmi + R1 = 470 Ohmi || R2 = 3300 Ohm + R3 = 15000 Ohm
Dacă urmați liniile directoare discutate mai sus, puteți vedea că acest lucru este echivalent cu următoarea ecuație și imagine de mai sus.
((R0 + R1) || R2) + R3
Pasul 5: mai multe proiecte
Pentru mai multe proiecte, vizitați paginile mele:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Pasul 6: Cod sursă
Pentru a vizualiza codul sursă, vizitați acest depozit Github sau consultați JavaScript mai jos.
/* --------------------------------------------------------------- */
/ * scriptarea calculatorului r / c * / / * --------------------------------------- ------------------------- * / var nearest_val; // cea mai apropiată valoare până acum var nearest_diff = 1000000,00; // diferența dintre val și target var cel mai apropiat = ; // matricea care detaliază valorile componentelor var ser_par_config = ; // matrice detaliind serial / paralel var outputStr = ""; funcție calculatorClick () {// ștergeți valorile globale pentru fiecare nou clic cel mai apropiat_val = 0; cel mai apropiat dif = 1000000,00; cel mai apropiat = ; 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 target = parseFloat (targetTextObj.value); var numComp = parseInt (numCompTextObj.value); var compValsStr = compValsTextObj.value; var compVals = ; compVals [0] = ""; var i = 0; var errFlag = 0; // eroare la analizarea valorii țintă if (isNaN (țintă)) {outputStr = "Verificare eroare intrare„ Valoare țintă”!"} // eroare la analizarea numărului de componente else if (isNaN (numComp)) {outputStr = "Verificare eroare 'Numărul de componente' introdus! "} // else if no error in target or numComp else if (! IsNaN (target) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var virgula = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, virgulă)); // eroare la analizarea listei de valori a componentelor, setați semnalizatorul if (isNaN (newInt)) {errFlag = 1; pauză; } compValsStr = compValsStr.substring (virgulă + 1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // eroare la analizarea listei valorilor componentelor, setați semnalizatorul if (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). bifat) {rezistor (target, numComp, compVals); } else if (document.getElementById ("capRadio"). bifat) {condensator (target, numComp, compVals); }} // eroare la analizarea listei valorilor componentelor else {outputStr = "Verificare eroare intrare 'Listă valori componente'!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "bloc"; exampleDisplay.style.display = "flex"; // derulați în jos până la rezultatul window.scrollTo (0, exempluDisplay.scrollHeight); } / * Preluează și tipărește cea mai bună configurație a rezistorului * țintă - valoarea rezistenței țintei * numComp - numărul total de rezistențe permise pentru a fi utilizate pentru atingerea valorii țintă * compVals - matrice de valori ale rezistorului * / rezistență funcțională (țintă, numComp, compVals) { // lungimea valorilor de rezistență var num_res = compVals.length; // rulează prin tot numărul posibil de componente pentru (var i = 1; i <= numComp; i ++) {var date = ; resCombination (compVals, num_res, i, 0, data, target); } var units = document.getElementById ("selected_unit"). valoare; // print rezultate outputStr = "Closest Value:" + nearest_val.toFixed (3) + "" + units + ""; outputStr + = "Diferență:" + cel mai apropiat_dif.toFixed (3) + "" + unități + ""; outputStr + = "Configurare rezistor:"; for (var i = 0; i <numComp; i ++) {if (i <cea mai apropiată lungime) {outputStr + = "R" + i + "=" + cel mai apropiat + "" + unități + ""; if (i + 1 <cea mai apropiată lungime) {if (ser_par_config [i + 1]) outputStr + = "||"; else outputStr + = "+"; }} altfel pauză; }} / * Calculează cea mai bună combinație de rezistențe pentru a atinge o valoare țintă. * res - matrice de intrare a valorilor rezistorului * num_res - dimensiunea matricei de intrare a valorilor rezistorului * num_comb - numărul de rezistențe permise * index - index de pieptene * pieptene - matrice de combinație curentă * țintă - valoarea țintă * Fără valoare returnată - trece cea mai bună combinație curentă la valorile globale * / funcție resCombinație (res, num_res, num_comb, index, comb, target) {// combinația curentă este completă dacă (index == num_comb) {var ser_par_size = Math.pow (2, num_comb); // 2 ^ (număr de componente) var ser_par = ; // matrice bool specificând serial sau paralel pentru fiecare componentă var calc; // valoare de rezistență echivalentă calculată // treceți prin fiecare serie posibilă / configurație paralelă a combinației curente pentru (var j = 0; j
Recomandat:
Tester de capacitate a bateriei utilizând Arduino [Litiu-NiMH-NiCd]: 15 pași (cu imagini)
Tester de capacitate a bateriei folosind Arduino [Lithium-NiMH-NiCd]: Caracteristici: Identificați o baterie falsă Lithium-Ion / Lithium-Polymer / NiCd / NiMH Sarcină de curent constant reglabilă (poate fi modificată și de utilizator) Capabilă să măsoare capacitatea de aproape orice tip de baterie (sub 5V) Ușor de lipit, construit și utilizat
Cum să obțineți Siri pe orice iPad gratuit !: 7 pași
Cum să obțineți Siri pe orice iPad gratuit! Ei bine, acum poți! Acesta este un pas cu pas despre cum să obțineți Siri pe orice iPad iOS 5.1.x jailbreak! Acest instructiv nu este doar ușor
Tester simplu de capacitate autorange / contor de capacitate cu Arduino și manual: 4 pași
Tester de condensator Autorange simplu / contor de capacitate cu Arduino și manual: Bună ziua! Pentru această unitate de fizică aveți nevoie de: * o sursă de alimentare cu 0-12V * unul sau mai mulți condensatori * unul sau mai multe rezistențe de încărcare * un cronometru * un multimetru pentru tensiune măsurare * un arduino nano * un afișaj de 16x2 I²C * rezistențe 1 / 4W cu 220, 10k, 4.7M și
Cum să obțineți muzică de la APROAPE ORICE site web (Haha) (Atâta timp cât îl puteți auzi, îl puteți obține Ok Bine dacă este încorporat în Flash s-ar putea să nu fiți capabil să) EDITAȚI !!!!! Informații adăugate: 4 pași
Cum să obțineți muzică de la APROAPE ORICE site (Haha) (Atâta timp cât îl puteți auzi, îl puteți obține … Ok Bine, dacă este încorporat în Flash, s-ar putea să nu fiți capabil să) EDITAȚI !!!!! Informații adăugate: dacă mergeți vreodată pe un site web și redă un cântec care vă place și îl doriți, atunci iată instrucțiunea pentru care nu vina mea dacă deranjați ceva (singurul mod în care se va întâmpla este dacă începeți să ștergeți lucruri fără motiv ) am reușit să obțin muzică pentru
Cum să obțineți codul hexagonal pentru orice culoare pe ecran: 7 pași
Cum să obțineți codul hexagonal pentru orice culoare de pe ecran: vă voi arăta cum să obțineți codul hexazecimal pentru orice culoare pe care monitorul computerului dvs. vi-o arată, astfel încât să le puteți utiliza în documente HTML și alte lucruri de computer fanteziste. În mod surprinzător, folosește software legal