Re: PWM -> Audio
- From: MooseFET <kensmith@xxxxxxxxx>
- Date: Sat, 8 Dec 2007 09:20:33 -0800 (PST)
On Dec 7, 3:49 pm, Vladimir Vassilevsky <antispam_bo...@xxxxxxxxxxx>
wrote:
MooseFET wrote:
PWM is the nonlinear operation, and this makes the things complicated.How do you conclude it must be non-linear?
PCM(x) + PCM(y) == PCM(x+y)
PWM(x) + PWM(y) != PWM(x+y)
That is not enough to make it non-linear from our point of view. You
need some of the differences to be within the band of interest.
This is enough. The order of the difference is infinite.
I disagree. Merely saying that there is a difference doesn't mean
that there is distortion within the band of interest. Consider the
example of:
F(X) = X + sin(1E9 * t);
F(A+B) != F(A) + F(B)
Since all of the sin(1E9 * t) is well above the audio range, it
couldn't be considered as distortion in the OP's product. There is
likely to be some proof about the distortion subject and if I found it
more interesting than the subject below, I would continue with this
subject.
...but so much for the boring PWM stuff. Once you mentioned that you
made an invertor using the switching rectifier on the secondary side.
How did you control the cross conduction? For the proper operation, the
current should be switched from one side to another precisely. The
actual switching time depends on temperature, voltage and current. Did
you just use snubbers or did you have to adjust the dead time dynamically?
I did, sort of, neither. First I will fill any who may be reading
along in on what the heck we are talking about.
I built a 12V DC in to 120V AC at 60Hz out DC to AC converter that
made a good sine wave on its output.
The basic design has a push pull drive to a tranformer and an array of
MOSFETs on the secondary side. After the MOSFETs was a LC filter to
smoothen out the sine wave.
ASCII ART:
L2
GND--[SW]-- ---[SW]----+----)))))----+----
) !! ( ! !
L1 ) !! ( ! ---
---))))------+ !! +--GND ! ---
) !! ( ! !
) !! ( ! GND
GND--[SW]-- ---[SW]----
The secondary side used pairs of MOSFETs connected source to source so
that the body diodes would not conduct when the switch was supposed to
be off.
The gates of the secondary MOSFETs were driven by a transformer so
their switching was not quite as fast as the primary ones. As a
result, the switching situation on the two sides were slightly
different.
The primary side MOSFETs swithed very quickly. The capacitance in the
tranformer would normally have made a current spike during the
switching. L1 blocks this spike and absorbs energy. L1 was connected
to a "snubbing circuit" sort of like this:
L1
----+----(((((----+------
! !
! ---
! ---
! ! L3
----!<-------+---))))---- GND
L3 is mechanically quite small because it only needs to store a
smallish amount of energy. The nice thing about this circuit is that
the energy it put back onto the input power and not turned into heat
as would normally be the case.
The practical effect of this primary side was that the secondary had a
small nearly constant step on its switching edges. Whichever
secondary side switch was on at that time would conduct the edge to
the L2 inductor. Since the frequencies in this edge were way above
60Hz, the LC filter removed them. Variations in the edge with load
etc are a different matter that I will get to later.
The secondary side switches are a bit slower. There is a short time
during which the secondary is open circuited so there is a voltage
spike. IIRC the MOSFETs I used were IRF6N60 or the like and didn't
like drain spikes. Adding just a couple of capacitors on the
secondary would decrease the peak of the spikes at the cost of making
some very ugly ringing. A small resistance in series with the
capacitance was needed to damp this. The capacitance caused a spike
on the L3 and I am fairly sure that most of the energy in the
secondary side switching ended up in the input side.
The phase relationship between the primary and secondary side
switching is what determined the output voltages. This phase was slid
back and forth at a 60Hz rate to construct my output side sinewave.
Running as an open loop system, the output wave form was quite a good
sine wave but its amplitude varied with the input voltage. When I
switched to using a PID like controller for the feedback, this problem
was largely solved for reasonable changes in the input.
The controller also supressed any distortion up to several times the
cut off frequency of the LC filter, but there was a bit of an issue
with getting enough phase margin at all posible gain crossover
frequencies. The "D" part of the controller ended up with an extra RC
in it somewhere.
The phase shifting circuit ran at 2x the switching frequency. It
determined how late in the alternation, the secondary side switches
got updated with the current state of the primary side switches. This
means that give or take some cross talk, the secondary duty cycle
didn't depend on the accuracy of the analog parts.
The linearity of the phase shifter was determined largely by how
linear of a ramp could be made.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
.
- Follow-Ups:
- Re: PWM -> Audio
- From: Vladimir Vassilevsky
- Re: PWM -> Audio
- References:
- PWM -> Audio
- From: Silvar Beitel
- Re: PWM -> Audio
- From: MooseFET
- Re: PWM -> Audio
- From: Vladimir Vassilevsky
- Re: PWM -> Audio
- From: MooseFET
- Re: PWM -> Audio
- From: Vladimir Vassilevsky
- Re: PWM -> Audio
- From: MooseFET
- Re: PWM -> Audio
- From: Vladimir Vassilevsky
- PWM -> Audio
- Prev by Date: Re: how to get ground referenced amplified V difference from high side (250VDC) shunt?
- Next by Date: Re: USB Microscope for PCB work
- Previous by thread: Re: PWM -> Audio
- Next by thread: Re: PWM -> Audio
- Index(es):
Relevant Pages
|