Jump to content
  • 0

Suggestion for improving the impedance analyzer


fonak

Question

Hello

I'm new to the forum but I have a few suggestions
to improve the impedance analyzer:

Please add:

1. Simultaneous display of parameters for the serial and parallel model in meter mode

2. Measurement of the parameter (meter and analyzer mode):
- Rp (equivalent parallel resistance)
- Vrms (actual voltage on the DUT)
- Irms (actual current flowing through the DUT)
- Complex values for voltage on DUT (Vreal, V imagined)
- Complex values for current on DUT (Ireal, I imagined)
- Rdc measurement of DC resistance (in my opinion it should not be difficult to implement)

3. Signal level settings (meter and analyzer mode):
- CV operation mode (Constant voltage) or ALC (automatic voltage level control)
- CC operating mode (Constant current) or ALC (automatic current level control)

Best regards,

Fonak

Link to comment
Share on other sites

Recommended Posts

  • 1

Hi All,

I am a material science chemist and using impedance method to characterise the dielectric properties of some novel materials by paralel plate capasitor method. As you can imagine there are a few brands who produce decent instruments for these kind of measurements. But, with the developing technology it is possible to observe similar readings with AD-IA combination compared to old 100K$ instruments. I am also an electronic hobbiest and bought an AD2 just for testing the idea and compared the result with an instrument. On that time the IA board was not available but, the readings was very similar to a commercial instrument. Anyway, now with the IA option it is more easy to make measurements. But, the biggest problem with the current setup non-autoranging the resistor values. Sure, this can be overwhelmed by making some coding. However, the IA add-on board is very complex to modding, i.e. the realys have laching function which can not be released by applying reverse control logics. Furthermore, there are also several other lack of hardware functions, such as high output current, limited input impedance of the CH1/CH2 althoug the input opamps has very high imput impedance etc. Hence, I think in the first instance the IA board should have auto ranging function. This can be done by the DIGILENT engineers, which is out of my experience and I do not have time to understand communication protocol and commands for communication of AD2 with computer. The second development again can be done by digilent which can be a decent IA board (IA2). This second release should have higher WG current to measure lower impedances and high input impedance function to read high impedances (There is a video on You-Tube mentioning a basic board ).

I think these add-ons can increase the importance of AD and Digilent which did a great job upto now.  Best wishes

Link to comment
Share on other sites

  • 0

Hi @fonak

1. The measurement list is growing, I will have to add option to add/remove items in measurements mode.
2. Rdc: I'm not sure how to fit this in the existing interface which doing AC measurements. Will this DC measurement require a new operation mode?

Thank you for the suggestions.

Link to comment
Share on other sites

  • 0
2 hours ago, attila said:

Hi @fonak

1. The measurement list is growing, I will have to add option to add/remove items in measurements mode.
2. Rdc: I'm not sure how to fit this in the existing interface which doing AC measurements. Will this DC measurement require a new operation mode?

Thank you for the suggestions.

Hi attila

1. I think that is a very good idea. For example, an  list from which the user selects any parameter to display

2. Indeed, adding a new DC  operation mode (Ohmometer tab) is a good solution.  Hardware solution for DC resistance measurment may look like that :)

 

1622286808_AD24wiremethod.thumb.jpg.a960b20bdb26891dfe3ecb976880c96e.jpg

 

Thank you for such fast response

Best regards,

Fonak

Edited by fonak
update for hardware solution
Link to comment
Share on other sites

  • 0

WOW !

WaveFoms Beta 3.10.2 is out, and has almost all the features I asked for (and much more) ?
 

 Impedance Analyzer:
    - voltage, current and custom plots
    - edit Meter list
    - Resistance mode for Meter, Frequency DC option
    - step mode in Time view

 Netowrk Analyzer:
    - step mode in Time and FFT views
    - amplitude table and custom function

Thank you very, very much attila.

WaveForms is a great software and Digilent is a very good company that cares about the customer

Link to comment
Share on other sites

  • 0
On 2/20/2019 at 9:35 AM, attila said:

Hi @fonak

I thank you for the ideas.

I plan to add CV/CC mode which will require auto resistor switching on wider frequency range, mentioned by @kojak

Hi @attila

The WaveForms software is getting better and better from version to version.

In the future, I plan to build a more advanced version of the adapter, i.e. with a better analog frontend: input with PGA maybe on AD8251,  AC coupling for inductor measurment with dc bias ( 10A max) , a stronger generator output (lower impedance, perhaps on LT1210) and a better transimpedance amplifier (LT1210 + AD8066). This adapter should extend the measuring ranges (1 Ohm or smaller), for very small inductor and very large capacitances (small ESR). I also wonder how it can be controlled from WaveForms software (maybe simple customable I2c, rs232 or SPI protocol for range selection and PGA controll using digital I/O's ).

Another interesting application of the Analog Discovery 2 can be the use of the "lock-in amplifier" technique to precise measurement of small values such as resistance (mili, micro Ohm range) or voltage.

https://en.wikipedia.org/wiki/Lock-in_amplifier

http://physics.gu.se/~larsbn/Publikationer/pub4_2012.pdf

Below are other ideas that can improve the software

Impedance meter:

1 . Compensation for the DC resistance measurement (short compensation or 0 adjust).

2.  Logger function for impedance meter  (histogram)

Power supply:

1. Simple arbitary function for power supplay (programmable ramp-up, ramp-down, simple waveform, timing). This is useful for testing system response to power disturbances

2.  Synchronus voltage settings for both power supplay channels (channel tracking). 

3.  Voltage regulation using a slider or knob

4.  Keyboard shortcut for immediate power off/on (additional protection against fried cuircuit  - no more magic smoke escape  ?)

5. if the hardware allows it, then the programmable cut-off current, or CC mode.

Protocol and Logic:

1. UART terminal with graphic ploter somethink like arduino serial plotter

2. Built-in I2C adress scanner 

Logger and voltometer:

1. Temeprature channel in logger mode.

- Built-in independent module with temperature measurements eg using ds18b20 or other popular temp sensor. Which can work in parallel to voltage channles. Very useful feature when measuring stability of temperature-dependent systems. Another aplication fot that is temerature compensation for resistance measurements in impedance meter (dc resistance mode ). 

Other:

1. Statistical analysis for measured parameters. eg histogram for voltage or impedance  and other parameters.

2. External trigger for impedance meter (single shot or auto repeat mode), voltometer, loggrer

 

In my opinion, AD2 is a very well-designed hardware and software with great possibilities to add new cool features. 

Thank you again attila. 

 

Edited by fonak
Link to comment
Share on other sites

  • 0

Hi @fonak

The CC/CV mode was added to WF beta 3.10.3
https://forum.digilentinc.com/topic/8908-waveforms-beta-download/

 

You can find the schematic of IA Adapter here:
https://reference.digilentinc.com/reference/add-ons/impedance-analyzer/start

Currently you can make lock-in amplifier like this:

 

Impedance

1. Thanks for reminding. I wanted to add offset compensation for DC, just got distracted with other projects.

2. At the moment you can use a script for history like this:

image.png.26aaf180dd0b47aed976584151b3c165.png

Impedance.run() 
// use averaging to control the sample rate
Impedance.Frequency.Averaging.value = 0.2
plot1.X.AutoScale.checked = false
var rg = []
while(true){
    if(!Impedance.wait()) break
    rg.push(Impedance.Traces.Trace.getData("Impedance")[0])
    if(rg.length>50) rg = rg.slice(1) // max length
    plot1.Y1.data = rg
    plot1.X.Range.value = rg.length
    plot1.X.Offset.value = -rg.length/2
}

 

Power

1. With AD2 6th device configuration you can use the power supplies as AWG
With EExplorer board you can use voltage or current AWG.

image.png.9ee8626ea6a55b1a2c93472c8264ee40.png

image.thumb.png.58c1af946187506ec889096a0480a0fb.png

image.png.de9ccc715fd3a1ec8aa149f7cf25a836.png

2, 3 Ok

4. You can use F5/F6 to start/stop an instrument.

5. The AD/AD2 has no voltage or current readback.
On the EExplorer board you can adjust the voltage/current limit and also have voltage/current readback.

Protocol Logic
1. You can use script, similar to the previous IA
In the Logic analyzer increasing the row height you get analog representation for the bus, interpreted values

image.png.50a1d90b04246b2d5250328427fdde1d.png

2. You have I2C scanner in Protocol/I2C/Custom/examples
image.png.71d6bc03fb25c473ad970d90d875a131.png

Other

1. You can export and import data into Scope, Spectrum, Logic Analyzer...

2. Ok. 

Thank you for your suggestions.

Link to comment
Share on other sites

  • 0
48 minutes ago, attila said:

Hi @fonak

The CC/CV mode was added to WF beta 3.10.3
https://forum.digilentinc.com/topic/8908-waveforms-beta-download/

 

You can find the schematic of IA Adapter here:
https://reference.digilentinc.com/reference/add-ons/impedance-analyzer/start

Currently you can make lock-in amplifier like this:

 

Impedance

1. Thanks for reminding. I wanted to add offset compensation for DC, just got distracted with other projects.

2. At the moment you can use a script for history like this:

image.png.26aaf180dd0b47aed976584151b3c165.png


Impedance.run() 
// use averaging to control the sample rate
Impedance.Frequency.Averaging.value = 0.2
plot1.X.AutoScale.checked = false
var rg = []
while(true){
    if(!Impedance.wait()) break
    rg.push(Impedance.Traces.Trace.getData("Impedance")[0])
    if(rg.length>50) rg = rg.slice(1) // max length
    plot1.Y1.data = rg
    plot1.X.Range.value = rg.length
    plot1.X.Offset.value = -rg.length/2
}

 

Power

1. With AD2 6th device configuration you can use the power supplies as AWG
With EExplorer board you can use voltage or current AWG.

image.png.9ee8626ea6a55b1a2c93472c8264ee40.png

image.thumb.png.58c1af946187506ec889096a0480a0fb.png

image.png.de9ccc715fd3a1ec8aa149f7cf25a836.png

2, 3 Ok

4. You can use F5/F6 to start/stop an instrument.

5. The AD/AD2 has no voltage or current readback.
On the EExplorer board you can adjust the voltage/current limit and also have voltage/current readback.

Protocol Logic
1. You can use script, similar to the previous IA
In the Logic analyzer increasing the row height you get analog representation for the bus, interpreted values

image.png.50a1d90b04246b2d5250328427fdde1d.png

2. You have I2C scanner in Protocol/I2C/Custom/examples
image.png.71d6bc03fb25c473ad970d90d875a131.png

Other

1. You can export and import data into Scope, Spectrum, Logic Analyzer...

2. Ok. 

Thank you for your suggestions.

Hi @ attila

At the beginning I would like to thank you very much for your quick response. It is also very nice to watch how the software develops and also how many functions are implemented at the request of customers and how good the support is.

-The CC/CV mode was added to WF beta 3.10.3

I will be testing the new version 3.10.4 next week. I am now outside the home "laboratory" :)

-You can find the schematic of IA Adapter here:
https://reference.digilentinc.com/reference/add-ons/impedance-analyzer/start

Yes I saw the scheme but  my goal is not only to automate the switching of ranges but, above all, the extension of the measuring range. This requires the generator output to be re-designed from scratch (higher output current), it may also be necessary to design an I / U converter

balancing.jpg.b2b241173dda633e9b1f3360ea01af42.jpg

 

-Impedance

-1. Thanks for reminding. I wanted to add offset compensation for DC, just got distracted with other projects.

-2. At the moment you can use a script for history like this:

ad2.  Thank you for script

-Power

-1. With AD2 6th device configuration you can use the power supplies as AWG

ad1. Wow I did not know that the power supply can be used as a generator channel. This is a great feature and much more advanced than asking :). I do not have unfortunately EExplorer board  :(

-4. You can use F5/F6 to start/stop an instrument.

Yes, I know about it, but this shortcut works only if the power supply window is selected. In my opinion, it would be cool to add a dedicated shortcut to turn off the power supply even when another window, eg an analyzer, is active. This button was supposed to simulate a real hardware power switch for the system being measured. Maybe in the next model AD3 there will be such a button (or two) on the casing :)

-Protocol Logic
-1. You can use script, similar to the previous IA
-In the Logic analyzer increasing the row height you get analog representation for the bus, interpreted values

ad1. Thanks for the script and advice. I did not know that it would be possible to change the view to graph like plot. Very cool function

-2. You have I2C scanner in Protocol/I2C/Custom/examples

Yes I saw this scrypt. In my opinion this is a very often used function that deserves easier use and elegant implementations :)

Once again, thank you very much for your support

 

Link to comment
Share on other sites

  • 0
On 3/4/2019 at 7:25 PM, fonak said:

Hi @ attila

At the beginning I would like to thank you very much for your quick response. It is also very nice to watch how the software develops and also how many functions are implemented at the request of customers and how good the support is.

-The CC/CV mode was added to WF beta 3.10.3

I will be testing the new version 3.10.4 next week. I am now outside the home "laboratory" :)

-You can find the schematic of IA Adapter here:
https://reference.digilentinc.com/reference/add-ons/impedance-analyzer/start

Yes I saw the scheme but  my goal is not only to automate the switching of ranges but, above all, the extension of the measuring range. This requires the generator output to be re-designed from scratch (higher output current), it may also be necessary to design an I / U converter

balancing.jpg.b2b241173dda633e9b1f3360ea01af42.jpg

 

-Impedance

-1. Thanks for reminding. I wanted to add offset compensation for DC, just got distracted with other projects.

-2. At the moment you can use a script for history like this:

ad2.  Thank you for script

-Power

-1. With AD2 6th device configuration you can use the power supplies as AWG

ad1. Wow I did not know that the power supply can be used as a generator channel. This is a great feature and much more advanced than asking :). I do not have unfortunately EExplorer board  :(

-4. You can use F5/F6 to start/stop an instrument.

Yes, I know about it, but this shortcut works only if the power supply window is selected. In my opinion, it would be cool to add a dedicated shortcut to turn off the power supply even when another window, eg an analyzer, is active. This button was supposed to simulate a real hardware power switch for the system being measured. Maybe in the next model AD3 there will be such a button (or two) on the casing :)

-Protocol Logic
-1. You can use script, similar to the previous IA
-In the Logic analyzer increasing the row height you get analog representation for the bus, interpreted values

ad1. Thanks for the script and advice. I did not know that it would be possible to change the view to graph like plot. Very cool function

-2. You have I2C scanner in Protocol/I2C/Custom/examples

Yes I saw this scrypt. In my opinion this is a very often used function that deserves easier use and elegant implementations :)

Once again, thank you very much for your support

 

Hi attila

Thank you very much for the nice implementation of the new features I asked for:

Min/Max function is also very cool (protects against burning the precious chip).

Beta 3.10.5
Added:
 - Power Supplies for AD2: tracking, slider, min/max
 - Impedance Analyze: DC mode compensation

PS. In the tab of the power supply when I using the NI Dark theme, the voltage scale (near sliders) is not visable.

image.thumb.png.63e34cd9a74b0f1deec2d5ce7939ca26.png

Link to comment
Share on other sites

  • 0

Hi attila.

Thanks for voltage scale fix in dark Ni theme. 

I also have some technical questions about Impedance Analyzer.

   1. What is the difference between compensation in menu A and menu B.

   2. Is compensation in menu A also applicable in CC or CV mode

   3. Is the phase also corrected during compensation (short or open)

   4. How many samples are collected for one period of the measured waveform (sampling ratio)

   5. Which  algorithm is used to calculate the impedance and phase. If you can please share meta code 

Thank you very much for your support.

Comp.png

Link to comment
Share on other sites

  • 0

Hi @fonak

1. A opens a dialog with several options and B is for quick compensation and enable.

2. The compensation is performed at constant amplitude and the collected data is used also in CC/CV mode.

3. Input gain, angle, voltage and current are not compensated. The other are compensated: phase, impedance, inductance, capacitance, factors.... 

4. You can specify average in number of measurements and averaging time for each step. The step is complete when both the number and time are satisfied. Each measurement contains by default at least 16 stimulus periods.

5. time domain data -> Goertzel -> circuit model (C1/C2 or (C1-C2)/C2 or C2/(C1-C2)) -> compensation -> sqrt(Rs^2+Xs^2) and atan(Xs,Rs) 

Let me know if you need more info

Link to comment
Share on other sites

  • 0
22 hours ago, Ferda said:

Hi All,

I am a material science chemist and using impedance method to characterise the dielectric properties of some novel materials by paralel plate capasitor method. As you can imagine there are a few brands who produce decent instruments for these kind of measurements. But, with the developing technology it is possible to observe similar readings with AD-IA combination compared to old 100K$ instruments. I am also an electronic hobbiest and bought an AD2 just for testing the idea and compared the result with an instrument. On that time the IA board was not available but, the readings was very similar to a commercial instrument. Anyway, now with the IA option it is more easy to make measurements. But, the biggest problem with the current setup non-autoranging the resistor values. Sure, this can be overwhelmed by making some coding. However, the IA add-on board is very complex to modding, i.e. the realys have laching function which can not be released by applying reverse control logics. Furthermore, there are also several other lack of hardware functions, such as high output current, limited input impedance of the CH1/CH2 althoug the input opamps has very high imput impedance etc. Hence, I think in the first instance the IA board should have auto ranging function. This can be done by the DIGILENT engineers, which is out of my experience and I do not have time to understand communication protocol and commands for communication of AD2 with computer. The second development again can be done by digilent which can be a decent IA board (IA2). This second release should have higher WG current to measure lower impedances and high input impedance function to read high impedances (There is a video on You-Tube mentioning a basic board ).

I think these add-ons can increase the importance of AD and Digilent which did a great job upto now.  Best wishes

Hi Ferda

I am currently at the stage of designing an external adapter PCB similar to this presented video (I read the whole post about it on eevblog). This adapter should at least solve some of the problems you're talking about (eg stronger output based on LT1210 or BUF634).

PS. Do you have a link to the program that the author of the attached video use?

Link to comment
Share on other sites

  • 0
On 4/29/2019 at 8:33 PM, fonak said:

Hi Ferda

I am currently at the stage of designing an external adapter PCB similar to this presented video (I read the whole post about it on eevblog). This adapter should at least solve some of the problems you're talking about (eg stronger output based on LT1210 or BUF634).

PS. Do you have a link to the program that the author of the attached video use?

Hi Fonak,

Thanks for your response. Unfortunately, the author or the developer removed the program from the web (probably due to the commercial importance). However, he still has some plugins (eg. audio analyser suite etc.) on his youtube account with download links. I think, the hardware section has several different modifications such as you suggested to use (LT1210, I am not sure from this driver, perhaps a smaller one such as OPA569 etc. can be a lighter version). If I would access to a source code perhaps I would give a try to modificate it with some effort. However, I am not able to reach it anymore. Btw, if you need previous versions of the advertised software on the video I may have in my download folder which I can share privately with you.

Best wishes,

Ferda

Link to comment
Share on other sites

  • 0

Hi @modmix

I'm not sure if it is true but Windows Defender identifies it as threat!

image.png.a645ffcbfbe2df21d9e312d89fab9fb6.png

The AD1 and AD2 hardware are very similar. The API is identical. The only differences are in the power supplies configuration where AD2 voltages can be adjusted and user supplies vs auxiliary supply monitoring.
The "Impedance Analyzer"/"Audio Analyzer Suite" software should work with AD2 if the creator would allow connecting to it. For this he only needs to accept the ID of AD2 like it does for AD1.

Link to comment
Share on other sites

  • 0
On 8/6/2019 at 6:37 PM, attila said:

Hi @modmix

I'm not sure if it is true but Windows Defender identifies it as threat!

image.png.a645ffcbfbe2df21d9e312d89fab9fb6.png

The AD1 and AD2 hardware are very similar. The API is identical. The only differences are in the power supplies configuration where AD2 voltages can be adjusted and user supplies vs auxiliary supply monitoring.
The "Impedance Analyzer"/"Audio Analyzer Suite" software should work with AD2 if the creator would allow connecting to it. For this he only needs to accept the ID of AD2 like it does for AD1.

Hi Attila,

The developer says " Yeah, the hardware is exactly the same except for the variable output power supply in AD2. I suspect the issue is the API call to retrieve the AD status where it returns various info like internal temperature, USB voltage and current, plus status of the power supplies, like on/off, voltage and current. I suspect this call returns the info slightly differently on AD2. It would probably be a 5 minute fix if I had an AD2, but I can't really justify spending $300 just for this."

Do you able to help?

Best wishes,

Ferda,

NB.This should be the latest version; https://www.dropbox.com/sh/ylf9i87dac65q2k/AABA_Rqgm1r5Ql0MsNyM7ajta?dl=0

Link to comment
Share on other sites

  • 0
50 minutes ago, attila said:

Hi @Ferda

The minimal differences between in AD1-2 are the analog io, power supplies and monitoring:

image.thumb.png.29361db559bb068da5c8ed101cb14d61.png

Hi @Attila,

Many thanks for your prompt reply. I could not find this table on the reference manual SDK from Digilent. Was that a previously uploaded document? Can you please route me to link of PDF file?

BW,

Ferda

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...