The easiest way to assemble the electronic components for the signal generator is with a small printed circuit board which connects to the Arduino and controls. This article continues the description of my DIY signal generator based on the AD9850 module.
The printed circuit board was designed using the simple Express PCB software. This PCB mounts the AD9850 DDS module, and provides all of the connections to the Arduino and rotary encoder. Basically, it is a very simple circuit which was tested on the breadboard, and then migrated to a printed circuit board. It’s dimensions are about 54 by 65 mm.
This was to be a single sided printed circuit board, which means that the copper traces are only on one side (the bottom) and the parts on the other side (the top). If needed, connections can be made on the top side with jumpers to avoid interference with the copper traces on the bottom. The design approach was as follows.
- Start by making a rough sketch on paper of the parts layout. One you have that figured out, open up Express PCB.
- Mark the positions of the copper pads to hold the parts. These are shown in red above. The pads have a 0.05” diameter and are spaced 0.1” apart. Each pad will have a small hole drilled through the middle, using something close to a #71 or #72 drill bit
- Next, wire the board with copper traces, shown in green. The traces which carry power and ground are wider than the traces which carry signals.
- Transfer the pattern to the copper side of a printed circuit board using the toner transfer method, and then etch the board. This was done using an etchant solution of hydrogen peroxide and muriatic acid described in my previous article.
- Drill the holes.
- Mount the components on the top and then solder on the bottom (copper side).
Printed Circuit Board Connections and Challenges
I hate soldering a printed circuit board. Everything is just too small! This is where my third hand comes in “handy”. The third hand provides adjustable clips to hold a printed circuit board, as well as a magnifying glass so you can see what you are doing.
With pin holes and copper traces spaced 0.1” apart you need to be careful with your soldering. The third hand leaves your real hands free to hold the soldering pencil and solder.
Somehow, I doubt that I will every try a project with surface mount technology which is absolutely tiny and really only designed for robotic assembly and multi-layer printed circuit board. I have enough of a challenge with seeing what I am doing with through-hole technology. SMT spacings are 50% or 75% smaller. My hands are not!
I previously decided that the signal generator would contain an Arduino microcontroller. This will be connected to the printed circuit board using jumper pins, similar to a breadboard design. So, I used pin headers for most of the mounting. Female pin headers were used to hold the AD9850 synthesizer module. Male pin headers were used to connect Arduino data and power lines, the KY-040 rotary encoder and provide an interface for taking signals off the board.
Six additional components were required and were wired directly to the printed circuit board as shown above:
- De-bouncing capacitors for each of the output signals from the rotary encoder. These were to ensure that there was only one pulse provided each time the encoder knob was turned.
- Pull up resistor connecting the encoder push button switch to 5V. This was to make sure the button only provided a signal when it was actually pushed.
- A single wire jumper on the top side of the board to provide 5V to the rotary encoder. I could not find a way to do this with a copper trace because of interference from the ground line.
- Blocking capacitors on each of the two sine wave outputs. This was needed to remove the DC component from the output signal. All of the capacitors were 0.1 micro-farad units,with output leads spaced 0.1” apart so they would fit nicely into the holes.
Now that I have everything working, the next step is to design and print the plastic enclosure.