Wien bridge oscillator, diode stabilized, inconsistent amplitude b/w breadboard and PCB

Discussion in 'The Projects Forum' started by Sorin Popa, Sep 3, 2014.

  1. Sorin Popa

    Thread Starter New Member

    Sep 3, 2014
    I am building a wien bridge oscillator using an LMV751 opa with an output frequency of 20khz.


    The breadboard version of the circuit above works perfectly, the output voltage is around 400mV pp at 20kHz. The breadboard version uses the SMD version of the LMV751 on a breakout board, and 1N4148 diodes.

    The SMD version of the circuit is constructed exactly the same, with the only difference that it uses BAS16 diodes. However, a version was tested where 1N4148 diodes were soldered to the board instead.

    Both circuits are completely isolated from any other components, and tested using the same power supply, which outputs 3.1V for Vcc, 1.52V Vcc/2.

    The issue is that the SMD version has a much higher amplitude of 2Vpp, although it oscillates at extacly 20kHz also. The circuit was tested with two LMV751 chips incase it was a chip defect.

    As you can see in the pictures, the breadboard version takes much longer to start oscillating than the SMD version.

    Breadboard version at startup

    PCB version at startup (NOTE: frequency is the same as the previous image, it appears lower due to aliasing on the scope screen) Also, the circuits were analyzed again using exactly the same input voltage and the results were the same, I just didn't take a picture.

    The circuits were build from scratch again and checked over multiple times for any error or difference between them. All passive components (0.1% tolerance ) are confirmed to be exactly the same.

    I am completely stumped and have know idea what would be causing such behavior. Any suggestions are greatly appreciated.

    Thank you!!

  2. Wendy


    Mar 24, 2008
    You might think about taking pictures of both boards, just in case of brain farts. Many eyes do small bugs make.
  3. crutschow


    Mar 14, 2008
    I agree with Bill. There must be some error or circuit difference in one of the boards.
  4. GopherT

    AAC Fanatic!

    Nov 23, 2012
    The chip is fairly low power and the Datasheets says it won't drive capacitive loads more than 1nF (and 8mA). You might want to change your output cap (and check if the output caps on your two current setups match).
  5. Sorin Popa

    Thread Starter New Member

    Sep 3, 2014
    Thank you everyone for your input. I did some more tests today and below is what I found out. Basically, the punch line is that Wien bridge oscillators are apparently horribly unstable in terms of voltage, that or my breadboards are haunted...

    Firstly GopherT, C9 was never included in any of these measurements/circuits, I soldered it off my PCB to test this circuit .. but thank you for the heads up.. the circuit downstream has a resistor in series to ground so that should eliminate the effect of the 100nF..

    Secondly, sorry for the sampling/data I showed, those were just quick and dirty pics for me. I can assure you the frequency is correct for all the circuit versions I tested so far. Also the rest of the pics are taken with the same parameters

    Although my original question was regarding my breadboard (BB) vs PCB I decided to eliminate all the variables and breadboard a whole new oscillator from scratch. I even took the BAS16 SMD diodes and mounted them on break outboards.

    As you can see from the next two pictures, the same circuit, made with exactly the same through hole components (and the LMV751 on a breakout board), acts relatively the same using BAS16 or 1N4148 diodes. This is surprising, since they are what I thought would have the largest impact on the amplitude, since they are what cut it off technically. The only observable difference is that the BAS16 are quicker to ramp up.

    New breadboard with BAS16

    New BB with 1N4148

    As you can see, both these breadboards give me much higher Vpp (1.2V) than my original BB but not as high as the PCB (1.8V)

    The next picture is old BB that was giving issues (posted again to appease Nyquist and the rest of you ;)

    Old BB with 1N4148

    The old BB was measured again with another LMV751 chip and it acted the same as before (Vpp=680), furthermore, the LMV751 chip from the old BB was put on the new BB and the new BB acted the same (Vpp=1.2).

    At this point I had two IDENTICAL BB, checked over 3 times by myself, as well as a lab tech with 30+ years of experience at Phillips and neither of us could explain the readings we observed..the only physical difference was that one BB was slightly smaller than the other, and a slightly different shade of white !!

    However, touching the components here and there, I noticed that if I touch either side of the 200k resistor, the amplitude of the osculations increased dramatically (~2Vpp). This was replicated on both the old and new BBs. Assuming this was my stray capacitance, I added a 3nF capacitor from the node between D2 and R17 to ground and this confirmed my belief. The cap increased the amplitude of the oscillations.

    To see if this was the cause of the increase on my PCB (since I have a large ground plane under my oscillator circuit) I measured the capacitance from that node to ground and got a reading of 3pF... no dice!

    I gave up at this point, and while touching the circuit some more, I realized that touching the ceramic part of C14 slowly (~10mV per sec) kills the signal while touching the ceramic part of C13 increases the signal. This turned out to be due not to my capacitance but due to temperature.. Apparently the 1% through hole capacitors I bought are garbage at Temp sensitivity and change their capacitance even from the heat of ones finger..

    Long story short, unless any of you have something to add that I missed (I really really hope you do!!) let this be word of caution for those trying to get a predictable amplitudes from a diode controlled wien bridge..

    Now, onto my actual question, how to deal with this, since the rest of my PCB cant be changed and was designed for an output around 600mVpp (based on the old BB)...

    One idea I had, was to use a shotkey diode since it has the same footprint and should technically cut out the oscillations quicker, since they have a smaller forward voltage.

    Another was to use thermistors, however I doubt the tiny amount of current this thing drives will heat it up significantly.

    Basically, I need to generate a sine wave that has a constant amplitude over time, and which cannot ever go above 600mVpp. Does anyone have any suggestions for a good voltage throttle circuit, or where I can start looking?

    Also, since the wien bridge seems to be pretty rubbish in the reliability sector, what other oscillator designs would you recommend? I dont necessarily need to run at 20kHz, I can probably go up to 100k, so maybe a wien bridge using a watch crystal would be a solution.

    Another is to output the clock signal from my ATtiny45 micro controller and lowpass filter that into a sine wave, would that work?

    What do you think of those solutions?

    Thank you again for all your help, and even if this never gets figured out completely, hopefully it will be useful for anyone trying make a signal generator this in the future...
  6. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    If the two breadboards differ in size, then capacitance beteeen contact rows/columns will probably differ between the boards. That might account for the amplitude difference you experienced?
  7. Sensacell

    Well-Known Member

    Jun 19, 2012
    This could probably be reduced to a single chip MCU solution without too much trouble.

    Using an MCU with a DAC or PWM output, write code to read values from a table of sine values in ROM, output to the DAC / PWM.
    A simple RC filter to clean up the output.

    20 khz is a bit high for this approach, but a MCU with a nice high clock frequency could handle this task.

    1) Fast startup
    2) Totally stable / predictable output amplitude (add a precision voltage regulator if needed)
    3) Stable and predictable frequency
    4) Low distortion
    5) Single chip ~ $2.00 solution
  8. ChateauduChillon

    New Member

    Jan 28, 2014
    use an automatic gain control circuit. JFET as a variable resistance element (can be linearized if need be) and use a controller comparing the current oscillator peak (from peak detector) to a desired setpoint to drive the JFET gate.