a simple arduino-driven dds project

4
'" Carrying on the Practical Way with Tex Swann G1TEX E-Mail: tex@pwpublishing.ltd. uk A Simple Arduino- driven Direct Digital Synthesiser Project Our Technical Editor gets involved in creating a simple HF DDS local oscillator project. Don't worry; he assures us it's not that difficult! W en I started to put ogether the slngle- band double sideband DSB) transceiver project described in PW back in the September 2014 issue, I paid less attention to the type of local oscillator to use. I'd initially used a Spectrum Communications Portland oscillator project, see 28 website below, slightly modified to cover 7.0 to 7.2MHz. The Portland oscillator originally used a single variable resistor to cover the band but I found it rather difficult to tune precisely. So this was changed to a multi-turn potentiometer, which gave much better control of frequency. www.spectrumcomms.co.uk One side effect of this change of control resistor was a difficulty in knowing the precise frequency. So began a search for an alternative osci llator. One option I found was, in display and frequency terms, ideal. That option is the Arduino-based direct digital synthesis (DDS) oscillator from Kanga-Products, website below, which was created by Paul Darlington MOXPD, URL below. www.kanga-products.co.uk http://mOxpd.blogspot.co.uk A DDS 'oscillator' is in practice not a true oscillator because it produces a repetitive waveform from a series of discrete steps, rath er than usi ng a feedback mechanism to create an output. The semiconductor fi rm Analog Devices produces a vari ety of these DDS chips, PractJcal Wireless May 2016

Upload: anon849271

Post on 09-Jul-2016

95 views

Category:

Documents


11 download

DESCRIPTION

.

TRANSCRIPT

Page 1: A Simple Arduino-driven DDS Project

'" Carrying on the Practical Way with Tex Swann G1TEX • E-Mail: [email protected]

A Simple Arduino­driven Direct Digital Synthesiser Project Our Technical Editor gets involved in creating a simple HF DDS local oscillator project. Don't worry; he assures us it's not that difficult!

Wen I started to put

ogether the slngle­band double sideband DSB) transceiver

project described in PW back in the September 2014 issue, I paid less attention to the type of local oscillator to use. I'd initially used a Spectrum Communications Portland oscillator project, see

28

website below, slightly modified to cover 7.0 to 7.2MHz. The Portland oscillator originally used a single variable resistor to cover the band but I found it rather difficult to tune precisely. So this was changed to a multi-turn potentiometer, which gave much better control of frequency. www.spectrumcomms.co.uk

One side effect of this change of control

resistor was a difficulty in knowing the precise frequency. So began a search for an alternative oscillator. One option I found was, in display and frequency terms, ideal. That option is the Arduino-based direct digital synthesis (DDS) oscillator from Kanga-Products, website below, which was created by Paul Darlington MOXPD, URL below. www.kanga-products.co.uk http://mOxpd.blogspot.co.uk

A DDS 'oscillator' is in practice not a true oscillator because it produces a repetitive waveform from a series of discrete steps, rather than using a feedback mechanism to create an output. The semiconductor firm Analog Devices produces a variety of these DDS chips,

PractJcal Wireless May 2016

Page 2: A Simple Arduino-driven DDS Project

which with a little programming can create signal frequencies well up into the higher HF bands.

Sourcing the Boards There's an AD9850 in the Kanga project, which proved ideal for my requirements in terms of display and stability requirements. On the downside, it needed both the DDS project 'shield ' and a full Arduino, such as the Arduino UNO, to complete. I decided that, after the success of my Arduino RF power meter project (published in PW December 2015) , I felt sufficiently confident to tackle creating my own version of the DDS project. I therefore started looking for a suitable (cheaper) alternative for the two boards.

On a certain internet 'shopping' site, I found two suitably complete boards fully built. It turned out that there are two versions of the DDS board, Fig. 1, and a variety of Arduino 'clones' at quite reasonable prices, Fig. 2. Flushed with some progress, I set about researching how others had approached the problems of creating a DDS signal generator, using the AD9850 of which I'd found the two boards.

Although differing physically, the two boards appear to be electrically the same, meaning that they could be used with the same controlling software. Some similar boards but with AD9851 ICs are also available. These tend to be more expensive, offering only a greater range of frequencies. Using these also meant some minor changes would have to be made to the software.

Prototype Time The heading photograph shows my first working prototype, which still needs a little more work on it to put into a fully working transceiver but is otherwise fully functional. A rotary controller is used to set the frequency or band of operation. A push-switch on the rotary controller allows a faster tuning rate. In combination with a separate switch, tuning steps of 5, 50, 100 or 1 OOOHz are possible. So with 40 steps per revolution of the rotary controller, various fast or fine tuning rates are available. A separate switch again gives a tuning rate of 1 OOkHz per step except in bands that are narrow.

I initially created the project for a single band but then I wondered what else I could use it for because there was still plenty of space left in the programming memory of the Arduino clone. I decided to make it multi-band, adding in a general­purpose signal generator mode too. As the project now stands, it covers 1 OOkHz

May 2016 Practical Wireless

to 30MHz as a signal generator plus the 136 and 475kHz bands along with the 1.8, 3.5, 7, 1 O, 14, 18, 21, 24 and 28MHz

bands. Each one has indications of band limits. I chose not to provide any of the 5MHz spot frequencies.

Fig. 1: There appear to be two main versions of the AD9850 DDS board available; here they are side by side. Each has the same pins available and they seem to be electrically similar - see the text for comments about each.

• 4 ..

Fig 2: Tex also found two main versions of this Arduino clone available; either will work with his suggested program. Note that the version on the left Is slightly more difficult to Identify the various pins and has no on-board use serial interface.

29

Page 3: A Simple Arduino-driven DDS Project

World of VHF incorporating VHF DXer with Tim Kirby G4VXE Willowside, Bow Bank, Longworth, Oxfordshire OX13 5ER • E-mail: [email protected] • Twitter: g4vxe • Facebook: www.facebook.com/worldofvhf

144MHz Activity Periods, TV from ISS and More Once again Tim Kirby G4VXE has lots to report about

all aspects of VHF operating, including an interesting

smartphone app, band reports, microwaves and satellite

activity.

Lyn Leach GWBJLY is promoting some 144MHz SSB activity periods. In an effort to increase activity, he suggests three 2m SSB

activity periods each week throughout the year, commencing on Monday the March 28th. These will take place on Monday and Friday evenings between 2000 and 2200 local time and on Wednesday mornings between 1000 and 1200 local t ime.

What a great idea. Do try to come on if you can, even if you only have a vertical antenna or a halo, or perhaps you can go portable.

Receiving TV from the ISS I've mentioned receiving voice and packet transmissions from the International Space Station (ISS) in this column on many occasions but I believe this is the first time that I have had a report about receiving television from the ISS. Let Simon Evans G6AHX take up the story. "Much encouraged by a friend, Ian GBXZD, I have been trying to receive the Ham TV signal from the /SS. Today I have succeeded! I've used a 60cm prime focus dish with a homemade left-hand circular helix antenna for 2.395GHz. The signals from the /SS are thought to be right-hand circular, which is fine after reflection off the dish. I fed the received signal into an Arabsat LNB, which has a local oscillator at 3.650GHz. After the LNB, the signal passed to my satellite receiver and spectrum analyser on 1.255GHz. The LNB puts Ham TY, which

30

is a DVB-S signal, on 11. 005GHz as far as the receiver is concerned and the symbol rate=2000 and FEC= 1 /2. The signals from the !SS differ from the DVB-S specification in that they don't contain an SID but you can put the parameters in manually: VP/0=256, AP/0=257, PCR=256 and PMT =258. Anyway, having locked the receiver to the /SS, what did I see? Well, outside of school contacts the picture is all black. The camera they use is battery powered and can't be left on between broadcasts" . Simon kindly included a picture of the setup. Colin G4KLB has also been working on receiving the TV signals and has put an interesting video on YouTube that is well worth a look: https://youtu.be/9keVA21 DPBc

EsSense - VHF Propagation App for Android Jim Edgar GM4FVM alerted me to the EsSense app for Android smartphones and tablets. The app has been written by Allard PE1 NWL of DXrobot fame. This is the description of the program from the Google Play store, "Targeted (prefix­based) E-skip, TEP and Aurora alerts for the VHF ham radio operator. From the DXrobot. VHF DX spots, posted by radio amateurs to the worldwide DX cluster, are constantly monitored and analysed by the gooddx.net server. When a Sporadic E, TEP or Aurora opening is detected, the DXrobot will send targeted push messages only to users in relevant countries (countries where the opening actually occurs). These users will then receive a

notification message (and optionally an alarm sound or vibration) on their Android device. Tapping the notification icon will show a handy overview of all countries (prefixes) currently active. The overview is grouped by VHF band (2, 4 and 6m) and by propagation mode (Es/TEP and Au). A red notification icon shows if there is any Es, TEP or aurora on any of the VHF bands''. The program also facilitates the display of DX Cluster spots for the band in question. Unfortunately, I've not been able to test this myself because I use Apple iOS devices. Try it out and let me know how you get on. You can download the app, currently free, from: https://play.google. com/store/apps/details?id =net. gooddx. es sense

The Gm Band I was delighted to hear from Ron Adam GM41LS (Elgin). Ron was one of the first stations that I ever worked via aurora and many years later, is still taking advantage of the mode. During the event on March 6th, Ron had a fascinating time. After working stations on the higher bands earlier in the evening, Ron came back into the shack around 2220UTC and found TF3ML on so.11 OM Hz calling ca DX on a beam heading of around 3S0°. SSA reports were exchanged. Ron then decided to call ca on S0.090MHz and at 2230 was called by BM6GJL (Taiwan). Ron says that he was surprised to say the least! Was this aurora plus some other mode? It must have been - and I'm suspecting it was around sunrise in Taiwan. Ron awaits confirmation of the contact and if it is confirmed, then what a truly amazing one. BM6GJL does have a SOMHz EME capable system so will be well placed to exploit any openings. Other contacts included LA9DLR (JOS9) and DFSLa (J044) as well as GM81EM (1078), GM4UYE (1086) and GMOLVI (1086).

The 4m Band Simon G6AHX tried out his new 70MHz transverter for the first time during the RSGB Cumulative on February 28th, albeit using a vertical antenna. Simon's best DX was G4RFR (1090) but he was also very pleased to work GWOGEI (1072). During the aurora on March 6th, Ron GM41LS worked G3UKV (1 082).

Jim GM4FVM says, "The usual 4m meteor activity continues with regulars SP9HWY and OZ1JXY worked in the last month. A new one for me on meteor scatter (MS) was a QSO on March 12th with Tomas EA2BCJ, which was also a new square on 4m (IN91 1581km). That confirmed my belief that MS QSOs are

Practical Wireless May 2016

Page 4: A Simple Arduino-driven DDS Project

Construction The prototype shown in this article was built up on stripboard and uses the 5V supply from the separate USS-to-serial adapter because the small Arduino board doesn't have its own supply. As mentioned above, I've come across two variants of the DDS board. The one shown here is markedly cheaper for some obscure reason but they both work the same way. Having said that, this one is a little more difficult to integrate onto stripboard.

The DDS controller I chose has three rows of pins set out as one double row of seven pins and a single row of seven at the far end. Luckily, as only a few of the pins of the outer of the double row are needed, I could ignore the inner row completely when putting sockets onto the stripboard.

Because the clone Arduino board I built this project with is physically small and has no on-board serial programming interface, there are contacts on all four sides of the PCB. I started with this version because I was still waiting for the other ones to turn up.

The initial board also has rather a cramped pin annotation layout and care is needed when identifying them. This will be replaced in the final version with a slightly more expensive clone that has only two rows of pins as well as its own USS programming port and regulator.

The Converter PCB Turning now to the serial-to-parallel converter PCB for the display, this should

More Information

For a copy of the Arduino sketch and the rotary encoder library involved, e-mail: [email protected] with "Arduino DDS" as the subject text.

A pre-programmed Arduino clone may be obtained, along with a small number of minimal kits available at cost. These are kits that have all the 'important' and unusual parts included, leaving you to provide some easily available other bits.

E-mail as above, for availability and more information about costs covering parts and P&P.

also be available from your favourite internet 'shop'. Depending on the source, you may need to check the address that it's set to. The photograph of Fig. 4 shows the three solder 'bridges' that, when made, set the port address to hexadecimal 20 (or 32 in decimal). Solder pad bridges have hexadecimal weighting of 4, 2 or 1 , giving eight possible addresses for control of the display.

Initially, I had assumed that the DDS synthesiser had an output impedance of 50Q for the lowpass filtered output. However, after some research, there's an indication from several documents that the output impedance is more likely to be 200Q. The alternative, unfiltered output available on the two pins shown in Fig. 3 seems to have an output impedance of 1 OOQ. This would matter less if I only wanted a local oscillator output but for use as a general-purpose signal generator, a 50Q output would be more suitable.

Luckily, some months earlier I'd come across some small pulse transformers with three apparently identical windings.

This chance find allowed me to create a 4:1 step-down transformer with a separate output winding. Connecting a transformer to the DDS output requires a small 0.1µF capacitor to isolate its DC level from the transformer's input winding. You could also create a simple bifilar-wound toroidal transformer to do the same thing.

The RF output available from this project is slightly over 1 mW (250mV) at the lower frequencies, dropping to around 500µW (150mV) at 30MHz. If a more defined output is needed for your purpose, then an ALC circuit would be needed. However, that's beyond this present project but may be the subject of a future article.

So, there you have it, a simple signal generator that covers up to 30MHz, suitable either as a general purpose unit or as signal source for homebrew direct conversion receivers or CW transmitters. See the separate panel to obtain the source files or some of the bits I have available.

0

Fig. 4: Looking at the back of the high speed serial to parallel interface board for the display that's mounted directly onto the display. The jumper at the left, marked 'LED' controls the backlight. The address setting bridges may be identified under the blue contrast setting potentiometer - see the text for comments.

May 2016 Practical Wireless 31