DC Signal Multiplier

While considering making a constant power DC power supply, I realized that it was quite challenging to come up with a way to multiply DC analog signals. I eventually decided that it’s simply much cheaper and easier to go ahead and use a microcontroller. In this case, a PIC10F322. RA0 and RA2 are used as ADC inputs, and RA1 is used as a PWM output which is passed through a low pass filter to convert it into an analog signal. Finally, RA3 is used to reset the controller if supply voltage drops below an acceptable threshold.

PIC Multiplier Better Quality Image

PIC Multiplier.png

Circuit board design files:

Microchip MPLAB X microprocessor programming files for this device:

PIC10F322 Program

Timing Stage Block

While working on an analog automatic DC current limiter, I realized I had a need for a goto timing stage circuit that I could just drop in as required when multiple time dependent tasks need to be completed in sequence.  This circuit does that, it’s a capacitor charged with a voltage controlled current, that triggers outputs when the capacitor voltage reaches a fixed threshold.  It also has inputs which disable/pause charging and an input to trigger drain of the capacitor which resets the timer.  It has two 400mA form C outputs.  The timing isn’t linear with respect to the input voltage which is an issue I may revisit at a later date.

Timing Stage Block.png

Timing Stage Block

Time to Trigger ~= (6*C1)/(TIME_DELAY*2.4/500)   where C1 is the capacitance of the timing capacitor.

Which is precalculated on the following chart for a 25uF capacitor (note that 0 volts has a special value due to opamp range limitations and built-in voltage drops, and similarly, voltages greater than 4.3V will not have a lower trigger time.) :

Time Data.png

Add (0.8 to 2ms) to these times for the delay required to turn on the opto-relays.

24VDC Opto-Relays

This simple little guy takes two 5 to 24VDC inputs with input current up to 10mA and uses them to control opto-isolated solid state relay contacts.  This is very handy when interfacing microcontrollers with industrial controls.

If IN1 is greater than a few volts then NO1 will be connected to COM1 and NC1 will be disconnected.  If IN1 is ground then NO1 will be disconnected and NC1 will be connected to COM1.  The same holds true for IN2, NO2, NC2, and COM2.  Maximum contact hold current is 400mA, and maximum voltage across contacts is 50V.

24VDC opto relays.png

24VDC opto-relays Better Quality Image