Sunday, June 06, 2010

Project finish




The keypad used for waveform mode change and frequency value input, and the two knobs used for amplitude and DC offset control. A SD/MMC card slot is next to the knob.


The DDS with two output connectors, one provides normal signal, another output filtered signal.

Tuesday, May 25, 2010

Demonstration


Arbitrary waveform output, 1kHz.


Sawtooth waveform output, 1kHz.


Square waveform output, 1kHz.


Sine waveform, normal and filtered outputs, 1kHz.

Saturday, May 22, 2010

Final testing & assembly


Final testing before assembly.


Making connection to each boards, such as DDS main unit, power supply, LCD display and keypad. The IDC ribbon cable used to connect the LCD display.

Wednesday, May 19, 2010

Case design


To design a plastic case, the place arrangement of each boards, keypad and LCD display are very important. For some critical dimension, a tool like Vernier Scale is useful for measurement.


The acrylic boards layout was designed with the AutoCAD software. Cutting and drilling those acrylic boards performed by the laser engraving machine.


Using the Chloroform (CHCl3) to glue the acrylic boards.

Thursday, May 13, 2010

SD/MMC card socket


The important thing before soldering the SD/MMC socket, it should be drilling two holes to the PCB, they can fixing the socket itself and against insertion force from the card.

Soldering components


After the PCB developing and etching process, the next step is soldering components.


Using a magnifier to help for soldering some small components, such as SSOP and TQFP packages.


Thursday, April 29, 2010

3D PCB design


"EagleCAD" + "Eagle3D" + "POV-Ray" = Beautiful 3D rendered images. It is very useful before the actual PCB fabrication, I used this "virtual layout" to check the component orientation and the board space is enough or not.


Another small board is a power supply module.

Tuesday, April 27, 2010

PCB design


EagleCAD 5.9.0 used for the schematic drawing and PCB layout.


This screen capture shown many "air wires", they still need to route perfectly on PCB.

Tuesday, April 13, 2010

Arbitrary waveform


There are many problems when implement arbitrary waveform; first, the flash memory (ROM) inside of the AVR microcontroller is used to store the program and constant waveform patterns, it cannot be change; second, the internal data memory (RAM) is used dynamic address allocation method to store data, also, it's not enough space. (Screen capture above shown when storing sine wave pattern to the data memory, it can't reconstruct completely.)


One of the solution to fix this problem is used the external memory - SD/MMC card. It provides a large capacity to store the different waveform pattern files, but it can't run the waveform directly, so I need design a program to load the waveform file first, from SD/MMC card to the EEPROM memory that inside of AVR microcontroller.

Saturday, March 27, 2010

Software simulation


For the DDS project software testing and debug, a software simulation suite was used, it can provided a better way to troubleshoot and find out any error in the program.


The VSM (Virtual System Modeling) combines mixed mode SPICE circuit simulation, animated components and microprocessor models to facilitate co-simulation of microcontroller based designs. The most important feature its ability to simulate the interaction between software running on a microcontroller and any analog or digital electronics connected to it.

Tuesday, March 02, 2010

Waveform smoothness


After analogue signal generated from the DAC (Digital-to-Analogue Converter), it require a low-pass filter to make its smoothness, especially on the non-linear function (e.g. sine wave). Left trace: before filter; Right trace: after filter.


I used a Switched Capacitor Filter - MAX264, this active filter is designed for precision filtering applications. The center frequency, Q value, and operating mode (Low/High/Band pass) are all selectable via pin-strapped inputs.

Wednesday, February 17, 2010

Distortion of the waveform


Distortion occurred in the DDS when a keypad is connected, I spent many time to fix this problem.... >_< , but the reason is too simple, I just forgot to stop the timer interrupt when the waveform is generating.

Friday, February 12, 2010

Components box


Some of my electronics component boxes.

Friday, January 01, 2010

Keypad attached


For easy to input the frequency value and waveform setting, a keypad control should be implement.

Saturday, November 07, 2009

DIY a AVR JTAG debugger


A homebrew AVR-JTAG debugger (top right), it includes ICE (in-circuit emulator) and programmer functions.


Top view of the homebrew AVR-JTAG.


Bottom view of the homebrew AVR-JTAG.

Tuesday, October 27, 2009

Prototype testing


Bread board testing, sine wave generated from the R-2R resistors ladder.


Left: prototype of the homebrew AVR-JTAG debugger; Right: prototype of the DDS.

Sunday, October 11, 2009

Wire wrap to pin header


A special connector was made for the AVR-ISP programmer and AVR-JTAG debugger.

Sunday, September 27, 2009

2nd hand oscilloscope


I bought a second hand oscilloscope for this project, cost RMB¥400 from ShenZhen electronics market.