Sadržaj:
- Korak 1: Pozadina
- Korak 2: Ulazi
- Korak 3: Rezultat
- Korak 4: Razumijevanje vašeg rezultata
- Korak 5: Više projekata
- Korak 6: Izvorni kod
Video: Kako postići bilo kakav otpor/kapacitet pomoću komponenti koje već imate !: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:31
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
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 nabaviti glazbu s gotovo bilo koje (haha) web stranice (sve dok je možete čuti možete je dobiti u redu dobro ako je ugrađena u Flash možda nećete moći) IZMJENJENO !!!!! Dodane informacije: 4 koraka
Kako nabaviti glazbu sa gotovo bilo koje (haha) web stranice (sve dok je možete čuti možete je dobiti … u redu dobro ako je ugrađena u Flash možda nećete moći) IZMJENJENO !!!!! Dodani podaci: ako ikada posjetite web stranicu koja svira pjesmu koja vam se sviđa i želite je, evo vam upute, nisam ja kriv ako nešto zabrljate (jedini način na koji će se to dogoditi je ako počnete brisati stvari bez razloga ) uspio sam nabaviti glazbu za
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