gasstationwithoutpumps

Members
  • Content Count

    40
  • Joined

  • Last visited

Everything posted by gasstationwithoutpumps

  1. The "headers as comment" button on the oscilloscope no longer seems to add the "#" character to the notes. Also, the metadata for the oscilloscope does not seem to report the amount of averaging done. Incidentally, why is averaging limited to 1k? We should be able to average any number of traces, since the storage for summation does not take up more space as the number of traces being averaged increases. With 14-bit values from the ADC, even 32-bit integer arithmetic should allow 256K (262,144) traces to be averaged, not just 1k.
  2. Using Waveforms 3.9.1 under Mac OS 10.14.2, in DEMO mode with Analog Discovery 2 being emulated, selecting the wrench icon for the compensation menu results in the program hanging and needing to be killed. The same action when an Analog Discovery 2 is attached performs correctly—this seems to be just an error in the emulation in DEMO mode.
  3. Ah, I had forgotten that the compensation has to be re-run whenever any parameters are changed. I wonder, though, how critical that is compared to the errors generated by using the wrong voltage range. At the very least, the user should be warned that measured voltages are out of range (or at the limits of the range) and that the setting for channel 2 should be changed.
  4. If the default setting is just double the amplitude and the same offset, then it should not be called "auto", which implies some sort of intelligent choice. Picking a frequency in the middle of the frequency range and making one measurement to determine the output voltage range would be the sensible way to set the range for "auto".
  5. Shouldn't the auto setting be measuring the DC offset of the channel, rather than guessing?
  6. In Waveforms 3.8.17 (beta), I have encountered a bug in the impedance analyzer when the offset voltage is not zero. I was measuring the impedance of 10µF capacitors with the adapter board at 100Ω, and I got perfectly fine readings when I used amplitude=1V, offset=0V. But when I switched to using amplitude=1V, offset=4V, the impedance was reported as essentially infinite (dropping down to maybe 100MΩ around 100kHz). I got this result with several different capacitors, so it is unlikely that poor connections were responsible. The short and open compensations were redone for the new offset, and seemed to be reasonable. Providing a DC offset when testing electrolytic capacitors is essential, and a DC offset is also useful for determining the voltage dependance of ceramic capacitors, so fixing this bug seems to be fairly important.
  7. I have used the 10Ω setting and found it useful, albeit a bit risky unless the voltage is reduced to stay within current limits. The resistor too-large/too-small warning could be based on the computed magnitude of impedance, compared to the known magnitude of the reference resistor. If the resistor is not within a factor of 100 of the measured magnitude of impedance, then it is too big or too small. That isn't as good a test as looking at the measured voltages, but should come fairly close.
  8. I do not understand the algorithm being used for reporting "resistor too high!?" in the impedance analyzer. It seems to pop up whenever the phase is close to 0°, which makes no sense to me. The resistor is too large when the magnitude of impedance measured is less than about 0.01 times the reference resistance—the phase isn't really a relevant parameter. A slightly more sophisticated algorithm might look at the voltages of the two measurements and report the resistance being too large or too small when the relevant voltage (across the resistor or across the DUT) gets down to only a few bits in the ADC. Speaking of voltages—shouldn't the impedance analyzer warn the user when too much current is being asked of the function generator? With a 10Ω reference resistor, the short compensation calls for 100mA/V, but the output stage of the function generator is limited to about ±35mA so even the default ±1V is too much amplitude. Detecting that the voltage measured does not match the voltage requested should not be very difficult.
  9. I requested this feature a year or two ago, and they implemented it! I keep pushing for as much automatic metadata as possible in the files, and I've been quite happy with the responsiveness of the Waveforms developers.
  10. I've needed to use non-linear devices to model loudspeakers (for example, an inductor-like device with impedance (j 𝜔)^𝛼 M (instead of j 𝜔 L). I'm sure that Octave, Matlab, and SciPy can be set up to optimize parameters for complicated functions, but I've found it simpler to use (and teach) gnuplot's model fitting command.
  11. Steps = (stop-start)/step_size samples=1+ (stop-start)/step_size steps = (log10(stop) - log10(start)) * steps_per_decade samples = 1 + (log10(stop) - log10(start)) * steps_per_decade This works exactly as expected, if someone requests an integer number of decades, which is a fairly common use case. The main question is how to handle non-integer results. For example, if someone asks for 100 steps per decade from 20Hz to 400Hz, there are 130.1 steps desired, which rounds to 131 samples. If you start at 20Hz and make the ratio exactly 10^0.01=10.02329, you get 200Hz hit precisely, but the top frequency is 399.1 Hz rather than 400Hz. If the start and stop are made precise, then the ratio is 1.02331, and the 200Hz intermediate point gets changed to 200.4Hz. Probably the safest thing to do is to keep the start and stop frequencies correct and sacrifice the ratio a little bit.
  12. When sweeping frequency in the network or impedance analyzers, the default number of samples is 100, but this usually results in awkward values, as it corresponds to 99 steps (fencepost error). It would be better to make the default be 101 samples. It might also be nice to have a way of setting the step size, rather than the number of samples. For linear spacing, this is just a value in Hz (for example, 10Hz–100Hz in steps of 1Hz is 91 samples). For logarithmic spacing, specifying a ratio is awkward, but steps/decade is simple. For example, the 1 kHz–1 MHz at 50 steps/decade is 151 samples). I'm usually more interested in controlling the steps/decade than the total number of samples.
  13. Although there are no specs, I have made some measurements of the Impedance Analyzer board, reported at https://gasstationwithoutpumps.wordpress.com/2018/07/01/analog-discovery-impedance-analyzer/ It seemed to me that the Impedance Analyzer was built using 0.2% tolerance resistors (or that they got lucky with 1% tolerance resistors). The 10Ω reference had lower accuracy than the others, possibly because of contact resistance in the relays. If you are careful to pick the right size reference resistor and do open/short compensation, you should be able to get 1% accuracy from the measurements. I don't use the Ls, Cs, … numbers reported from the tool, but take the |Z| and phase recording and fit my own models to the data using gnuplot (I'm often fitting devices like loudspeakers or electrodes, which are not well modeled by the simple linear models used by the impedance analyzer).
  14. Thanks for making a Mac beta. I've downloaded 3.8.8 and will try it out this week.
  15. Great! I was thinking something like that should work, but I hadn't tested it yet, and I wasn't sure that even if it worked in the current version that it was a supported feature—I'd like to include this in my textbook, so that students can do network analysis of their class-D amplifiers.
  16. I was wondering whether it is possible to use the second function generator while the first one is being used for the network analyzer tool. Here is the use case: I'm testing part of a class-D amplifier, in which the triangle wave to the comparator is generated by the second function generator of the Analog Discovery 2. I'd like to use the network analyzer interface to characterize the amplifier, while keeping a fixed triangle wave on channel 2. I realize that there is probably some way to write a script to do this, but it would be nice to have all the GUI of the network analyzer and export.
  17. There is a minor bug in Waveforms 3.8.2 in the Impedance Analyzer: the metadata for probe resistance and capacitance seem to be swapped: #ProbeCapacitance: 1.04e+06 Ω #ProbeResistance: 4.3e-11 F Also, the metadata does not include the excitation (amplitude and offset). I would check the beta release of newer versions, but there doesn't seem to be a beta for the Mac OS X, just Windows and Linux.
  18. There are basically 3 analog instruments in the AD2: a 2-channel function generator, a 2-channel oscilloscope, and a 2-output power supply. (The digital instruments are a separate group.) Some of the"instruments" are composites of these fundamental instruments (mainly function generator and oscilloscope). What I would like to see in the metadata is the dump of the settings for the basic instruments that are not included in the main instrument being output. (So the function generator and power supply settings at the time the recording was made for the oscilloscope, or the power supply setting for the network analyzer.)
  19. That sounds like a nice feature—when is 3.8.5 scheduled to be released? It would still be nice to have an auto-calibrate board, so that we could recalibrate the instruments on an annual basis—the hardware design would be fairly simple, and the software changes not much, given that there is already code for hand calibration.
  20. Well, accepting 2 of my 4 suggestions is nice, but the "custom script" option is not at all suitable for new users (my students mostly do not have any programming background, and the API is not so well documented that writing the custom scripts is easy). There is something wrong with the structure of the software if the instruments don't have any way to access each others settings—there should at least be a read-only interface for finding out what the settings are!
  21. Waveforms metadata has improved in the past year, but I'd like to see still more. Here are 4 suggestions: Metadata from other tools in the instrument: For example, when saving oscilloscope results, I would like to have the power-supply and waveform settings reported as meta-data. I'm often characterizing circuits, and it would be good to have those important parameters saved automatically, instead of having to manually add them each time. Save measurements with traces: Also, exporting from the oscilloscope currently allows saving either the measurements or the waveforms, but the "Acquisition" option should save both, with the measurements included as comments in the file. Column headers as comments in tab-separated format: It would also be nice if in tab-separated format, the headers of the columns were done as a comment (at least as a selectable option), rather than uncommented. The plotting program I use does not like non-numeric values in the fields, but ignores comments. (There are various workarounds for the non-numeric values of the headers, but the easiest one is to modify the data file, which is not a practice I really want to encourage in engineering students—it is safest for data integrity to regard data files as untouchable.) Sticky notes: Finally, I find myself having to retype notes over and over, as I do experiments with one external parameter changes—it would be good if added notes were remembered from one export to the next, so that experimenter-added metadata could be edited easily, without needing to be retyped (or cut-and-pasted from an external file) each time.
  22. How much would an "autocalibrate" board cost for the Analog Discovery 2 ? I think that one could be designed using the new chip of the new DMM board, as the calibration procedure given in the documentation only requires an accurate DC multimeter. Waveforms 3 already has an understanding of SPI and the necessary connections could be made with latching relays as on the impedance board (or with FETs). In looking at student results in lab for the 25 AD2s we bought, it seems that they ship with offsets as much as a couple of millivolts. Going through and hand-calibrating them would take too long and be very tedious (even if I had a trusted multimeter to use as a calibration source), but with an auto-calibrate board, we could get them all properly calibrated in an afternoon.
  23. There is a bug in the export of data from the impedance analyzer from Waveforms (specifically from Waveforms 3.8.2 using the Analog Discovery 2, but I have seen it with earlier releases of Waveforms 3 also). The problem is that the frequencies are reported as if they were from a linear sweep, even though a logarithmic frequency sweep was done: #Date Time: 2018-07-01 16:50:47.258 #Trace: Trace #Start: 100 Hz #Stop: 1e+06 Hz #Steps: 101 #Resistor: 10000 Ω #Average: 10 #ProbeCapacitance: 1.04e+06 Ω #ProbeResistance: 4.3e-11 F #Compensation: Open Short #Wavegen: Wavegen1 #Amplification: 1 X #Settle: 20 ms #MinPeriods: 32 #Channel: Channel 1 #Range: 5.49577 V #Offset: -0.000318847 V #Attenuation: 1 X #Channel: Channel 2 #Range: 5.51181 V #Offset: -0.000280998 V #Attenuation: 1 X Frequency (Hz) Trace θ (°) Trace |Z| (Ω) Trace Ls (H) Trace Cs (F) 100 0.00067832392258167652 9971.9407134030535 0.00018789460945304077 -0.013481119008321029 10099 0.0018260127183053441 9972.4554790954317 0.00046132118972998595 -0.0045670615004842902 20098 0.0026165423173400044 9972.2098918719494 0.00060286028271848858 -0.0029068564833067186 Many of my students had problems with this bug last quarter, and we had to create a work-around in our gnuplot plotting scripts: #if the frequencies in your data file don't follow log increments use the code below # Written by Ali Fallahi #example: use plot 'data' u (correct($1)):3 instead of plot 'data' u 1:3 freq_u=1e6 #last frequency freq_l=10 #first frequency NoOfSamples=101 #number of samples indexno(f)=(NoOfSamples-1)*(f-freq_l)/(freq_u-freq_l) correct(f)=10**(log10(freq_l)+indexno(f)/(NoOfSamples-1)*log10(freq_u/freq_l)) ## plot 'measuring-10kohm-buggy-freq.txt' u (correct($1)):3 title '10k{/Symbol W}±0.1%' It would be nice not to need to correct the data files.
  24. I see that the oscilloscope gets a little metadata now, but I'd really like to see metadata for ALL the instruments that are running (power supplies, function generator, oscilloscope, impedance meter, network analyzer, …). For example, in student files, I have a hard time telling whether they had the "relative to channel 1" button on or not for the network analyzer, but that is crucial to interpreting the resulting files.