Monday, March 30, 2015

SNA JR



I started working on the SI5351 antenna analyzer that I was playing with.  I wanted to check different low-pass filters to clean up the square-wave out of the 5351, and needed a simple way to do this.  I had been following the Poor Hams Scalar Network Analyzer group on Yahoo.  I even purchased a set of boards, but had not built them yet.  I  wondered  how hard it would be to make a very simple scalar network analyzer out of  the AD9850 antenna analyzer I had built.   I really wanted something small to use for checking bandpass and other filters without having to connect to a PC.

Basically a SNA compares the signal going to a Device Under Test with what comes back from the DUT over a frequency range.   Most of the circuits I have seen use some sort of a Log amplifier-detector to measure the return signal.  I have a couple of  8307 log detectors, but from everything I had read they would require a lot careful layout and shielding to get it working  in an Altoids tin along with the rest of the circuitry.  And probably the use of surface mount components.

I decided to try just use two basic diode RF detectors and changed the amplifiers so I could adjust the gain.  I use one to measure the direct output of the 9850 DDS module, and the other for the output of the DUT.   I kept the same control function as in the Antenna analyzer  A short push on the encoder button starts a sweep of the selected band.   Once a scan is done you can use the encoder to scroll through the sweep.  I display the frequency and compute the return value from the DUT  in db. relative to the output of the DDS module.  The USB connector is available and different start and stop frequencies can be entered if needed when working with IF stages.

After a simple adjustment of the amp gains for equal values with the output looped directly to the input, I was measuring nearly 50 db  loss with the loop-back removed.  Just using some standard value resistors, in a pi attenuator I got a very nice looking sweep that was within a few db. of the 40 db. I had designed it for.  Since I only used standard value  5%resistors, I though this was good enough.




Then I used  the program ELSIE to design a 14mhz low-pass filter, again used standard values for L and C that I had on hand .  Really happy with the results I got.






Finally I grabbed 3 crystals out of a bag without checking frequency or other parameters, and  threw together a basic crystal filter.   Used the USB interface to  set the sweep range, I was  really pleased with the results I was able to obtain. 

 The software still needs a little tweaking and a couple of additional functions I want to add, but I think this will be a very nice tool.   I will also see about adding a buffer amplifier for the DDS.  One thing I like about this method, is that I can directly measure the gain/loss of a filter or amplifier.  Trying different buffer amplifiers I fed them through an attenuator, and could measure the actual gain of the amplifier over its frequency range. Amazing what you can stick in Altoids tins, even if I to stack two so I could include a battery pack .


This project was put up on the Solder Smoke Daily News blog, and linked by Hackaday.com.    From the number of page hits and comments there appears to be quite a  bit of interest in building the SNA JR.  The most interesting comment I saw was.


Have you ever stopped to think how many electronic projects would never have existed if Altoids had not been invented?


So for those interested in building one of their own, I put the schematic , Eagle cad board layout , and Arduino code in a public Dropbox folder.

https://www.dropbox.com/sh/sq8wz0ybwqksb1c/AABWwbt3FiwE3uq28XfBtIdIa?dl=0

Everything fits on a single sided circuit board, with only one jumper for 5 volts to power the op-amp.  Hardest part is stacking everything to fit in the Altoids tin.
Since this was the prototype I did not want to solder the Nano and DDS modules directly to the board.  I used a couple of cut down 40 pin low profile IC sockets for these devices.  I then shortened the pins on the Nano and DDS by about half.  This gave me clearance for the 128x128 TFT display. The only other thing I had to do was cut the heat sink tab off of the 7805 to fit in the tin.



The two gain adjusting potentiometers were mounted on their side and glued down to the board.
Slots were cut in the Altoids tin to allow adjustment, and a also a slot for access to the USB connector on the  Arduino.




I stacked this on top of another Altoids tin which holds the 2 cell battery holder for 3.7 volt Lithium batteries.  There is a SPDT slide switch that selects either battery power or external power through a jack on the side of the tin.

All controls are done through the Rotary encoder and push-button.
When displaying the SCAN screen a short push on the button starts a scan.
After the scan is completed  use the rotary encoder to scroll through the waveform.
Holding down the button for more than a second switches to the next frequency range.
If keep it held down it will continue to cycle through the ranges.

During a Scan, if you hold the button down it will display an alignment screen.
This sets the frequency to the beginning frequency of the selected range. Displays the  output and return voltages and the difference in db.  To align the SNA,  place a jumper cable from the input to output connector.  Select the frequency range you want, start the scan and hold down the button.  Then adjust the two potentiometers for equal readings around 2000.  It is fairly easy to saturate the amplifiers with a readying of 2046 so keep it down around 2000.  For most cases you can just adjust it on the 1-40 Mhz. range.



 In the latest version of software I have added settings options that allow me to remove the PC interface.  It will probably not be incorporated in the final software.



Still working on the software and some hardware refinements.  The schematic shows a buffer amplifier that I plan on trying, but have not built a board with that yet.
I will keep this updated as changes are made.





After the last local QRP club meeting I was asked about the possibility of making kits available.  Still trying to decide if I want to go this route, or just make the design for boards and software available.  If anyone would be interested in a kit of this project drop me a e-mail at duwayne@kv4qb.us   Depending on the response I will decide which way I will go.










A couple of antenna analyzers (Fall 2014) Corrected Link

Because of a downed tree during a storm I had to put up new antennas.  I had limited space so waned to go to a multi-band antenna.  From previous attempts to adjust a multi-band with just a standard SWR meter, I knew that I needed something that can scan a large frequency range at one time.  I found several web sites with information on different types of antenna analyzers, but one by Beric Dunn (K6BEZ )looked like it would be the easiest to build. 
Corrected Link     
http://www.hamstack.com/project_antenna_analyzer.html

He has versions for both PIC and Arduino based projects.   I had just finished a VFO  using a SI5351 and had working code to control it, I wanted to try using that instead of the AD9850 module he used.  I bread boarded the bridge circuit and connected the 5351 VFO after adding a simple LC low-pass filter.  Then modified the antenna analyzer code to incorporate the 5351 code I had written.  Using the PC based software from Beric, it looked like I was getting valid data when connected to different resistive loads. Connecting to a simple dipole antenna the results also looked like what I would expect.  I used this to help tune a G7FEK antenna I put up.

 Since The Nokia display and driver software I used was capable of doing  graphics,  I re-worked the code to display the sweep on the screen.  Later I decided to store the SWR values in an array, and wrote code to scroll through the completed sweep using the rotary encoder.  Also used the push-button on the encoder to enable band switching.

When everything looked like it was working, I designed and etched a small circuit board.  Because of the small size of the Adafrit SI5351 module I used, I was able to put everything in an Altoids tin.

 
I wondered if harmonics  from the square-wave output of the 5351 would cause problems in the results.  I decided to build a version using and AD9850, which had a sine-wave output.  Also switched to a color TFT display.  Doing comparison tests I found very little difference in the results I was getting.  Because of the size of the 9850 module and power requirements I was not able to to get it and the battery to fit in the Altoids tin.  But stacking two of them, one for the board, and one for the battery pack worked out.

Although both versions were usable I am looking at replacing the simple resistive bridge in the original design and going to a 3 voltage scheme to also compute impedance values.
I have a slightly larger TFT display that should work well to display the additional information.  Will update when I get around to that project.




Sunday, March 29, 2015

Dummy Load - Watt Meter

One of the first pieces of test equipment I decided to build was a QRP dummy load.
The first one was just twenty 1k  1/2 watt resistors on perf-board.  I added a diode RF detector and used a DVM  and a conversion table to measure power output.  Looking at the formula for voltage vs. power and the resulting table, it looked like it would only take a voltage divider to scale down to 5 volts max for an  Arduino  analog input.



I had recently tested a 128 x 128 pixel color TFT display that interfaced with an Arduino Pro-Mini without having to use level conversion.  I designed and etched a small circuit board, that fit in an Altoids tin along with a 9 volt battery.

With a 128 pixel wide display and a  dummy load that should handle 10 watts continuously, I decided to go with a 12 watt scale.  From the tables I found that 20 watts would give me a peak voltage of  just under 45 volts.  Giving a good safety factor I used a voltage divider ratio of 11 for the Arduino input.  The detector diode I used is also rated at 45 volts, so everything should be fine up to about 20 watts peak.   During testing I did blow a couple of diodes when I went over about 25 watts on voice peaks, but the Arduino was not damaged.
 
To make it easier to use while aligning equipment I wanted a bar graph display along with the digital re With a 128 pixel wide display and a  dummy load that should handle 10 watts continuously, I decided to go with a 12 watt scale.  From the tables I found that 20 watts would give me a peak voltage of  just under 45 volts.  Giving a good safety factor I used a voltage divider ratio of 11 for the Arduino input.  The detector diode I used is also rated at 45 volts, so everything should be fine up to about 20 watts peak.   During testing I did blow a couple of diodes when I went over about 25 watts on voice peaks, but the Arduino was not damaged.
  adout.  To indicate that the power is over the  rating of the load I change to color of the bar graph to red when over 10 watts.  Under 1 watt I display the power in mw. and in watts over 1 watt.  After scaling to the screen, I found I also had room for Peak and Average power readings.  To reduce digit bobble on the power reading I take the average of the last 8 readings, for the Average value I use the last 64 readings.  The average and peak values are reset after about 10 seconds of no power input.

 For anyone who wants to build one, I  put a copy of the schematic, board artwork and Arduino code in a public dropbox folder.

 https://www.dropbox.com/sh/tpl5dwvmraa5gsq/AAC1uk-B2RUm0xxAfLfoZUFXa?dl=0

5/4/15   UPDATE TO SKETCH IN DROP-BOX TO CHANGE ADC CONVERSION MAPPING



Sunday, March 22, 2015

DL4YHF Frequency counter re-package (Spring 2014)

I had an old QRP  transceiver that I wanted to start using.  I had modified it with a multi-turn  pot, which made adding a small counter one of my first projects.  Looking around I found the  4 - 5 digit counter by DL4YHF. 
This looked like it would do what I wanted.   It was small, had programmable IF offset, and used a readily available PIC micro controller.  The original used individual 7 segment LED displays.  I found some very small .36" 4 digit displays that would let me shrink the counter down to the size I wanted.  There are Hex code files available for either common cathode or common anode displays.  I built a breadboard version with only a small change to the input buffer, to get the sensitivity I needed. Information along with Hex code  is available at
http://www.qsl.net/dl4yhf/freq_counter/freq_counter.html

I downloaded a copy of the free version of  Cadsoft's  EAGLE PCB software. After just a little playing around I was able to get a very small board designed, after I put a couple of surface mount capacitors on the bottom of the board.
Using 'toner transfer', I etched a circuit board, and built a working unit that fit in an Altoids tin .  After a show-and-tell at  the  monthly QRP club meeting, I had several people ask If they could get one of their own.   I ordered some boards from OSH  Park, and put together  kits for those who wanted them.  The artwork for the board is available for download in the Shared Projects area on the OSH Park web site.  https://oshpark.com/shared_projects/jtQtcyix  
This is a single sided board and can very easily be made at home, or you can order a set of 3 from them for around $12.00.




Thursday, March 19, 2015

Early Arduino projects ( Fall 2014)

Because of size, I decided to use the Arduino Nano and Mini-Pro closes for most of my projects.  I ordered a couple of the NOKIA 5110 LCD modules that are available from Adafruit and  multiple e-bay vendors.  Adafruit also had a new clock generator module based on the SI5351,  I added a couple of them to my order.   I found a few good YouTube video's on using the NOKIA display, and after the parts arrived I quickly wired up a bread board.  Using the Adafruit. Graphics library I wrote a few basic routines to do simple functions such as drawing waveforms and grids.  I also found some very good source of information on the SI5351 at NT7S.COM.  Jason has done a lot of experimenting with the 5351 and written a very good Arduino library for this device.  He has also designed a SI5351 breakout board similar to the one from Adafruit.  Using his library and code for a AD9850 VFO  by AD7C, I was able to get a basic SI5351 VFO up and running.  Using EAGLE PCB software and toner transfer I made a small circuit board for the VFO that I can use in a QRP transceiver that I plan on building.
Early SI5351 VFO board
I had been in e-mail contact with Pete N6QW about programming the LCD display and the 5351.  He has modified the original software to add several features, and to use the 5351 to generate  both the BFO and LO signals for a transceiver.  He later change the display to a color TFT display.