Ещё немного об осциллографе DSO112A


Обзор уже был похожего устройства. Вроде дешевый осциллограф со всеми вытекающими, что еще про него можно сказать? Поэтому повторять еще раз не буду, а расскажу почему я его выбрал.

Искал для себя, что то не дорогое, за полосой не гнался да и нужен редко. Хотелось, чтобы можно было подключить к ПК под управлением Linux. Чтобы можно было получит данные не в виде картинки. В результате выбрал DSO112A. Вообще его производит jyetech.com, но я купил копию. Устройство взаимодействует с ПК через USB, внутри стоит USB-Uart CP2102. Используется протокол xmode, кто то подумает зачем такая древность… Да, протокол старый 1977г, разработан для ОС CP/M. Зато такое устройство можно подключить вообще то к любому ПК. DSO112A может передавать данные в формате CSV. Для начала я использовал программу minicom. Потом написал небольшую программу на языке python. Вначале полученного файла находится служебная информация обо всех установках осциллографа. Её можно использовать, чтобы привязать отсчеты ко времени и напряжению. Если кому интересно, так выглядят эти
данные
JYDZ,Waveform,,,DSO112A,JYE Tech Ltd.
14,25,25
ChnNum,RecLen,ChnCfg,SampleRate,Resolution,Timebase,HPos,TrigMode,TrigSlope,TrigLvl,TrigSrc,TrigPos,TrigSen,TBcopy
00001,00512,,125000,00008,00023,00000,00000,00000,65533,,00002,,00023
00008
00000
65462
00008
20000.00
00008
00046

— 00215
00215


Вот код программы.
import serial
from xmodem import XMODEM
import io
import matplotlib.pyplot as plt

def getc(size, timeout=8):
    gbytes = ser.read(size)
    #print(f'Read Byte: {gbytes}')
    return gbytes or None


def putc(data, timeout=8):
    pbytes = ser.write(data)
    #print(f'Put Byte: {pbytes}')
    return pbytes or None


if __name__ == '__main__':
    modem = XMODEM(getc, putc)

ser = serial.Serial('/dev/ttyUSB0',115200,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,xonxoff=False,rtscts=False,dsrdtr=False  )  # open serial port

buffer = io.BytesIO()
a = modem.recv(buffer)
b = buffer.getvalue().split(b"\n")
buffer.close()

reclen = int(b[3].split(b",")[1])
t = int(b[3].split(b",")[3])
vl = hex(int(b[4]))
z = int(b[10])
sampls = list(range(reclen))
time = [i/t for i in sampls]
v = float(b[8])
out = list(map(float, b[16:16+reclen]))
volts = [(i-z)*v*1e-6 for i in out]
plt.plot(time,volts)
plt.grid(which='minor',color = 'b', linestyle = ':')
plt.grid()
plt.ylim([min(volts), max(volts)+0.1*max(volts)]) #+0.1*min(volts)
plt.xlabel('Time, Sec')
plt.ylabel('U, Volts')
plt.title("Код шкалы "+vl)

Программа читает данные и строит график. Такой например
Так выглядит тестовый сигнал. Кроме того, если верить инструкции, то осциллографом можно управлять дистанционно через тот же USB + xmodem.
Дополнительная информация
DSO112A has two working modes. Normally it works in
Standalone Mode where captured data are displayed on LCD
panel as waveform. In situation where captured data are wanted
DSO112A can be set USB Scope Mode. Under USB Scope
mode waveform display on panel will be disabled. All captured
data are output through the SI.
To make the oscilloscope enter or exit USB Scope mode certain
commands are required. These commands must be sent to the
oscilloscope via the SI. All available commands are described
in details in the section “Commands and Their Returns” below.
Управление осуществляется с помощью специальных команд. Я пока эту возможность не проверял, разве что в будущем…
Кажется, что все хорошо, но нет!
Посмотрел я как он отображает напряжение на разных шкалах и увы… Где то ошибка небольшая, а где до двух раз! И множители, что в начале CSV файла, далеко не всегда правильные. В моем экземпляре я нашел пока только три шкалы где и на экране и программно ошибки небольшие. Если я программно еще могу учесть ошибки и использовать свой откалиброванный множитель, то пользоваться автономно уже затруднительно. Не знаю, то ли копия устройства такая, что использовали в делителях резисторы не пойми какие… То ли и официальные производители дешевые устройства делают вот так… Кстати, оф. производитель продает гораздо дороже
Дополнительная информация
Даже если бы он работал как надо, все равно на мой взгляд — дорого. Мое впечатление об устройстве двоякое… Ели бы я знал, что он будет таким, то скорей всего не купил бы. Раз уж купил, то буду утешать себя тем, что могу где то исправить программно.
Выводы:
Из плюсов — хорошая функциональность и заявленные тех. параметры.
Из минусов — плохая реализация.
Планирую купить +6 Добавить в избранное +32 +53
+
avatar
  • djdff
  • 16 января 2021, 21:14
+4
если использовать с компом, почему не купить юсб приставку?
зачем танец с бубном?
у таких изделий как ИМХО какраз основное достоинство мобильность и автономность.
+
avatar
  • Jury_78
  • 16 января 2021, 21:16
0
Во первых — это дороже в два и более раз.
Во вторых проблема с поддержкой Linux
p.s.
Да и автономности хотелось.
+
avatar
  • djdff
  • 16 января 2021, 21:27
+1
ну в два вы преувеличили.
2 канала хантек стоит на 1т дороже.
зато 2 канала, и изучен вдоль и поперек.
а вот автономность это другой вопрос.
хотя я юсб приставку прикрутил к планшету. проводов больше
но тоже автономно получилось.
а вот то что сами под себя умеете программы писать это классно
в хантек кто только не писал что интерфейс программы балбес писал. но им пофиг.
+
avatar
  • Jury_78
  • 16 января 2021, 21:35
0
Ну не знаю… за 4 тыс. (покупал я примерно за 3 тыс.) я не видел. И как там с Linux?
+
avatar
  • djdff
  • 16 января 2021, 21:42
-1
вот по люниксу гарантировать не буду, но заявляют что все есть, тут даже обзоры были
mySKU.me/blog/china-stores/59224.html
лично себе я взял поновее(посырее) и подороже.
+
avatar
  • Jury_78
  • 16 января 2021, 22:04
0
Рассмотрю как альтернативу… Спасибо. Про Linux у него тоже что есть.
+
avatar
  • djdff
  • 16 января 2021, 22:08
0
я про использованию его на люне не могу вам что-то говорить, я сам не пробовал.
но читал что народ использует. а уж что там и как, тут лучше сами :)
+
avatar
  • Jury_78
  • 16 января 2021, 22:22
0
Вроде все неплохо, но…
Отсутствует «закрытый вход» (AC coupling)
Издеваются что ли… Да, много на этом сэкономили. Да же в этом моем… нормально сделано.
+
avatar
  • djdff
  • 16 января 2021, 22:32
0
да, значит у этого :) там еще подобные приставки есть, интек вроде. или еще что-то. я сам присматривался к 2 каналам и тоже смотрел что у какого-то нет закрытого входа. запамятовал уже
себе на 4 канала взял, он закрывать каналы умеет.
ну тут главное не конкретная моделька а направления поиска :)
+
avatar
  • Jury_78
  • 16 января 2021, 22:51
0
Присматривался к Owon VDS1022I, но цена…
+
avatar
  • djdff
  • 16 января 2021, 22:56
0
https://aliexpress.ru/item/item/4000058269485.html,searchweb201602_,searchweb201603_

вот вспомнил. тут тоже обозревался кем то.
они тоже разные там. но у тех вроде закрытый есть, и цена тоже около 4.
для поиска на али если ссылка не бьется
MDSO ISDS205A
+
avatar
  • Jury_78
  • 16 января 2021, 23:17
0
Видел его раньше, вроде неплох, но не для Linux.
+
avatar
  • grum77
  • 17 января 2021, 11:49
+4
Есть проект OpenHantek6022 с поддержкой Linux. В нём есть несложная доработка по AC с поддержкой в ПО.
+
avatar
  • Jury_78
  • 17 января 2021, 18:41
0
Да, видел… С таким же успехом, я бы мог и резисторы подобрать для dso112a.
+
avatar
  • mike888
  • 17 января 2021, 02:43
+3
Не очень понимаю что сейчас делать с полосой в 2мГц, только как игрушку использовать. Даже для той же ардуины надо на порядок больше. Если только аналог аудио поковырять, но там и звуковой карты хватит и на экран компа сразу
+
avatar
  • Jury_78
  • 17 января 2021, 09:38
+2
В звуковой карте отсутствует постоянная составляющая.
Применений не мало… Например источники питания. Для контроллеров лучше лог.анализаторы, а не осциллографы.
+
avatar
  • mike888
  • 17 января 2021, 15:47
0
Для постоянки в домашнем пользовании тестер дешевле и удобнее
+
avatar
  • Jury_78
  • 17 января 2021, 18:39
+1
Кто б спорил… Если ненужна зависимость от времени.
+
avatar
  • djdff
  • 17 января 2021, 10:05
+3
вот как-то не испытываю потребности дома в значительно больших частотах
а звуковая карта это ущербное решение и не такое удобное.
сварочные инверторы, и блоки питания вместе с ними. все преобразователи, вся автоэлектрика.
куча поделок типо сделано руками. весь аналог практически. электрика(50 гц)

и как выше написали для цифры нужен логер и порог вхождения ниже, и что в цифре с 1 каналом делать?
+
avatar
  • kn_dima
  • 17 января 2021, 14:00
0
и что в цифре с 1 каналом делать?
Да хоть уровень и фронты посмотреть.
+
avatar
  • mike888
  • 17 января 2021, 15:15
0
С фронтами лажа будет при низкой частоте пропускания, короткие вч импульсы вобще мимо, а иногда это принципиально. Наступал на эти грабли с осциллом с 1мгц. Кончилось покупкой 1013, да дороже, но 2 канала и частота повыше
+
avatar
  • kn_dima
  • 17 января 2021, 15:34
0
Именно, поэтому вместо DS0112 лучше взять, например DS1102 :)
+
avatar
  • djdff
  • 17 января 2021, 19:10
0
а что такое 1012? выдается в поиске овон.
тут тогда какбы прямо напрашивается, что лучше быть богатым и здоровым чем бедным и больным.
но опять же вопрос что лучше этим не закрывается.
вот при выборе 2 канала и Осцил. или за те же деньги но 4 канала но приставка.
в долгих раздумьях пришел к тому что 4 канала мне нужнее для дома для семьи
а старый планшет 10 дюймов позволяет не рассматривать экранчик с лупой
но тут уже 3-4 бюджета автора, как-то не корректно сравнивать.
+
avatar
  • kn_dima
  • 17 января 2021, 20:50
0
DS1102 Это
+
avatar
  • djdff
  • 17 января 2021, 21:05
0
а ну тоже самое :)
не, домой выбрал 6074BE
наличие 4 каналов мне оказалось важнее.
но это так, мысли в слух.
этот ценник никак не привязать к бюджету автора
+
avatar
  • geralex
  • 19 января 2021, 18:03
0
У них там на форуме есть автор софтины на C#. Правда, он тоже указывает:
DSO112A — partially supported (scope has bugs in serial interface)
А по поводу «оф. производитель продает гораздо дороже» — раньше цена в оф. магазине на али была около $45, я там и брал. А потом «что-то случилось» и цена стала в 2 раза больше.Разработчик этих осциллов везде жаловался на тех, кто продает копии-подделки его девайсов, возможно это и отбило желание развивать продукты и прошивки.
+
avatar
  • Jury_78
  • 19 января 2021, 20:30
0
Тоже этот форум видел…
По поводу цены… «хороший» ход увеличить цену для борьбы с подделками. Лучше бы они код открыли и продавали хотя бы одни платы без корпуса (для снижения цены) — желающих было б больше.