Power Supply Calculator
by skibulk
HTML
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<form id="io-data">
<label for="5v-current">5V Current</label>
<select name="5v-current" id="5v-current">
<option value="0.00">0.00 A</option>
<option value="0.25">0.25 A</option>
<option value="0.50">0.50 A</option>
<option value="0.75">0.75 A</option>
<option value="1.00" selected>1.00 A</option>
<option value="1.25">1.25 A</option>
<option value="1.50">1.50 A</option>
<option value="1.75">1.75 A</option>
<option value="2.00">2.00 A</option>
</select>
<br>
<label for="12v-current">12V Current</label>
<select name="12v-current" id="12v-current">
<option value="0.00" selected>0.00 A</option>
<option value="0.25">0.25 A</option>
<option value="0.50">0.50 A</option>
<option value="0.75">0.75 A</option>
<option value="1.00">1.00 A</option>
<option value="1.25">1.25 A</option>
<option value="1.50">1.50 A</option>
<option value="1.75">1.75 A</option>
<option value="2.00">2.00 A</option>
</select>
<br>
<label for="capacitors">Capacitors</label>
<select name="capacitors" id="capacitors">
<option value="5.4,50">2.7V 100F (x2)</option>
<option value="8.1,33.33" selected>2.7V 100F (x3)</option>
<option value="5.4,250">2.7V 500F (x2)</option>
<option value="8.1,166.66">2.7V 500F (x3)</option>
</select>
</form>
<p>Seconds: <span id="seconds"></span></p>
JavaScript
(function($) {
function renderData(event) {
var j5 = 5*$("#5v-current option:selected").val();
var j12 = 12*$("#12v-current option:selected").val();
var capacitors = $("#capacitors option:selected").val();
var capV = parseFloat(capacitors.split(',')[0]);
var capF = parseFloat(capacitors.split(',')[1]);
var capVMin = 3;
var capEffy = 0.8;
// http://www.electronics2000.co.uk/calc/capacitor-charge-calculator.php
var capJ = 0.5 * (capV - capVMin) * (capV - capVMin) * capF;
var t = (capJ * capEffy) / (j5 + j12);
$("#seconds").html(Math.round(t * 10) / 10);
//console.log(j5, j12, capV, capF, capJ, t);
}
renderData();
$("#io-data").change(renderData);
})(jQuery);