Wednesday, June 21, 2017

Zener Signal Amplification

The raw Zener signal is around 0.2 V peek to peek. I would like to work with a signal around 5 Vp-p. I am currently using a single power source of 14.7 VDC for the zener and would like to use the same source to power a RF pre amp. I tried using a high speed opamp (TLE2084CN) to amplify the signal with poor results. I got a gain of about two. I am frustrated that I cannot seem to build a decent RF amp. I ordered a small  broadband RF amplifier from ebay ($9.47) and I couldn't get that to work either. 

Click on images for larger pictures.
Things were looking gloomy until I discovered that I could dump all the output current from the zener diode through the base of an NPN transistor (emitter grounded) and voila, a very large sawtooth waveform showed up at the emitter. A voltage gain of 25 with just two additional components! The circuit works a little differently than what I had experimented with before: when no current flows through the transistor base-emitter, voltage builds up on the collector. When the zener fires, the transistor conducts and the collector drops to a couple of volts. A small capacitor  to ground stores enough zener charge to make the transistor's conduction time adequately long for a full discharge at the collector. I am interested in measuring rates of zener firings, so this circuit works fine for me. When I hookup two zener circuits to the same power supply, the zeners do not fire at exactly the same voltage. I am making the in-series zener resistor variable so I can balance the two circuits to behave somewhat similarly.

Peak Counting


Zener amplified output (blue) and
clipped input to Schmitt-trigger (yellow).
Some of the emitter output goes through a 470pF capacitor and a 720 Ω resistor to ground. The small RC constant accentuates the smaller peaks (high pass filter). The RC output is isolated with another capacitor and is the input for a Schmitt-trigger that fires at 3.25 volts on the way up and turns off at 2.75 v on the way down. The input to the Schmitt-trigger is clamped to 3.0 ± 0.7 V by two diodes (one forward and one reverse biased) tied to a 3 volt source. The Schmitt-trigger output is the digital input of  a 14 stage ripple counter (CD4040B). The idea is to use the counter output to determine the number of peaks generated in a given length of time.

I made a small  counter shield board that plugs into pins 22 to 53 of the Arduino Mega. Each of the binary counters have 12 outputs that are wired to Mega banks A, C, G and L (INPUT mode). Using Port instructions, the banks of digital pins can be read all at once. The counters' Reset functions are wired to Mega pins 40 and 41 (OUTPUT mode, Reset = HIGH). To stop counting and to hold the current counter outputs, Mega pins 38 and 39  are set to HIGH (OUTPUT mode) to fix the counter's inputs at 5 volts. The Hold pins are changed to high impedance (INPUT mode) to allow the counters to run again.

Counter input (blue)
Counter Q1 output (yellow)
 Every one millisecond, the Arduino freezes the counter by momentarily holding the counter input high. The Arduino reads the number of counts, then the holds are released and the counters are reset . The counts from each zener channel are averaged and the squares of the differences are summed. At the end of 100 such readings (100 mS), an average between-channel deviation  is calculated and is temporarily stored in the Arduino. Once a minute, the 540 averaged between-channel difference squared values are uploaded to a VB6 program running on the host computer.

No comments:

Post a Comment