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 izmjena: 2024-01-30 08:04
Ovo nije samo još jedan kalkulator serije/paralelnog ekvivalentnog otpora! Ovaj program izračunava kako kombinirati otpornike/kondenzatore koje trenutno trebate da 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 rješavanja ogromnog multivarijabilnog optimizacijskog problema s milijunima različitih kombinacija, upotrijebite ovaj program!
Samo odaberite otpornik ili kondenzator, unesite ciljnu vrijednost, unesite maksimalan broj komponenti koje želite koristiti, unesite popis vrijednosti komponenti koje imate i kliknite Izračunaj! Program će ispljunuti koje 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 Github spremište.
Javite mi ako imate prijedloge za dodatno poboljšanje upotrebljivosti ovog alata za dizajn!
Korak 1: Pozadina
Ova web aplikacija razvijena je iz nužde. Postoji mnogo različitih krugova koje konstruiram koji zahtijevaju vrlo specifičan otpornik ili kondenzator. Često nemam otpornik ili kondenzator s tom 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 kola 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. Ovaj proces je 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 tastaturi! Donja jednadžba se koristi za izračunavanje specifične frekvencije i razmatra 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 moj 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 mogućnosti da mnogo efikasnije i efektnije podesim svoj organ na tačne frekvencije standardnih nota. Voleo bih da sam ovo učinio za početak. Moja demo pjesma na orguljama bi vjerovatno zvučala mnogo 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 seriji (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.
- Maksimalan 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. Ove vrijednosti trebaju biti u istim jedinicama kao i vaša ciljna vrijednost (tj. Ako je vaša ciljna vrijednost bila 110 nF, sve vaše vrijednosti trebaju biti navedene u nF).
Korak 3: Rezultat
Za rezultat ćete dobiti 3 izlaza:
- Najbliža vrijednost - najbliža vrijednost otpora/kapacitivnosti koju ste uspjeli postići sa 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 upotrebu 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 s lijeva na desno, š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
Ako slijedite gore navedene smjernice, možete vidjeti da je ovo ekvivalentno 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 skripta kalkulatora*//* --------------------------------------- -------------------------*/ var najbliži_val; // do sada najbliža vrijednost var most_diff = 1000000.00; // razlika val i target var najbliži = ; // niz sa detaljima vrijednosti komponenti var ser_par_config = ; // niz sa detaljima serijskog/paralelnog var outputStr = ""; funkcija calculatorClick () {// briše globalne vrijednosti za svaki novi klik najbliži_val = 0; najbliži_dif = 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 ciljne vrijednosti if (isNaN (target)) {outputStr = "Greška provjera ulaza 'Target Value'!"} // greška u raščlanjivanju broja komponenti else if (isNaN (numComp)) {outputStr = "Provjera greške 'Broj komponenti' ulaz! "} // else ako nema greške u cilju ili numComp u suprotnom if (! IsNaN (target) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var comma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, zarez)); // greška u raščlanjivanju vrijednosti vrijednosti komponente, postavi zastavicu if (isNaN (newInt)) {errFlag = 1; break; } compValsStr = compValsStr.substring (zarez+1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // greška u 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"). označeno) {kondenzator (cilj, numComp, compVals); }} // greška pri raščlanjivanju vrijednosti vrijednosti komponente else {outputStr = "Provjera greške 'Unos liste' Vrijednosti komponente '!"}} 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; // prolazimo 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 ("selected_unit"). vrijednost; // ispis rezultata outputStr = "Najbliža vrijednost:" + najbliži_val.toPopravljeno (3) + "" + jedinice + ""; outputStr + = "Razlika:" + najbliži_diff.toPopravljeno (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 * češalj - niz trenutne kombinacije * cilj - 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čunava vrijednost ekvivalentnog otpora // korak kroz svaku moguću seriju/paralelnu konfiguraciju trenutne kombinacije za (var j = 0; j
Preporučuje se:
Kako postići da termometar i LCD rade zajedno?: 10 koraka
Kako postići da termometar i LCD rade zajedno?: Cilj ovog vodiča je pokazati vam kako se koristi DHT11 termometar koji će prikazivati temperaturu i vlažnost na 16 x 2 LCD ekranu
Kako postići nevjerojatne efekte RGB LED traka: 6 koraka (sa slikama)
Kako napraviti zadivljujuće efekte RGB LED traka Kolo: Zdravo prijatelju, Danas ću napraviti krug koji će kontrolirati LED traku. Ovo kolo će dati nevjerojatne efekte LED trake. Ovo kolo je vrlo jednostavno i jeftino. Trebamo samo 3- RGB LED. Počnimo
Velika verzija 1 Ohm Smd otpornika koji pruža otpor od 1 Ohma bez upotrebe 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 postići da se vaš servo motor potpuno okreće: 5 koraka
Kako natjerati vaš servo motor da se potpuno okreće: Šta je servo motor? Servo motor je električni uređaj koji može s velikom preciznošću gurnuti ili rotirati objekt. Ako želite rotirati i prigovarati pod određenim kutovima ili udaljenostima, koristite servo motor. Sastoji se od jednostavnog motora sa
Kako nabaviti muziku sa SKORO BILO KOJE (Haha) web stranice (sve dok je možete čuti možete je nabaviti U redu, ako je ugrađena u Flash možda nećete moći) IZMENJENO !!!!! Dodane informacije: 4 koraka
Kako nabaviti muziku sa SKORO BILO KOJE (Haha) web stranice (sve dok je možete čuti možete je nabaviti … U redu, ako je ugrađena u Flash možda nećete moći) IZMENJENO !!!!! Dodane informacije: ako ikada posjetite web stranicu koja pušta 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 muziku za