This is a Constant Load generator that is controlled by a keypad. When I started this project I was not sure what it would end up being so I built in in modules that are interconnected. THis gives me greater flexibility and it is easier for a beginner to understand the schematics and operation of the parts
I use only CMOS 4xxx -logic running on 12 volts with the exception of the Russian K155N1 Nixie drivers - they are TTL and uses 5 volts.
In total there are 10 pcs CMOS chips, 4 pcs Nixie Driver, 2 pcs NE555 and 3 pcs of TL084 Quad Op-amp. I also have 60 pcs of 0.1% precision resistors and a dozen of caps and ordinary pullup/down resistors.
There are six separate PCB's mounted onto a wooden frame and and interconnected by in headers.
Board 1 - Keypad & Decoder
The keypad that is using a CD40147 "10-line to 4-line BCD Priorty Encoder" that together with 4 inverting gates (CD40106) output a binary/BDC representation of the key that is pressed. If no key is pressed binary 1111 (decimal 15) is output. With a discrete OR-circuit made out of diodes and a pullup resistor and a capacitor a key-strobe is generated and is active when any key is pressed.
Board 2 - Storage of keypresses
Has a counter (CD40147 "Decade Counter") that increments one step for each keypress. The first four outputs of the counter is connected to the clock/latch input of four latches (CD4042 "Quad Clocked D-Latch") that each stores the data coming from the keyboard encoder. So for each press of a key that value is stored in one of the latches.
When the counter has counted four pressed it stops further counting by pulling it's own enable input high from the 5'th output. To then enter a new value on the keypad the Clear-key must first be pressed. The C-key is connected to the Reset-input of the counter so it goes back to selecting the first output pin. The C-key is also connected to all the clock/latch input if all the CD4042's (via isolation diodes) so when pressed all latches latch the value currently on the keyboard-bus - this is binary 1111 since no numeric key is pressed.
Board 3 - Nixie tubes and high voltage drivers
This board has four IN-16 nixie tubes that each are connected to a K155N1 Nixie driver (4 bit BCD to Decimal High voltage driver/decoder) that is in its turn connected to a CD4050 (hex non-invering buffer). The buffers are then connected to the outputs of the latches on board 2. Since the K155N1 are TTL technology it requires 5 volts and also present quite a high load on their inputs I need to have buffers between them and the latches or else the voltage on the latches would drop down a lot - and the output of the laches is also used for the discrete DAC's on board 6.
Board 4 - High voltage boost converter
The nixes require a voltage between 170 and 200 volts to light up so this board is a simple switched mode boost converter based on a NE555 timer and a N-FET transistor and a 100 uH inductor. This is a clone of the design from http://www.ledsales.com.au/kits/nixie_supply.pdf
Board 5 - Negative voltage converter
The TL084 opamps on board 6 requires both a positive and a negative supply. The current is very low so I simply use a NE555 oscillator and connected the output to two capacitors and diodes to generata about -10.5 volts out of the regular +12 volts power. http://en.wikipedia.org/wiki/Charge_pump
Board 6 - Digital-to-Analog converters and Constant current load
The outputs from each latch are connected to a 4-bit R2R-ladder that together with a TL084 opamp convers the digital BDC value on each latch into a voltage ranging from 0 to -675 mV. The R2R-ladders are made out of 10K 0.1% resistors.
The output of each DAC are buffered by another TL048 connected as a non-invering unity gain voltage follower. Then the buffered voltages are summed in yet another (1/4 of) TL084 using 100 ohm, 1K, 10K and 100K as the summing resistors to have each DAC affect the sum by a 10th of the previous DAC. So the first DAC affects the output in steps of 100mV, the second in steps of 10mV, the third in steps of 1mV and the last least significant DAC is only affecting the output voltage in steps of 0.1mV.
This summing stage also amplifies and inverts the signal so the total output is between 0mV and 999.9mV (almost 1 full volt).
This voltage is now used to control a standard constant current load circuit. EEVblog - construction of a Dummy Load http://www.youtube.com/watch?v=8xX2SVcItOA
A power N-FET and a 1 ohm resistor is connected in series to the load and the voltage drop over the 1 ohm resistor is read by one input of an opamp. The other opamp is connected to the DAC voltage and the opamps job adjusting the N-FET so that the voltages on its input pins are the same. So if the DAC outputs 0.5 volts to one pin the opamp will adjust the current trough the FET so that the 1 ohm resistor also drops 0.5 volts. And 0.5 volt over 1 ohm is 0.5 ampere.
The load current will always follow the voltage of the DAC. So in theory the is I enter 000.1 on the keypad the DAC will output 0.1mV and the current should be adjusted to 0.1mA - but in practice the DAC is not prefect and the opams have quite a bit of bias on their inputs so my voltage don't exactly follow the value entered. With some trimmers and better opamps this might become more exact, but for this exercise it's good enough.
The current load circuit also have two small N-FET transistors that are short circuiting the input of the power N-FET to ground while not all four digits are entered. Without that the output would be at full load when the Clear-button is pressed since the latches are set to all one's then. Not a good thing. So the short circuit FET are connected to the Enable-input of the counter at board 2 and is activated as long as the counter is still accepting more digits.