I wanted to offer some further context for this issue since I misspoke about it earlier.
It's not that the 64 bit SDK is installed (that's misleading), but rather lack of the latest 32 bit SDK being installed, which leads to a newer version of PS5000a.dll being loaded from the PicoScope App folder. Unfortunately that newer DLL seems to have an incompatibility with the way FRA4PicoScope uses it. So far all reports have been about PS5000A scopes.
I've provided example code that elicits the issue and the support team is investigating. In the meantime, using the released SDK solves the problem.
Hello hexamer,
thanks for the application, I am finding it very helpfull with my pico 4824 . I am not an expert in coding but understood that the code is opensource and I was wondering if there is any way to get the actual algorithm used by the application to calculate the frequency response and the bode diagrams since I would like to implement it in Matlal/simulink interfacing with a signal generator.
Thanks!
nanoscope wrote:Hello hexamer,
thanks for the application, I am finding it very helpfull with my pico 4824 . I am not an expert in coding but understood that the code is opensource and I was wondering if there is any way to get the actual algorithm used by the application to calculate the frequency response and the bode diagrams since I would like to implement it in Matlal/simulink interfacing with a signal generator.
Thanks!
The high level approach is pretty straightforward. It involves executing a complex output DFT on the measured input and output signals, then Gain = output magnitude / input magnitude, Phase = output phase - input phase.
Of course there are many ways to execute a DFT. And depending on the problem you're trying to solve, you might choose one over the other.
Lately I've been testing it on TPS5420EVM-175 and, as expected, it's making significant improvements to the SMPS measurements. First, the low-frequency/high-gain area is much cleaner. Second, and probably more importantly, the GM and PM are very repeatable:
It address several of the bugs and feature requests on this thread. Thank you to everyone who has provided feedback. Please give the new version a spin and let me know how it works.
Below is a list of the major changes.
Added support for new PS2000B series scopes
To make this work you will need to have the PicoScope Application installed and the SDK removed.
Added a UI for setting the configuration (no more need to hand edit the configuration files)
Handle power mode changes on flexible power scopes
Allow operation without auxilliary DC power applied
Added an API feature
Potentially useful to support other custom applications of FRA (e.g component impedance measurement)
Exposed via a DLL so it is accessible via multiple languages (e.g. C#, VBA, Python, etc)
Available as a separate feature in the installer
Adaptive stimulus mode which is important for SMPS stability measurements
New bandwidth based sampling for noise reject mode
Added a log verbosity mechanism to control what messages get logged
Improved the installer to allow for upgrade. No longer any need to remove prior version before installing the new one
Detect and report invalid SDK/API version
Fixed several bugs, most notably:
Fixed compatibility issues with PS3000D/MSO and PS6000 scopes
Fixed several issues with time domain diagnostic plots
Fixed issue where application window resizes on high DPI displays when the plot is drawn
I really would like to try out this software/tool - unfortunately I can't get it working. Windows 10 64, not the latest Creator's update, FRA 0.6. I have a 4262, which is detected on start of FRA. All standard default settings. I hit go, the log says it will start with the first frequency, I hear a relay click sound - then nothing else happens and FRA hangs forever. Have to exit it via Task Manager.
4262 and Picoscope software run without any problems.
Last edited by Techland on Fri Apr 21, 2017 3:32 am, edited 1 time in total.
Hello and thank you for your interest and patience!
I do test on Windows 10, but unfortunately do not have a PS4262 to test. If you wouldn't mind, please go into Tools->Settings->Log Verbosity and check all boxes, then try again reporting back the log. It might help us figure out more precisely where it is getting hung up.
I won't speculate too much, but the fact that you have to forcibly terminate it would seem to indicate that the data capture timeouts are not being computed properly. If it's something more serious, I could send you a debug version which may be able to report internal exception details.
hexamer - thanks for coding this nice tool and providing it to the community!
I checked all log entries and got this:
Status: 4262 S/N: CU988/013 successfully initialized.
Status: Starting frequency step 1 (1.000 Hz)
Status: Starting frequency step 1, range try 1
Status: Setting signal generator frequency to 1.000 Hz
Status: Setting input channel range to ± 1 V
Status: Setting output channel range to ± 10 mV
Status: Capturing 1025 samples (16 cycles) at 64 Hz takes 16.0 sec.
Status: Transferring and processing 1025 samples
This is when nothing happens anymore and FRA's CPU load is near zero.
Closing the app then leaves it active with 32% CPU (4 core i5), so I have to end the process via Task manager.
Techland wrote:hexamer - thanks for coding this nice tool and providing it to the community!
I checked all log entries and got this:
Status: 4262 S/N: CU988/013 successfully initialized.
Status: Starting frequency step 1 (1.000 Hz)
Status: Starting frequency step 1, range try 1
Status: Setting signal generator frequency to 1.000 Hz
Status: Setting input channel range to ± 1 V
Status: Setting output channel range to ± 10 mV
Status: Capturing 1025 samples (16 cycles) at 64 Hz takes 16.0 sec.
Status: Transferring and processing 1025 samples
This is when nothing happens anymore and FRA's CPU load is near zero.
Closing the app then leaves it active with 32% CPU (4 core i5), so I have to end the process via Task manager.
I gladly try a debug version if that helps.
Thank you for this detail. I can tell the program is likely getting hung up in GetPeakValues, which is a function that I had problems with in this topic (topic14311-210.html#p97491), though in that case, it's not hanging up and that issues seems specific to PS5000A.
I wonder if the Pico support team can try the example project I gave them on a PS4262 and see if this problem can be replicated?
I can't see any code in the FRA application itself that could hang up to that point. So there's probably no benefit in giving you the Debug version. But I did build it anyway and you can give it a try if you wish: https://bitbucket.org/hexamer/fra4picos ... %200.6.msi
I have a problem. FRA4 not works with my new 2206B - "Error: Unable to initialize device with serial number EY465/0001"
I am using PicoSDK_64_10.6.10.24 from included CD.
Before there I used 2204A and everything worked perfect.
Can you tell me some reason? I tried to use 32bit sdk or old version 64bit and something else and nothing works.
I need to do a bode plot with FRA4.
Can you help me? Thanks.
Attachments
fra.PNG (11.46 KiB) Viewed 14720 times
Last edited by martin.s on Tue Jul 18, 2017 6:43 pm, edited 1 time in total.
I have a problem. FRA4 not works with my new 2208B - "Error: Unable to initialize device with serial number EY465/0001"
I am using PicoSDK_64_10.6.10.24 from included CD.
Before there I used 2204A and everything worked perfect.
Can you tell me some reason? I tried to use 32bit sdk or old version 64bit and something else and nothing works.
I need to do a bode plot with FRA4.
Can you help me? Thanks.
Hello and thank you for reporting this - I suspect this may be a common problem. Since the SDK does not yet include support for the newer 2000B scopes, the API DLLs have to come from the PicoScope application. The FRA4PicoScope application prefers to get its DLLs from the SDK location. So it will load incompatible DLLs for these newer scopes. The workaround is to uninstall all PicoScope 32 bit SDKs, keep the PicoScope Application installed, then run the FRA application. You should be able to keep 64 bit SDKs installed if you need them for something else.