Hi!
Is it possible to implement Bode Plot for this oscilloscope? That would be really cool.
This oscilloscope doesn't have a function generator, so very very unlikely (someone would have to write quite a lot, to read the input frequency and amplitude in both channels from the measurements then automate timebase and voltage range adjustments, from reading those measurements) I think possible but not worth trying to do it
I don't have one of these scopes, but am thinking about getting an isolated one for 'riskier' measurements to make sure I don't damage my PC or my more expensive Picoscope. The simplest way I can think of to automate Bode plots with one is to write a Python script to control things. This came to mind as I am currently playing with a very simple Arduino-controlled AD9833-based function generator project, where I send the desired generator frequency to the Arduino over the COM port using a Python script. This is not an original idea of course.
For the measurement part of the Bode plot, it looks like the Python API that florentbr built has an autoset function. If that autoset works well enough, then florentbr did all of the hard work for us! It actually only needs to get the amplitude settings okay, since we would know the frequency already so could do a final time-base adjustment
if needed (
eg, if the signal is aliased to ensure the signal is not aliased). If the Owon works like my Picoscopes, having the wrong time-base that creates an aliased signal actually doesn't impact the amplitude measurement much, if at all, so it should work out fine.
Of course, the physical setup for Bode plots would require the function generator output and one scope channel on the input of the DUT, and the other scope channel on the output of the DUT. Automating the Bode plot would then amount to looping over the frequencies of interest. For each frequency
1. set the function generator frequency
2. run the autoset function on the scope. Perhaps adjust the time-base based on the known frequency.
3. measure the amplitudes on each scope channel and the phase difference (or time-delay) between them.
After looping over the frequencies, the plots could then be made in Python pretty easily. There are multiple ways to do step 3, of course. Without having one of these scopes I wouldn't pretend to know how exactly, but surely the API, in conjunction with other Python functions, could be used.
Anyway, I just thought I would put that idea out there in case someone cares enough to try and make it work.
I suspect many folks around here could do the coding better than I can, but I would be happy to share my super-simple Arduino and Python code for the signal generator if folks are interested in trying it out. This is my first ever project using either a microcontroller or Python, and since I just started yesterday it is a rough work-in-progress not worthy of posting as an actual 'project'. The analog output I cobbled together with parts in my bin is okay, but still on a breadboard and powered using a bench supply.
cheers!
jason