Differences between revisions 2 and 3
Revision 2 as of 2017-10-08 11:05:24
Size: 6209
Editor: RudolfReuter
Comment: new #2
Revision 3 as of 2017-10-09 19:01:58
Size: 10263
Editor: RudolfReuter
Comment: new #2
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:

/!\ you can '''magnify the pictures''' (and download) with a '''mouse click''' on it.
Line 38: Line 40:
 * '''Power suppy''':  * '''Power supply''':
Line 48: Line 50:
In order to make the DSO more useful, tree modifications are made.

||<tablestyle="float: right;">[[attachment:DSO150_USB-UART_DSC07451.jpg|{{attachment:DSO150_USB-UART_DSC07451.jpg|attachment:DSO150_USB-UART_DSC07451.jpg|width="400"}}]] ||
In order to make the DSO more useful, three modifications are made.

||<tablestyle="float: right;">[[attachment:DSO150_USB-UART_DSC07467.jpg|{{attachment:DSO150_USB-UART_DSC07467.jpg|attachment:DSO150_USB-UART_DSC07467.jpg|width="400"}}]] ||
Line 67: Line 69:

I have bought several units, unfortunately one of them could '''not''' be programmed (flashed).

For programming I used the freeware program [[https://sourceforge.net/projects/stm32flash/|stm32flash]] and used it under '''Mac OS''' and '''Ubuntu 1604'''.
 * '''Install under Mac OS''': It was made with macports.
{{{
$ sudo port install stm32flash
}}}
 * '''Install under Ubuntu 1604''': Download the source code and compile it.
'''Read the CPU info''' to make sure the hardware works:
{{{
# Read STM32 Info:
$ stm32flash -b 115200 /dev/cu.SLAB_USBtoUART # Mac OS
$ stm32flash -b 115200 /dev/ttyUSB0 # Ubuntu 1604
tm32flash 0.5
http://stm32flash.sourceforge.net/
Interface serial_posix: 115200 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

Sigrok Pulseview protocol analysis (about 3 ms after trigger (falling edge)):
TXD = PC, RXD = STM32 (DSO150), data in hexadecimal
TxD 7F 01 FE 00 FF
RxD 79 79 22 00 00 79 79 0B 22 00 01 02 11 21 31 43 63 73 82 92 79
Data
TxD 02 FD
RxD 79 01 04 10 79
Data Device ID 0x0410

# the flashing was made with (Ubuntu 1604):
$ stm32flash -b 115200 -v -w 113-15011-060B_toshi.hex /dev/ttyUSB0
}}}
Line 76: Line 117:
  * 1024 lines with the waveform data in '''volt'''.


=== Waveform Visualisation ===
OK, you can download the '''waveform data''', but how can you '''visualate''' it? The necessary steps are:
  * 1024 lines with the '''waveform data''' in '''volt'''.


||<tablestyle="float: right;">[[attachment:DSO150_gnuplot_qt.png|{{attachment:DSO150_gnuplot_qt.png|attachment:DSO150_gnuplot_qt.png|width="400"}}]] ||
=== Waveform Visualization ===
OK, you can download the '''waveform data''', but how can you '''visualize''' it (see '''screen shot''' on the right)? The necessary steps are:
Line 85: Line 127:
  * Take care to '''localize''' the '''decimal point'''.
 1. '''Visualise''' the '''.csv''' file data with the program '''GNUplot'''.
  * Take care to '''localize''' the '''decimal point''' ("." or ",").
 1. '''Visualize''' the '''.csv''' file data with the program '''GNUplot'''.
Line 91: Line 133:
 1. '''Wait''' up to 60 seconds for the start of the data transmition.  1. '''Wait''' up to 60 seconds for the start of the data transmission.
Line 102: Line 144:
The program can be seen and downloaded [[attachment:dso150_p23.py|here]].

==== GNUplot cross platform ====
[[https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2.0/|GNUplot]] can be installed cross platform. The best '''font quality''', which works on all platforms, can be achieved with the graphic library '''QT5'''. Installation:

 * '''Mac OS''': install with '''Homebrew''':
{{{
$ brew update
$ brew doctor # check for errors

$ brew install gnuplot --with-qt
or
$ brew (re)install gnuplot --with-qt # in my case gnuplot was already installed with X11
==> Summary
🍺 /usr/local/Cellar/qt/5.9.1: 9,019 files, 278.0MB
}}}

 * '''Ubuntu 1604''': In '''Terminal''' type:
{{{
$ sudo apt-get install gnuplot5-qt # version 5.0
}}}
 * '''Windows 7/10:''': Download and install file: gp520-win64-mingw.exe
  * In the '''install window''' set a mark on: Anwendungsverzeichnis dem Suchpfad PATH hinzufügen
  * In the '''install window''' set a mark on: add application folder to search PATH


==== Python cross platform ====
/!\ In order to use the '''USB - UART converter''' you need to install a '''driver''' from the manufacturer of the chip.
For the recommended chip '''CP2102''' it can be found at this [[https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers|Link]]

Today I can recommend '''Python 3'''. It is more comfortable than Python 2. I have tested my program partially also with Python 2.7.
 * '''Mac OS''': Download [[https://www.python.org/ftp/python/3.6.3/python-3.6.3-macosx10.6.pkg|python-3.6.3-macosx10.6.pkg]] and install it.
  * Install '''serial port library''': in Terminal:
{{{
$ sudo pip3 install py-serial
}}}
 * '''Ubuntu 1604''': in Terminal:
{{{
$ sudo apt-get install python3

# Serial port library
$ sudo pip3 install py-serial
}}}
 * '''Windows 7/10''': [[https://www.python.org/downloads/release/python-363/|Install from here]], package: '''Windows x86 executable installer'''
  * Install '''serial port library''': in Terminal, with admin rights:
{{{
$ pip3 install py-serial
}}}
Line 108: Line 197:
 * [[http://doc.qt.io/qt-5/gettingstarted.html|QT5 getting started]]
 * [[http://doc.qt.io/qt-5/supported-platforms.html|QT5 supported platforms]]

JYE Tech DSO150

There is now (Sept. 2017) a low cost (18 EUR) Digital Storage Oscilloscope (DSO shell) from company JYE Tech available, e.g. banggood.com, search for Product ID = 1093865.

  • Pros: nearly complete soldered kit with housing.

    • good user interface (software)
    • with modded software from toshi with data export.

    • Portable operation possible, with battery pack (power consumption 120mA @ 9V)

    • Good documentation - manual, schematics, firmware update

  • Cons: Limited bandwidth of 200 KHz.

    • 1 channel only.

/!\ you can magnify the pictures (and download) with a mouse click on it.

attachment:DSO150_DSC07450.jpg

Specifications

  • Vertical:

    • Number of Channel: 1
    • Analog Bandwidth: 0 - 200KHz
    • Sensitivity: 5mV/Div - 20V/Div
    • Sensitivity error: < 5%

    • Resolution: 12-bit
    • Input Impedance: 1M ohm
    • Maximum Input voltage: 50Vpk
    • Coupling: DC, AC, GND
  • Horizontal:

    • Max Real-time Sampling Rate: 1Msps
    • Timebase: 10us/Div - 500s/Div
    • Record Length: 1024
  • Trigger:

    • Trigger Modes: Auto, Normal, Single
    • Trigger Types: Rising/falling edge
    • Trigger Position: 1/2 of buffer size fixed
  • Display:

    • 2.4-inch color TFT LCD with 320 x 240 resolution
  • Power supply:

    • 9V DC (8 - 10V acceptable)
    • Supply Current: 120mA @ 9V
  • Physical:

    • Dimension: 115mm X 75mm X 22mm
    • Weight: 100 gram (not including cables and power supply)

Modifications

In order to make the DSO more useful, three modifications are made.

attachment:DSO150_USB-UART_DSC07467.jpg

Rechargeable Battery Pack

On Ebay.de you can buy a 6 x AA battery housing (ID number 162434646097, 1.6 EUR) with 15 cm wires and an ON-OFF sliding switch. To connect to the DSO150 you need a DC plug 5.5/2.1 mm (e.g. ebay.de ID no. 152190640539, for about 10 pc. 2 EUR).

/!\ Because of the low voltage (7.4 V) you need to short the inverse-polarity protection diode. See the picture on the right for the wiring. The voltage regulators 78L05 need minmum 7 V for the voltage regulation. So, be careful to do not inverse the polarity of the power supply wiring.

USB - UART Converter

In order to allow a firmware update, or to capture waveform data via USB connection (needs toshi firmware 60B), you need to adopt an USB-UART converter. Fortunately you get on ebay.de (ID no. 381765079624, 1.15 EUR) a little module which just fits into the DSO150 housing, and has on the data lines the necessary 3.3 V level. The USB plug is micro USB.

attachment:DSO150_jumper_DSC07463.jpg

Jumpers

In order to make the firmware update easier, the solder jumpers J1 and J2 are routed with wires to 2mm spacing posts, see the picture on the right. I am using wire-wrap wires, because they are thin and have a good isolation.

I have mounted the posts with hot glue to the board.

/!\ Take care about the position, if you place the posts more to the right, the electrolyte capacitors of the analog board are in the way.

I have bought several units, unfortunately one of them could not be programmed (flashed).

For programming I used the freeware program stm32flash and used it under Mac OS and Ubuntu 1604.

  • Install under Mac OS: It was made with macports.

$ sudo port install stm32flash
  • Install under Ubuntu 1604: Download the source code and compile it.

Read the CPU info to make sure the hardware works:

# Read STM32 Info:
$ stm32flash -b 115200 /dev/cu.SLAB_USBtoUART  # Mac OS
$ stm32flash -b 115200 /dev/ttyUSB0            # Ubuntu 1604
tm32flash 0.5
http://stm32flash.sourceforge.net/
Interface serial_posix: 115200 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (STM32F10xxx Medium-density)
- RAM        : 20KiB  (512b reserved by bootloader)
- Flash      : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

Sigrok Pulseview protocol analysis (about 3 ms after trigger (falling edge)):
TXD = PC, RXD = STM32 (DSO150), data in hexadecimal
TxD 7F     01 FE                  00 FF
RxD    79         79 22 00 00 79        79 0B 22 00 01 02 11 21 31 43 63 73 82 92 79
Data                                                       
TxD 02 FD
RxD       79 01 04 10 79
Data     Device ID 0x0410

# the flashing was made with (Ubuntu 1604):
$ stm32flash -b 115200 -v -w 113-15011-060B_toshi.hex /dev/ttyUSB0

Firmware Mod

A nice guy provides an extended firmware 60B. You can download the software from toshi with source code. The benefits are:

  • Show the trigger voltage in the lower right corner of the screen.

  • Allow a waveform data export via USB port:

    • UART parameters: 38400 baud, 8N1

    • The telegram is coded in ASCII and with Return + Line Feed at the line end.

    • 1st line has the time interval in seconds.

    • 1024 lines with the waveform data in volt.

attachment:DSO150_gnuplot_qt.png

Waveform Visualization

OK, you can download the waveform data, but how can you visualize it (see screen shot on the right)? The necessary steps are:

  1. Capture the waveform data to a text file.

    • Start the program first, waiting for the data.

    • Push the ADJ button for the start of the data transmission.

  2. Convert the waveform data to a .csv (Comma Separated Values) file.

    • Take care to localize the decimal point ("." or ",").

  3. Visualize the .csv file data with the program GNUplot.

    • Take care to include the actual Date & Time in the plot.

I liked to use a software which is cross platform (Linux, Mac OS, Windows), so I decided for Python.

The five major tasks in the software are:

  1. Wait up to 60 seconds for the start of the data transmission.

  2. Read the data into a list (real time), then write all into a text file.

  3. Read the data file, then calculate the time row, localize the decimal point and write the .csv file.

  4. Prepare a parameter file for program GNUplot. Add Date & Time.

  5. Call GNUplot with the parameter file.

    • The terminal command line looks like:

        $ python dso150-p23.py -pd
        # option -p means capture data and write a .csv file
        # option -d means plot data

The program can be seen and downloaded here.

GNUplot cross platform

GNUplot can be installed cross platform. The best font quality, which works on all platforms, can be achieved with the graphic library QT5. Installation:

  • Mac OS: install with Homebrew:

$ brew update
$ brew doctor  # check for errors

$ brew install gnuplot --with-qt
or
$ brew (re)install gnuplot --with-qt  # in my case gnuplot was already installed with X11
==> Summary
🍺  /usr/local/Cellar/qt/5.9.1: 9,019 files, 278.0MB
  • Ubuntu 1604: In Terminal type:

$ sudo apt-get install gnuplot5-qt  # version 5.0
  • Windows 7/10:: Download and install file: gp520-win64-mingw.exe

    • In the install window set a mark on: Anwendungsverzeichnis dem Suchpfad PATH hinzufügen

    • In the install window set a mark on: add application folder to search PATH

Python cross platform

/!\ In order to use the USB - UART converter you need to install a driver from the manufacturer of the chip. For the recommended chip CP2102 it can be found at this Link

Today I can recommend Python 3. It is more comfortable than Python 2. I have tested my program partially also with Python 2.7.

$ sudo pip3 install  py-serial
  • Ubuntu 1604: in Terminal:

$ sudo apt-get install python3

# Serial port library
$ sudo pip3 install py-serial
  • Windows 7/10: Install from here, package: Windows x86 executable installer

    • Install serial port library: in Terminal, with admin rights:

$ pip3 install  py-serial

Liste der Seiten in dieser category:

-- RudolfReuter 2017-10-07 13:21:29


Go back to CategoryTechDoku or StartSeite

JyeTechDSO150 (last edited 2018-10-15 20:30:41 by RudolfReuter)