Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Dds signal generator module

Status
Not open for further replies.

throbscottle

Well-Known Member
I started looking for a design for a hombrew signal generator, and discovered these: **broken link removed** (there is a different design board on eBay as well) as an easy way to use Analogue's AD9850 DDS chip. Looks like a very versatile device. What does anyone think of this as a core for a hobbyist designed sig jenny?
 
I have used "the different design" of module with both AD9850 and AD9851, and they worked fine for me.

Here it is in a box. The outside is quite nice, but inside is a bit of an ugly evolving work in progress.

DDS SigGen.jpg

JimB
 
I bought two (from different sellers).

Both are still in their packets two years later - I really must get round to doing something with them :p
 
Wow, sweet looking piece of kit Jim :) Did you use the rotary encoder idea from Analogue's app note 557?
 
Did you use the rotary encoder idea from Analogue's app note 557?
I think the answer to that is no, as far as I know I have never seen app note 557.

When I first started playing with the encoder, I wrote a routine from scratch which was all very thorough and tested all possible states but could take rather a lot of processor time and was a bit clunky when polling the port to test the states of the encoder.
Eventually I used a routine which I found on-line (The PICLIST ?) which was much shorter and I put it inside an interupt service routine. That can keep up with me spinning the encoder as fast as I can by hand (it is something like a 500 step encoder).

JimB
 
Mmmm, food for thought there, then :)
 
Earlier I wrote:
as far as I know I have never seen app note 557
Not quite true!

I just googled that app note and realise that I read most of it in its original form in the magazine RadCom many years ago.
The only idea which I used from that article was the way of mounting the AD9850 into a 28 pin DIL header.

In my original incarnation of this signal generator, I used that AD9850 on a DIL header, a PIC 16F84 and two display modules with 7 segment LEDs which gave me an 8 digit frequency display.
The thing worked reasonably well, but setting the frequency could be a bit tiresome with just two tuning rates.

Then one day I had a flash of inspiration which gave me a better way to set the frequency.
I had originally been driving a binary count from the quad encoder and then calculating the display frequency and the DDS tuning words from that.
The new idea was to use the quad encoder to drive decade counters for the display and calculate the DDS tuning words from the display.
That way I could tune any individual display decade, or let the count ripple through the decades for continuous tuning.
I should point out that these decade counters are PIC registers, not 7490s or similar!
I also moved from the LED display to the LCD and added some buttons to give various control facilities.
I also upgraded the PIC to a 16F887 which has a lot more I/O ports and registers than the old 16F84. Saves a lot of messing about multiplexing I/O.

JimB
 
Now that was a bit of good lateral thinking then! Well I've put snipes on a few modules (the non-led ones) so hopefully I'll get one for <£2. Now I am at a "where to start?" point. Just need to generate a few sine/square waves at the moment to calibrate the Cossor CD150 'scope I've finally found the fault on (replacement transistor for y preamp in post) so I'm thinking I can set the tuning words with dip switches or similar, for that! Then I can get round to working out exactly what I desire in a signal generator anyway, find a nice case etc...

Thanks for the show & tell Jim - inspirational!

(edit - btw that is a nice case you've used - what is it?)
 
The case is just a simple steel carcase which I bought some years ago for £1 if I remember correctly.
DDS Sig Gen Case.JPG

The insides I made myself from scraps of aluminium which I had on hand.
DDS Sig Gen Inside.jpg

The front panel I made myself. The cut-out for the LCD was done with my lathe.
Put a milling cutter in the chuck and mount the panel on the vertical slide and you have a simple milling machine.
(A vertical slide is an accessory, not usually seen on the average lathe in normal use).
DDS Sig Gen Front Panel.JPG

The idea behind having two output connectors is that one is for high frequencies (above 1MHz) and the other is for low frequencies (0 to 1MHz).
So far the low frequency output is not connected, I will get around to it one day.

The buttons:
Save - saves the displayed frequency and mode to EEPROM. The generator will then start with these conditions after a power on/off.
Tune Speed - press the buttons to cycle through three tuning rates.
Zero LSD - sets the digits to the right of the cursor to zero. Pressing the button in the picture would set the display to 13.546000 Mhz.
Cursor Left/Right - moves the cursor left or right. Turning the tune control will then change the frequency at the cursor position, the digits to the right of the cursor will bot be affected.
Tune/Set - when set to Tune (shows T at the left side of the display) the frequency will tune up/down through the whole range of the generator. The tuning steps will be determined by the cursor position. In the picture the generator will tune in 1kHz steps.
When set to Set (shows S at the left side of the display) tuning will be restricted to the digit at the cursor position. In the picture the generator will tune from 13.560875 to 13.569875Mhz. The purpose of this is to be able to just set individual digits to quickly set a wanted frequency without having to tune through the whole range of the generator.

Mmm.... I think I have just gone half way to writing an operation manual for it!

The label for the buttons was made using MS Excel and stuck to the front panel using clear nail varnish.
Shame about the lines through the Zero LSD and Tune Speed boxes, I did not notice that error until much later.


I'm thinking I can set the tuning words with dip switches or similar
You may change your thoughts on that when you get around to trying it!
It would be far easier to have a PIC read a switch and then send the tuning words to the AD9850.

JimB
 
Wow, plenty of ideas for my own then! Thanks! (and the inside is far from ugly!) The Plan is to build a complete signal generator eventually, but for now I need about 5 known frequencies at fairly short notice, hence the dip switches (but as you say I might quickly change my mind). For me programming a pic is still a long drawn out process, so I may as well take my time with the complete design.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top