Orodha ya maudhui:

Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari !: Hatua 6
Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari !: Hatua 6

Video: Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari !: Hatua 6

Video: Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari !: Hatua 6
Video: Mambo 3 Ya Kufanya Leo Ili Uondoe Stress Maishani Mwako 2024, Novemba
Anonim
Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari!
Jinsi ya Kufikia Upinzani / Uwezo wowote Kutumia Vipengele ambavyo Unavyo tayari!

Hii sio tu msururu mwingine / sawa na kikokotoo cha upinzani sawa! Mpango huu unahesabu jinsi ya kuchanganya vipinga / capacitors ambavyo kwa sasa unapaswa kufikia upinzani wa lengo / thamani ya uwezo ambayo unahitaji.

Je! Umewahi kuhitaji kipinga au capacitor maalum ambayo hauna au ambayo haipo? Usiogope! Labda unaweza kufanya upinzani maalum au dhamana ya uwezo kwa kutumia vifaa ambavyo tayari unayo. Badala ya kutatua shida kubwa ya utaftaji na mamilioni ya mchanganyiko tofauti, tumia programu hii!

Chagua tu kontena au capacitor, ingiza thamani inayolengwa, ingiza idadi kubwa ya vifaa ambavyo ungetaka kutumia, ingiza orodha ya maadili ya vifaa unavyo, na bonyeza mahesabu! Mpango huo utatema ni vitu gani vya kutumia na jinsi ya kuziunganisha ili kufikia dhamana yako.

Ili kujaribu kikokotoo, tembelea programu tumizi hii ya wavuti.

Ili kuona nambari ya chanzo, tembelea hazina hii ya Github.

Tafadhali nijulishe ikiwa una maoni yoyote ya kuboresha utumiaji wa zana hii ya kubuni!

Hatua ya 1: Usuli

Usuli
Usuli

Programu tumizi hii ya wavuti ilitengenezwa kwa sababu ya lazima. Kuna mizunguko mingi tofauti ambayo ninaunda ambayo inahitaji kontena maalum au kipima sauti. Mara nyingi, sina kontena au kipima uwezo na hiyo thamani maalum. Wakati mwingine hawafanyi hata kipengee na thamani hiyo ya kipekee! Badala ya kukata tamaa au kutulia kwa kitu kisicho bora zaidi, niliamua kuandika mpango wa kuangalia kila mchanganyiko wa vipinga (kila thamani inayowezekana na ikiwa iko kwenye safu au sambamba) na kurudisha mchanganyiko bora.

Wakati wa kubuni mzunguko wa chombo changu kama sehemu ya Mradi wangu wa Vita inayoweza kufundishwa ya Bendi, ilibidi nijaribu kupeana mchanganyiko bora wa capacitors kufikia mzunguko fulani. Mchakato huu ulikuwa wa kuchosha sana na mwishowe niliacha tu na kwenda na mchanganyiko wa capacitor ambao ulizalisha kiwango chochote cha masikika yanayosikika. Sasa na programu tumizi hii ya wavuti, ninaweza kutengenezea chombo changu kwa masafa maalum na kuiweka kwenye maandishi kwenye kibodi! Equation hapa chini hutumiwa kuhesabu masafa maalum na inajadiliwa katika mradi mwingine wa Maagizo.

f = 1 / (0.693 × C × (R1 + 2 × R2))

Kutumia equation hii ambapo R1 = 100 kOhm na R2 = 10 kOhm, nilihesabu kuwa 27.33 nF capacitor itatoa noti ya A4 (frequency 440 Hz). Kutumia programu yangu, niliweza kuhesabu thamani sawa ya uwezo ndani ya.001 nF (chini sana kuliko uvumilivu kwenye capacitor ya kawaida) ambayo ninaweza kuunda kwa kutumia capacitors ambayo tayari nilikuwa nimelala kote. Matokeo na usanidi unaosababishwa umeelezewa hapo chini. Sasa nina uwezo wa kurekebisha chombo changu kwa ufanisi zaidi na kwa masafa halisi ya maandishi ya kawaida. Natamani ningefanya hii kuanza. Wimbo wangu wa onyesho kwenye chombo labda ungekuwa unasikika vizuri zaidi.

Thamani ya karibu zaidi: 27.329 nF Tofauti: 0.001 nFC Usanidi wa Mpangilio: C0 = 0.068 nF || C1 = 30 nF + C2 = 300 nF

Resistor Mlinganisho wa Usawa wa Capacitor

Kwa rejeleo, hapa chini kuna usawa wa usawa wa kuchanganya vipinga na capacitors katika mzunguko.

  • Resistors katika safu (R1 + R2): Req = R1 + R2
  • Resistors sambamba (R1 || R2): Req = 1 / (1 / R1 + 1 / R2)
  • Capacitors katika safu (C1 + C2): Ceq = 1 / (1 / C1 + 1 / C2)
  • Capacitors sambamba (C1 || C2): Ceq = C1 + C2

Hatua ya 2: Pembejeo

Pembejeo
Pembejeo

Kuna pembejeo 4 utahitaji kutoa:

  1. Ikiwa unahesabu thamani ya kontena au capacitor.
  2. Lengo la upinzani au thamani ya uwezo na vitengo.
  3. Idadi kubwa ya vifaa ambavyo ungependa kutumia kufikia dhamana ya lengo (yaani. Singependa kutumia vipingamizi zaidi ya 3 kufikia thamani yangu ya upinzani).
  4. Orodha ya maadili ya vipinga / capacitors unazo sasa. Thamani hizi zinapaswa kuwa katika vitengo sawa na thamani yako lengwa (kama ikiwa dhamira yako ilikuwa 110 nF, maadili yako yote yanapaswa kutolewa katika nF).

Hatua ya 3: Matokeo

Matokeo
Matokeo

Utapata matokeo 3 ya matokeo yako:

  1. Thamani ya karibu zaidi - upinzani wa karibu / thamani ya uwezo ulioweza kufikia na vigezo vyako.
  2. Tofauti - jinsi mbali thamani yako ya karibu ilivyokuwa mbali na dhamira yako lengwa.
  3. Usanidi wa Resistor / Capacitor - orodha ya maadili ya vipinga / vitendaji vya kutumia na usanidi wao.

Hatua ya 4: Kuelewa Matokeo Yako

Kuelewa Matokeo Yako
Kuelewa Matokeo Yako
Kuelewa Matokeo Yako
Kuelewa Matokeo Yako

Pato la usanidi linatumia nukuu ya kawaida. "+" inamaanisha vifaa viko katika safu na "||" inamaanisha vifaa viko sawa. Waendeshaji wana utangulizi sawa na ni washirika wa kushoto-kulia wakimaanisha unaunganisha maneno pamoja kuanzia kushoto na kuhamia kulia.

Kwa mfano, angalia matokeo yafuatayo:

Usanidi wa Resistor: R0 = 15 Ohms + R1 = 470 Ohms || R2 = 3300 Ohms + R3 = 15000 Ohms

Ukifuata miongozo iliyojadiliwa hapo juu, unaweza kuona kwamba hii ni sawa na mlingano ufuatao na picha hapo juu.

((R0 + R1) || R2) + R3

Hatua ya 5: Miradi zaidi

Kwa miradi zaidi, tembelea kurasa zangu:

  • https://dargen.io/
  • https://github.com/mjdargen
  • https://www.instructables.com/member/mjdargen/

Hatua ya 6: Nambari ya Chanzo

Kuangalia nambari ya chanzo, tembelea hazina hii ya Github au tazama JavaScript hapa chini.

/* --------------------------------------------------------------- */

/ * r / c hati ya kukokotoa * / / * -------------------------------------- ------------------------- * / var karibu_val; // thamani ya karibu zaidi hadi sasa var closest_diff = 1000000.00; // tofauti ya val na lengo var karibu = ; // safu ya kuonyesha maadili ya vifaa var ser_par_config = ; // safu inayoonyesha serial / parallel var outputStr = ""; kikokotoo cha kaziBofya () {// futa maadili ya ulimwengu kwa kila bonyeza mpya karibu zaidi_val = 0; karibu_diff = 1000000.00; wa karibu = ; ser_par_config = ; var matokeoDisplay = hati.getElementById ("matokeoRow"); var exampleDisplay = document.getElementById ("exampleRow"); var calcOutput = hati.getElementById ("calcOutput"); var targetTextObj = hati.getElementById ('lengoText'); var numCompTextObj = hati.getElementById ('numCompText'); var compValsTextObj = hati.getElementById ('compValsText'); var lengo = parseFloat (targetTextObj.value); var numComp = parseInt (numCompTextObj.value); var compValsStr = compValsTextObj.thamani; safu za var = ; hesabu [0] = ""; var i = 0; var errFlag = 0; // kosa katika kuchanganua thamani ya lengo ikiwa (isNaN (target)) {outputStr = "Kosa angalia pembejeo ya Thamani ya Lengo" "} // kosa katika kuchanganua idadi ya vifaa vingine ikiwa (isNaN (numComp)) {outputStr =" Kosa la kuangalia 'Idadi ya pembejeo ya Vipengele! "} // vingine ikiwa hakuna hitilafu katika shabaha au nambari nyingine ikiwa (! IsNaN (lengo) &&! IsNaN (numComp)) {wakati (compValsStr.indexOf (", ")! = -1) {var comma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, comma)); // kosa katika kuchambua orodha ya thamani ya sehemu, weka bendera ikiwa (isNaN (newInt)) {errFlag = 1; kuvunja; } compValsStr = compValsStr.substring (koma + 1, compValsStr. urefu); compVals = mpyaInt; i ++; } var newInt = parseFloat (compValsStr); // kosa katika kuchambua orodha ya thamani ya sehemu, weka bendera ikiwa (isNaN (newInt)) {errFlag = 1; } hesabu = newInt; ikiwa (errFlag == 0) {if (document.getElementById ("resRadio"). checked) {resistor (target, numComp, compVals); } mwingine ikiwa (document.getElementById ("capRadio"). imeangaliwa) {capacitor (lengo, numComp, compVals); }} // kosa katika kuchanganua orodha ya thamani ya sehemu nyingine {outputStr = "Kosa angalia 'Ingizo la Orodha ya Vipengele'!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "block"; exampleDisplay.style.display = "kubadilika"; // songa chini ili kusababisha windows.scrollTo (0, exampleDisplay.scrollHeight); } / * Inatafuta na kuchapisha usanidi bora wa kipinzani * lengo - lengo la upinzani wa kulenga * numComp - jumla ya idadi ya vipinga kuruhusiwa kutumiwa kufikia malengo ya malengo ya malengo - safu ya maadili ya kupinga * / kipinga kazi (lengo, numComp, compVals) { // urefu wa maadili ya kupinga var num_res = compVals.length; // pitia idadi yote inayowezekana ya vifaa vya (var i = 1; i <= numComp; i ++) {var data = ; mchanganyiko (hesabu, hesabu, idadi, data, lengo); } var units = document.getElementById ("selected_unit") thamani; // matokeo ya kuchapisha matokeoStr = "Thamani ya Karibu zaidi:" + karibu zaidi_val.toFixed (3) + "" "vitengo +" "; outputStr + = "Tofauti:" + karibu zaidi_diff.toIliyorekebishwa (3) + "" "vitengo +" "; outputStr + = "Usanidi wa Resistor:"; kwa (var i = 0; i <numComp; i ++) {if (i <closest.length) {outputStr + = "R" + i + "=" + karibu zaidi "i" + "" vitengo + ""; ikiwa (i + 1 <urefu wa karibu zaidi) {if (ser_par_config [i + 1]) outputStr + = "||"; pato lingineStr + = "+"; }} mwingine kuvunja; }} / * Hukokotoa mchanganyiko bora wa vipinga kufikia thamani lengwa. * res - safu ya pembejeo ya nambari za kupinga * num_res - saizi ya safu ya pembejeo ya nambari za kupinga * num_comb - idadi ya vipinga kuruhusiwa * index - index ya sega * comb - safu ya mchanganyiko wa sasa * lengo - dhamira ya lengo * Hakuna dhamana ya kurudisha - hupitisha mchanganyiko bora wa sasa kwa maadili ya ulimwengu (2, num_comb); // 2 ^ (idadi ya vifaa) var ser_par = ; // safu ya bool inayoainisha serial au sambamba kwa kila sehemu var calc; // mahesabu sawa ya thamani ya upinzani // hatua kupitia kila safu inayowezekana / usanifu unaofanana wa mchanganyiko wa sasa wa (var j = 0; j k) & 1; } // fanya mahesabu ya mchanganyiko kulingana na mfululizo / combo inayofanana ya (var k = 0; k <num_comb; k ++) {// nambari ya kwanza, ongeza tu ikiwa (k == 0) calc = comb [k]; // sifuri inamaanisha mfululizo, ongeza maadili ya upinzani ikiwa (! ser_par [k]) calc + = comb [k]; // moja inamaanisha sambamba, inverse ya jumla ya malipo mengine ikiwa (ser_par [k]) calc = (calc * comb [k]) / (calc + comb [k]); } // angalia kuona ikiwa tofauti ni chini ya bora ya hapo awali ikiwa (Math.abs (calc - target) <closest_diff) {// ni chini, kwa hivyo sasisha maadili ya ulimwengu karibu zaidi_val = calc; karibu_diff = Math.abs (calc - lengo); // wazi kwa sifuri kwa (var k = 0; k <num_comb; k ++) {karibu [k] = 0; } // // sasisha thamani ya karibu zaidi & safu / safu sawa za (var k = 0; k <num_comb; k ++) {karibu zaidi [k] = sega [k]; ser_par_config [k] = ser_par [k]; }}}} rudisha 0; } // mara kwa mara piga simu na ubadilishe fahirisi na maadili yote yanayowezekana ya (var i = 0; i = num_comb-index; i ++) {comb [index] = res ; mchanganyiko (res, num_res, num_comb, index + 1, comb, lengo); }} / * Inatafuta na kuchapisha usanidi bora wa capacitor * lengo - lengo la uwezo wa uwezo * numComp - jumla ya idadi ya capacitors inayoruhusiwa kutumiwa kufikia malengo ya malengo ya malengo - safu ya maadili ya capacitor * / capacitor ya kazi (lengo, numComp, compVals) {// urefu wa maadili ya uwezo capacitance var num_cap = compVals.length; // pitia idadi yote inayowezekana ya vifaa vya (var i = 1; i <= numComp; i ++) {var data = ; mkusanyiko cap (compVals, num_cap, i, 0, data, target); } var units = document.getElementById ("selected_unit") thamani; // matokeo ya kuchapisha matokeoStr = "Thamani ya Karibu zaidi:" + karibu zaidi_val.toImewekwa (3) + "" "vitengo +" "; outputStr + = "Tofauti:" + karibu zaidi_diff.toIliyorekebishwa (3) + "" "vitengo +" "; outputStr + = "Usanidi wa Capacitor:"; kwa (var i = 0; i <numComp; i ++) {if (i <closest.length) {outputStr + = "C" + i + "=" + karibu zaidi "i" + "" vitengo + ""; ikiwa (i + 1 <urefu wa karibu zaidi) {if (ser_par_config [i + 1]) outputStr + = "||"; pato lingineStr + = "+"; }} mwingine kuvunja; }} / * Hukokotoa mchanganyiko bora wa vitendaji kufikia thamani lengwa. kofia * Hakuna thamani ya kurudi - hupitisha mchanganyiko bora wa sasa kwa maadili ya ulimwengu * / cap capCombination (cap, num_cap, num_comb, index, comb, target) (2, num_comb); // 2 ^ (idadi ya vifaa) var ser_par = ; // safu ya bool inayoainisha serial au sambamba kwa kila sehemu var calc; // mahesabu sawa ya uwezo wa uwezo // hatua kupitia kila safu inayowezekana / usanifu unaofanana wa mchanganyiko wa sasa wa (var j = 0; j k) & 1; } // fanya mahesabu ya mchanganyiko kulingana na mfululizo / combo inayofanana ya (var k = 0; k

Ilipendekeza: