I first blogged about this project in March. Seems quite while ago now but I have found some time to work on it.
The main boards have been made and assembled.
Mostly it works OK, (and one has been used to solve an entirely different problem for a customer.)
One of the connectors is too close to the debug connector but it doesn't need any links of track cuts.
I've spent a lot of time working on the processor and really getting to know it. The original proof of concept code did all the processing in the ADC interrupt service routing but I've moved away from this to use DMA for the ADCs and DACs and the processing is done on blocks of data. This allows me to use the ARM CMSIS DSP filtering library code.
My first application for this board is for it to work as a dual channel true RMS AC Milli-voltmeter - it can already do tricks that normal DMMs can't match like flat response from DC - 100kHz, but with optional 2nd or 4th order Butterworth or Chebyschev high and low pass filters to control the bandwidth. Currently I've defined 74 low pass filters (I don't make these one at a time - the coefficient and header files are automatically generated by a series of MATLAB scripts.).
At about this point some paid for work got in the way, reducing the scale of Frequency Analyser to thought experiments while walking the dog. This maybe wasn't a bad thing because it made me realise that the biggest limitation of the current design is that it's outputs are not beefy enough to realise the potential of the signal processing in terms of real measuring. (It can output +/- 4V pk but has a 1k source impedance.)
But I'd like to measure general network impedances (anything from coils and capacitors to loudspeakers) and with variable DC bias.
So I started thinking about a booster amplifier, and as always when you are just thinking it got quite fancy !
At first I wanted +/- 15V from a 50 ohm source, able to drive short circuits or any phase angle load at 10V RMS or 15V DC as appropriate.
DC - 100kHz, (or more if possible), low distortion, low noise and reasonably cheap.
The basic power amp looks like this:
In the simulation it manages -80dB 2nd harmonic distortion at 100kHz into 50 ohm load - I'll believe it when I measure it !
The response is flat to well over 1MHz and the power bandwidth equally good.
The front end op amp means that the DC precision is good.
But the dog pointed out that you can't use the same DAC for the DDS frequency synthesiser and the DC offset for testing things like capacitors. (Because you might want 14V DC bias and a 1V AC signal - so you would be using only 1/14th of the DAC resolution, and it's only a 12 bit DAC to start with.)
So we agreed on a dual 16 bit (slow) DAC to add offsets.
And to measure impedances we need to measure on both sides of the built in 50R source resistor - which means we need monitoring on both sides of the resistor, ideally with fast switching which means solid state switches with wide bandwidth, low distortion and low crosstalk.
At this point I thought I'd better get on with it before the plot was totally lost - feature creep only limited by the size of the drawing !
The board looks like this:
It's only for prototyping - in the end everything will need to go one board.
I've ordered the boards and bits - so a three week wait for more progress on this will give me some time to work more on the basic analyser - maybe get the display working.
MK
Top Comments