Генератор сигналов JUNTEK JDS6600 DDS - подключаем к виртуальной лаборатории

  • Цена: 75,56€ и доставка 0,75€

Здесь уже было несколько обзоров подобных генераторов со вскрытием и измерением форм выходных сигналов. Повторяться не буду, сейчас будет обзор с несколько другой точки зрения — дистанционное управление прибором, команды программного интерфейса и возможность использования прибора в домашней автоматизированной лаборатории. Сразу предупреждаю — полного описания не будет, слишком длинно и мало кому интересно. А кому интересно — тому будет достаточно и того, что есть, остальное несложно самому додумать.
Зато будет немного про LabView, а это точно кому-то может полезным оказаться.
Если интересно — читайте дальше.

Предыдущие обзоры такого генератора:
от lexus---08
от inko1973
Увидел скриншот программного обеспечение на странице товара — аж ностальгия пробрала — это же на LabView сделано!

Если кто не в курсе LabView — это графический язык, основное предназначение — позволить инженеру (или даже не инженеру, а просто эникейщику), не знакомому с программированием, самому создать систему для измерений или управления. Внутри куча самой разнообразной математики, возможности работать с изображениями или управлять роботами — но базовая версия ограничена. Всякие расширения позволяют хоть FPGA программировать.
Уже больше 5 лет с LabView не имел никаких дел, система по цене не для личного пользования и не дешевая. По крайней мере, не для пионеров и пенсионеров.
Как-то в одном немецком журнале была статья про LabView, и National Instrumens приложил к этому журналу бесплатно какую-то очень древнюю версию, для 32-разрядного Линукса. Линукс тоже должен быть древним — на последних версиях не заработало, а держать старый компьютер специально ради LabView нужды и желания не было.
Тут решил посмотреть — а что сейчас у National Instruments? И был приятно удивлен — оказывается, появилась бесплатная community версия, причем и для Linux, и для Windows и даже для Mac.
На Ubuntu Mate она встала только после танцев с бубном, но NI VISA (Virtual Instrument Software Architecture) — набор библиотек для работы с аппаратурой — на сайте под Linux отсутствовал, а без него проку от LabView мало. Вместо него присутствовал NI-DAQmx for Linux — но как им пользоваться — сие есть тайна великая. По крайней мере мне не удалось найти описания — видимо, у меня гугль не той системы.
Если кто-то знает эту страшную тайну, расскажите, пожалуйста, я никому не скажу — честно-честно :)

Если кто будет ставить LabView на Ubuntu (официально не поддерживается)
Регистрируемся на www.ni.com — без регистрации и скачивания активизировать LabView не получится. Скачиваем LabView здесь (версия Community).

Пишем
sudo apt-get install rpm
и потом подключаем скачанный iso образ, как диск и устанавливаем, как обычно
sudo sh ./INSTALL
без sudo не поставится. Но возникнет проблема — нужная папка natinst окажется в папке root. Нужно ее перенести в корень своей домашней папки и переписать себя в качестве владельца всех папок и файлов. Не пропустите скрытые файлы!
Для того, чтобы установить NI-DAQmx for Linux качаем драйвера.
Устанавливаем, потом пишем
sudo apt install ni-scope
sudo dkms autoinstall
Теперь nidaqmxconfig доступен
Можно создать свой файл конфигурации
nidaqmxconfig —export myconfig.ini
Файл найдете в своей домашней папке.
Но потом надо в нем прописать свою аппаратуру — вот как это сделать — я не нашел.
Может, кто подскажет?
А пока что долго думал, чесал репу и сделал так:
[DAQmx]
MajorVersion = 21
MinorVersion = 0
[ASRL-RSRC-ALIAS]
Name0=«ASRL1::INSTR»
Enabled0=1
Static0=1
SystemName0="/dev/ttyUSB0"
BaudRate0=115200
Parity0=0
StopBits0=10
DataBits0=8
FlowCtrl0=0

Name1=«ASRL2::INSTR»
Enabled1=1
Static1=1
SystemName1="/dev/ttyS0"
BaudRate1=115200
Parity1=0
StopBits1=10
DataBits1=8
FlowCtrl1=0
NumOfResources=2
Почему — не спрашивайте. Видимо, озарение от Летающего Макаронного Монстра было.
Потом написал
nidaqmxconfig --import myconfig.ini
и ударил в бубен.
Порт заработал, но имя оказалось неправильным. Для ttyUSB0 должно быть ASRL1::INSTR, а от отзывается на ASRL2::INSTR.
Спрашивается, на кой выпилили из Линукса NI MAX? В старых версиях он был и прекрасно работал, задумываться ни о чем не надо было, он сам всю аппаратуру находил.

Еще что-то с HELP сделать надо — не работает. У меня попытка вызвать HELP почему-то запускает balenaEtcher. Снова бил в бубен и камлал. Оказалось, что если поменять интернет браузер по умолчания с Firefox на Chrome — все прекрасно работает.

Тем не менее — пришлось включать компьютер с Windows — а это я делаю только в случае крайней необходимости. Программное обеспечение генератора работает только под Windows. После включения компьютер целый день занимался какими-то своими делами и только к ночи проявил готовность сделать хоть что-то полезное. Пришлось установку отложить на следующий день. Под Windows LabView встал без дополнительных усилий, хотя и со второго раза.
Базовые вещи за много лет не изменились. Самое паршивое — иконки программных модулей как были много лет назад 32х32 пикселя, так и остались, и возможности для масштабирования не появилось. А за много лет и зрение подсело, и плотность пикселей на мониторах сильно увеличилась. В итоге такую картинку без использования экранной лупы не разглядишь. Если будет интересно поиграться — непременно ее включите.
Приведу простенький пример, как пересылать данные из той же Ардуино в LabView.
Ардуино каждую секунду посылает по последовательному интерфейсу строку вида :1234567 и программа на LabView ее принимает.
Ардуино код:
void setup() 
{
  Serial.begin(115200);
}

void loop() 
{
  Serial.println(":1234567");
  delay(1000);
}

На компьютере — сначала запустите NI MAX и убедитесь, что он видит последовательный порт. Это касается любой аппаратуры — сперва ее должен увидеть NI MAX, без этого VISA в LabView работать не будет.

Вы удивитесь — но вот это и есть исходный код программы

Та же программа, добавлена отправка подтверждения после приема строк

И пользовательский интерфейс в работе

Выглядит очень просто — реальность, конечно, далека от этого (обычно работают десятки устройств, данные как-то обрабатываются и протоколируются, если что-то пошло не так — программа может e-mail отправить, например), но элементарные кирпичики просты до безобразия. И LabView прежде всего предназначена для использования не программистами.
Если будете устанавливать LabView и программное обеспечение генератора — сначала ставьте LabView и NI VISA, а потом программное обеспечение генератора, но только второй раз VISA устанавливать не надо, только основную программу.
Кстати, и Ардуино, для особо ленивых, можно программировать визуально.
Запускаем VI package manager и пытаемся устанавливаем пакет Labview interface for Arduino. Arduino IDE тоже должно быть установлено.

Все это описывать явно не по теме, кому интересно, читаем здесь.


Наконец-то присказка закончилась.
Генератор я купил во время распродажи — цена на чешском складе была вне конкуренции.

Еще и купон от Banggood сработал — вообще лафа.

Такой прибор выпускается под несколькими торговыми марками, в том числе и немецкой — не думаю, что это их разработка. А кто разработчик — я так и не понял.
Вот такая коробочка была доставлена спустя неделю после заказа:

Котейка была немало озадачена размером коробки — зачем такое покупать-то было?


Включаем генератор, начинаем тыкать все кнопки подряд. Как-то не очень понравилось включение и выключение выходов.
Как то не очень логично кнопки работают. Первое нажатие приводит к переключению переключателей с настроек первого канала на второй. А уже после этого эта же кнопка включает и выключает соответствующий выход.
Дистанционное управление включением-выключением выходов с прилагающего программного обеспечения у меня не заработало вообще. При попытке с PC включить вход — на генераторе переключается экран на управление соответствующим каналом, но вход не включается.
Но когда со своей программы посылал команды управления выходами — все прекрасно работает.

Тесты сигналов, которые генератор выдает были в обзорах-предшественников. От себя решил добавить только генерацию на высоких частотах. Несмотря на то, что осциллографу 60МГц вполне по зубам (Hantek 6254BC 4 Channels 250MHz 1GSa/s), линия для подключения не согласована, входной импеданс должен быть 50 Ом, а не 1 МОм. Естественно, амплитуда синусоиды слегка упала, у меандра завались фронты, у треугольника верхушки посрезались.
Максимальная частота для синусоиды 60МГц, для треугольника и меандра — 25МГц. Никаких неожиданностей не обнаружено.
Синусоида 60 МГц

Меандр 25 МГц

Треугольник 25 МГц


Подключаем прибор, запускаем программное обеспечение и сниффер последовательного порта.
Сначала программное обеспечение пытается снюхаться с прибором:
:r00=1.
:r00=60.
:r01=2166615965.
После получения стоки нужно отправить CR и LF для того, чтобы прибор выдал следующую.
Это запрос наименования устройства, вернее, последней цифры — максимальной частоты и
серийного номера. Программа на Labview будет выглядеть так:

и ответ устройства:

Далее запрашивается текущее состояние генератора:
:r21=10.
:r21=1.
:r22=3.
:r23=100000000,2.
:r24=50000000,2.
:r25=5000.
:r26=5000.
:r27=1000.
:r28=1000.
:r29=200.
:r30=500.
:r31=0.

Программа на Labview:


Еще дополнительная команда при опросе
:r55=1,1,1,1,1.
:r55=0,0,0,0,0.
:r56=15.
Данные имеют какое-то отношение к синхронизации, оставим их пока в покое.

Теперь попытаемся командовать устройством, программа установки частоты:

Как выглядит интерфейс программы:

И реакция генератора:


Теперь дистанционно поменяем скважность:


Как видим, сработало:


Изменим форму сигнала:


Да без вопросов:

Напоследок проверим установку амплитуды и сдвига сигнала:


и управление включением-выключением выходов:


Как видим, лампочка светится:


Хотя к самому интересному, такому, как свип-генератор и сигналы произвольной формы, так и не подошли, но, пожалуй, остановимся.
Для старта этого должно хватить.
Получившийся файл виртуального инструмента можно скачать здесь.

В качестве справки, что команды значат (список не полный, кроме того, возможности форматирования на сайте бедные, поэтому понять что к чему не очень просто):
функция
rчтение
wзапись
aTBD
bTBD


Следующая цифра:

кодфункцияпримерпримечание
0версия, она же максимальная частота:r00=0.
1серийный номер:r01=0.
20разрешения выходов:w20=1,1.
21форма сигнала канала 1:w21=0.
22форма сигнала канала 2:w22=1.
23частота канала 1:w23=25786,0.При считывании канала множитель не работает, считывается частота в герцах, умноженное на 100
24частота канала 2:w24=1234,1.
25амплитуда канала 1:w25=1000.Амплитуда — целое число в милливольтах
26амплитуда канала 2:w26=3000.
27сдвиг амплитуды канала 1:w27=500.Со сдвигом без поллитры не разберешься. Логика очень странная — если сдвига нет, то его величина 1000. Сдвиг вверх на 1.23 вольта — величина 1123. Сдвиг вниз на 0.1 вольт — величина 99. Тем не менее разобрался — смотрите исходники.
28сдвиг амплитуды канала 2:w28=0.
29скважность канала 1:w29=500.Целое число, единица — 0.1%.
30скважность канала 2:w30=200.
31установки фазы:w31=200.Тоже целое число с шагом 0.1%.


Готовые формы сигналов следующие:
форма
0Sine
1Square
2Pulse
3Triangular
4Partia
5CMOS
6DC level
7Half wave
8Full wave
9Positive step
10Negative step
11Noise
12Expotential
13Expotential-Decay
14Multi-Tone
15Sinc
16Lorenz pulse
17...arbitrary

В описании программного обеспечении говорится о возможности хранить до 60 своих форм, но через меню прибора почему-то только 16 доступно.

Откровенно говоря, я думал увидеть что-то типа стандартных SCPI (Standard Commands for Programmable Instruments) команд типа:

   :MEASure
       :VOLTage
            :DC?
            :AC?
       :CURRent
            :DC?
            :AC?

Щас, прямо бегом — команды, как видите, оказались очень упрощенные, плохо документированные и с непонятностями в описании. В чем проблема — не очень ясно. Если лень самому писать программу SCPI синтаксического разбора — для Ардуино есть несколько готовых очень неплохих библиотек. Одну из них (вторая ссылка) я даже как-то адаптировал для своих нужд.

SCPI парсеры:
первый
второй

Для мультиметра Owon XDM1041 (который совсем недавно обсуждали в разделе скидок), кстати, обещают поддержку SCPI. Но тоже со своими тараканами — в инструкции написано, что команды как у всех мультиметров. Но у всех они немного отличаются и хороший тон — давать в описании полный список команд. Я бы взял его помучить, но не уверен, что жаба одобрит.

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

Очевидно, что от подключения единственного устройства к системе автоматизации толку немного. А вот когда их несколько — ситуация меняется кардинально. С помощью того же генератора и приличного мультиметра можно автоматически снимать амплитудно-частотные характеристики. Или управляемый лабораторный источник питания и мультиметр могут измерить вольт-амперные характеристики. Хотя в последнем случае лучше использовать источник-измеритель Keithley 24xx, если он у вас есть в домашней лаборатории. Кстати, уникальная вещь — производится несколько десятков лет и при кажущейся простоте по-прежнему продается за несколько тысяч долларов даже бывший в употреблении прибор, и никто не спешит его скопировать. А Keithley стало собственным именем этого прибора, как и Ксерокс для копира, хотя и Keithley уже давно часть Tektronix, и выпускали они не только источники-измерители.

И возвращаясь к нашему генератору — для читателей Banggood предложил купон
BGb6d59a (CN warehouse) $77.99-85.99 действителен до 30.11.2021
BGb68ea5 (CZ warehouse) $79.99 действителен до 30.11.2021
Планирую купить +8 Добавить в избранное +59 +67
+
avatar
0
Сколько бит точность генератора?
Когда измерительную систему Audio Precision «на коленке» забабахать получится (с демо-платой LTC2380-24 например) и погонять непопулярные тесты автокорреляции белого шума, жёсткие и с плачевными результатами для дельта-сигма ЦАП и АЦП?

И опечатку заметил:
«для синусоиды 60МГц, для треугольника и меандра — 25МНц»

P.S. в одном прошлом обзоре точность ЦАП 12 бит, в другом — 14.
Для звуковых измерений надо бы 16-20 бит (искажения УНЧ и конденсаторов проверять например), а для охоты на привидений эффект направленности проводов — и 24 бита, хоть номинальных.
+
avatar
  • donBaton
  • 18 октября 2021, 14:22
0
Этот точно не для звука — там и ЦАП резистивный. Мне в этом генераторе больше высокие частоты нужны, 60МГц — маловато даже, хотелось бы до 100-120. А так приходится городить самодельный, когда надо. Но зато длинна проводов получается сантиметр-другой до объекта, что радует.
Ошибку поправил, спасибо.
+
avatar
0
Один из производителей очень дорогих аудио-ЦАП (фирма MSB technology) замеряла их параметры 16-битным 5МГц цифровым USB осциллом-приставкой к ПК Picoscope: www.audiosciencereview.com/forum/index.php?threads/review-and-measurements-of-holo-audio-may-probably-the-best-discrete-r2r-dac.10161/post-284730
После режекции основного сигнала и доп. усиления — прокатывало.
+
avatar
0
Для звуковых измерений купите нормальную звуковую карту
+
avatar
  • bulyga
  • 18 октября 2021, 13:56
+2
Надеюсь на продолжение темы LabView, очень понравилось.
+
avatar
  • donBaton
  • 18 октября 2021, 14:25
+2
Это уже второй обзор с LabView — мне кажется, с этим заканчивать надо, не очень по теме сайта.
Хотя использования этого генератора с LabView я нигде не нашел — потому и писать стал.
+
avatar
  • advik
  • 18 октября 2021, 15:38
+7
вот тема лабвив и ее «стыковки» с ходовыми китайскими приборами для получения нового функционала это то что делает Ваши обзоры уникально полезными. С лабвив не знаком, но очень заинтересован и слежу за тем что публикуете.
Не сворачивайте тему.
+
avatar
0
Лучше добавить и купить Kkmoon FY6800, он же FeelTech FY6800
+
avatar
  • donBaton
  • 18 октября 2021, 14:33
0
Да имя им — легион. Кто бы нормальную документацию выложил и те же LabView .VI — ведь они есть у них, а чего жмутся — непонятно. Не хотят, чтобы сильно хорошо раскупали?
+
avatar
0
лучше купить бу ген. на ибее
+
avatar
  • troebel
  • 18 октября 2021, 15:41
+2
Генератор, конечно, так себе.
За инструкцию по labview — аплодисменты, спасибо.
+
avatar
0
За эти деньги конкурентов нет.
+
avatar
  • gostv
  • 18 октября 2021, 15:46
+2
Интересно было почитать, плюс.

И у меня вопрос, пардон что не по теме.

В мастерскую нужен такой прибор, что бы он подавал на две, условно говоря, катушки синусоиду, и потом с них же выводил две осцилограммы. Если катушки намотаны правильно и одинаково, то на экране показывается одна кривая, если по разному намотаны — то уже две кривые. Желательно что бы прибор был «всё-в-одном», мобильный. Качество сигнала не особенно нужно. Может этот одним словом как-то называется?
Сейчас всё еще почти рабочий старый, с ЭЛТ трубкой, и плохо видно уже, и вообще пора ему сломаться давно.
+
avatar
  • gostv
  • 18 октября 2021, 16:01
0
Возможно, но нужно не числовой или стрелочный вывод, а именно что б рисовал кривые на экране.
И сразу на двух каналах.
+
avatar
0
Дифференциальный Q-метр там описан: www.ngpedia.ru/id8032p2.html
Или двухканальный осцилл + генератор построят фигуры Лиссажу.
А старый прибор на ЭЛТ как назывался?
+
avatar
  • gostv
  • 19 октября 2021, 09:53
0
ЕЛ-1
+
avatar
0
В 2015 г. обсуждали ЕЛ-15 и было мнение:
«модели Schleich MTC2-6кВ за глаза.»
metrologu.ru/topic/7303-чем-заменить-ел-1/
+
avatar
  • donBaton
  • 18 октября 2021, 16:04
+1
Не очень понял что вы хотите, но может вам как-то подойдет Vector Network Analyzer 50KHz~3GHz NanoVNA?
Стоят они недорого — по крайней мере характеристики антенн снимать могут, возможно, ваша задача не очень далека от этого.
+
avatar
  • u3712
  • 18 октября 2021, 16:42
+3
Если отвечать в духе темы, то
— (USB) звуковая карта (внешняя), 2 резистора и labview на ноуте.
В 2 выхода свистеть (впрочем, хватит и одного), с двух входов снимать. Хоть фиксированная частота, хоть спектр снимать — всё делается программно.
+
avatar
+1
если labview слишком жирный, то можно попробовать заменить на GNU Radio.
+
avatar
  • gostv
  • 19 октября 2021, 09:52
0
Спасибо за варианты.
+
avatar
  • Fredp
  • 18 октября 2021, 21:57
0
NI DAQmx — это драйвер для устройств сбора данных производства National Instruments. Если таковых не имеется — устанавливать не нужно. По стилю кода — конечно, есть замечания ;) Но, с другой стороны, именно за это LabVIEW мы и любим — решает задачу даже если просто «набросать» кубиков как попало. А что еще нужно?
+
avatar
+1
Как-то в одном немецком журнале была статья про LabView, и National Instrumens приложил к этому журналу бесплатно какую-то очень древнюю версию, для 32-разрядного Линукса. Линукс тоже должен быть древним — на последних версиях не заработало, а держать старый компьютер специально ради LabView нужды и желания не было.
последние лет эдак 10+, найти х86 процессор без аппаратного ускорения витруализации, наверно впринципе невозможно (ну может быть акромя каких-то нетбуков на атоме. но атом это же не процессор, поэтому не считается).

и запустить в виртуалке старую систему вообще никаких проблем (и никаких тормозов, иногда даже быстрее работает, за счет двойного кеширования дискового стораджа).

и скорее всего древний дистрибутив GNU/Linux тоже не потребуется искать. достаточно будет подпихнуть пару-тройку заботливо выковоренных (или пересобранных из доступных исходников) древних версий библиотек и оно заработает, после пары тычков.

возможно конкретно в этом случае оно не стоит затраченных усилий, т.к. нашелся рабочий вариант. Но очень часто в случае потребности эксплуатации старого экзотического ПО, виртуалка — это фактически единственный выход.
+
avatar
0
Ему не только надо запускать ПО, ему надо еще прокидывать в виртуалку железо. И тут уже могут быть нюансы
+
avatar
+3
Спасибо за обзор, особенно за LabView. Вернулся в молодость, пока читал. Первый раз столкнулся с этой системой 15 лет назад, когда только после окончания физфака попал с молодым коллегой на месяц в лабораторию физики частиц в Анси, Франция (30 км на юг от швейцарской Женевы). Собирали с нулч спектрометр для позитронной аннигиляционной спектометрии (PALS), шкаф с NIM'овской и VME'шной электроникой коннектился с компом, а сбор данных как раз на LabView делали. Оба видели её в первый раз, я сразу сказал, что буду за хард отвечать, а коллеге ничего не оставалось, как сражаться с софтом. Работали по мере прихода энтузиазма — если прёт, то и до двух часов ночи сидим. За месяц запустили сетап. Впечателний до сих пор хватает. :) В следующий раз с LabView столкнулся через 4 года, уже на ускорителе в CERN. Там прошаренный коллега рассказал прикол: первоначально сбор данных на LabView делали студенты. Раскидали иконки, провели связи, всё просто. Но только не очень быстро работает. Мучались недели две, потом позвали этого спеца. Он посидел денёк, ностроил софт, и скорость сбора данных возросла… на 3 порядка! После этого я понял, что за внешней простотой системы LabView скрывается много нюансов, которые нужно долго и аккуратно изучать.