Monday 30 January 2017

Ramp Generator: Level Shift and Gain

Introduction

In the last blog entry I outlined the design of the ramp generator's oscillator, using the NE555 timer chip. Using a constant current source for charging the capacitor, a linear ramp was generated by the timer chip. We also noted that we need to level shift and change the range of VC1 for our use with the FG (Function Generator).

Since the entire circuit is operating from 5V, it is necessary to use a low voltage opamp. In order for the output signals to include ground and near +5V, it is necessary to use a low voltage rail-to-rail opamp. The MC33202 is a low cost opamp that will serve the purpose in this low frequency application.

The temptation to use opamps like the LM358/LM324 should be avoided since these can't go to the +5V rail. If you were determined to use these, it could be accomplished if you changed the 7805 regulator circuit to provide +6.5V (or more) because about 1.5V of headroom will be required. This can be done by adding two diodes in the ground leg of the 7805 circuit.

We'll assume the use of the MC33202 or equivalent rail-to-rail opamp and a supply of +5V. Figure 1 illustrates the circuit surrounding IC3A.

Figure 1. MC33202 Level Shift and Gain Opamp (IC3A)
The top of the pot (R15) is +5V, and the bottom of the same pot goes to ground. The middle wiper arm is adjusted to about 1/3VCC (1.67V) so that pin 2 of the opamp IC3A sees that as its reference voltage. Note that IC3A is operating in single ended mode with +5V and ground for power.

The input is VC1 from the 555 timer circuit, which is delivered through the 10k R5. With R5 and the high input impedance of IC3A in the non-inverting configuration, no disturbing effects are felt by the capacitor C1.

Level Shifting

Level shifting occurs when R15 is adjusted to match VC1 when the ramp is at its lowest point (1.67V). In this way, when VC1 and V15 (wiper) match, the output of IC3A will be ground (0V). Also, when VC1 is less than the wiper level, IC3A will also output 0V when R15 is misadjusted.

As VC1 rises above R15 (wiper), IC3A will see a rise above its comparing inverting input. This causes the IC3A output to rise also. The use of pot R15 and IC3A allows us to shift 1/3VCC down to ground level at the output. The high point of the IC3A output is determined by gain.

IC3A Gain

Normally the non-inverting opamp gain is simply determined by the formula:

Av = 1 + Rf / Rin

where:
  • Rf is the feedback resistor (R8 in figure 1)
  • Rin is the input resistor (R15 in figure 1)
  • Av is the opamp's gain
The slightly tricky part is to determine what to use for Rin in this particular circuit.

Normally, opamps are described using bipolar power supplies where you have:
  • +VCC
  • Ground
  • -VCC
and Rin is always shown with respect to ground.

It should be remembered that in bipolar supply circuits, that the ground connection is actually a low impedance path to the rails in the Thevenin sense. This allows single ended opamp circuits to work equally well as the bipolar supply circuit.

Thevenin Rin

So what is Rin in IC3A's case at pin 2? It's a little bit tricky because this first depends upon where the wiper arm of R15 is adjusted to. We know that VR15 (wiper) is adjusted to match VC1 at its minimum. VC1min should be 1/3VCC (1.67V). With R15 adjusted to match, its wiper should be at 1/3 of its range, or:

  10k / 3 => 3333 ohms

This means that the other side of the wiper has 10k - 3.333k => 6667 ohms. If we treat R15 adjusted to 1/3, then in the Thevevin sense, we need to know the parallel resistance of 3333 || 6667 ohms. This turns out to be 2.22k.

What this means is that IC3A's (-) input sees a Rin of about 2.22k.

Computing Rf

Since VC1 has a range of one third of the 5V, we know that we need a gain of 3 to maximize the output ramp range (0 to +5V). So what Rf do we need to achieve that? Some simple algebra can re-arrange the formula for gain so that we solve for Rf. But if your algebra is too rusty, you can call upon wolfram alpha to help:

Figure 2. Wolfram Alpha solves for Rf

Wolfram Alpha needs single letter variables, so we have used:
  • g = Av
  • a = Rf
  • b = Rin
  • and asked it to solve for Rf, which is a
The formula was solved as:

  Rf = Rin ( Av - 1 )

Plugging in:

  Rf = 2.22k ( 3 - 1 )
  = 4.44k

In figure 1, I chose the value 4.7k, which is the nearest E12 value for Rf. This value introduces about a 6.9% errror, which is close enough.

Once IC3A is added to the ramp generator circuit, we get the following scope trace from IC3A's output pin 1, in Figure 3:

Figure 3. Output of IC3A, with level adjusted and full gain
From the Rigol measurements, we see that the output has a minimum of 0.36V and rises to 4.76V, which represents nearly the full 5V range. We also notice that the 1/3VCC has been shifted down to the ground level (360 mV). 

Next Steps

At this point, I thought I was pretty much done. But I discovered that the Topward 8110 Function Generator requires an inverted ramp signal, if we are to generate low to high frequencies in a given sweep! Instead, the Topward generates high frequencies when the ramp was low and low frequencies at the high point!

Fortunately this isn't too much of a hardship, since we have IC3B available. This stage can invert the beautiful ramp that we have presently. That will be the topic of the next post.

Thanks for reading.




No comments:

Post a Comment