• Stars
    star
    34
  • Rank 766,985 (Top 16 %)
  • Language
    Python
  • License
    MIT License
  • Created over 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Python program that plots Bode diagrams of a component using a Rigol DS1054Z and a JDS6600

DS1054Z_BodePlotter

A Python program that plots Bode plots of a component using a Rigol DS1054Z Oscilloscope and a JDS6600 DDS Generator.

A Bode plot shows the frequency response of a system plotted in a phase and a amplitude graph.

Requirements

DS1054Z_BodePlotter needs a numpy/scipy/matplotlib environment. Under Linux Distros you can install these via package manager (See here for more informations). Under Windows you can use Anaconda.

Further you will need to install pyserial, DS1054Z, and (optional) zeroconf. You can do this via pip: pip install pyserial ds1054z zeroconf

Hardware setup

Connect your JDS6600 via USB with you computer and connect the DS1054Z to network (via Ethernet port).

Connect the Channel 1 output of the JDS6600 to CH1 of the DS1054Z and to the input of the component you want to test (DUT = Device under test). Connect CH2 of the DS1054Z to the output of the DUT.

Schematic

Usage

The basic syntax is python bode.py MIN_FREQ MAX_FREQ [FREQ_COUNT], so if you, for example, want to test your DUT between 1kHz and 2.2Mhz, with 100 steps (default is 50), you can do it like this: python bode.py 1e3 2.2e6 100.

If you have installed zeroconf, the program will try to find your Oscilloscope automatically, if not you will have to specify the IP via the --ds_ip option. Mostl likely you will also have to specify the serial port of the JDS6600, you can do this with --awg-port.

By default only the Amplitude diagram is measured and plotted. If you also want to get the Phase diagram, you will have to specify the --phase flag.

If you want to use the measured data in another software like OriginLab or Matlab, you can export it to a semicolon-seperated CSV file with the --output option.

So a typical command line would like this: python bode.py 1e3 2.2e6 100 --ds_ip 192.168.1.108 --awg_port /dev/ttyUSB0 --phase --output out.csv

By default the amplitude plots are shown with linear voltage scale. If you want to get logarithmic axis you can switch this in the plot windows under Figure options.

To see the full list of possible options call python bode.py --help.

Output examples

Here are some example measurements:

LC Parallel Resonance Circuit

LC Amplitude Diagram LC Phase Diagram

RL high pass

RL Amplitude RL Phase

RC low pass

RC Amplitude RL Phase

License

This program is licensed under the MIT License. See LICENSE file for more info.

The jds6600.py library was taken from here

More Repositories

1

CrookedStyleSheets

Webpage tracking only using CSS (and no JS)
CSS
3,288
star
2

UE4-CheatSheet

An Cheat Sheet for Unreal Engine 4 C++ programming, licensed under CC BY-NC-SA 4.0
TeX
431
star
3

ESP32Console

Extensible UART console library for ESP32 with useful included commands.
C++
152
star
4

settings-bundle

A bundle to easily create typesafe, user-configurable settings for symfony applications
PHP
73
star
5

PCBruler

A PCB Ruler created in KiCAD
66
star
6

SDBatchToolsGUI

A Gui for the Substance Designer Tools
C#
24
star
7

WireDebugger

Debug AVRs with DebugWire via SerialPort
C#
21
star
8

AVR-ZIF-Programmer

An AVR Programmer based on USBasp which uses a ZIF-Socket for Programming.
KiCad Layout
10
star
9

2fa-webauthn

Webauthn Two-Factor-Authentictication Plugin for scheb 2fa
PHP
8
star
10

bs-treeview

TreeView element for browsers without any dependencies
TypeScript
7
star
11

FM1216duino

An Arduino Library to controlo FM1216-Tuner over I2C (only Soft-I2C)
C
7
star
12

FTController

A Motor controller for Fischertechnik with many cool features.
HTML
5
star
13

Source2Strings

A repository containing extracted strings from existing Source2 games
Shell
5
star
14

Recolldroid

A android app for comfortable use of Recoll-WebUI on android.
Java
4
star
15

ESP07-Breakout

The KiCAD Project files for my ESP07-Breakout
KiCad Layout
4
star
16

Part-DB-android

Part-DB Barcode Scanner for Android
Java
3
star
17

StuRa-Finanzsoftware

A little web project to submit PaymentOrders via a web formula and manage them in a backend. Developed for the student council of the University of Jena.
PHP
3
star
18

GolonkaBBCodeParser

A copy of Golonka\BBCode after original repo got deleted (it's a dependency for Part-DB)
PHP
2
star
19

dompdf-font-loader-bundle

A symfony bundle to easily load custom fonts for dompdf (on cache warming)
PHP
2
star
20

Portal2HQMaterials

High Quality remake Materials for Portal 2
2
star
21

FRMorp

A tool for dumping firmware from SPMP8000 devices originally written by openschemes.com
C
1
star
22

WiFI-Sinus-Gen

The ESP8266 Code for my WLAN DDS Sinus Generator
Arduino
1
star
23

WiFi-Sinus-Generator-android

The Repository for the WiFi-Sinus-Generator Android App
Java
1
star