Voltage Controller

Thread Starter

rrowley

Joined Feb 14, 2013
2
Hi
I'd like to build a circuit that would allow me to output 1-10vdc and step through from +1 to +10vdc at one volt increments.Normally I would just use a rotary switch to do this but panel space is limited.The two ideas I've had are..
1.Use 10 momentary switches eg switch 1 outputs 1v,switch 3 outputs 3v etc.I've seen circuits that give momentary switches latching action but how can I have it so only one button is active at a time and cancels the previous button push?

2.Have two momentary switches that scroll up and down from 1 to 10v,ideally with a seven segment led display showing 0-9?

I'd be grateful for any ideas or maybe someone has done this before?
Thanks
Rich
 

Brownout

Joined Jan 10, 2012
2,390
Your first question is merely an exercise in logic design. You'll have a register for each button. When you press a button, a reset signal will be sent of all registers, and a set signal to the register associated with the pressed button. Googling "radio button logic" might give you a littl more info.

You second question is easily implemented with an up/down counter. One button connects to count up and the other to count down. The output of the counter connects to an D/A converter. There must be some logic between the counter and the D/A converter to make the 1V increments
 
Last edited:

Brownout

Joined Jan 10, 2012
2,390
I was never satisfied with my answer. Here is something I came up with. If you use a 10-bit A/C converter, then each step is 100/1024 ~=.097V. So, to get 1-V intervals, all 0x11 for each time the pushbutton is exericsed. That gives .097*11 = 1.067V. Use a x 0.945 amplifier/buffer at the output for 1.067*1.945 ~=1.0V intervals. The amplifier can be an opamp with the gain set up vairable resistor. The adder can be an adder IC or a microcontroller.


EDIT: All my math was based on 1-100V output. Please scale it to your requirements of 1-10V. For example, each step of a 10-bit A/D converter is 10/1024 = .0097, and a 1V output is represented by 110 or 0x6e. This is the value to connect to the "A" input of the adder. Sorry for the confusion.
 

Attachments

Last edited:
Top