LTspice tool for power amp power supply component evaluation - diyAudio
 LTspice tool for power amp power supply component evaluation
 User Name Stay logged in? Password
 Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read Search

 Software Tools SPICE, PCB CAD, speaker design and measurement software, calculators

 Please consider donating to help us continue to serve you. Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Banned

Join Date: Apr 2003
LTspice tool for power amp power supply component evaluation

It's lonely in here!

I thought I'd post something that might be useful if you're evaluating power supply components for a power amp. It's an LTspice simulation that allows you to enter some simple transformer and filter capacitor parameters, specify a sinusoidal or other current to be delivered to a load, and look at things like ripple on the supply voltage, sag in output voltage with load, primary RMS current for specifying fuses and so on.

The model for the transformer assumes two secondaries with a center tap. It makes use of two simple ideal transformers with primaries in parallel and secondaries in series. It's meant to be fairly simple and fast to simulate, so there's no transformer saturation effects or inductance taken into account. The output voltage drop under load is modeled as a simple resistor in each secondary. All component values, peak output currents, line frequency, output frequency, etc. are specified in .PARAM statements so that individual element values don't need to be tediously specified. Each .PARAM statement has a comment explaining what it is and its units.

Here's how it works. First, find the specification of a transformer you're thinking of using. Calculate the turns ratio N as the ratio of the no-load output voltage of a single secondary to the primary voltage at which this is specified. Specify N in the corresponding .PARAM statement. Next, find the value of transformer output resistance Rs by taking the change in transformer output RMS voltage delta_v from no-load to a specified RMS load current Irms. Transformer vendors assume a resistive load and no rectifier here, such that the load current in this case is sinusoidal. Then Rs = delta_v/Irms. Enter this in the .PARAM statement. Then enter the estimated filter capacitor value.

The peak load current and its frequency are specified by Ipeak and sigfreq respectively. The total quiescent current IQ in the output stage can be specified. The sneaky part of the simulation is the calculation of the current drawn from each supply. These currents are computed by nonlinear current-controlled current sources which use the table() function. For peak load currents less than or equal to twice IQ, the currents drawn from each supply will be sinusoidal. This assumes push-pull operation, and by specifying a large IQ, a class A amp can be simulated. There are two simulation files, one for unbalanced and the other for balanced amps. For the unbalanced amp where the peak load current is much larger than the quiescent current, each supply current is essentially a half-wave rectified signal. The corresponding case for a balanced amp gives a full-wave rectified current on each supply. The diode parameters were modified from an OnSemi part I found, such that they match a good 35A bridge rectifier.

There's also a third simulation file called "Ramp_table_if.asc". This is just an example from the Yahoo LTspice group that explains how the table() function works for nonlinear controlled sources. The file "Rectifier_bal.asc" is for a balanced amp, and "Rectifier_unbal.asc" is for unbalanced.
Attached Images
 power_supply.png (13.2 KB, 482 views)
Attached Files
 Rectifier.zip (4.2 KB, 148 views)

Last edited by andy_c; 23rd August 2009 at 04:14 PM.

 23rd August 2009, 05:01 PM #2 diyAudio Member     Join Date: Jan 2003 Thank you for sharing! That table thing looks very useful and flexible. I usually use the min(x, y) and max(x, y) functions for that kind of thing, but this looks more flexible.
 23rd August 2009, 05:10 PM #3 Banned   Join Date: Apr 2003 The table() is a bit weird because the output value is assumed constant outside the range of the table points. That's why I put that silly 1000A limit point in there. But you can see from the Yahoo group example that it's not nearly as messy as multiple nested if() functions.

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are Off Pingbacks are Off Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Thunau Power Supplies 12 16th February 2007 04:21 AM destroyer X Solid State 91 25th September 2006 04:36 AM HenryM Chip Amps 0 20th January 2005 05:53 PM ericpeters Swap Meet 0 14th January 2005 02:21 PM

 New To Site? Need Help?

All times are GMT. The time now is 08:48 AM.