Documentation

Full-wave bridge rectifier

Rectify an AC input and compare capacitor charging current with DC output ripple.

Semiconductors

Use Transient to compare the AC input, reservoir output, charge current, and settled efficiency.

Editor showing the Full-wave bridge rectifier SPICE example as an unsaved schematic.
Full-wave bridge rectifier opens as an editable, unsaved schematic.

Open and run

  1. Open Examples from the Home ribbon.
  2. Choose Full-wave bridge rectifier.
  3. Open Simulate and choose Setup to review the analyses.
  4. Choose Run for one analysis or Run All for the complete configured set.
  5. Select a matching Scope view after the run. Use Save as sheet to keep the example or Discard to close it.

Sheets, analyses, and Scope

Bridge + reservoir

#

Setup: Bridge + reservoir transient

AnalysisConfiguration
Bridge + reservoir transientTransient
  • Step 50u
  • Stop 80m
  • Initial conditions Disabled

Scope views and expected results

AC input and reservoir output

Analysis: Bridge + reservoir transient

Transient
Waveforms
  • V(acp)
  • V(vout)
  • CurrentI(C1)
Input and output power
  • PoutR1.power.instantaneous
  • Pin-V1.power.instantaneous
Readouts
  • Settled DC outputAverageV(vout)
  • Settled reservoir ripplePk-PkV(vout)
  • Settled source peakMaxV(acp)
  • Settled efficiency (Pout / Pin)ratioOfAveragesR1.power.instantaneous / -V1.power.instantaneous

Python scripts

These scripts are included with the example. Review trusted project code before choosing Run.

Capacitor ripple sweep.py

Default sheet: Bridge + reservoir

capacitances = ["100u", "220u", "470u"]
sheet = get_sheet("Bridge + reservoir")
runs = sheet.sweep(C1=capacitances).tran("250m", step="50u", max_step="50u", save="V(vout)")

fig, ax = subplots(1, 1, title="Reservoir capacitor ripple")
ax.set(xlabel="Time", xformat="time", ylabel="Output voltage (V)")

# Compare the last three mains cycles, after startup has settled.
for capacitance, result in zip(capacitances, runs):
    output = result.v("vout").window(start="200m")
    ax.plot(output, label=f"C={capacitance}")
    print(f"C={capacitance}: {output.mean():.2f} V average, {output.pkpk():.2f} V peak-to-peak ripple")

fig.show()