İçindekiler:
- Adım 1: Arka Plan
- Adım 2: Girişler
- 3. Adım: Sonuç
- Adım 4: Sonucunuzu Anlama
- Adım 5: Daha Fazla Proje
- Adım 6: Kaynak Kodu
Video: Halihazırda Sahip Olduğunuz Bileşenleri Kullanarak Herhangi Bir Direnç/Kapasitans Nasıl Elde Edilir!: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu sadece başka bir seri/paralel eşdeğer direnç hesaplayıcısı değildir! Bu program, ihtiyacınız olan hedef direnç/kapasitans değerini elde etmek için şu anda sahip olduğunuz dirençleri/kapasitörleri nasıl birleştireceğinizi hesaplar.
Hiç sahip olmadığınız veya var olmayan belirli bir direnç veya kapasitöre ihtiyacınız oldu mu? Korkma! Zaten sahip olduğunuz bileşenleri kullanarak muhtemelen bu belirli direnç veya kapasitans değerini yapabilirsiniz. Milyonlarca farklı kombinasyonla çok değişkenli devasa bir optimizasyon problemini çözmek yerine bu programı kullanın!
Sadece direnç veya kapasitör seçin, hedef değeri girin, kullanmak istediğiniz maksimum bileşen sayısını girin, sahip olduğunuz bileşenlerin değerlerinin bir listesini girin ve hesapla'yı tıklayın! Program, hedef değerinize ulaşmak için hangi bileşenlerin kullanılacağını ve bunları nasıl bağlayacağınızı söyleyecektir.
Hesap makinesini denemek için bu web uygulamasını ziyaret edin.
Kaynak kodunu görüntülemek için bu Github deposunu ziyaret edin.
Bu tasarım aracının kullanılabilirliğini daha da geliştirmek için herhangi bir öneriniz varsa lütfen bana bildirin!
Adım 1: Arka Plan
Bu web uygulaması zorunluluktan geliştirilmiştir. Çok özel bir direnç veya kapasitör gerektiren inşa ettiğim birçok farklı devre var. Çoğu zaman, bu belirli değere sahip bir direncim veya kapasitörüm yok. Bazen bu benzersiz değere sahip bir bileşen bile yapmazlar! Vazgeçmek veya idealden daha az bir şeye razı olmak yerine, mümkün olan her direnç kombinasyonuna (olası her değere ve bunların seri veya paralel olup olmadığına) bakmak ve en iyi kombinasyonu döndürmek için bir program yazmaya karar verdim.
Bandlar Savaşı Eğitim Projemin bir parçası olarak organım için devre tasarlarken, belirli bir frekans elde etmek için en iyi kapasitör kombinasyonunu elle hesaplamaya çalışmak zorunda kaldım. Bu süreç inanılmaz derecede sıkıcıydı ve sonunda pes ettim ve herhangi bir miktarda duyulabilir frekans üreten kapasitör kombinasyonlarına geçtim. Artık bu web uygulamasıyla organımı belirli bir frekans için tasarlayabilir ve klavyedeki notalara göre ayarlayabilirim! Aşağıdaki denklem, belirli frekansı hesaplamak için kullanılır ve diğer Instructables projesinde tartışılır.
f = 1 / (0,693×C×(R1 + 2×R2))
R1 = 100 kOhm ve R2 = 10 kOhm olan bu denklemi kullanarak, 27.33 nF'lik bir kondansatörün bir A4 notası (frekans 440 Hz) üreteceğini hesapladım. Programımı kullanarak, etrafta yattığım kapasitörleri kullanarak oluşturabileceğim.001 nF (standart bir kapasitördeki toleranstan çok daha az) dahilinde eşdeğer bir kapasitans değeri hesaplayabildim. Ortaya çıkan çıktı ve yapılandırma aşağıda açıklanmıştır. Artık organımı standart notaların tam frekanslarına göre çok daha verimli ve etkili bir şekilde ayarlayabiliyorum. Keşke baştan bunu yapsaydım. Orgdaki demo şarkım muhtemelen kulağa çok daha iyi gelirdi.
En Yakın Değer: 27.329 nF Farkı: 0.001 nFCKapasitör Konfigürasyonu: C0=0.068 nF || C1=30 nF + C2=300 nF
Direnç Kapasitör Denklemleri
Referans olarak, bir devrede dirençleri ve kapasitörleri birleştirmek için denklik denklemleri aşağıdadır.
- Seri bağlı dirençler (R1 + R2): Req = R1 + R2
- Dirençler paralel (R1 || R2): Req = 1 / (1/R1 + 1/R2)
- Seri kapasitörler (C1 + C2): Ceq = 1 / (1/C1 + 1/C2)
- Paralel kondansatörler (C1 || C2): Ceq = C1 + C2
Adım 2: Girişler
Sağlamanız gereken 4 giriş var:
- İster direnç ister kapasitör için bir değer hesaplıyor olun.
- Hedef direnç veya kapasitans değeri ve birimler.
- Hedef değeri elde etmek için kullanmak istediğiniz maksimum bileşen sayısı (yani, hedef direnç değerime ulaşmak için 3'ten fazla direnç kullanmak istemiyorum).
- Halihazırda sahip olduğunuz dirençler/kapasitörler için değer listesi. Bu değerler hedef değeriniz ile aynı birimlerde olmalıdır (yani hedef değeriniz 110 nF ise tüm değerleriniz nF olarak verilmelidir).
3. Adım: Sonuç
Sonucunuz için 3 çıktı alacaksınız:
- En Yakın Değer - parametrelerinizle elde edebileceğiniz en yakın direnç/kapasitans değeri.
- Fark - en yakın değerinizin hedef değerinizden ne kadar uzakta olduğu.
- Direnç/Kapasitör Konfigürasyonu - kullanılacak dirençlerin/kapasitörlerin değerlerinin ve konfigürasyonlarının bir listesi.
Adım 4: Sonucunuzu Anlama
Yapılandırma çıktısı standart bir gösterim kullanır. "+", bileşenlerin seri halinde olduğu anlamına gelir ve "||" bileşenlerin paralel olduğu anlamına gelir. Operatörler eşit önceliğe sahiptir ve soldan sağa ilişkiseldir, yani terimleri soldan başlayıp sağa doğru grupladığınız anlamına gelir.
Örneğin, aşağıdaki sonuca bir göz atın:
Direnç Yapılandırması: R0=15 Ohm + R1=470 Ohm || R2=3300 Ohm + R3=15000 Ohm
Yukarıda tartışılan yönergeleri izlerseniz, bunun aşağıdaki denklem ve yukarıdaki resme eşdeğer olduğunu görebilirsiniz.
((R0+R1)||R2)+R3
Adım 5: Daha Fazla Proje
Daha fazla proje için sayfalarımı ziyaret edin:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Adım 6: Kaynak Kodu
Kaynak kodunu görüntülemek için bu Github deposunu ziyaret edin veya aşağıdaki JavaScript'e bakın.
/* --------------------------------------------------------------- */
/* r/c hesaplayıcı komut dosyası */ /* ------------------------------------------ -------------------------*/ var en yakın_val; // şimdiye kadarki en yakın değer var en yakın_diff = 1000000.00; // val ve hedef var en yakın farkı = ; // bileşenlerin değerlerini detaylandıran dizi var ser_par_config = ; // seri/paralel detaylandırma dizisi var outputStr = ""; fonksiyon hesaplayıcıClick() { // her yeni tıklama için global değerleri temizle en yakın_val = 0; en yakın_diff = 1000000.00; en yakın = ; 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; // hedef değer ayrıştırma hatası if (isNaN(target)) { outputStr = "'Hedef Değer' girişini kontrol etme hatası! " } // else if (isNaN(numComp)){ outputStr = "Hata denetimi 'Bileşen Sayısı' girişi! " } // else eğer hedefte hata yoksa veya numComp else if (!isNaN(target) && !isNaN(numComp)) { while (compValsStr.indexOf(", ") != -1) { var virgül = compValsStr.indexOf(", "); var newInt = parseFloat(compValsStr.substring(0, virgül)); // bileşen değer listesi ayrıştırılırken hata oluştu, bayrağı ayarla if (isNaN(newInt)) { errFlag = 1; kırmak; } compValsStr = compValsStr.substring(virgül+1, compValsStr.length); compVals = newInt; ben++; } var newInt = parseFloat(compValsStr); // bileşen değer listesi ayrıştırılırken hata, bayrağı ayarla if (isNaN(newInt)) { errFlag = 1; } compVals = newInt; if (errFlag == 0) { if (document.getElementById("resRadio").checked) { resistor(target, numComp, compVals); } else if (document.getElementById("capRadio").checked) { kapasitör(target, numComp, compVals); } } // bileşen değer listesi ayrıştırılırken hata { outputStr = "'Bileşen Değerleri Listesi' girişinde hata denetimi! " } } calcOutput.innerHTML = outputStr; sonuçDisplay.style.display = "blok"; exampleDisplay.style.display = "esnek"; // sonuca gitmek için aşağı kaydır window.scrollTo(0, exampleDisplay.scrollHeight); } /* En iyi direnç konfigürasyonunu alır ve yazdırır * hedef - hedef direnç değeri * numComp - hedef değerine ulaşmak için kullanılmasına izin verilen toplam direnç sayısı val * compVals - direnç değerleri dizisi */ function resistor(target, numComp, compVals) { // direnç değerlerinin uzunluğu var num_res = compVals.length; // (var i=1; i<=numComp; i++) { var data = ; resCombination(compVals, num_res, i, 0, veri, hedef); } var birimleri = document.getElementById("selected_unit").value; // sonuçları yazdır outputStr = "En Yakın Değer: " + En yakın_val.toFixed(3) + " " + birimler + " "; outputStr += "Fark: " + en yakın_diff.toFixed(3) + " " + birimler + " "; outputStr += "Direnç Yapılandırması: "; for (var i=0; i<numComp; i++) { if (i<en yakın.uzunluk) { outputStr += "R" + i + "=" + en yakın + " " + birimler + " "; if (i+1<en yakın.uzunluk) { if (ser_par_config[i+1]) outputStr += "|| "; else outputStr += "+ "; } } başka ara; } } /* Hedef değeri elde etmek için en iyi direnç kombinasyonunu hesaplar. * res - direnç değerlerinin giriş dizisi * num_res - giriş değerlerinin giriş dizisinin boyutu * num_comb - izin verilen direnç sayısı * indeks - tarak dizini * tarak - mevcut kombinasyon dizisi * hedef - hedef değer * Dönüş değeri yok - mevcut en iyi kombinasyonu global değerlere iletir */ function resCombination(res, num_res, num_comb, index, tarak, hedef) { // mevcut kombinasyon tamamlandı if (index == num_comb) { var ser_par_size = Math.pow (2, say_comb); // 2^(bileşen sayısı) var ser_par = ; // her bileşen için seri veya paralel belirten bool dizisi var calc; // hesaplanan eşdeğer direnç değeri // (var j=0; j) için geçerli kombinasyonun her olası seri/paralel yapılandırmasında adım adım ilerleyin
Önerilen:
Herhangi Bir Elektronik Bileşen Kullanmadan 1 Ohm Direnç Sağlayan 1 Ohm Smd Direncin Büyük Versiyonu.: 13 Adım
Herhangi Bir Elektronik Bileşen Kullanmadan 1 Ohm Direnç Sağlayan 1 Ohm Smd Direncinin Büyük Versiyonu.: Gerçek hayatta smd dirençleri çok küçüktür ve yaklaşık 0.8mmx1.2mm boyutlarındadır. Burada, gerçek hayattaki smd direncine kıyasla çok büyük olan büyük bir smd direnci yapacağım
Daha Küçük Adım Boyutuna Sahip Anahtarlamalı Yük Direnç Bankası: 5 Adım
Daha Küçük Adım Boyutuna Sahip Anahtarlamalı Yük Direnç Bankası: Güç ürünlerinin test edilmesi, güneş panellerinin karakterizasyonu için, test laboratuvarlarında ve endüstrilerde Yük Direnç Bankaları gereklidir. Reostatlar, yük direncinde sürekli değişiklik sağlar. Ancak direncin değeri azaldıkça güç
Talimatlardan Yüksek Çözünürlüklü Görüntüler Nasıl Elde Edilir: 4 Adım
Talimatlardan Yüksek Çözünürlüklü Görüntüler Nasıl Elde Edilir: Bu öğretilebilir resimden gerçekten keyif aldınız mı ve yüksek çözünürlüklü bir kopyasını kaydetmek mi istiyorsunuz? Bu harika küçük özellik kolayca gözden kaçabilir
Herhangi Bir Medya Dosyasını (Hemen Hemen) Herhangi Bir Diğer Medya Dosyasını Ücretsiz Olarak Dönüştürün!: 4 Adım
(Hemen) Herhangi Bir Medya Dosyasını Diğer Herhangi Bir Medya Dosyasına (Hemen Hemen) Ücretsiz Olarak Dönüştürün!: İlk talimatım, şerefe! Her neyse, Google'da Youtube.flv dosyalarımı bir biçime dönüştürecek ücretsiz bir program arıyordum. daha evrenseldir, örneğin.wmv veya.mov.Sayısız forum ve web sitesi aradım ve ardından … adlı bir program buldum
HERHANGİ BİR MP3 Çalar veya Bilgisayarla Herhangi Bir 5.1 Hoparlör Sistemini Ucuza Kullanın!: 4 Adım
HERHANGİ BİR MP3 Çalar veya Bilgisayarla Herhangi Bir 5.1 Hoparlör Sistemini Ucuza Kullanın!: (Bu benim ilk ders kitabım ve İngilizce benim ana dilim değil) Eskiden, ucuza bir Creative Inspire 5100 hoparlör seti satın aldım. 5.1 ses kartı (PCI) olan masaüstümde kullandım. Sonra bir dizüstü bilgisayarımla birlikte kullandım