I hope my friend will not be angry at me, if I publish his results.
He's currently designing and impedance analyser (proportionaly variable measurement frequency) for an ultrasonic transducer as a part of his master's thesis. The current setup looks something like this:
An STM32F429i-DISCO kit as a processing base. DAC set as an 1Msps 12bit DDS (up to 100kHz output). Two ADCs for sampling (1MSps 12bit too) both current (from the I/V stage) and voltage at the same time. The phase detection is done therefore in software, by multiplying the sampled V and I components by sine and cosine waveforms, then integrated.
The sampled data are gathered into a buffer of 4K samples, processed after (real time should be pretty possible I think, but not implemented yet) in a float32. (Here comes the FPU really handy!)
The hardware is a simplified version of the first schematic in this thread, fixed gains (no MUXes present).
Only few test has been done so far, but results look very promissing. The 4K buffer is equal to about 4.1ms of integration (at 1MSps). The values are quite stable, 4 significant digits holding. I have suggested him to integrate for a multiple of 20ms, to supress mains related noise.
Here is a short sampleset of data measured with a 56ohm resistor as a DUT. First column is resistance in hundred ohms, second column is phase angle in rads. No calibration whatsoever, only raw acquisition, if I remember right.
R: 0.564495 -0.034469
R: 0.564533 -0.034413
R: 0.564518 -0.034521
R: 0.564587 -0.034505
R: 0.564587 -0.034476
R: 0.564461 -0.034459
R: 0.564528 -0.034473
R: 0.564542 -0.034463
R: 0.564460 -0.034557
R: 0.564542 -0.034640
R: 0.564416 -0.034613
R: 0.564459 -0.034654
R: 0.564485 -0.034441
R: 0.564364 -0.034402
R: 0.564459 -0.034538
R: 0.564481 -0.034526
R: 0.564404 -0.034598
R: 0.564456 -0.034624
R: 0.564460 -0.034646
R: 0.564430 -0.034714
R: 0.564458 -0.034628
I will ask my friend if he is willing to share some photos of his prototype :-)
I am quite interested in his work, as I plan for many years to build myself a decent LCR meter and finaly got some ideas for a real one. Happy to see any improvments in his work.
So what do you guys think, any suggestion how to make it even better? :-)
Yan