
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41

Tämä ei ole vain toinen sarja/rinnakkainen vastaava vastuslaskin! Tämä ohjelma laskee kuinka yhdistää nykyisin tarvittavat vastukset/kondensaattorit, jotta saavutetaan tarvittava vastus/kapasitanssi.
Oletko koskaan tarvinnut tiettyä vastusta tai kondensaattoria, jota sinulla ei ole tai jota ei ole olemassa? Älä pelkää! Voit luultavasti tehdä kyseisen vastuksen tai kapasitanssin arvon käyttämällä jo olemassa olevia komponentteja. Sen sijaan, että ratkaisisit valtavan monimuuttujaisen optimointitehtävän miljoonilla eri yhdistelmillä, käytä tätä ohjelmaa!
Valitse vain vastus tai kondensaattori, syötä tavoitearvo, syötä käytettävien komponenttien enimmäismäärä, kirjoita luettelo komponenttien arvoista ja napsauta laskea! Ohjelma sylkee mitä komponentteja käyttää ja miten ne liitetään tavoitearvon saavuttamiseksi.
Voit kokeilla laskinta tällä verkkosovelluksella.
Voit tarkastella lähdekoodia käymällä tässä Github -arkistossa.
Kerro minulle, jos sinulla on ehdotuksia tämän suunnittelutyökalun käytettävyyden parantamiseksi!
Vaihe 1: Taustaa

Tämä verkkosovellus on kehitetty tarpeettomasti. Rakennan monia erilaisia piirejä, jotka vaativat hyvin tietyn vastuksen tai kondensaattorin. Monta kertaa minulla ei ole vastusta tai kondensaattoria, jolla on tietty arvo. Joskus he eivät edes tee komponenttia, jolla on ainutlaatuinen arvo! Sen sijaan, että luovuttaisin tai tyytyisin johonkin, joka on vähemmän kuin ihanteellinen, päätin kirjoittaa ohjelman, jossa tarkastellaan kaikkia mahdollisia vastuksen yhdistelmiä (kaikki mahdolliset arvot ja riippumatta siitä, ovatko ne sarjassa vai rinnakkain) ja palautan parhaan yhdistelmän.
Suunnitellessani virtapiiriäni urulleni osana Battle of the Bands Instructable Project -projektiani minun piti yrittää laskea käsin paras kondensaattoreiden yhdistelmä tietyn taajuuden saavuttamiseksi. Tämä prosessi oli uskomattoman tylsä, ja lopulta vain luovutin ja lähdin käyttämään kondensaattoriyhdistelmiä, jotka tuottivat mitä tahansa äänitaajuutta. Nyt tämän verkkosovelluksen avulla voin suunnitella urut tietylle taajuudelle ja virittää sen näppäimistön nuotteihin! Alla olevaa yhtälöä käytetään tietyn taajuuden laskemiseen, ja siitä keskustellaan toisessa Instructables -projektissa.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Käyttämällä tätä yhtälöä, jossa R1 = 100 kOhm ja R2 = 10 kOhm, laskin, että 27,33 nF: n kondensaattori tuottaa A4 -muistiinpanon (taajuus 440 Hz). Ohjelmani avulla pystyin laskemaan vastaavan kapasitanssin arvon 0,001 nF: n sisällä (paljon pienempi kuin vakiokondensaattorin toleranssi), jonka voin luoda käyttämällä kondensaattoreita, jotka minulla jo oli. Tulos ja kokoonpano on kuvattu alla. Pystyn nyt virittämään urut paljon tehokkaammin ja tehokkaammin tavallisten nuottien tarkalle taajuudelle. Toivon, että olisin tehnyt tämän aluksi. Demolauluni uruilla olisi luultavasti kuulostanut paljon paremmalta.
Lähin arvo: 27.329 nF Ero: 0.001 nFCapacitor Configuration: C0 = 0.068 nF || C1 = 30 nF + C2 = 300 nF
Vastuskondensaattorin ekvivalenssiyhtälöt
Alla on vertailua varten yhtälöt vastuksen ja kondensaattorin yhdistämiseksi piiriin.
- Sarjavastukset (R1 + R2): Req = R1 + R2
- Vastukset rinnakkain (R1 || R2): Req = 1/(1/R1 + 1/R2)
- Kondensaattorit sarjaan (C1 + C2): Ceq = 1/(1/C1 + 1/C2)
- Kondensaattorit rinnakkain (C1 || C2): Ceq = C1 + C2
Vaihe 2: Tulot

Sinun on annettava 4 tuloa:
- Laskeko arvoa vastukselle tai kondensaattorille.
- Tavoiteresistanssi tai kapasitanssiarvo ja yksiköt.
- Komponenttien enimmäismäärä, jota haluat käyttää tavoitearvon saavuttamiseen (eli en halua käyttää enempää kuin 3 vastusta tavoiteresistanssiarvon saavuttamiseen).
- Luettelo arvoista nykyisillä vastuksilla/kondensaattoreilla. Näiden arvojen on oltava samoissa yksiköissä kuin tavoitearvo (eli jos tavoitearvo oli 110 nF, kaikki arvot on annettava nF: nä).
Vaihe 3: Tulos

Saat 3 lähtöä tuloksellesi:
- Lähin arvo - lähin vastus-/kapasitanssiarvo, jonka pystyit saavuttamaan parametreillasi.
- Ero - kuinka kaukana lähin arvo oli tavoitearvostasi.
- Vastus/kondensaattorin kokoonpano - luettelo käytettävien vastuksien/kondensaattoreiden arvoista ja niiden kokoonpanosta.
Vaihe 4: Tuloksen ymmärtäminen


Konfigurointilähtö käyttää vakiomerkintää. "+" tarkoittaa, että komponentit ovat sarjassa ja "||" tarkoittaa, että komponentit ovat rinnakkain. Operaattoreilla on sama etuoikeus ja ne ovat vasemmalta oikealle assosiatiivisia, mikä tarkoittaa, että ryhmität termejä yhteen alkaen vasemmalta ja siirtymällä oikealle.
Katso esimerkiksi seuraavaa tulosta:
Vastuksen kokoonpano: R0 = 15 ohmia + R1 = 470 ohmia || R2 = 3300 ohmia + R3 = 15000 ohmia
Jos noudatat yllä keskusteltuja ohjeita, näet, että tämä vastaa seuraavaa yhtälöä ja kuvaa yllä.
((R0+R1) || R2)+R3
Vaihe 5: Lisää projekteja
Lisää projekteja löydät sivuiltani:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Vaihe 6: Lähdekoodi
Voit tarkastella lähdekoodia käymällä tässä Github -arkistossa tai tutustu alla olevaan JavaScriptiin.
/* --------------------------------------------------------------- */
/* r/c-laskimen komentosarja*//* --------------------------------------- -------------------------*/ var lähimpi_valo; // tähän mennessä lähin arvo var lähimpi_diff = 1000000,00; // valin ja kohdevarin ero lähimpänä = ; // matriisi, jossa kerrotaan komponenttien arvot var ser_par_config = ; // taulukko, jossa kerrotaan sarja-/rinnakkaismuunnoksesta var outputStr = ""; function calculatorClick () {// tyhjennä yleiset arvot jokaiselle uudelle napsautukselle lähimpi_val = 0; lähin_diff = 1000000,00; lähin = ; 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; // virhe kohdearvon jäsentämisessä, jos (isNaN (kohde)) {outputStr = "Virheentarkistus 'Target Value' input!"} // virhe jäsennettäessä komponenttien lukumäärää else if (isNaN (numComp)) {outputStr = "Virheentarkistus 'Komponenttien lukumäärän syöttö! "} // else, jos kohteessa ei ole virhettä tai numComp else if (! IsNaN (kohde) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var. pilkku = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, pilkku)); // virhe jäsennettäessä komponenttien arvoluetteloa, aseta lippu if (isNaN (newInt)) {errFlag = 1; tauko; } compValsStr = compValsStr.substring (pilkku+1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // virhe jäsennettäessä komponenttien arvoluetteloa, aseta lippu if (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). tarkistettu) {resistor (target, numComp, compVals); } else if (document.getElementById ("capRadio"). tarkistettu) {kondensaattori (tavoite, numComp, compVals); }} // virhe jäsennettäessä komponenttien arvoluetteloa else {outputStr = "Virheentarkistus 'Komponenttien arvoluettelon syöttö!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "lohko"; exampleDisplay.style.display = "flex"; // vieritä alas tulosikkunaan.scrollTo (0, exampleDisplay.scrollHeight); } / * Noutaa ja tulostaa parhaan vastuksen kokoonpanon * tavoite - tavoiteresistanssiarvo * numComp - vastusten kokonaismäärä, joita voidaan käyttää tavoitearvon saavuttamiseen * compVals - vastusarvojen matriisi * / toimintovastus (tavoite, numComp, compVals) { // vastusarvojen pituus var num_res = compVals.length; // ajaa läpi kaikki mahdolliset komponentit (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var yksiköt = document.getElementById ("selected_unit"). arvo; // tulostustulokset outputStr = "Lähin arvo:" + lähinnä_val.toKiinteä (3) + "" + yksikköä + ""; outputStr + = "Ero:" + lähin_diff.toKiinteä (3) + "" + yksikköä + ""; outputStr += "Vastuksen kokoonpano:"; for (var i = 0; i <numComp; i ++) {jos (i <lähin.pituus) {outputStr + = "R" + i + "=" + lähin + "" + yksikköä + ""; if (i+1 <lähin.pituus) {if (ser_par_config [i+1]) outputStr+= "||"; else outputStr + = " +"; }} muu tauko; }} /* Laskee parhaan vastuksen yhdistelmän tavoitearvon saavuttamiseksi. * res - vastusarvojen syöttöryhmä * num_res - vastusarvojen syöttöryhmän koko * num_comb - sallittujen vastuksien määrä * indeksi - kampa * kampa - nykyisen yhdistelmän matriisi * tavoite - tavoitearvo * Ei palautusarvoa - välittää parhaan yhdistelmän globaaleille arvoille */ toiminto resCombination (res, num_res, num_comb, index, comb, target) {// nykyinen yhdistelmä on valmis, jos (index == num_comb) {var ser_par_size = Math.pow (2, numero_yhdistelmä); // 2^(komponenttien määrä) var ser_par = ; // bool -matriisi, joka määrittää sarjat tai rinnakkaiset kullekin komponentille var calc; // laskettu vastaava vastusarvo // astu läpi kaikki mahdolliset nykyisen yhdistelmän sarja-/rinnakkaiskonfiguraatiot (var j = 0; j
Suositeltava:
Häivytys/LED -valon/kirkkauden säätäminen käyttämällä potentiometriä (muuttuva vastus) ja Arduino Uno: 3 vaihetta

Ledin/kirkkauden häipyminen/säätäminen käyttämällä potentiometriä (muuttuva vastus) ja Arduino Uno: Arduino -analogitulonappi on kytketty potentiometrin lähtöön. Joten Arduino ADC (analoginen digitaalimuunnin) analoginen nasta lukee lähtöjännitteen potentiometrillä. Potentiometrin nupin kääntäminen muuttaa jännitettä ja Arduinon
Langaton Arduino -hälytysjärjestelmä, joka käyttää olemassa olevia antureita: 9 vaihetta (kuvilla)

Langaton Arduino -hälytysjärjestelmä, joka käyttää olemassa olevia antureita: Tämä projekti voidaan rakentaa noin puolessa tunnissa ja maksaa noin 20,00 dollaria, jos sinulla on olemassa olevat 433Mhz tai 315Mhz langattomat hälytysanturit. Se voi olla myös täysin uusi projekti, jossa on langattomat hälytysanturit, kuten infrapuna -liiketunnistimet ja ruoko
Kuinka mitata vastuksen vastus: 7 vaihetta

Kuinka mitata vastuksen vastus: Vastusta mitattaessa käytetään yleensä kahta menetelmää. Ensimmäinen käytetty menetelmä on vastuksen värikoodi. Tämä menetelmä tarjoaa tavan löytää arvo ilman laitteita jonkin tarkkuuden hinnalla. Toinen tapa on käyttää moni
ZB2L3 AKUN KAPASITEETTI: 6 vaihetta

ZB2L3 AKUN KAPASITEETIN TESTERI: Tekniset tiedot: Jännite: DC4.5-6V (mikro-USB-liitin) Käyttövirta: alle 70 m TarkkuusMaksimijännite
Kuinka kokeilla ja saada ilmaisia komponentteja: 5 vaihetta

Kuinka kokeilla ja saada ilmaisia komponentteja: joskus sinulla ei ole rahaa, mutta haluat rakentaa jotain hienoa. tässä on opas, joka auttaa sinua