
And in this section, we will explain all the details with the help of the schematic let me give you a brief overview of what is happening with the circuit. We are going to use the AD9833 with Arduino to generate our desired frequency.
#Function generator use generator
The complete circuit diagram for the AD9833 and Arduino Based Function Generator is shown below. The components required to build the AD9833 based function generator is listed below, we designed this circuit with very generic components, which makes the replication process very easy.ĪD9833 Based Function Generator - Schematic Diagram Components Required to Build the AD9833 based Function Generator The details you see above is a very stripped down version of what is happening inside the IC, and Most of the details you see above are taken from the AD9833 datasheet, you can also check it out for further information. We will talk about that later in the article.
#Function generator use software
At the output, we also have a switch that we can turn on or off with just a little software code. And lastly, we have a 10-bit digital to analog converter whose job is to receives the digital data from SIN ROM and convert it into the corresponding analog voltages, that is what we get from the output. The SIN ROM uses the digital phase information as an address to a lookup table and converts the phase information into amplitude. Next, we have the SIN ROM whose job is to convert the phase information that can later be directly mapped into amplitude. If we take a look at the functional block diagram above, we will observe that we have a Phase Accumulator whose job is to store all the possible digital values of a sine wave, starting from 0 to 2π. The functional block diagram of this IC is shown below. It has a 3 wire SPI interface which is why communicating with this IC becomes very simple and easy. It’s a very unique IC that is capable of altering the output frequency and phase with just a software program. It is a low power, programmable waveform generator capable of producing sine, triangular, and square wave with a maximum frequency of 12 MHz. Understand the Working of the AD9833 Function Generator ICĪt the heart of our project is the AD9833 Programmable Waveform Generator IC which is designed and developed by analog devices. This device has a fine frequency resolution with a broad frequency spectrum. The Operations that happened inside a DDS chip are digital so it can switch the frequency very fast or it can switch from one signal to another very rapidly. But the IC we are using can produce Square or Triangular wave signals. This method is specifically used to generate a sine wave. It is a type of waveform generator that uses digital to analog converters (DAC) to build a signal from the ground up. This was just one example, you can do more things with it as the list goes on.ĭDS stands for Direct Digital Synthesis. All you need to do is set your desired output frequency and waveform, then you can crank it down or up in order to test the response. For example, consider you have an LC filter for which you want to test your output frequency response, you can easily do that with the help of a function generator. What is a DDS Function Generator?Īs the name implies, a function generator is a device that can output a specific waveform with a specific frequency upon setting. Also, if you want to build a cheaper Arduino Function generator without using the AD9833 Module, you can check out the DIY Arduino Waveform Generator Project. You can check those out if you are looking for some basic Waveform Generator Circuits. We have previously built a Simple Sine Wave Generator, a Square Wave Generator, and a Triangle Wave Generator with the help of basic analog circuits.

And finally, we are going to test the output frequency with the help of our oscilloscope. So in this article, we are going to building a simple Signal Generator with Arduino and AD9833 DDS Function Generator Module which can produce sine, square, and triangle waves with a maximum frequency of 12 MHz at the output. Building your own test equipment is not only cheaper but also a great way to improve your knowledge. But owning one is a problem because such basic equipment can cost a fortune. If you are an electronic enthusiast like me who wants to tweak around with different electronic circuits, having a decent Function Generator sometimes becomes mandatory.
