Taula de continguts:
- Pas 1: antecedents
- Pas 2: entrades
- Pas 3: Resultat
- Pas 4: entendre el vostre resultat
- Pas 5: més projectes
- Pas 6: codi font
Vídeo: Com aconseguir qualsevol resistència / capacitat mitjançant components que ja teniu: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
No es tracta només d’una calculadora de resistència equivalent en sèrie / paral·lel. Aquest programa calcula com combinar resistències / condensadors que actualment necessiteu per aconseguir un valor de resistència / capacitat objectiu que necessiteu.
Alguna vegada heu necessitat una resistència o condensador específic que no tingueu o que no existeixi? No tinguis por! Probablement podeu fer aquest valor específic de resistència o capacitat utilitzant components que ja tingueu. En lloc de resoldre un enorme problema d’optimització multivariable amb milions de combinacions diferents, utilitzeu aquest programa.
Simplement seleccioneu la resistència o el condensador, introduïu el valor objectiu, introduïu el nombre màxim de components que voleu utilitzar, introduïu una llista dels valors dels components que teniu i feu clic a Calcula. El programa escopirà quins components cal utilitzar i com connectar-los per assolir el valor objectiu.
Per provar la calculadora, visiteu aquesta aplicació web.
Per veure el codi font, visiteu aquest dipòsit de Github.
Feu-me saber si teniu suggeriments per millorar encara més la usabilitat d’aquesta eina de disseny.
Pas 1: antecedents
Aquesta aplicació web es va desenvolupar per necessitat. Hi ha molts circuits diferents que construeixo que requereixen una resistència o un condensador molt específics. Moltes vegades no tinc cap resistència ni condensador amb aquest valor específic. De vegades ni tan sols fan un component amb aquest valor únic. En lloc de renunciar o conformar-me amb alguna cosa menys que ideal, vaig decidir escriure un programa per examinar totes les combinacions possibles de resistències (tots els valors possibles i si són en sèrie o paral·lels) i retornar la millor combinació.
Quan vaig dissenyar el circuit per al meu orgue com a part del meu projecte instructiu Battle of the Bands, vaig haver d’intentar calcular manualment la millor combinació de condensadors per aconseguir una freqüència específica. Aquest procés va ser increïblement tediós i, finalment, vaig abandonar i vaig anar amb combinacions de condensadors que produïen qualsevol quantitat de freqüència sonora. Ara, amb aquesta aplicació web, puc dissenyar el meu òrgan per a una freqüència específica i sintonitzar-lo amb les notes del teclat. L'equació següent s'utilitza per calcular la freqüència específica i es discuteix en l'altre projecte Instructables.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Utilitzant aquesta equació on R1 = 100 kOhm i R2 = 10 kOhm, he calculat que un condensador de 27,33 nF produirà una nota A4 (freqüència 440 Hz). Amb el meu programa, vaig poder calcular un valor de capacitat equivalent a 0,001 nF (molt inferior a la tolerància d’un condensador estàndard) que puc crear amb condensadors que ja tenia al voltant. A continuació es descriu la sortida i la configuració resultants. Ara puc sintonitzar el meu òrgan amb molta més eficiència i eficàcia a les freqüències exactes de les notes estàndard. M’agradaria haver-ho fet per començar. La meva cançó de demostració a l'orgue probablement hauria sonat molt millor.
Valor més proper: 27,329 nF Diferència: 0,001 nConfiguració del condensador: C0 = 0,068 nF || C1 = 30 nF + C2 = 300 nF
Equacions d'equivalència de condensadors de resistències
A tall de referència, a continuació es mostren les equacions d'equivalència per combinar resistències i condensadors en un circuit.
- Resistències en sèrie (R1 + R2): Req = R1 + R2
- Resistències en paral·lel (R1 || R2): Req = 1 / (1 / R1 + 1 / R2)
- Condensadors en sèrie (C1 + C2): Ceq = 1 / (1 / C1 + 1 / C2)
- Condensadors en paral·lel (C1 || C2): Ceq = C1 + C2
Pas 2: entrades
Hi ha 4 entrades que haureu de proporcionar:
- Si esteu calculant un valor per a una resistència o un condensador.
- La resistència objectiu o el valor de la capacitat i les unitats.
- El nombre màxim de components que voldríeu utilitzar per assolir el valor objectiu (és a dir, no m'agradaria utilitzar més de 3 resistències per aconseguir el meu valor de resistència objectiu).
- La llista de valors dels resistors / condensadors que teniu actualment. Aquests valors haurien d’estar en les mateixes unitats que el valor objectiu (és a dir, si el valor objectiu era 110 nF, tots els vostres valors s’han d’indicar en nF).
Pas 3: Resultat
Obtindreu 3 resultats per al vostre resultat:
- Valor més proper: el valor de resistència / capacitat més proper que heu pogut aconseguir amb els vostres paràmetres.
- Diferència: fins a quin punt es trobava el valor més proper del valor objectiu.
- Configuració de resistències / condensadors: una llista de valors dels resistors / condensadors a utilitzar i la seva configuració.
Pas 4: entendre el vostre resultat
La sortida de configuració utilitza una notació estàndard. "+" significa que els components estan en sèrie i "||" significa que els components estan en paral·lel. Els operadors tenen la mateixa precedència i són associatius d’esquerra a dreta, cosa que significa agrupar termes començant per l’esquerra i movent-se cap a la dreta.
Per exemple, mireu el resultat següent:
Configuració de la resistència: R0 = 15 ohms + R1 = 470 ohms || R2 = 3300 ohms + R3 = 15000 ohms
Si seguiu les pautes comentades anteriorment, podreu veure que equival a la següent equació i imatge.
((R0 + R1) || R2) + R3
Pas 5: més projectes
Per obtenir més projectes, visiteu les meves pàgines:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Pas 6: codi font
Per veure el codi font, visiteu aquest dipòsit de Github o consulteu el codi JavaScript següent.
/* --------------------------------------------------------------- */
/ * scripting de la calculadora r / c * / / * --------------------------------------- ------------------------- * / var nearest_val; // valor més proper fins ara var nearest_diff = 1000000,00; // diferència de val i objectiu var més proper = ; // matriu que detalla els valors dels components var ser_par_config = ; // matriu que detalla la sèrie / paral·lel var outputStr = ""; function calculatorClick () {// esborra els valors globals per a cada nou clic proper_val = 0; proper_diff = 1000000,00; més proper = ; 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; // error en analitzar el valor de destinació if (isNaN (target)) {outputStr = "Error en comprovar l'entrada 'Valor de destinació'!}} // error en analitzar el nombre de components else if (isNaN (numComp)) {outputStr =" Revisió d'errors "Nombre de components" d'entrada! "} // else if no error in target or numComp else if (! IsNaN (target) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var coma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, coma)); // error en analitzar la llista de valors de components, establiu la marca if (isNaN (newInt)) {errFlag = 1; trencar; } compValsStr = compValsStr.substring (coma + 1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // error en analitzar la llista de valors de components, establiu la marca if (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). marcat) {resistor (target, numComp, compVals); } else if (document.getElementById ("capRadio"). marcat) {condensador (target, numComp, compVals); }} // error en analitzar la llista de valors de components else {outputStr = "Error de comprovació de l'entrada 'Component Values List'!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "bloqueig"; exampleDisplay.style.display = "flex"; // desplaceu-vos cap avall fins al resultat window.scrollTo (0, exampleDisplay.scrollHeight); } / * Recupera i imprimeix la millor configuració de resistència * objectiu - valor de resistència objectiu * numComp: nombre total de resistències que es poden utilitzar per assolir val objectiu * compVals - matriu de valors de resistència * / resistència de funció (target, numComp, compVals) { // longitud dels valors de resistència var num_res = compVals.length; // executeu tot el nombre possible de components per a (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var units = document.getElementById ("selected_unit"). valor; // imprimeix els resultats outputStr = "Valor més proper:" + valor_ més proper.toFixed (3) + "" + unitats + ""; outputStr + = "Diferència:" + proper_diff.toFixed (3) + "" + unitats + ""; outputStr + = "Configuració de la resistència:"; for (var i = 0; i <numComp; i ++) {if (i <nearest.length) {outputStr + = "R" + i + "=" + nearest + "" + units + ""; if (i + 1 <longitud més propera) {if (ser_par_config [i + 1]) outputStr + = "||"; else outputStr + = "+"; }} else break; }} / * Calcula la millor combinació de resistències per aconseguir un valor objectiu. * res - matriu d'entrada de valors de resistència * num_res - mida de matriu d'entrada de valors de resistència * num_comb - nombre de resistències permeses * índex - índex de pinta * pinta - matriu de combinació actual * objectiu - el valor objectiu * Sense valor de retorn: passa la millor combinació actual a valors globals * / funció resCombinació (res, num_res, num_comb, índex, pinta, objectiu) {// la combinació actual està completa si (índex == num_comb) {var ser_par_size = Math.pow (2, num_comb); // 2 ^ (nombre de components) var ser_par = ; // matriu boole que especifica sèrie o paral·lel per a cada component var calc; // valor de resistència equivalent calculat // passa per totes les sèries possibles / configuració paral·lela de la combinació actual per a (var j = 0; j
Recomanat:
Versió gran de 1 ohm resistència Smd que proporciona una resistència 1 ohm sense utilitzar cap component electrònic .: 13 passos
Versió gran de la resistència Smd d'1 ohm que proporciona resistència d'1 ohm sense fer servir components electrònics. Aquí faré una gran resistència smd que és molt gran en comparació amb la resistència smd de la vida real
Music Reactive Light -- Com fer que la música reactiva sigui súper senzilla per aconseguir que l’escriptori sigui impressionant: 5 passos (amb imatges)
Music Reactive Light || How to Make Super Simple Music Reactive Light for Making Desktop Awsome .: Hey whats up guys, Avui construirem un projecte molt interessant. Avui construirem llum reactiva musical. El led canviarà la seva brillantor segons el baix que en realitat és un senyal d'àudio de baixa freqüència. És molt senzill de construir. Farem
Com fer el vostre propi carregador de cotxe USB per a qualsevol iPod o altres dispositius que es carreguin mitjançant USB: 10 passos (amb imatges)
Com fer el vostre propi carregador de cotxe USB per a qualsevol iPod o altres dispositius que es carreguin mitjançant USB: creeu un carregador de cotxe USB per a qualsevol iPod o altre dispositiu que es carregui mitjançant USB combinant un adaptador de cotxe que produeixi un endoll femella de 5v i USB. La part més important d'aquest projecte és assegurar-se que la sortida que l'adaptador de cotxe escollit sigui aposta
Com treure música de QUASI QUALSEVOL LLOC WEB (Haha) (sempre que el pugueu escoltar, el podeu aconseguir Molt bé si està incrustat en Flash, potser no podreu) EDITAT !!!!! Informació afegida: 4 passos
Com treure música de quasi el lloc web (Haha) (sempre que el pugueu escoltar, el podeu aconseguir … Molt bé si està incrustat al Flash, és possible que no pugueu) EDITAT !!!!! Informació afegida: si alguna vegada aneu a un lloc web i reproduïu una cançó que us agradi i la desitgeu, aquí teniu allò indicatiu per a que no sigui culpa meva si enganxeu alguna cosa (l'única manera que passarà és si comenceu a esborrar coses sense cap motiu) ) He pogut aconseguir música per
Una manera realment senzilla / fàcil / no complicada de fer que les persones / humans / animals / robots semblin que tenen una visió de calor realment fresca / brillant (color que trieu) mitjançant GIMP: 4 passos
Una manera realment senzilla / fàcil / no complicada de fer que les persones / els humans / els animals / els robots semblin que tenen una visió de calor realment fresca / brillant (color que trieu) mitjançant GIMP: Llegiu … el … títol