Fully analog digitally controlled voltage source

Voltage is set with three BCD switches with a step of 10mV

Similar projects worth following
The aim of the project is to develop a source of voltage that can be easily controlled without using any form of a microcontroller in a precise manner.
It uses only a few operational amplifiers, a set of resistors and capacitors, reference voltage source and three BCD rotary switches.
The circuit is powered with a single supply, preferably 12V DC, but 9V (or even less) operation is also possible with a limited output voltage range.

When starting the project, I had several requirements on my mind:

  1. Single supply operation, preferably in the range 9-12V.
  2. No trimming should be necessary to obtain reasonable accuracy.
  3. No exotic parts nor part values (especially resstors!) should be used.
  4. Possibly low current consumption of the circuit. (not met that well!)
  5. Possibly a single sided board that can be produced by a simple "Chinese" CNC mill.

The circuit I used is shown below:

Figure 1. The whole circuit

Details of the circuit

Reference voltage source

Figure 2. Reference voltage source

The principle of operation of the circuit starts with a stable and accurate reference voltage. I needed this to be 1V to make the simple setting of output voltage possible. In fact, any integer value of the reference voltage would do, but 1V seemed to be easy to obtain and required no "difficult" resistor values.

To produce the 1V reference voltage without using any trimmers, the LM4040A circuit is chosen. The A version may be more expensive (approximately twice the cost), but provides better accuracy. This accuracy would be degraded by further processing steps, so it is good to start with better accuracy.

LM4040 has a version that produces 3V on the output and it seems to be widely available. To produce 1V, the output voltage has to be divided in ratio 1/3, and that requires a resistor divider with values R + 2R. Luckily, values like 1k and 2k, 10k and 20k are easily available, so this was the way to go. I used precise 0.1% resistors R21 and R22 in the divider. The value of R19 does not need to be precise - a 1% or even 5% resistor should do. The value of R19 (20k) is chosen so that a sufficient current is provided for LM4040 to function properly. For the assumed supply voltage range 9 to 12V, the LM4040 current will be in the range from 300 to 450uA, that is enough to maintain the proper operation of LM4040.

Reference voltage buffer

Figure 3. Reference voltage buffer

Since the 1V reference voltage is present on the output of a voltage divider with significant output resistance (6.67k), I use a voltage buffer to provide low output resistance of the 1V reference voltage. Decreasing this resistance proved to be essential for accurate operation of the remaining part of the circuit. Using lower resistance values in the voltage divider would not help, since to get a very low output resistance, in the order of 1 Ohm or less, would require the use of prohibitively low values of resistors and increase the voltage divider current to about 300mA.

Another aspect that needs considering is the choice of the operational amplifier. It needs to have a set of properties:

  • low input bias current (in order not to introduce significant errors caused by loading of the voltage divider)
  • low input offset voltage (in order not to introduce significant errors to the output voltage)
  • rail to rail on input and output operation (in order to be able to work with a single supply voltage and provide wide range of output voltage)

The choice I made was LMC6062, since I coud easily get them for a reasonable price. They are precision (=low offset voltage) CMOS (=low bias current) amplifiers. And they are rail to rail. They also have quite high typical open loop voltage gain, that helps to maintain accuracy with simple calculations. Plus, there are two of them in a single SO8 package.

Resistor R24 is there only to help in routing the tracks on the PCB and its value is 0 Ohms.

Voltage generator

Figure 4. Voltage generator

This is the part of the circuit where the desired voltage is generated.

The way it works is the following.

The voltage on the non-inverting input (pin 5) of the operational amplifier U3B is kept at a constant level of 1V coming from the reference voltage source.

Since the operational amplifier U3B has a negative feedback (provided by R20, R23, C3) it will effectively try to maintain the same voltage on both of its inputs, therefore the output of the operational...

Read more »

  • Theoretical accuracy

    Klima2 days ago 0 comments

    Theoretical accuracy

    The accuracy of the circuit was estimated using a Python script, implementing a MonteCarlo like estimation.

    The following sources of errors were considered:

    Accuracy of the resistors: +-0.1%

    Offset voltages of the opamps: +-0.1 mV

    Accuracy of the LM4040: +-0.1%

    Contact resistance: 0 to 0.1 Ohm

    Relative error

    Absolute error

    For most of the range, the relative error is usually below 0.1%. In terms of absolute error, in most cases the error stays below 10mV. This is a sufficiently low error for my purposes.

    Measurements should follow.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates