Innholdsfortegnelse:
- Trinn 1: Bakgrunn
- Trinn 2: Innganger
- Trinn 3: Resultat
- Trinn 4: Forstå resultatet ditt
- Trinn 5: Flere prosjekter
- Trinn 6: Kildekode
Video: Hvordan oppnå motstand/kapasitet ved hjelp av komponenter du allerede har !: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Dette er ikke bare nok en serie/parallell ekvivalent motstandskalkulator! Dette programmet beregner hvordan du skal kombinere motstander/kondensatorer som du har for å oppnå en målmotstand/kapasitansverdi du trenger.
Har du noen gang trengt en bestemt motstand eller kondensator som du ikke har eller som ikke eksisterer? Ha ingen frykt! Du kan sannsynligvis gjøre den spesifikke motstanden eller kapasitansverdien ved å bruke komponenter du allerede har. I stedet for å løse et stort multivariabelt optimaliseringsproblem med millioner av forskjellige kombinasjoner, bruk dette programmet!
Bare velg motstand eller kondensator, skriv inn målverdien, skriv inn maks antall komponenter du vil bruke, skriv inn en liste over verdiene til komponentene du har, og klikk på beregne! Programmet vil spytte ut hvilke komponenter du skal bruke og hvordan du kobler dem til for å oppnå målverdien din.
For å prøve ut kalkulatoren, besøk denne webapplikasjonen.
For å se kildekoden, besøk dette Github -depotet.
Gi meg beskjed hvis du har forslag til ytterligere å forbedre brukervennligheten til dette designverktøyet!
Trinn 1: Bakgrunn
Denne webapplikasjonen ble utviklet av nødvendighet. Det er mange forskjellige kretser jeg konstruerer som krever en veldig spesifikk motstand eller kondensator. Mange ganger har jeg ikke en motstand eller kondensator med den spesifikke verdien. Noen ganger lager de ikke engang en komponent med den unike verdien! I stedet for å gi opp eller nøye meg med noe som er mindre enn ideelt, bestemte jeg meg for å skrive et program for å se på alle mulige kombinasjoner av motstander (hver mulig verdi og om de er i serie eller parallell) og returnere den beste kombinasjonen.
Da jeg utformet kretsen for mitt organ som en del av mitt Battle of the Bands Instructable Project, måtte jeg prøve å beregne den beste kombinasjonen av kondensatorer for å oppnå en bestemt frekvens. Denne prosessen var utrolig kjedelig, og jeg ga til slutt bare opp og gikk med kondensatorkombinasjoner som produserte en hvilken som helst mengde hørbar frekvens. Nå med denne webapplikasjonen kan jeg designe orgelet mitt for en bestemt frekvens og stille det til notene på et tastatur! Ligningen nedenfor brukes til å beregne den spesifikke frekvensen og diskuteres i det andre Instructables -prosjektet.
f = 1 / (0,693 × C × (R1 + 2 × R2))
Ved å bruke denne ligningen hvor R1 = 100 kOhm og R2 = 10 kOhm, beregnet jeg at en 27,33 nF kondensator vil produsere en A4 -note (frekvens 440 Hz). Ved å bruke programmet mitt, kunne jeg beregne en ekvivalent kapasitansverdi innenfor 0,001 nF (mye mindre enn toleransen på en standard kondensator) som jeg kan lage ved hjelp av kondensatorer jeg allerede hadde liggende. Den resulterende utgangen og konfigurasjonen er beskrevet nedenfor. Jeg er nå i stand til mye mer effektivt og effektivt å stille inn orgelet mitt på de eksakte frekvensene til standardnoter. Jeg skulle ønske jeg hadde gjort dette til å begynne med. Demosangen min på orgelet hadde nok hørt mye bedre ut.
Nærmeste verdi: 27.329 nF Forskjell: 0.001 nFCapacitor Konfigurasjon: C0 = 0.068 nF || C1 = 30 nF + C2 = 300 nF
Motstandskondensatorekvivalensligninger
Til referanse nedenfor er ekvivalensligningene for å kombinere motstander og kondensatorer i en krets.
- Motstander i serie (R1 + R2): Req = R1 + R2
- Motstander parallelt (R1 || R2): Req = 1/(1/R1 + 1/R2)
- Kondensatorer i serie (C1 + C2): Ceq = 1/(1/C1 + 1/C2)
- Kondensatorer parallelt (C1 || C2): Ceq = C1 + C2
Trinn 2: Innganger
Det er 4 innganger du må oppgi:
- Enten du beregner en verdi for en motstand eller en kondensator.
- Målmotstanden eller kapasitansverdien og enhetene.
- Det maksimale antallet komponenter du vil bruke for å oppnå målverdien (dvs. jeg vil ikke bruke mer enn 3 motstander for å oppnå min målmotstandsverdi).
- Listen over verdier for motstandene/kondensatorene du for øyeblikket har. Disse verdiene skal være i de samme enhetene som målverdien din (dvs. hvis målverdien din var 110 nF, bør alle verdiene oppgis i nF).
Trinn 3: Resultat
Du får 3 utganger for resultatet ditt:
- Nærmeste verdi - den nærmeste motstands-/kapasitansverdien du var i stand til å oppnå med parametrene dine.
- Forskjell - hvor langt unna din nærmeste verdi var fra målverdien din.
- Motstand/kondensator konfigurasjon - en liste over verdier for motstandene/kondensatorene som skal brukes og deres konfigurasjon.
Trinn 4: Forstå resultatet ditt
Konfigurasjonsutgangen bruker en standardnotasjon. "+" betyr at komponentene er i serie og "||" betyr at komponentene er parallelle. Operatørene har lik forrang og er assosiativ fra venstre til høyre, noe som betyr at du grupperer termer sammen fra venstre og til høyre.
Ta for eksempel en titt på følgende resultat:
Motstandskonfigurasjon: R0 = 15 ohm + R1 = 470 ohm || R2 = 3300 ohm + R3 = 15000 ohm
Hvis du følger retningslinjene som er omtalt ovenfor, kan du se at dette tilsvarer følgende ligning og bilde ovenfor.
((R0+R1) || R2)+R3
Trinn 5: Flere prosjekter
For flere prosjekter, besøk sidene mine:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Trinn 6: Kildekode
For å se kildekoden, besøk dette Github -depotet eller se JavaScript nedenfor.
/* --------------------------------------------------------------- */
/* r/c kalkulator scripting*//* --------------------------------------- -------------------------*/ var nærmeste_val; // nærmeste verdi så langt var nærmeste_diff = 1000000.00; // diff av val og target var nærmest = ; // array -detaljverdier for komponenter var ser_par_config = ; // array som beskriver seriell/parallell var outputStr = ""; function calculatorClick () {// slette globale verdier for hvert nytt klikk nærmest_val = 0; nærmeste_differanse = 1000000.00; nærmest = ; 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; // feil ved analyse av målverdi hvis (isNaN (target)) {outputStr = "Feilkontroll" Target Value "-input!"} // feil ved analyse av antall komponenter ellers hvis (isNaN (numComp)) {outputStr = "Feilkontroll 'Antall komponenters input! "} // else hvis ingen feil i målet eller numComp else if (! IsNaN (target) &&! IsNaN (numComp)) {while (compValsStr.indexOf (", ")! = -1) {var komma = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, komma)); // feil i analyse av komponentverdilisten, sett flagg hvis (isNaN (newInt)) {errFlag = 1; gå i stykker; } compValsStr = compValsStr.substring (komma+1, compValsStr.length); compVals = newInt; i ++; } var newInt = parseFloat (compValsStr); // feil i analyse av komponentverdilisten, sett flagg hvis (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio"). sjekket) {resistor (target, numComp, compVals); } annet hvis (document.getElementById ("capRadio"). sjekket) {kondensator (target, numComp, compVals); }}} // feil ved analyse av komponentverdiliste annet {outputStr = "Feilkontroll" Komponentverdiliste "-inngang!"}} calcOutput.innerHTML = outputStr; resultDisplay.style.display = "blokk"; eksempelDisplay.style.display = "flex"; // rull ned til resultatvindu.scrollTo (0, exampleDisplay.scrollHeight); } / * Henter og skriver ut den beste motstandskonfigurasjonen * mål - målmotstandsverdi * numComp - totalt antall motstander som kan brukes for å oppnå målval * kompVals - rekke motstandsverdier * / funksjonsmotstand (mål, numComp, kompVals) { // lengde på motstandsverdier var num_res = compVals.length; // kjøre gjennom alle mulige antall komponenter for (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var units = document.getElementById ("selected_unit"). verdi; // utskriftsresultater outputStr = "Nærmeste verdi:" + close_val.toFixed (3) + "" + units + ""; outputStr + = "Difference:" + close_diff.toFixed (3) + "" + units + ""; outputStr += "Motstandskonfigurasjon:"; for (var i = 0; i <numComp; i ++) {if (i <nærmest.lengde) {outputStr + = "R" + i + "=" + nærmeste + "" + enheter + ""; if (i+1 <nærmeste.lengde) {if (ser_par_config [i+1]) outputStr+= "||"; else outputStr + = " +"; }} annet pause; }} /* Beregner den beste kombinasjonen av motstander for å oppnå en målverdi. * res - inngangsmateriale med motstandsverdier * num_res - størrelse på inngangsmateriale med motstandsverdier * num_comb - antall motstander tillatt * indeks - indeks for kam * kam - rekke av nåværende kombinasjon * mål - målverdien * Ingen returverdi - sender gjeldende beste kombinasjon til globale verdier */ function resCombination (res, num_res, num_comb, index, comb, target) {// nåværende kombinasjon er fullført hvis (index == num_comb) {var ser_par_size = Math.pow (2, num_comb); // 2^(antall komponenter) var ser_par = ; // bool array som spesifiserer seriell eller parallell for hver komponent var calc; // beregnet ekvivalent motstandsverdi // gå gjennom alle mulige serier/parallelle konfigurasjoner av gjeldende kombinasjon for (var j = 0; j
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Hvordan måle motstanden til en motstand: 7 trinn
Hvordan måle motstanden til en motstand: To metoder brukes normalt når du måler en motstand for motstand. Den første metoden som brukes er motstandens fargekode. Denne metoden gir en måte å finne verdien uten utstyr på bekostning av en viss nøyaktighet. Den andre metoden er å bruke en
Stor versjon av 1 Ohm Smd -motstand som gir 1 Ohm -motstand uten bruk av elektroniske komponenter.: 13 trinn
Stor versjon av 1 Ohm Smd -motstand som gir 1 Ohm -motstand uten bruk av elektroniske komponenter.: I virkeligheten er smd -motstander veldig små av dimensjoner nesten 0,8 mm x 1,2 mm. Her skal jeg lage en stor smd -motstand som er veldig stor i forhold til den virkelige smd -motstanden
Omarbeid en UPS med massiv kapasitet: 4 trinn (med bilder)
Omarbeid en UPS med massiv kapasitet: UPS-enhetene du kjøper til datamaskinen din har vanligvis et gelcellebatteri som varer i noen år. Mindre hvis strømmen går ut mye. Når du bytter dem, betaler du en bunt, selv om det er en standardcelle. Denne korte Instructable vil demonstrere