-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCapacitorNetwork.html
More file actions
143 lines (131 loc) · 9.9 KB
/
Copy pathCapacitorNetwork.html
File metadata and controls
143 lines (131 loc) · 9.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html>
<html lang="en">
<head>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4211938844076974"
crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-6R4JGG0586"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','G-6R4JGG0586');</script>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Capacitor Network Calculator — Series & Parallel | RF Toolbox</title>
<meta name="description" content="Calculate total equivalent capacitance for capacitors in series, parallel, or mixed configurations. Useful for verifying tuning networks and filter designs.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://rftoolbox.ca/CapacitorNetwork.html">
<meta property="og:title" content="Capacitor Network Calculator — Series & Parallel | RF Toolbox">
<meta property="og:description" content="Calculate total equivalent capacitance for capacitors in series, parallel, or mixed configurations. Useful for verifying tuning networks and filter designs.">
<meta property="og:url" content="https://rftoolbox.ca/CapacitorNetwork.html">
<meta property="og:type" content="website">
<meta property="og:site_name" content="RF Toolbox">
<script src="MathJax.js"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/12.3.2/math.js" integrity="sha512-L6TOvunyzSyFBxlyKEYgAmofV+iAI+J9t3M9lc4smm/FbV8HlzKD+vflXUGjx8puTKzH7o4PCWsR4jDwlHXAHg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<link rel="stylesheet" href="style.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Capacitor Network Calculator — Series & Parallel",
"description": "Calculate total equivalent capacitance for capacitors in series, parallel, or mixed configurations. Useful for verifying tuning networks and filter designs.",
"url": "https://rftoolbox.ca/CapacitorNetwork.html",
"applicationCategory": "EngineeringApplication",
"operatingSystem": "Web",
"offers": {"@type": "Offer", "price": "0", "priceCurrency": "USD"},
"publisher": {"@type": "Organization", "name": "RF Toolbox", "url": "https://rftoolbox.ca"}
}
</script>
</head>
<body class="no-nav">
<header><h2><a href="index.html" style="color:white;text-decoration:none;">RF Toolbox</a></h2></header>
<section>
<article>
<div class="breadcrumb"><a href="index.html">⌂ Home</a></div>
<h3>Total Capacitance Calculator</h3>
<div class="tool-concept">
<p>Calculates the equivalent capacitance of capacitors in series, parallel, or mixed combinations. Useful for verifying tuning networks, matching circuits, and filter designs.</p>
<details style="margin-top:8px;">
<summary style="cursor:pointer;font-size:11px;color:#AA77FF;font-weight:bold;letter-spacing:0.05em;text-transform:uppercase;user-select:none;">Equations & Parameters ▸</summary>
<div style="background:#f0eeff;border-left:3px solid #AA77FF;padding:8px 12px 6px;border-radius:0 4px 4px 0;margin:6px 0 10px;font-size:12.5px;line-height:2.0;overflow-x:auto;">\(\text{Parallel: } C = \sum C_n \qquad \text{Series: } \dfrac{1}{C} = \sum\dfrac{1}{C_n}\)</div>
<table style="font-size:12px;border-collapse:collapse;margin-top:6px;"><tr><td style="padding:3px 14px 3px 0;font-weight:bold;color:#5533aa;white-space:nowrap;vertical-align:top;">Series</td><td style="padding:3px 0;">1/C_total = Σ(1/Cₙ). Total is always less than the smallest.</td></tr><tr><td style="padding:3px 14px 3px 0;font-weight:bold;color:#5533aa;white-space:nowrap;vertical-align:top;">Parallel</td><td style="padding:3px 0;">C_total = ΣCₙ. Capacitances simply add.</td></tr><tr><td style="padding:3px 14px 3px 0;font-weight:bold;color:#5533aa;white-space:nowrap;vertical-align:top;">N</td><td style="padding:3px 0;">Set the number of capacitors, then enter each value.</td></tr></table>
<div style="margin-top:8px;padding-top:6px;border-top:1px solid #e0d8ff;font-size:11.5px;color:#666;"><span style="font-weight:bold;color:#AA77FF;">Reference: </span>Standard circuit theory; see Hayt & Kemmerly, <em>Engineering Circuit Analysis</em>, §6</div>
</details>
</div>
<div class="sec-lbl">Configuration</div>
<div style="display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;">
<div class="inp-row" style="flex-direction:row;align-items:center;gap:8px;">
<label>Number of capacitors</label>
<input type="number" id="numCaps" min="1" max="20" value="3" style="width:60px;" onchange="buildInputs()">
</div>
<div class="inp-row" style="flex-direction:row;align-items:center;gap:8px;">
<label>Configuration</label>
<select id="mode"><option value="series">Series</option><option value="parallel">Parallel</option></select>
</div>
<div class="inp-row" style="flex-direction:row;align-items:center;gap:8px;">
<label>Default unit</label>
<select id="defaultUnit" onchange="buildInputs()"><option value="pF">pF</option><option value="nF">nF</option><option value="uF">µF</option></select>
</div>
</div>
<div id="inputs-area"></div>
<div id="error" class="err-msg" style="color:#c0392b;font-size:12px;margin-bottom:6px;min-height:16px;"></div>
<div class="sec-lbl">Result</div>
<div class="res-grid"><div class="res-card"><h4>Equivalent Capacitance</h4><div class="res-row"><span class="res-lbl">C_total</span><span class="res-val " id="C_out">—</span></div></div></div>
<div class="sec-lbl">Diagram</div>
<div class="schematic-box"><div id="tool-diagram"></div></div>
<script>
function drawDiagram() {
var mode = document.getElementById('mode') ? document.getElementById('mode').value : 'series';
var total = document.getElementById('C_out') ? document.getElementById('C_out').textContent : '—';
var n = parseInt(document.getElementById('numCaps')&&document.getElementById('numCaps').value)||3;
n = Math.min(n, 6);
var W=560,H=140,wy=70;
var s='<svg viewBox="0 0 '+W+' '+H+'" width="'+W+'" height="'+H+'" xmlns="http://www.w3.org/2000/svg" style="font-family:monospace;max-width:100%;">';
s+='<rect width="'+W+'" height="'+H+'" fill="#faf9ff" rx="4"/>';
if(mode==='series'){
// Caps in series on horizontal wire
var totalWidth=n*50+(n-1)*30, startX=(W-totalWidth)/2;
s+='<line x1="30" y1="'+wy+'" x2="'+(startX+9)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
for(var i=0;i<n;i++){
var cx2=startX+i*80+25;
// connect this cap to the previous one
if(i>0) s+='<line x1="'+(startX+(i-1)*80+49)+'" y1="'+wy+'" x2="'+(cx2-16)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<line x1="'+(cx2-16)+'" y1="'+wy+'" x2="'+(cx2-6)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<line x1="'+(cx2-6)+'" y1="'+(wy-12)+'" x2="'+(cx2-6)+'" y2="'+(wy+12)+'" stroke="#5533aa" stroke-width="2.8" stroke-linecap="round"/>';
s+='<line x1="'+(cx2+6)+'" y1="'+(wy-12)+'" x2="'+(cx2+6)+'" y2="'+(wy+12)+'" stroke="#5533aa" stroke-width="2.8" stroke-linecap="round"/>';
s+='<line x1="'+(cx2+6)+'" y1="'+wy+'" x2="'+(cx2+24)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<text x="'+cx2+'" y="'+(wy+26)+'" text-anchor="middle" font-size="9.5" fill="#5533aa">C'+(i+1)+'</text>';
}
s+='<line x1="'+(startX+(n-1)*80+49)+'" y1="'+wy+'" x2="'+(W-30)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<circle cx="30" cy="'+wy+'" r="4" fill="white" stroke="#5533aa" stroke-width="1.8"/>';
s+='<circle cx="'+(W-30)+'" cy="'+wy+'" r="4" fill="white" stroke="#5533aa" stroke-width="1.8"/>';
} else {
// Parallel caps
var capSpacing=W/(n+1), topY=wy-35, botY=wy+35;
s+='<line x1="30" y1="'+wy+'" x2="'+(W-30)+'" y2="'+wy+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
for(var i2=0;i2<n;i2++){
var cx3=capSpacing*(i2+1);
s+='<circle cx="'+cx3+'" cy="'+wy+'" r="3" fill="#5533aa"/>';
s+='<line x1="'+cx3+'" y1="'+wy+'" x2="'+cx3+'" y2="'+(wy+14)+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<line x1="'+(cx3-12)+'" y1="'+(wy+14)+'" x2="'+(cx3+12)+'" y2="'+(wy+14)+'" stroke="#5533aa" stroke-width="2.8" stroke-linecap="round"/>';
s+='<line x1="'+(cx3-12)+'" y1="'+(wy+24)+'" x2="'+(cx3+12)+'" y2="'+(wy+24)+'" stroke="#5533aa" stroke-width="2.8" stroke-linecap="round"/>';
s+='<line x1="'+cx3+'" y1="'+(wy+24)+'" x2="'+cx3+'" y2="'+(wy+44)+'" stroke="#5533aa" stroke-width="2" stroke-linecap="round"/>';
s+='<text x="'+cx3+'" y="'+(wy-10)+'" text-anchor="middle" font-size="9.5" fill="#5533aa">C'+(i2+1)+'</text>';
}
// Bottom rail
s+='<line x1="30" y1="'+(wy+44)+'" x2="'+(W-30)+'" y2="'+(wy+44)+'" stroke="#444" stroke-width="1.8" stroke-linecap="round"/>';
s+='<circle cx="30" cy="'+wy+'" r="4" fill="white" stroke="#5533aa" stroke-width="1.8"/>';
s+='<circle cx="'+(W-30)+'" cy="'+wy+'" r="4" fill="white" stroke="#5533aa" stroke-width="1.8"/>';
}
s+='<text x="'+W/2+'" y="128" text-anchor="middle" font-size="12" fill="#5533aa" font-weight="bold">C_total = '+total+'</text>';
s+='</svg>';
document.getElementById('tool-diagram').innerHTML=s;
}
</script>
<div class="wiki-link-hint">📖 <a href="wiki_impedance_matching.html">Learn the theory behind this tool →</a></div>
<script src="CapacitorNetwork.js"></script>
</article>
</section>
<footer><p><a href="index.html">Home</a> · <a href="wiki.html">📖 Wiki</a> · <a href="privacy.html">Privacy</a> · <a href="disclaimer.html">Disclaimer</a></p></footer>
<script src="tool-enhancements.js"></script>
</body>
</html>