Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Everything about electronics
Everything about electronics
Calculate the output voltage or resistor values in a TL431-based feedback network. Leave one field blank to calculate it.
Ω
kΩ
MΩ
Ω
kΩ
MΩ
V
mV
function calculateTL431() {
const Vref = 2.5; // TL431 internal reference voltage
let rUpper = parseFloat(document.getElementById(“rUpper”).value);
const rUpperUnit = parseFloat(document.getElementById(“rUpperUnit”).value);
rUpper = isNaN(rUpper) ? null : rUpper * rUpperUnit;
let rLower = parseFloat(document.getElementById(“rLower”).value);
const rLowerUnit = parseFloat(document.getElementById(“rLowerUnit”).value);
rLower = isNaN(rLower) ? null : rLower * rLowerUnit;
let vOut = parseFloat(document.getElementById(“vOut”).value);
const vOutUnit = parseFloat(document.getElementById(“vOutUnit”).value);
vOut = isNaN(vOut) ? null : vOut * vOutUnit;
const resultDiv = document.getElementById(“tl431Result”);
if ([rUpper, rLower, vOut].filter(v => v !== null).length !== 2) {
resultDiv.innerHTML = “⚠️ Please enter exactly two values.”;
return;
}
let result = “”;
if (vOut === null && rUpper !== null && rLower !== null) {
vOut = Vref * (1 + (rUpper / rLower));
result = `Output Voltage (Vout) = ${vOut.toFixed(3)} V`;
} else if (rUpper === null && vOut !== null && rLower !== null) {
rUpper = rLower * ((vOut / Vref) – 1);
result = `Upper Resistor (Rupper) = ${formatResistance(rUpper)}`;
} else if (rLower === null && vOut !== null && rUpper !== null) {
rLower = rUpper / ((vOut / Vref) – 1);
result = `Lower Resistor (Rlower) = ${formatResistance(rLower)}`;
} else {
result = “⚠️ Invalid or conflicting inputs.”;
}
resultDiv.innerHTML = result;
}
function formatResistance(value) {
if (value >= 1e6) return (value / 1e6).toFixed(2) + ” MΩ”;
else if (value >= 1e3) return (value / 1e3).toFixed(2) + ” kΩ”;
else return value.toFixed(2) + ” Ω”;
}
function clearTL431() {
document.getElementById(“rUpper”).value = “”;
document.getElementById(“rLower”).value = “”;
document.getElementById(“vOut”).value = “”;
document.getElementById(“tl431Result”).innerHTML = “”;
}
(adsbygoogle = window.adsbygoogle || []).push({});