Saturday, May 19, 2012

DIY Audio Function Generator Part 2

This is going to be a pretty short post, but I just wanted to give an update on the DIY Function Generator project I am working.

You can check out Part 1 here: diy-audio-function-generator-part-1

I started to pull together the Schematic and PCB Layout for the board in DesignSpark. I've kind of cheated a bit and just thrown parts in the schematic and passed them through to the PCB Layout side of DesignSpark without connecting anything up yet. I did this just to get a jump start on the "look" of the layout and match it up to my concept drawing.



Next I'll go back to the schematic and start connecting things up.

I have appreciated all the supportive comments and feedback I have received about this project so far.  James Grenert was kind enough to email me an old Elektor article from Nov. 1994 that has a very similar Lamp Based Wien-Bridge Oscillator Circuit as the Jim Williams one I am using as a basis for this Function Generator.

Below is the article (Note this was Google-translated to English from the original German article, so there are some miss-translated words... but it is still very readable)


SPOT-SINUS GENERATOR – ELEKTOR 11/1994

SIMPLE AND LOW DISTORTION

Oscillators come in many shapes and varieties, each with its own specific characteristics. A type known for its beautiful sinusoidal output signal, the Wien-bridge oscillator. Here we describe a repackaged in a modern implementation, as a special old-fashioned method of keeping the amplitude constant. Perhaps nowhere as electronic engineers have been as creative in the design of oscillators. For each specific application there is a suitable type oscillator. There are RC, LC and crystal oscillators, high-and low-frequency oscillators, low-power vermogensoscillatoren. Do you want a rectangle, saw-tooth or sinusoidal signal? You name it. Or variable frequency oscillator, the modular-be? It's all or is in any case to make. For the testing of audio equipment is often a source who need a nice clean sine supplies. The best is of course an adjustable version, but also a fixed l-kHz generator is a very useful tool, but as long as the signal produced is low distortion. An oscillator type here eminently suited for, is the classic Wien-bridge oscillator.

The Wien bridge consists of a combination of an RC network and a series-parallel RC network. The two resistors and two capacitors have the same value. At the central frequency, the phase rotation is zero, because the two networks have equal phase shift, but in opposite direction from each other. The slowdown amounts to three times at that time. So by, as drawn in Figure 1, a simple 3x-amp to add to the circuit can oscillate.

Filament-SYSTEM

Two RC networks and an amplifier stage, which is all we need for a sinus generator according to the Wien-bridge recipe. That sounds simple attractive, but due to the fact that in this case more than average demands on the shape of the produced sine up, there are a few points that deserve special attention. Thus, the amplifier used must be of impeccable quality. Furthermore, a sophisticated control system is desirable, which ensures that at all times there is enough gain to oscillate to launch and maintain, but simultaneously prevents the amplifier at any time could be overdriven. That would be the desired waveform fine because irreparable damage.
The first of the above issues can be resolved as a good opamp amplifier to apply. The second point, the control shows fine in practice achievable with the help of an ordinary incandescent bulb.

The actual Wien Bridge here consists R1, R2, C1 and C2 is at a frequency of 1 kHz dimensioned. The two resistors are 1% types. The MKT-capacitors C1 and C2 you will have them selectable on a tolerance of less than 1%, otherwise the chances that the circuit is not oscillating. Would you exakte a frequency of 1 kHz, these must also capacitors a value of 119.67 nF.

If amplifier is an OPA627 opamp of the type used. The reinforcement is required, as said, about a factor of three and this is also the dimensioning of the network against link P1/R3/R4/La1 tuned. What is the function of La1? Well, that bulb plays here the role of PTC. Because the filament has a temperature dependent resistance, cold state, the resistance around 25 Ohm in warm condition that value is a factor two higher. This property is gratefully used here, by the light directly into the network to flock to incorporate. Is it cold light, then the strengthening of IC1 mainly determined by the ratio between R3 and R4. Is the output voltage however, it increases the flow through the network and torque against the resistance of La1 far. The ratio of the network will change, such that the coupling increases and against the strengthening of IC1 (and hence the output voltage) decreases. This in turn is the current through the LED, so the versterkins of IC1 increases something ... etc., etc. Of course, after a short time balancing act, so the output voltage to a stable value remains "hanging".

To balance it in the lower branch of the torque against network using standing lamp is in the upper branch instelpotmeter one (P1) included. This is a fine adjustment of the "balance point" as possible. Furthermore, a system as stable as possible to get an additional current drive of the lamp used in R5. The latter resistance will be slightly adapted to the type of bulb used. In our prototype showed a value of 3k3 for R5 properly comply. Shows the output voltage in your case after a few minutes to run something, it's wise to R5 what value should be reduced. A decreasing output voltage requires slightly larger value of R5. As a matter of experimenting so!

SPEC'S GOOD

The presence of the light was of course necessary to the relatively low-ohmic resistors around IC1 dimensioning since there will be a reasonable flow through La1 flow to the PTC effect noticing. Such dimensioning impedance has the advantage that the noise contribution of the resistors is very low. This does have an opamp as konsekwentie that should be applied in a symmetrical supply voltage of + / -15 V can control at least 600 ohms.

The OPA627 is against this type of task more than cope and provide for an opamp with FET inputs also a very low input noise (5.6 nV / sqrt (Hz) at 1 kHz), low input offset (100 μV max) and an extremely low distortion. The actual THD consists solely of the second and third harmonic, which together no more than 0.00014% size.
Unfortunately, the relatively expensive OPA627 opamp. If you have no problem with a slightly higher distortion, then instead of this type is also a cheap (pin-compatible) NE5534 be taken.

CONSTRUCTION

Given the simplicity of the circuit is deliberately refrained from a print design. The title picture illustrates the sine generator to a fairly simple piece of plate hole is to accommodate.

Since the current consumption of the circuit is limited to approximately 10 mA, the (balanced) diet very modest in scope. The smallest transformer that delivers 2 x 15 V, a three-legged brugcel and two controls (78L15 and 79L15) will ease this chore done. Very suitable in June '92 Elex described "low-power balanced diet", which number 926,061 are still in print in the Elektor service available.

The adjusting of P1 one must take time. In practice, it proved beneficial to those in instelpotmeter to maximize output voltage. This yielded the lowest distortion, and so also prevents the output voltage after the adjustment of the system to an unexpected (and unwanted!) High value would increase.

Specifications
frequency: 1 kHz
output voltage max: 8 VRMS
Distortion (THD + noise): <0.0003%
voltage: 15 V V/-15
current: approximately 10 mA




Saturday, May 5, 2012

RF isn't Black Magic

Most people in the Embedded Electronics world view discrete RF Design as "Black Magic". I would agree RF is complicated, but it isn't Black Magic. The magic is that when you are dealing with signals in the RF frequency range the "small things" matter; my little experiment below proved that to me yet again!

I was inspired by VK2ZAY's LC Test Oscillator video and wanted to build one of my own. After a couple hours playing with LTSPICE, I soldered up a board and powered it up expecting to see a 50MHz sine wave on the output and I got nothing...
Now is when the learning started! I first checked all my JFETs DC Biasing and I was getting the expected current through all of the source resistors, so I knew my JFETs were On and ready to start amplifying. I then started to suspect my inductor. I was just using a small power inductor meant more for switching power supplies than a RF Oscillator. After kicking open my RF Circuit Design Book (which is an excellent book on discrete RF design) I had a hand wound air core 220nH inductor made for the LC Tank circuit and still nothing.....

I started to suspect my low cost capacitors I bought from a Thailand based supplier, so I bought an LCR Meter and checked them. They all measured to the right value...... Why isn't my RF Osc. Oscillating?

The last thing I tried was changing the capacitor in the LC Tank circuit from a through hole ceramic cap to two 1206 surface mount 470pf caps in series to get 235pF. I powered up the circuit and there was a beautiful 24MHz signal showing up on my scope. So the surface mount cap in the LC Tank circuit fixed my dead RF Oscillator, but why?


Just for kicks I hooked up a  through hole 10-120pF variable capacitor in parallel with the two series 470pF caps thinking I should now be able to adjust the frequency of the LC Tank circuit a bit. When I adjusted the variable cap the frequency stayed at 24MHz... that is when the light bulb came on. The through hole caps I was using weren't working because their lead inductance was preventing them from being "pure" capacitance in the LC Tank circuit. It makes sense now, I am dealing with a small amount of inductance in the tank (220nH) and any added inductance in the capacitor's leads are preventing the capacitor from working in the Tank circuit.
This was a pretty fun project. I've build opamp based oscillators before, but there is something satisfying about building something up with only discrete Transistors and passives and getting it to work!

Here is a link to my LTSpice File