Friday, November 13, 2015

Adjustable Load

Using an idea originally described in an EEVBlog video (youtube-EEVBlog), I built a circuit that can “dial-up” a specific load (from 5mA up to 2A) and hold it even when the DUT input voltage changes. This will come in handy for testing power supplies. It uses an LM324 op-amp configured as a voltage follower that drives an N-channel power FET. A 1 Ω current sensing power resistor in series with the source lead provides feedback to the inverting input of the op-amp. Since the resistance is 1 Ω, the voltage across the resistor represents the actual current of the DUT. The FET is essentially acting as a variable resistor because when the gate voltage changes due to a change in output from the op-amp (controlled by changing the voltage of the non-inverting input), the FET drain to source current will change accordingly. Maximum power dissipation is ~25W so a heatsink with fan (from an old computer power supply) was added to keep the FET and resistor from frying.


The blue trimmer pot next to the op-amp sets the desired load.  This current is "expressed" as a voltage across "TP +" and "TP -" and is monitored with a multi-meter.


Initial tests revealed a severe oscillation at the op-amp output since they aren’t designed to drive high capacitive loads (ie. FETs). Searching for answers on the internet, I discovered this problem had already been addressed by others and simply added a small capacitor from the output to the inverting input (ie. negative feedback) to dampen the instability. Problem solved! Pretty cool test jig.

Thursday, October 1, 2015

Function Generator

I finally completed this project after tinkering with an Arduino for almost two years. I had purchased an Arduino Uno development board for my birthday in 2013. Arduino is an open sourced microcontroller platform with numerous software/hardware applications freely available on the internet. I had always wanted to build a function generator so this seemed like the perfect opportunity to put my creative skills to work. Waveforms are generated using direct digital synthesis (DDS) technology. I purchased an LCD display and a DDS module (AD9850) off of e-Bay. Adding a rotary encoder and a switch essentially completed the hardware. Now I just needed to tie everything together. That’s where the Arduino came into play. Starting with publicly available software that was written to interface with a rotary encoder (rotary-encoders-done-properly) and LCD display/DDS chipset (ad9850-dds-vfo), I modified the code to work for my particular needs. The result is a compact, easy to use function generator with the following specs:

· 10Hz-1MHz square wave (~5Vpp to 890mVpp)
· 10Hz-30MHz sine wave (~1.6Vpp to 80mVpp)
· Selectable frequency increments of 10Hz, 50Hz, 100Hz, 500Hz, 1kHz, 5kHz, 10kHz, 100kHz and 1MHz


Eventually I plan on adding a buffer/amplifier/integrator to the output to increase the gain and provide a triangle waveform.

Update (Summer 2024)
After sitting idle in my workshop for MANY years, I finally decided to finish this project and make the improvements I originally proposed. These are summarized below:

1) Triangle wave support.  My initial idea was to take the generator's square wave output and feed it into an RC integrator, thus creating a triangle wave.  This works fine for a single frequency but when the frequency changes so does the output level.  Another frequency related issue concerned the "flatness" of the triangle wave itself.  Ideally, the RC time constant for an integrator should be ~10 times greater than the period of the input signal.  As the frequency changes so does the need to change this time constant value in order to maintain a "flat" curve.  After tinkering with these issues for a while and still not finding a satisfactory solution, I went in another direction and eventually found a replacement chip for the AD9850.  The AD9833 is another DDS device but with added support for generating a triangle wave.  Also, the signal level for all three waveforms remains virtually the same throughout its frequency range.  The main tradeoff is that it has a reduced upper frequency limit compared with the original chip.

2) Increased load capacity.  Using an OPA690 high speed op-amp at the generator output, I can now drive loads up to 160mA.

3) Bias adjustment.  Signal polarity can now be shifted from fully positive to fully negative.  

4) Amplitude adjustment.  The output signal level (normally ~3.2Vpp) can be attenuated down to 0V.

Here is a picture of the newly completed unit:




Wednesday, March 11, 2015

Attenuators

Attenuators (aka pads) are useful for many things and are easy to make.  The ones I've made are known as "pi" attenuators because the resistors are arranged in the shape of the Greek letter π.
Pi attenuator
There are numerous websites around that can calculate the resistor values needed for a given value of attenuation and impedance (I work exclusively at 50 Ω).  Just be sure to consider the power rating of the resistors (especially R1 since it bears the brunt of the dissipation at high attenuation values).  Also, for RF projects you need to use resistors with low inductance values (ie. don't use wirewound) to minimize high frequency issues. One site that I found useful allows you to enter your parameters into an Excel spreadsheet (power-attenuator-calculator). 


I built a fixed 20dB attenuator (10W input) and two switchable attenuators (1W input) using metal film resistors.  I honestly spent more time and effort on the enclosures than the actual circuits themselves.  Once assembled they were easy to check out.  After terminating the output with a 50 Ω dummy load, I simply applied a known DC voltage to the input (being careful not to exceed the power rating of the input resistors) and measured the output voltage.  Plugging those two values into the equation below gave the expected attenuation:

                                          attenuation (-dB) = 20 * log (Vout/Vin)

Wednesday, December 10, 2014

10MHz Sine Wave Oscillator

I built my first oscillator using the schematic shown below but w/o the 19dB pad (obtained from the amazing but sadly now defunct website - "VE7BPO ‘Popcorn’ QRP / Home Builder")

Basic 10MHz oscillator w/ pad

"Ugly" construction techniques were used (also a first for me). The main use for this circuit will be to assist with calibrating my AD8307 based RF power meter (whenever it’s finished). However, it can also serve as a platform for learning more about oscillators in general and if needed, function as a stand-alone sine wave generator.

"Ugly" construction

Powered it up and...IT WORKS!!! Not at first…no output, then I started adjusting the trimmer cap and…viola…output. It now produces a nice looking waveform. Definitely need to invest in a non-metallic screwdriver for adjusting trimmer caps in the future (waveform goes crazy otherwise). I will probably go ahead and add a 20dB pad to cut down on the signal level (currently ~1.03Vpp @ A with 50 Ω termination).

Screenshot at A (10.0057MHz)

Friday, October 31, 2014

RF Power Meter

This project is based on the Analog Devices AD8307 logarithmic amplifier. It has a dynamic range of over 80dB making it very useful for measuring a wide range of power levels from -70dBm (.1nW) to +13dBm (20mW) with a frequency response of 0-500MHz. The DC output is directly proportional to the logarithmic input and can be used to drive a panel meter.  The original design incorporating this chip came from a June 2001 article in QST by Wes Hayward (W7ZOI) and Bob Larkin (W7PUA).

Original circuit from June 2001 QST

I took this original idea, combined it with ideas from similar designs found on the web and created a PC board from scratch.  Initial testing seemed to show promise but I wasn't completely happy with the overall result so the project sat idle for several months until...

Update (Fall 2016)
I decided to start over using a pre-fabricated board developed by another hobbyist at the Yahoo group PHSNA (https://groups.io/g/PHSNA). This one had better RF shielding and was just a cleaner looking board. I also added a 20dB attenuator to the front-in to extend the upper range to ~1W (Note - technically I could have gone up to 2W and been within the chip's specs but decided to cap things at a more conservative 1W).

I got the two most expensive parts as free samples from Analog Devices but one part, the AD820 op-amp, came as an MSOP (micro small outline package) and the board called for a DIP (dual inline package). I built a breakout board for this part as shown below:

MSOP to DIP adapter
Still working on the finishing touches, but things are quickly wrapping up and should be finished soon...

Thursday, May 9, 2013

Basic QRP Power Meter

One of my first home built projects was a basic power meter that I planned on using for future QRP work (once I got my amateur license 😊).  It is essentially a peak voltage detector consisting of a 50 Ω dummy load (three, 150 Ω, 2W resistors in parallel), a diode for rectification and a small capacitor for smoothing out the voltage.  Here is a basic circuit I found on an amateur radio club site (NorCal Power Meter).


I scratch built my own circuit board using a stencil made out of paper and fingernail polish as the resist.  The components were gathered and soldered into place and everything was then tucked away in a nice enclosure to complete the project.  Next came the calibration. The blue pots were used for this purpose so that a full scale reading on the panel meter would occur when a 1W or 5W signal was applied.

Top of board with calibration pots in blue

As an example, since P = V*V/R (where R = 50), it follows that 5W represents 15.8Vrms or 22.3Vpk.  Subtract 0.5V for the diode drop and you have 21.8VDC.  This voltage was then applied to TP1 from my power supply and the pot adjusted to achieve a full scale reading.

Completed project