I am trying to design a circuit that, depending on a value that a microcontroller recieves (between 1 and 10), a fixed voltage of 20 V, 40 V, 60 V,... or 200 V (depending on the value recieved by the microcontroller) appears at the output. So, for example, if the value 2 is read, then 40 V should appear at the output; if the value is 6, then 120 V; and so on. In other words, I have to control digitally a switch that short-circuits the output of the circuit with one of the ten voltage sources available.

This is what I've done so far:

The microcontroller recieves a value between 1 and 10 (via USB, but that doesn't matter). The thing is that I put that number in an output port using 4 bits. Those pins enter a demux that is connected to 10 different outputs. So the thing is that I want these pins to control a set of interruptors that make a short-circuit between the output and the voltage sources. I have available ten voltage sources of the ten different values (20 to 200 V). I don't know how to implement this part of the circuit.

I've thought of each output pin of the demux being connected to a MOSFET that would act as switches, but I don't know how to connect them in order to get what I'm looking for. I believe some drivers would be needed here, but again, I can't think of a way to connect them to get the desired result.

Do you have any ideas? If the question is not clear please let me know, and I'll try to clarify it.


The resistance load for the circuit will be 50 \$\Omega\$. The output has to be a rectangular wave (its duty cycle can be varied with a variable resistor). The maximum amplitude of the wave can be 200 V, and the minimum 20 V.

The maximum average output power reaches 1.92 W (there are peaks of instantaneous power of 800 W), and the mean value of the output current is 9.6 mA.

  • \$\begingroup\$ old linear Lambda supplies could be remote programmed with 200 Ohm per voltage using a resistor DAC. That was the easiest way. HP supplies used HP-IB aka IEEE488 serial interface to remote program easily. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Dec 5 '16 at 4:38
  • \$\begingroup\$ The voltage sources you have to switch on, are AC or DC? Also, as @Richard Crowley is asking, what is the maximum current? \$\endgroup\$ – Adam Calvet Bohl Dec 5 '16 at 7:58
  • \$\begingroup\$ @AdamCalvetBohl The voltage sources are DC. The peak current (found by simulation) gets to 4 A, but the average is way lower. \$\endgroup\$ – Tendero Dec 5 '16 at 15:19

At what current? Converting numbers to voltage is exactly the definition of a DAC (Digital to Analog Converter). We don't know what kind of circuit would be suitable because we have no idea what current/power you are talking about.

But the conventional way of doing this would be to use the binary value to switch in a binary-weighted (1-2-4-8-16...) voltage divider or to use a R-2R ladder. Then you would take some low DC volage (like 0-5V or 0-12V) and multiply it (with an amplifier) up to the 0-200V desired output.

Or even easier to use an actual DAC chip (which are quite inexpensive) to directly generate the 0-5V signal and amplify that 40x to produce 0-200V, etc.

  • \$\begingroup\$ Hi, I forgot to specify that. I've updated the question with some additional info. By simulation I get peak currents of 4 A when the amplitude of the output signal is 200 V, but the average current is way lower. The problem with the amplifier is that I should connect it to the source of 200 V, and maintaining it on would be very inefficient. Isn't there another way? \$\endgroup\$ – Tendero Dec 5 '16 at 15:22
  • 1
    \$\begingroup\$ It is hard to reconcile conflicting requirements of "instantaneous power of 800 W" vs. wanting something is not "very inefficient". Perhaps you have not revealed why "efficiency" is important to your mystery project? It is difficult to recommend useful suggestions when we don't see the whole picture. \$\endgroup\$ – Richard Crowley Dec 5 '16 at 16:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.