Adorable Homebrew Waveform Generator

waveform

For want of new test equipment, or simply a project, [Enzo] decided he would take a shot at creating his own waveform generator*. Not only is it a great project, it’s also a decent piece of test equipment, with proper signal conditioning, a nice front panel, and a built-in wall transformer.

The guts of [Enzo]’s waveform generator is an AD9833 programmable waveform generator, a neat little chip that can output square and triangle waves fro 0.1 Hz to 3.2 MHz and sine waves from 0.1 Hz to 1.6 MHz. [Enzo] is controlling this chip with a PIC16 microcontroller, with a whole bunch of analog circuitry between the digital domain and the BNC connector on the front panel.

The waveform generator is controlled by a suite of dials and switches on the front panel, giving [Enzo] complete control over his new tool.

* Here’s a Google translation, but good luck with that. Just… get Chrome or something.

24 thoughts on “Adorable Homebrew Waveform Generator

  1. Nice build, very well put together.

    I always like to see point-to-point matrix-board construction, especially when it’s done well. Lets me carry on, knowing I’m not the only one who is crazy enough to love building circuits this way!

  2. I do so love to ADJ my SINUS so it has an OFS.

    The silly thing is there’s more than enough room for full-names on all of those. But it must have been a conscious decision, joking aside.

  3. I think it’s a pity the offset and adjustment aren’t controlled by the uC but analog. The comport interface is nice :)

    1. I think it is a pity the chip is only available in surface mount packaging. I won’t use surface mount components for ethical reasons.

  4. i always found it strange how people reccomend chrome’s translate over google’s…
    isnt it the same database of translate-data, by the same company,
    on the same server…???

    im NOT trying to hate here, im just confused and i’d like to know,
    there MUST be a reason people keep saying it?

    1. i think in this instance it is because the image-host prevents the google translate homepage from opening the image, where in chrome it is done in the browser itself and so the image host never knows.

    2. Chrome’s translate function just passes the text to google translate, where google translate’s page takes the URL and passes you a whole HTML file. It’s fundamentally more efficient.

  5. Going for 12V to support RS-232 is a nice touch. It’s well built, too.
    The only thing I would suggest to change is: the IEC main input connector. There are versions that hold a small FUSE – a fuse is the first thing I add to any circuit involving mains electricity.

    1. I used a common ICL232 because it is very easy to find on the scrap I have lying around.
      The use of a driver operating at 12v can introduce small noise of this power, dedicated solely to the analog part.
      The absence of a fuse is a lack of this tool :-( Anyway, thanks for the advice and to appreciate my generator.

  6. I couldn’t understand the amplitude adjust stage. What are those JFETs doing there? Why not just use a non-inverting amplifier?

    1. Il problema era attenuare il segnale senza farlo passare in un potenziometro.
      Lo stadio con i due jfets permette di attenuare il segnale partendo da una tensione, e con una bassa distorsione.

      1. Excuse me…
        The problem was attenuate the signal without passing in a potentiometer.
        The stage with the two JFETs allows to attenuate the signal from a voltage, and with low distortion.

        1. Why do you avoid using a potentiometer for attenuation? I don’t think they would distort the signal more than the opamp circuit.

          1. The problem is given by the length of the wire needed to connect the potentiometer to the analog board.
            If crossed by a little current, the parasitic capacitance of the cable causes distortion.
            You can solve it by using a low-value potentiometer or by using a voltage controlled attenuator.
            This is nice because it can be controlled by a DAC. Unfortunately, I haven’t done this due to lack of space and other reasons! But this can run…

  7. I do not even know how I ended up here, but I thought this post was great.
    I do not know who you are but definitely you are going to a famous blogger
    if you aren’t already ;) Cheers!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s