Possible reasons:
- Is the op-amp behaving "ideal" over this range? That is, have you designed the oscillator such that an op-amp gain of 10 or 100 or 1000 or etc. (as the case may be, and at different frequencies) is stable?
Yes, the op-amp is very stable at all frequencies of oscillation.
I mean... the amp, in and of itself, is doing what it's doing, sure, but specifically the one(s) doing the oscillator: is the, for example, control output (the voltage sent to the bulb) about constant over all frequencies? Or does it have to do a "lot of work" (voltage changes significantly) over the range?
The point is, the oscillator only oscillates when its loop gain is more than one; and the controller attempts to regulate that to exactly one (with an integral term, so that the amplitude is pulled to a known, steady level, not just held constant at whatever it happens to land on).
This is probably going ever deeper into control theory that needs to be explained...
- In a perfectly linear system, an oscillator, with unity loop gain, does the exact same thing every cycle. What that thing is (its amplitude, and phase with respect to some absolute time reference), depends on the initial conditions.
- An integrating controller acts upon the integral of the error input. A proportional controller acts, well, proportionally (with no time dependency).
- If we combine the two, then we are controlling oscillator amplitude up and down, to track the reference value. Consequently (assuming error goes to zero at \$t \rightarrow \infty\$), the control output will be such that the oscillator gain is exactly unity (and the oscillator output is constant), but ALSO that the oscillator output reached a known amplitude on its way there.
- A real oscillator ain't never gonna have exactly unity gain, no matter how well you balance it (without a controller). Nor is it going to be perfectly linear. It is necessary to make light of these quirks, because it's easy to do the analysis*, and easy to spot special cases like unity gain giving constant amplitude. But the real world is a messy, chaotic (literally) place, and we must also understand how an (essentially) toy model differs from it.
*Well, relatively speaking. The reason they teach LTI systems in undergrad is because it's tractable (the core problem is solving roots of polynomials). But you need to know differential equations to know that. So, yeah.
So, anyway, the problem is twofold:
1. As the control "effort" increases, it's indicative of the oscillator not being very stable, in the sense of its gain vs. frequency response. Ideally you want this flat, so the controller only has the slightest of effort required to do its job.
2. If the "effort" required is greater than the (linear) range of the controller, the controller will saturate (or begin to), and error increases arbitrarily -- it loses control.
3. At the same time, the more "effort" required, the more likely there are nonlinearities and time dependencies sneaking in from all those nonideal properties of the components. This isn't necessarily a bad thing, but it makes it that much harder to apply linear control theory.
Possible reasons:
- Does the control loop time constant track with the frequency range?
It looks like it does. As the frequency of the oscillator is tuned down, the time constant of the control loop gets longer until it settles.
Nononono, that's the loop, that's... well, I should've said the
controller, not the loop.
The loop is the product* of the controller AND the oscillator. If the oscillator changes, so too does the loop. That can leave the controller behind, and the system goes unstable. Probably it's necessary to vary the controller's time constant to track the oscillator, so the loop remains stable.
*Not really, but sort of. It's the feedback equation, H = G / (1 + G*P), where H is the overall (ref to output) gain, G is the controller gain, and P is the "plant" (the thing being controlled, including its feedback/sense gain). All variables are, in general, functions, e.g., G(s) = 1/(s(s+a)) or something like that, where s is the Laplace domain frequency variable. The gain, and time constant (a), are controlled by the compensation components around the error amplifier (at least, for the easiest and most common example).
Tim