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