Help with AmpOP Colpitts Oscilator simulation

Status
Not open for further replies.

pxds

Newbie level 4
Hello,

I'm trying to simulate a 10MHz Colpitts Oscillator using an OPAMP, but i'm not getting the expected outcome, the frequency is not 10MHz and the output amplitude is very low. I've read somewhere that Proteus doesn't simulate the natural noises necessary to satart the oscillator, so i'm giving a 1mA, 1us current pulse to start things. Here's the circuit and the output i'm using.

I followed these design guidelines: http://www.electronics-tutorials.ws/oscillator/colpitts.html and my C1,C2 and L yields a fo of around 10Mhz. Any ideas what i can do different to get the oscillator right?

keith1200rs

Super Moderator
Staff member
I don't think you can expect an opamp with 1.5MHz bandwidth to make a 10MHz oscillator.

Keith

Super Moderator
Staff member
1.

Per Keith's observation, you'll need an op amp designed to operate at the target frequency.

2.

Your ratio of L to C is on the order of 3 million.

A typical ratio that works for L:C is between 100 and 10,000. It has to do with the time constants on the coil and capacitors.

I believe you get oscillations most readily when there is a match of (a) ohmic resistance, (b) inductive reactance and (c) capacitive reactance. Sufficient amplification is essential.

3.

The L-C-C loop has a lot of inertia because it has small ohmic resistance. Many cycles must go by before oscillations build to a few volts. Current is going back and forth around the large outer loop. It reminds me of traffic on the beltway going around Minneapolis.

Here is a screenshot of my simulation.

I substituted higher values for the capacitors. It results in a lower frequency which shows up better in this simulator (Falstad's).

The resonating action becomes so energetic, that volt levels soar to a higher value than the op amp's supply rails.

Anyway that's how the theoretical simulation plays out.

pxds

Newbie level 4
Oops, didn't notice the bandwidth, huge mistake. Anyways, i switched the lm741 for an generic ampop, changed my capacitor values to match Brad's and corrected the gain feedback loop, the 100k resistor was shorted with the inductor. Here are the results, the smaler window is a 100m cycle zoomed in:

Sadly, they are still pretty off and differ greatly from Brad's plots. I'm starting to think that proteus can't handle that kind of simulation very well, i'll try to simulate it in pspice, any tips on how to get the oscillator initial conditions going?

- - - Updated - - -

I'm getting several convergence errors on pspice i've done this in the PSpice schematics, with C2 initial condition being 6V:

These are my simulation setup:

And this is the output with the error:

I could use some help from someone more versed on PSpice. Thanks in advance.

LvW

I could use some help from someone more versed on PSpice. Thanks in advance.
Hi pxds,

The circuit according to your last drawing resembles an oscillator that swings at approx. 10 kHz.
Start a TRAN analysis (for example over 30msec with 5µsec resolution) - and you can observe a good oscillation behaviour.
For a safe start of oscillations you should disable the initial bias point calculation in the TRAN analysis and - perhaps - in addition give one of the capacitors an initial condition of 1mV or so.

Additional comment: If you encounter convergence problems replace the idealized opamp model (OPAMP) by a real model. The lack of delay in the OPAMP model sometimes creates problems.

Last edited:

keith1200rs

Super Moderator
Staff member
Changing simulators is not a substitute for understanding their operation. You need a minimum time step that is considerably smaller than the period of the oscillations you are expecting. Also, bear in mind that high Q oscillators take a number of cycles to stabilise in proportion to the Q. So a high Q oscillator may take 30000 oscillation cycles to stabilise.

Normally I find simply skipping DC bias point calculation is enough to allow oscillations to start. Adding a "kick" can cause problems if the kick is too large and mean that it takes even longer to stabilise.

Keith

Super Moderator
Staff member
This part of your scope trace appears to be healthy stable oscillations.

Can you obtain a closeup of this?

pxds

Newbie level 4
Hi pxds,

The circuit according to your last drawing resembles an oscillator that swings at approx. 10 kHz.
Start a TRAN analysis (for example over 30msec with 5µsec resolution) - and you can observe a good oscillation behaviour.
For a safe start of oscillations you should disable the initial bias point calculation in the TRAN analysis and - perhaps - in addition give one of the capacitors an initial condition of 1mV or so.

Additional comment: If you encounter convergence problems replace the idealized opamp model (OPAMP) by a real model. The lack of delay in the OPAMP model sometimes creates problems.
Yes, i changed my values to try to reproduce Brad's 10kHz wave. I'll have a go with your setups and will return with the results. Oh, and by disabling initial bias point calculation do you mean to leave that box unchecked? If i do so my output wave is zero. Thank you.

Changing simulators is not a substitute for understanding their operation. You need a minimum time step that is considerably smaller than the period of the oscillations you are expecting. Also, bear in mind that high Q oscillators take a number of cycles to stabilise in proportion to the Q. So a high Q oscillator may take 30000 oscillation cycles to stabilise.

Normally I find simply skipping DC bias point calculation is enough to allow oscillations to start. Adding a "kick" can cause problems if the kick is too large and mean that it takes even longer to stabilise.

Keith
I ditched Proteus because i TMIN is already at 1e-18 and, most of the times, it hints me a warning that GMIN is too high or too low. I'm also giving more simulation time so that my oscillator can stabilize.

This part of your scope trace appears to be healthy stable oscillations.

Can you obtain a closeup of this?
The smaller window is a closeup of 2.9 to 3s, that is part of this "healthy" wave. But here's a closer shot, it is kinda of oscilating but it is very noisy still:

LvW

Oh, and by disabling initial bias point calculation do you mean to leave that box unchecked? If i do so my output wave is zero. Thank you.

The text in my program version is "skip initial bias point" . Thus - if I want to skip it, I have to check the box.
(If you were not sure - why didnt you try both alternatives?)

pxds

Newbie level 4
Oh, and by disabling initial bias point calculation do you mean to leave that box unchecked? If i do so my output wave is zero. Thank you.

The text in my program version is "skip initial bias point" . Thus - if I want to skip it, I have to check the box.
(If you were not sure - why didnt you try both alternatives?)
I thought that disabling could be different from skipping, but i always try both ways nonetheless, i'm adventurous hehe.

Here's my latest results:

Changed the circuit, switched ideal op amp for a 741, it will be just fine for a 10kHz oscilation.

I could not produce a stable, perfect oscilation, but i got something. All initial conditions are set to zero and i still got the oscillation, that's good. Simulation parameters are as LvW proposed, 30ms with 5us step. I simulated the same circuit with a simulation time of 5s and the wave just repeats itself.

Zooming in the more stable oscilations:

I also used the Fourier analysis tool to check for the frequencies, so i could confirm my results.

Those results seem fine for me, i'll just need to adjust my step time so that the sine wave does not appear clipped. One more thing, i only have lm741, lm111 and lm 324 in my student version PSpice and none of those have a 10Mhz band, do you guys have any suggestions of where can i find a model of a proper amplifier?

Thanks to everyone who's helping me!

LvW

Those results seem fine for me, i'll just need to adjust my step time so that the sine wave does not appear clipped. One more thing, i only have lm741, lm111 and lm 324 in my student version PSpice and none of those have a 10Mhz band, do you guys have any suggestions of where can i find a model of a proper amplifier?

Thanks to everyone who's helping me!

1.) Step time is still too large - therefore, the signal looks very bad. However, this has nothing to do with "clipping". Even for very small step periods the amplitude will be clipped by the power supply.
That´s a normal effect and cannot be avoided - unless some additional non-linearities are used (e.g. diodes).

2.) Why not build your own model instead of using uA741 or similar?
Use a VCVS with gain 1E5 and one or two rc low pass sections (and a buffer at the output) with suitable time constants in order to model a simple opamp that can meet your bandwidth requirements?

keith1200rs

keith1200rs

points: 2

pxds

Newbie level 4
2.) Why not build your own model instead of using uA741 or similar?
Use a VCVS with gain 1E5 and one or two rc low pass sections (and a buffer at the output) with suitable time constants in order to model a simple opamp that can meet your bandwidth requirements?
Hmm, would a single RC low pass for 10MHz suffice? I suppose i will also have to use a unity gain VCVS as buffer too. I'll try to build it when i get home.

LvW

Hmm, would a single RC low pass for 10MHz suffice? I suppose i will also have to use a unity gain VCVS as buffer too. I'll try to build it when i get home.
For a 10 MHz signal the opamp transit frequency should be at least 1000MHz=1 GHz.
For a dc gain of 1E5 the RC corner frequency (pole) should be 5 decades below 1000MHz - that means: 10 kHz.
Thus, an ideal gain stage with a RC lowpass (10 kHz) and a buffer form a simple high-bandwidth opamp.
If you want to have fictitious supply rail limiting use a limiter block from the library.

By the way: Instead of using the above mentioned 3 blocks you also can use a Laplace block and specify the desired opamp transfer function.

- - - Updated - - -

pxds, there is one severe problem I forgot to mention: Slew rate.
You will have problems to find in reality an opamp that can be used as an active element for a 10MHz oscillator. (The slew rate is, of course, not modeled in the simple arrangement proposed above).
Thus, most probably you must look for a current-feedback amplifier that is able to fulfill your needs - or switch over to a transistor oscillator.

rohitkhanna

Banned
...I'm trying to simulate a 10MHz Colpitts Oscillator using an OPAMP...
referring to your original circuit, shouldn't your L be 3uH and not 300uH to get 10MHz with 100pf // 470pF ?

Status
Not open for further replies.