Switchgear Voltage Divider Calculator | Power Distribution tailwind.config = { theme: { extend: { colors: { primary: '#0F4C81', secondary: '#26A69A', accent: '#FF9800', neutral: '#F5F7FA', dark: '#1A202C', danger: '#E53E3E', warning: '#ED8936', success: '#38A169', }, fontFamily: { inter: ['Inter', 'system-ui', 'sans-serif'], }, boxShadow: { 'card': '0 10px 30px -5px rgba(15, 76, 129, 0.1)', 'hover': '0 20px 40px -5px rgba(15, 76, 129, 0.15)', } }, } } @layer utilities { .content-auto { content-visibility: auto; } .input-focus { @apply focus:border-primary focus:ring-2 focus:ring-primary/20 focus:outline-none; } .card-hover { @apply hover:shadow-hover hover:-translate-y-1 transition-all duration-300; } .formula-highlight { @apply bg-primary/10 text-primary font-medium px-2 py-1 rounded; } .unit-selector { @apply appearance-none bg-white border border-gray-300 rounded-lg py-3 pl-3 pr-8 focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary cursor-pointer; } .calc-tab { @apply px-4 py-3 font-medium rounded-t-lg transition-all duration-300 cursor-pointer; } .calc-tab-active { @apply bg-white text-primary border border-gray-300 border-b-0; } .calc-tab-inactive { @apply bg-gray-100 text-gray-600 hover:bg-gray-200; } } /* Base Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in { animation: fadeIn 0.5s ease-out forwards; } /* Smooth Scrolling */ html { scroll-behavior: smooth; } /* Remove Number Input Arrows */ input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } input[type="number"] { -moz-appearance: textfield; } /* Voltage Divider Visualization */ .divider-visualization { position: relative; width: 320px; height: 220px; margin: 0 auto; display: flex; align-items: center; justify-content: center; } .divider-diagram { width: 100%; height: 100%; } /* Component Animation */ @keyframes pulseComponent { 0% { stroke-width: 2; opacity: 0.8; } 50% { stroke-width: 2.5; opacity: 1; } 100% { stroke-width: 2; opacity: 0.8; } } .animate-pulse-component { animation: pulseComponent 2s infinite; } /* Current Flow Animation */ @keyframes currentFlow { 0% { stroke-dashoffset: 20; } 100% { stroke-dashoffset: 0; } } .animate-current-flow { stroke-dasharray: 10; animation: currentFlow 1.5s linear infinite; }

Switchgear Voltage Divider Calculator

Calculate precise voltage division ratios, output voltages, and resistor values for switchgear applications including protection relays, voltage sensors, and control systems. Supports both low-voltage (LV) and medium-voltage (MV) switchgear with industry-standard voltage ranges and power rating considerations.

Voltage Divider Circuit Visualization

Vin = 12.47 kV R1 10 MΩ Vout 120 V R2 1.2 kΩ Ratio = 103.9:1

Voltage Divider Formula

Vout = Vin × (R2 / (R1 + R2))

Voltage Division Principle

Vin = Input Voltage, R1/R2 = Resistor Values, Vout = Output Voltage

Standard Switchgear Voltage Ranges

Low Voltage 120-600 V
Medium Voltage 2.4-34.5 kV
Control Voltage 12-240 V
Relay Input 120/240 V AC

Calculate Output Voltage (Vout)

Volts (V) Kilovolts (kV)

Typical switchgear range: 120V - 34.5kV

Ohms (Ω) Kiloohms (kΩ) Megaohms (MΩ)

High-value resistors recommended for MV applications

Ohms (Ω) Kiloohms (kΩ) Megaohms (MΩ)

Match power rating to application requirements

Volts (V) Kilovolts (kV)

Typical switchgear range: 120V - 34.5kV

Volts (V) Kilovolts (kV)

Typical control voltage: 12-240V

Ohms (Ω) Kiloohms (kΩ) Megaohms (MΩ)

High-value resistors recommended for MV applications

Volts (V) Kilovolts (kV)

Typical switchgear range: 120V - 34.5kV

Volts (V) Kilovolts (kV)

Typical control voltage: 12-240V

Ohms (Ω) Kiloohms (kΩ) Megaohms (MΩ)

Match power rating to application requirements

Switchgear Voltage Divider Design Guidelines

Critical Design Considerations

Resistor Voltage Rating

For medium-voltage applications, select resistors with voltage ratings exceeding their expected voltage drop by 20-30%. For R1 in a 12.47kV system, use resistors rated for at least 10kV.

Power Dissipation

Resistor power rating should be 5-10 times the calculated power dissipation to prevent overheating and drift. Use the formula P = V²/R for each resistor.

Resistor Tolerance

Use precision resistors (±1% tolerance or better) for accurate voltage division. Carbon film resistors are acceptable for LV, but metal film or wirewound resistors are recommended for MV applications.

Insulation Requirements

Ensure proper insulation between divider components and ground. For MV systems, maintain minimum creepage distances per IEC 60664 or ANSI/IEEE standards.

Temperature Coefficient

Select resistors with low temperature coefficients (≤100 ppm/°C) to maintain accuracy across operating temperature ranges (-40°C to +85°C typical for switchgear).

Switchgear-Specific Applications

Protection Relay Voltage Sensing

Voltage dividers are used to reduce MV system voltages to levels compatible with protection relay inputs (typically 120V or 240V AC). Key requirements:

  • High input impedance to avoid loading the system
  • Excellent long-term stability
  • Immunity to transient voltages
  • Compliance with relay manufacturer specifications
Control System Voltage Matching

Dividers match system voltages to control circuit requirements. Common applications include:

  • Breaker control circuits
  • Indicator light circuits
  • Motor control centers
  • Monitoring and metering systems
Voltage Monitoring

Precision dividers for voltage measurement applications require:

  • Ultra-low tolerance (±0.1% to ±0.5%)
  • Low noise characteristics
  • Stable performance over time
  • Calibration capability
Industry Standards
  • • IEC 60664 - Insulation Coordination for Equipment
  • • ANSI/IEEE C37.20 - Low-Voltage Switchgear
  • • NEMA ICS 1 - Industrial Control and Systems
  • • IEC 61850 - Communication Networks and Systems

Frequently Asked Questions

// FAQ Toggle Functionality const faqToggles = document.querySelectorAll('.faq-toggle'); faqToggles.forEach(toggle => { toggle.addEventListener('click', () => { const content = toggle.nextElementSibling; const icon = toggle.querySelector('i'); // Toggle current FAQ item content.classList.toggle('hidden'); icon.classList.toggle('rotate-45'); // Close other FAQ items faqToggles.forEach(otherToggle => { if (otherToggle !== toggle) { const otherContent = otherToggle.nextElementSibling; const otherIcon = otherToggle.querySelector('i'); otherContent.classList.add('hidden'); otherIcon.classList.remove('rotate-45'); } }); }); }); // Tab Switching Functionality const tabs = { 'tab-calculate-vout': { form: 'calculate-vout-form', title: 'Calculate Output Voltage (Vout)', formula: 'Vout = Vin × (R2 / (R1 + R2))', mainLabel: 'Calculated Vout', mainDesc: 'Output Voltage' }, 'tab-calculate-r2': { form: 'calculate-r2-form', title: 'Calculate Required Resistor R2', formula: 'R2 = R1 × (Vout / (Vin - Vout))', mainLabel: 'Required R2', mainDesc: 'Resistor Value' }, 'tab-calculate-r1': { form: 'calculate-r1-form', title: 'Calculate Required Resistor R1', formula: 'R1 = R2 × ((Vin - Vout) / Vout)', mainLabel: 'Required R1', mainDesc: 'Resistor Value' } }; // Get tab elements const tabElements = Object.keys(tabs).map(id => document.getElementById(id)); const formTitle = document.getElementById('form-title'); const formulaDisplay = document.getElementById('formula-display'); const usedFormula = document.getElementById('used-formula'); const resultMainLabel = document.getElementById('result-main-label'); const resultMainDesc = document.getElementById('result-main-desc'); // Tab click handlers tabElements.forEach(tab => { tab.addEventListener('click', () => { // Deactivate all tabs and hide all forms tabElements.forEach(t => { t.classList.remove('calc-tab-active'); t.classList.add('calc-tab-inactive'); }); document.querySelectorAll('.calc-form').forEach(form => { form.classList.add('hidden'); }); // Activate selected tab and show corresponding form tab.classList.remove('calc-tab-inactive'); tab.classList.add('calc-tab-active'); const tabData = tabs[tab.id]; document.getElementById(tabData.form).classList.remove('hidden'); formTitle.textContent = tabData.title; // Update formula display formulaDisplay.innerHTML = `

${tabData.formula}

Voltage Divider Calculation

Vin = Input Voltage, R1/R2 = Resistor Values, Vout = Output Voltage

`; // Update result labels resultMainLabel.textContent = tabData.mainLabel; resultMainDesc.textContent = tabData.mainDesc; usedFormula.textContent = tabData.formula; // Perform calculation if inputs are available calculateDivider(); }); }); // Unit Conversion Functions const unitConverters = { // Voltage converters (to volts) vin: (value, unit) => { switch(unit) { case 'kv': return value * 1000; default: return value; // v } }, vout: (value, unit) => { switch(unit) { case 'kv': return value * 1000; default: return value; // v } }, // Resistance converters (to ohms) r1: (value, unit) => { switch(unit) { case 'kohm': return value * 1000; case 'mohm': return value * 1000000; default: return value; // ohm } }, r2: (value, unit) => { switch(unit) { case 'kohm': return value * 1000; case 'mohm': return value * 1000000; default: return value; // ohm } }, // Formatters formatVoltage: (value) => { if (value >= 1000) { return `${(value / 1000).toFixed(2)} kV`; } return `${value.toFixed(1)} V`; }, formatResistance: (value) => { if (value >= 1000000) { return `${(value / 1000000).toFixed(2)} MΩ`; } else if (value >= 1000) { return `${(value / 1000).toFixed(2)} kΩ`; } return `${value.toFixed(0)} Ω`; }, formatCurrent: (value) => { if (value < 0.000001) { // < 1nA return `${(value * 1000000000).toFixed(2)} nA`; } else if (value < 0.001) { // < 1mA return `${(value * 1000000).toFixed(2)} μA`; } else if (value < 1) { // { if (value < 0.001) { // < 1mW return `${(value * 1000000).toFixed(1)} μW`; } else if (value < 1) { // < 1W return `${(value * 1000).toFixed(1)} mW`; } else if (value < 1000) { // { if (input.tagName === 'INPUT' || input.tagName === 'SELECT') { input.addEventListener('input', calculateDivider); } }); // Form submission handlers document.getElementById('calculate-vout-form').addEventListener('submit', (e) => { e.preventDefault(); calculateDivider(); scrollToResults(); }); document.getElementById('calculate-r2-form').addEventListener('submit', (e) => { e.preventDefault(); calculateDivider(); scrollToResults(); }); document.getElementById('calculate-r1-form').addEventListener('submit', (e) => { e.preventDefault(); calculateDivider(); scrollToResults(); }); // Scroll to results function function scrollToResults() { const resultContainer = document.getElementById('result-container'); if (!resultContainer.classList.contains('hidden')) { resultContainer.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); } } // Calculate voltage divider values function calculateDivider() { // Determine active tab const activeTabId = tabElements.find(tab => tab.classList.contains('calc-tab-active')).id; const activeTab = tabs[activeTabId]; let vin, vout, r1, r2, totalR, current, power, ratio; let calculationDetails = ''; try { switch(activeTabId) { case 'tab-calculate-vout': // Get values from calculate Vout form vin = unitConverters.vin(parseFloat(inputs.vin.value) || 12470, inputs.vinUnit.value); r1 = unitConverters.r1(parseFloat(inputs.r1.value) || 10, inputs.r1Unit.value); r2 = unitConverters.r2(parseFloat(inputs.r2.value) || 1.2, inputs.r2Unit.value); // Validate inputs if (r1 <= 0 || r2 <= 0 || vin <= 0) throw new Error('Invalid input values'); // Calculate values vout = vin * (r2 / (r1 + r2)); totalR = r1 + r2; current = vin / totalR; power = (vin * vin) / totalR; ratio = (vin / vout).toFixed(1); // Calculation details const formattedR1 = unitConverters.formatResistance(r1); const formattedR2 = unitConverters.formatResistance(r2); calculationDetails = `${unitConverters.formatVoltage(vin)} × (${formattedR2} / (${formattedR1} + ${formattedR2})) = ${unitConverters.formatVoltage(vout)}`; // Update main result results.mainValue.textContent = unitConverters.formatVoltage(vout); break; case 'tab-calculate-r2': // Get values from calculate R2 form vin = unitConverters.vin(parseFloat(inputs.vinR2.value) || 12470, inputs.vinUnitR2.value); vout = unitConverters.vout(parseFloat(inputs.voutR2.value) || 120, inputs.voutUnitR2.value); r1 = unitConverters.r1(parseFloat(inputs.r1R2.value) || 10, inputs.r1UnitR2.value); // Validate inputs if (r1 <= 0 || vout <= 0 || vin <= vout) throw new Error('Invalid input values'); // Calculate values r2 = r1 * (vout / (vin - vout)); totalR = r1 + r2; current = vin / totalR; power = (vin * vin) / totalR; ratio = (vin / vout).toFixed(1); // Calculation details const formattedR1R2 = unitConverters.formatResistance(r1); calculationDetails = `${formattedR1R2} × (${unitConverters.formatVoltage(vout)} / (${unitConverters.formatVoltage(vin)} - ${unitConverters.formatVoltage(vout)})) = ${unitConverters.formatResistance(r2)}`; // Update main result results.mainValue.textContent = unitConverters.formatResistance(r2); break; case 'tab-calculate-r1': // Get values from calculate R1 form vin = unitConverters.vin(parseFloat(inputs.vinR1.value) || 12470, inputs.vinUnitR1.value); vout = unitConverters.vout(parseFloat(inputs.voutR1.value) || 120, inputs.voutUnitR1.value); r2 = unitConverters.r2(parseFloat(inputs.r2R1.value) || 1.2, inputs.r2UnitR1.value); // Validate inputs if (r2 <= 0 || vout <= 0 || vin <= vout) throw new Error('Invalid input values'); // Calculate values r1 = r2 * ((vin - vout) / vout); totalR = r1 + r2; current = vin / totalR; power = (vin * vin) / totalR; ratio = (vin / vout).toFixed(1); // Calculation details const formattedR2R1 = unitConverters.formatResistance(r2); calculationDetails = `${formattedR2R1} × ((${unitConverters.formatVoltage(vin)} - ${unitConverters.formatVoltage(vout)}) / ${unitConverters.formatVoltage(vout)}) = ${unitConverters.formatResistance(r1)}`; // Update main result results.mainValue.textContent = unitConverters.formatResistance(r1); break; } // Calculate component power dissipation const powerR1 = (current * current) * r1; const powerR2 = (current * current) * r2; // Component recommendation let componentRec = ''; const maxPower = Math.max(powerR1, powerR2); if (maxPower < 0.001) { // <1mW componentRec = 'Use 1/4W metal film resistors (±1% tolerance)'; } else if (maxPower < 0.01) { // <10mW componentRec = 'Use 1/2W metal film resistors (±1% tolerance)'; } else if (maxPower < 0.1) { // <100mW componentRec = 'Use 1W metal film resistors (±1% tolerance)'; } else if (maxPower < 1) { // { results.mainValue.classList.remove('scale-110'); }, 300); } catch (error) { console.error('Calculation error:', error); document.getElementById('result-container').classList.add('hidden'); } } // Add clear button functionality function addClearButtons() { // Clear button for Calculate Vout form const clearVoutBtn = createClearButton('Reset Voltage Divider Values'); clearVoutBtn.addEventListener('click', () => { inputs.vin.value = '12470'; inputs.vinUnit.value = 'kv'; inputs.r1.value = '10'; inputs.r1Unit.value = 'mohm'; inputs.r2.value = '1.2'; inputs.r2Unit.value = 'kohm'; calculateDivider(); }); document.getElementById('calculate-vout-form').appendChild(clearVoutBtn); // Clear button for Calculate R2 form const clearR2Btn = createClearButton('Reset Resistor R2 Calculator'); clearR2Btn.addEventListener('click', () => { inputs.vinR2.value = '12470'; inputs.vinUnitR2.value = 'kv'; inputs.voutR2.value = '120'; inputs.voutUnitR2.value = 'v'; inputs.r1R2.value = '10'; inputs.r1UnitR2.value = 'mohm'; calculateDivider(); }); document.getElementById('calculate-r2-form').appendChild(clearR2Btn); // Clear button for Calculate R1 form const clearR1Btn = createClearButton('Reset Resistor R1 Calculator'); clearR1Btn.addEventListener('click', () => {