Indholdsfortegnelse:
- Trin 1: Baggrund
- Trin 2: Inputs
- Trin 3: Resultat
- Trin 4: Forstå dit resultat
- Trin 5: Flere projekter
- Trin 6: Kildekode
Video: Sådan opnås enhver modstand/kapacitans ved hjælp af komponenter, du allerede har !: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Dette er ikke bare endnu en serie/parallelækvivalent modstandsberegner! Dette program beregner, hvordan man kombinerer modstande/kondensatorer, som du i øjeblikket har for at opnå en målmodstand/kapacitansværdi, du har brug for.
Har du nogensinde haft brug for en bestemt modstand eller kondensator, som du ikke har, eller som ikke findes? Vær ikke bange! Du kan sandsynligvis lave den specifikke modstand eller kapacitansværdi ved hjælp af komponenter, du allerede har. I stedet for at løse et kæmpe multivariabelt optimeringsproblem med millioner af forskellige kombinationer, skal du bruge dette program!
Vælg bare modstand eller kondensator, indtast målværdien, indtast det maksimale antal komponenter, du gerne vil bruge, indtast en liste over værdierne for de komponenter, du har, og klik på Beregn! Programmet spytter ud, hvilke komponenter der skal bruges, og hvordan man forbinder dem for at nå din målværdi.
Besøg denne webapplikation for at prøve lommeregneren.
For at se kildekoden skal du besøge dette Github -lager.
Lad mig vide, hvis du har forslag til yderligere at forbedre anvendeligheden af dette designværktøj!
Trin 1: Baggrund
Denne webapplikation blev udviklet af nødvendighed. Der er mange forskellige kredsløb, jeg konstruerer, der kræver en meget specifik modstand eller kondensator. Mange gange har jeg ikke en modstand eller kondensator med den specifikke værdi. Nogle gange laver de ikke engang en komponent med den unikke værdi! I stedet for at opgive eller nøjes med noget, der er mindre end ideelt, besluttede jeg at skrive et program for at se på enhver mulig kombination af modstande (hver mulig værdi og om de er i serie eller parallel) og returnere den bedste kombination.
Da jeg designede kredsløbet til mit orgel som en del af mit Battle of the Bands Instructable Project, måtte jeg prøve at beregne den bedste kombination af kondensatorer for at opnå en bestemt frekvens. Denne proces var utrolig kedelig, og jeg gav til sidst bare op og gik med kondensatorkombinationer, der producerede enhver mængde hørbar frekvens. Nu med denne webapplikation kan jeg designe mit orgel til en bestemt frekvens og stille det til noterne på et tastatur! Nedenstående ligning bruges til at beregne den specifikke frekvens og diskuteres i det andet Instructables -projekt.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Ved hjælp af denne ligning, hvor R1 = 100 kOhm og R2 = 10 kOhm, beregnede jeg, at en 27,33 nF kondensator vil producere en A4 -note (frekvens 440 Hz). Ved hjælp af mit program kunne jeg beregne en ækvivalent kapacitansværdi inden for.001 nF (meget mindre end tolerancen på en standardkondensator), som jeg kan oprette ved hjælp af kondensatorer, jeg allerede havde liggende. Den resulterende output og konfiguration er beskrevet nedenfor. Jeg er nu i stand til meget mere effektivt og effektivt at indstille mit orgel til de nøjagtige frekvenser af standardnoter. Jeg ville ønske, at jeg havde gjort dette til at begynde med. Min demosang på orgelet ville nok have lydt meget bedre.
Nærmeste værdi: 27.329 nF Forskel: 0.001 nFCapacitor konfiguration: C0 = 0.068 nF || C1 = 30 nF + C2 = 300 nF
Modstandskondensatorækvivalensligninger
Til reference er nedenstående ækvivalensligninger til kombination af modstande og kondensatorer i et kredsløb.
- Modstande i serie (R1 + R2): Req = R1 + R2
- Modstande parallelt (R1 || R2): Req = 1/(1/R1 + 1/R2)
- Kondensatorer i serie (C1 + C2): Ceq = 1/(1/C1 + 1/C2)
- Parallelle kondensatorer (C1 || C2): Ceq = C1 + C2
Trin 2: Inputs
Der er 4 input, du skal levere:
- Uanset om du beregner en værdi for en modstand eller en kondensator.
- Målmodstanden eller kapacitansværdien og enhederne.
- Det maksimale antal komponenter, du gerne vil bruge til at nå målværdien (dvs. jeg vil ikke bruge mere end 3 modstande til at nå min målmodstandsværdi).
- Listen over værdier for de modstande/kondensatorer, du i øjeblikket har. Disse værdier skal være i de samme enheder som din målværdi (dvs. hvis din målværdi var 110 nF, skal alle dine værdier angives i nF).
Trin 3: Resultat
Du får 3 output til dit resultat:
- Nærmeste værdi - den nærmeste modstands-/kapacitansværdi, du var i stand til at opnå med dine parametre.
- Forskel - hvor langt væk din nærmeste værdi var fra din målværdi.
- Modstand/kondensator konfiguration - en liste over værdier for de modstande/kondensatorer, der skal bruges, og deres konfiguration.
Trin 4: Forstå dit resultat
Konfigurationsoutputtet bruger en standardnotation. "+" betyder, at komponenterne er i serie og "||" betyder, at komponenterne er parallelle. Operatørerne har samme forrang og er associative fra venstre til højre, hvilket betyder, at du grupperer udtryk sammen fra venstre og til højre.
Tag for eksempel et kig på følgende resultat:
Modstandskonfiguration: R0 = 15 ohm + R1 = 470 ohm || R2 = 3300 ohm + R3 = 15000 ohm
Hvis du følger ovenstående retningslinjer, kan du se, at dette svarer til følgende ligning og billede ovenfor.
((R0+R1) || R2)+R3
Trin 5: Flere projekter
For flere projekter, besøg mine sider:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Trin 6: Kildekode
For at se kildekoden skal du besøge dette Github -lager eller se JavaScript nedenfor.
/* --------------------------------------------------------------- */
/* r/c lommeregner scripting*//* --------------------------------------- -------------------------*/ var nærmeste_val; // nærmeste værdi hidtil var nærmeste_diff = 1000000.00; // diff af val og target var tættest = ; // array -detaljeringsværdier for komponenter var ser_par_config = ; // array med detaljerede serielle/parallelle var outputStr = ""; function calculatorClick () {// rydde globale værdier for hvert nyt klik nærmest_val = 0; nærmeste_diff = 1000000,00; tættest = ; 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; // fejl i parsing af målværdi hvis (isNaN (target)) {outputStr = "Fejlcheck 'Target Value' input!"} // fejl i parsing af antal komponenter ellers hvis (isNaN (numComp)) {outputStr = "Fejlcheck 'Antal komponenters input! "} // ellers hvis ingen fejl i målet eller numComp ellers hvis (! IsNaN (mål) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var komma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, komma)); // fejl i analysen af komponentværdiliste, angiv flag hvis (isNaN (newInt)) {errFlag = 1; pause; } compValsStr = compValsStr.substring (komma+1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // fejl i analysen af komponentværdiliste, angiv flag hvis (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). markeret) {resistor (target, numComp, compVals); } ellers hvis (document.getElementById ("capRadio"). kontrolleret) {kondensator (target, numComp, compVals); }}} // fejl ved parsing af komponentværdiliste ellers {outputStr = "Fejlcheck 'Komponentværdiliste' input!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "blok"; eksempelDisplay.style.display = "flex"; // rul ned til resultatvindue.scrollTo (0, exampleDisplay.scrollHeight); } / * Henter og udskriver den bedste modstandskonfiguration * mål - målmodstandsværdi * numComp - samlet antal modstande, der må bruges til at opnå målværdi * compVals - array af modstandsværdier * / funktionsmodstand (target, numComp, compVals) { // længde på modstandsværdier var num_res = compVals.length; // gennemgå alle mulige antal komponenter for (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var units = document.getElementById ("selected_unit"). værdi; // udskriftsresultater outputStr = "Nærmeste værdi:" + nærmeste_værdi.tilFikseret (3) + "" + enheder + ""; outputStr + = "Difference:" + close_diff.toFixed (3) + "" + units + ""; outputStr += "Modstandskonfiguration:"; for (var i = 0; i <numComp; i ++) {if (i <nærmest.længde) {outputStr + = "R" + i + "=" + nærmeste + "" + enheder + ""; hvis (i+1 <nærmeste.længde) {if (ser_par_config [i+1]) outputStr+= "||"; ellers outputStr + = " +"; }} ellers pause; }} /* Beregner den bedste kombination af modstande for at opnå en målværdi. * res - input array af modstandsværdier * num_res - størrelse af input array af modstandsværdier * num_comb - antal modstande tilladt * index - indeks for kam * kam - array af nuværende kombination * target - målværdien * Ingen returværdi - sender den nuværende bedste kombination til globale værdier */ function resCombination (res, num_res, num_comb, index, comb, target) {// nuværende kombination er fuldført, hvis (index == num_comb) {var ser_par_size = Math.pow (2, num_comb); // 2^(antal komponenter) var ser_par = ; // bool -array, der angiver seriel eller parallel for hver komponent var calc; // beregnet ækvivalent modstandsværdi // gå igennem alle mulige serier/parallelle konfigurationer af den nuværende kombination for (var j = 0; j
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Fading/styring af LED/lysstyrke ved hjælp af potentiometer (variabel modstand) og Arduino Uno: 3 trin
Fading/styring af LED/lysstyrke Brug af potentiometer (variabel modstand) og Arduino Uno: Arduino analog indgangsstik er forbundet til udgangen af potentiometer. Så Arduino ADC (analog til digital konverter) analog pin læser udgangsspændingen af potentiometeret. Drejning af potentiometerknappen varierer spændingsudgangen og Arduino re
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
Stor version af 1 Ohm Smd -modstand, der giver 1 Ohm -modstand uden brug af elektroniske komponenter .: 13 trin
Stor version af 1 Ohm Smd -modstand, der giver 1 Ohm -modstand uden brug af elektroniske komponenter .: I virkeligheden er smd -modstande meget små af dimensioner næsten 0,8 mm x 1,2 mm. Her skal jeg lave en stor smd -modstand, som er meget stor i forhold til den virkelige smd -modstand
Konverter (bare om) enhver mediefil til (bare om) enhver anden mediefil gratis !: 4 trin
Konverter (bare om) enhver mediefil til (bare om) enhver anden mediefil gratis !: Min første instruerbare, jubel! Alligevel var jeg på Google på udkig efter et gratis program, der ville konvertere mine Youtube.flv -filer til et format, der er mere universel, som. wmv eller.mov. Jeg søgte utallige fora og websteder og fandt derefter et program kaldet