
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47

Ovo nije samo još jedan kalkulator serije/paralelnih ekvivalentnih otpora! Ovaj program izračunava kako kombinirati otpornike/kondenzatore koje trenutno trebate kako biste postigli ciljnu vrijednost otpora/kapacitivnosti koja vam je potrebna.
Jeste li ikada trebali poseban otpornik ili kondenzator koji nemate ili koji ne postoji? Ne bojte se! Tu vrijednost otpora ili kapacitivnosti vjerojatno možete napraviti pomoću komponenti koje već imate. Umjesto da riješite ogroman multivarijabilni optimizacijski problem s milijunima različitih kombinacija, upotrijebite ovaj program!
Samo odaberite otpornik ili kondenzator, unesite ciljnu vrijednost, unesite maksimalni broj komponenti koje želite koristiti, unesite popis vrijednosti komponenti koje imate i kliknite Izračunaj! Program će ispljunuti koje će komponente koristiti i kako ih povezati kako bi se postigla ciljna vrijednost.
Da biste isprobali kalkulator, posjetite ovu web aplikaciju.
Za pregled izvornog koda posjetite ovo spremište Github.
Javite mi ako imate prijedloge za dodatno poboljšanje upotrebljivosti ovog alata za dizajn!
Korak 1: Pozadina

Ova je web aplikacija razvijena iz nužde. Postoji mnogo različitih sklopova koje konstruiram koji zahtijevaju vrlo specifičan otpornik ili kondenzator. Mnogo puta nemam otpornik ili kondenzator s tom specifičnom vrijednošću. Ponekad čak i ne naprave komponentu s tom jedinstvenom vrijednošću! Umjesto da odustanem ili se pomirim s nečim što nije idealno, odlučio sam napisati program koji će pogledati svaku moguću kombinaciju otpornika (svaku moguću vrijednost i jesu li u nizu ili paralelni) i vratiti najbolju kombinaciju.
Prilikom projektiranja sklopa za moje orgulje u sklopu mog projekta Battle of the Bands Instructable, morao sam pokušati ručno izračunati najbolju kombinaciju kondenzatora za postizanje određene frekvencije. Taj je proces bio nevjerojatno dosadan i na kraju sam jednostavno odustao i krenuo s kombinacijama kondenzatora koje su proizvele bilo koju količinu zvučne frekvencije. Sada pomoću ove web aplikacije mogu dizajnirati svoje orgulje za određenu frekvenciju i prilagoditi ih notama na tipkovnici! Dolje jednadžba koristi se za izračun specifične frekvencije i raspravlja se u drugom projektu Instructables.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Koristeći ovu jednadžbu gdje je R1 = 100 kOhm i R2 = 10 kOhm, izračunao sam da će kondenzator od 27,33 nF proizvesti notu A4 (frekvencija 440 Hz). Koristeći svoj program, uspio sam izračunati ekvivalentnu vrijednost kapacitivnosti unutar.001 nF (mnogo manje od tolerancije na standardnom kondenzatoru) koju mogu stvoriti pomoću kondenzatora koje sam već ležao. Rezultirajući izlaz i konfiguracija opisani su u nastavku. Sada sam u stanju učinkovitije i djelotvornije prilagoditi svoje orgulje točnim frekvencijama standardnih nota. Volio bih da sam ovo učinio za početak. Moja demo pjesma na orguljama vjerojatno bi zvučala puno bolje.
Najbliža vrijednost: 27,329 nF Razlika: 0,001 nFC Konfiguracija kondenzatora: C0 = 0,068 nF || C1 = 30 nF + C2 = 300 nF
Jednadžbe ekvivalencije kondenzatora otpornika
Za referencu, dolje su jednadžbe ekvivalencije za kombiniranje otpornika i kondenzatora u krugu.
- Otpornici u nizu (R1 + R2): Req = R1 + R2
- Paralelni otpornici (R1 || R2): Req = 1/(1/R1 + 1/R2)
- Kondenzatori u seriji (C1 + C2): Ceq = 1/(1/C1 + 1/C2)
- Paralelni kondenzatori (C1 || C2): Ceq = C1 + C2
Korak 2: Ulazi

Morate unijeti 4 ulaza:
- Izračunavate li vrijednost za otpornik ili kondenzator.
- Vrijednost ciljnog otpora ili kapacitivnosti i jedinice.
- Najveći broj komponenti koje želite koristiti za postizanje ciljane vrijednosti (tj. Ne bih želio koristiti više od 3 otpornika za postizanje ciljane vrijednosti otpora).
- Popis vrijednosti za otpornike/kondenzatore koje trenutno imate. Te bi vrijednosti trebale biti u istim jedinicama kao i vaša ciljna vrijednost (tj. Ako je vaša ciljna vrijednost bila 110 nF, sve vaše vrijednosti trebale bi biti navedene u nF).
Korak 3: Rezultat

Za svoj ćete rezultat dobiti 3 izlaza:
- Najbliža vrijednost - najbliža vrijednost otpora/kapacitivnosti koju ste uspjeli postići svojim parametrima.
- Razlika - koliko je vaša najbliža vrijednost bila udaljena od vaše ciljne vrijednosti.
- Konfiguracija otpornika/kondenzatora - popis vrijednosti otpornika/kondenzatora za uporabu i njihova konfiguracija.
Korak 4: Razumijevanje vašeg rezultata


Konfiguracijski izlaz koristi standardni zapis. "+" znači da su komponente u nizu i "||" znači da su komponente paralelne. Operatori imaju jednak prioritet i asocijativni su slijeva nadesno, što znači da grupirate pojmove zajedno počevši od lijeve strane i krećući se nadesno.
Na primjer, pogledajte sljedeći rezultat:
Konfiguracija otpornika: R0 = 15 Ohma + R1 = 470 Ohma || R2 = 3300 Ohma + R3 = 15000 Ohma
Slijedite li gore navedene smjernice, možete vidjeti da je to ekvivalent sljedećoj jednadžbi i gornjoj slici.
((R0+R1) || R2)+R3
Korak 5: Više projekata
Za više projekata posjetite moje stranice:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Korak 6: Izvorni kod
Za pregled izvornog koda posjetite ovo spremište Github ili pogledajte donji JavaScript.
/* --------------------------------------------------------------- */
/* r/c skriptiranje kalkulatora*//* --------------------------------------- -------------------------*/ var najbliži_val; // do sada najbliža vrijednost var najbliži_diff = 1000000,00; // razlika val i target var najbliži = ; // niz s pojedinostima o vrijednostima komponenti var ser_par_config = ; // niz s pojedinostima o serijskom/paralelnom var outputStr = ""; function calculatorClick () {// briše globalne vrijednosti za svaki novi klik najbliži_val = 0; najbliži_razmak = 1000000,00; najbliži = ; 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; // greška u raščlanjivanju ciljane vrijednosti if (isNaN (target)) {outputStr = "Error check 'Target Value' input!"} // pogreška u raščlanjivanju broja komponenti else if (isNaN (numComp)) {outputStr = "Provjera pogreške 'Broj komponenti' ulaz! "} // else ako nema greške u cilju ili numComp else if (! IsNaN (cilj) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var comma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, zarez)); // greška pri raščlanjivanju vrijednosti vrijednosti komponente, postavi zastavicu if (isNaN (newInt)) {errFlag = 1; pauza; } compValsStr = compValsStr.substring (zarez+1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // greška pri raščlanjivanju vrijednosti vrijednosti komponente, postavi zastavicu if (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). označeno) {otpornik (cilj, numComp, compVals); } else if (document.getElementById ("capRadio"). provjereno) {kondenzator (cilj, numComp, compVals); }} // greška u raščlanjivanju popisa vrijednosti komponente else {outputStr = "Pogreška provjera 'Popis vrijednosti vrijednosti komponente' input!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "blok"; exampleDisplay.style.display = "flex"; // pomaknite se dolje do rezultata window.scrollTo (0, exampleDisplay.scrollHeight); } / * Dohvaća i ispisuje najbolju konfiguraciju otpornika * cilj - vrijednost otpora cilja * numComp - ukupan broj otpornika koji se mogu koristiti za postizanje ciljanog val * compVals - niz vrijednosti otpornika * / funkcijski otpornik (target, numComp, compVals) { // duljina vrijednosti otpora var num_res = compVals.length; // proći kroz sav mogući broj komponenti za (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var units = document.getElementById ("odabrana_jedinica"). vrijednost; // ispis rezultata outputStr = "Najbliža vrijednost:" + najbliži_val.toPopravljeno (3) + "" + jedinice + ""; outputStr + = "Razlika:" + najbliža_difta.fiksirano (3) + "" + jedinice + ""; outputStr += "Konfiguracija otpornika:"; za (var i = 0; i <numComp; i ++) {if (i <najbliža.dužina) {outputStr + = "R" + i + "=" + najbliži + "" + jedinice + ""; if (i+1 <najbliža.dužina) {if (ser_par_config [i+1]) outputStr+= "||"; else outputStr + = " +"; }} else break; }} /* Izračunava najbolju kombinaciju otpornika za postizanje ciljane vrijednosti. * res - ulazni niz vrijednosti otpornika * num_res - veličina ulaznog niza vrijednosti otpornika * num_comb - dopušteni broj otpornika * indeks - indeks češlja * comb - niz trenutne kombinacije * target - ciljna vrijednost * Nema povratne vrijednosti - prenosi trenutnu najbolju kombinaciju u globalne vrijednosti */ funkcija resCombination (res, num_res, num_comb, index, comb, target) {// trenutna kombinacija je potpuna if (index == num_comb) {var ser_par_size = Math.pow (2, num_comb); // 2^(broj komponenti) var ser_par = ; // bool niz specificira serijski ili paralelni za svaku komponentu var calc; // izračunata ekvivalentna vrijednost otpora // korak kroz svaku moguću seriju/paralelnu konfiguraciju trenutne kombinacije za (var j = 0; j
Preporučeni:
Kako postići da termometar i LCD rade zajedno?: 10 koraka

Kako natjerati termometar i LCD da rade zajedno?: Cilj ovog vodiča je pokazati vam kako se koristi termometar DHT11 koji će prikazati temperaturu i vlažnost na 16 x 2 LCD zaslonu
Kako srušiti bilo koje računalo s paketnom datotekom!: 10 koraka

Kako slomiti bilo koje računalo s paketnom datotekom !: Jednostavno srušite bilo koje računalo ili prijenosno računalo
Kako postići nevjerojatne efekte RGB LED traka: 6 koraka (sa slikama)

Kako napraviti nevjerojatne efekte RGB LED traka- krug: Zdravo prijatelju, Danas ću napraviti krug koji će kontrolirati LED traku. Ovaj krug će dati nevjerojatne učinke LED trake. Ovaj krug je vrlo jednostavan i jeftin. Trebamo samo 3- RGB LED. Počnimo
Velika verzija 1 Ohm Smd otpornika koji pruža otpor od 1 Ohma bez korištenja bilo kakvih elektroničkih komponenti .: 13 koraka

Velika verzija Smd otpornika od 1 Ohma koji pruža otpor od 1 Ohma bez korištenja bilo kakvih elektroničkih komponenti. U stvarnom životu smd otpornici su vrlo malih dimenzija gotovo 0,8 mm x 1,2 mm. Ovdje ću napraviti veliki smd otpornik koji je vrlo velik u usporedbi sa smd otpornikom u stvarnom životu
Kako instalirati Pardus na bilo koje računalo: 9 koraka

Kako instalirati Pardus na bilo koje računalo: Ovo je vodič za instaliranje moje omiljene. linux distro, Pardus.Ako je netko ovo koristio i ima što za dodati, samo mi recite i ja ću vas dodati na popis suradnika. Također, svaka povratna informacija je cijenjena jer je ovo moje prvo iskustvo za koje sam mislio da sam napravio