Что мерить, чем мерить, как мерить. И, естественно - зачем мерить...

При поддержке компании ПРИСТ


Ответить

Re: Портативные и USB осциллографы Hantek

Пн апр 26, 2010 17:43:40

В пятницу (апр 23, 2010) благополучно спалил свой 2150 :(
Не вдаваясь в особые подробности могу сказать, что причиной выхода из строя стал импульс тока в несколько десятков ампер, прошедший по общей шине от входа к USB. Импульс был короткий, т.к. сработала автоматика. Ни чего не вышло из строя кроме 2150. Ситуация похожая на описанную Артемом при измерении сетевого напряжения, только защита была быстрая и электронная.
Вскрытие показало заниженное напряжение питания аналоговой части +2.6В вместо 5В.
Виновен импульсный преобразователь LTC3440 (U426). Фотографии есть в этой ветке: viewtopic.php?t=22382&start=0&postdays=0&postorder=asc&highlight=
Заказал. Жду. Пока подал 5В с USB минуя преобразователь. Измерения не точные, ноль уходит при подключении к другому компу, но форму посмотреть можно.
Интересно, что с питанием +2.6 вообще работать не хотел. Одного канала не было вообще, второй показывал постоянную составляющую и никакого шума - прямая красивая линия.
Пробовал подать внешние +5В. Работоспособность полностью восстанавливается (включая точность).
Если встретитесь с подобным - не расставайтесь, не все потеряно. :)

18.05.2010 Приехала микросхема. Девайс снова в строю :)) .
Последний раз редактировалось rumax Ср май 19, 2010 10:12:38, всего редактировалось 2 раз(а).

Re: Портативные и USB осциллографы Hantek

Ср май 12, 2010 10:38:44

Здравствуйте.
Приобрел DSO - 1060, впечетление очень хорошее, удобная машина, жаль нет русского интерфейса и описания.
Теперь о недостатках - смотрю на форуме и больше ни у кого этого не вижу, возможно только у меня проявилось? Вся математика зависит от выбранного режима АС\DC, и при перемещении положения луча по вертикали, при неизменном сигнале меняются все выбранные значения (TOP,Vmin,Vmax,Vbas,Vmid,Vrms и т.д.) , при этом сигнал подается от внутреннего генератора и не изменяется. Тоесть о внутренней математике можно забыть? Получается математические значения зависят от положения луча?

Re: Портативные и USB осциллографы Hantek

Ср май 12, 2010 12:04:25

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

Re: Портативные и USB осциллографы Hantek

Ср май 12, 2010 13:21:03

Осцил передо мной, подключаюсь к внутреннему генератору, нажимаю "AUTO" , вижу меандр, выбираю Urms, вижу Urms=139mv, что уже не соответствует действительности, теперь перевожу канал в DC вижу - Urms=96,8mv, опускаю луч вниз на 3 клетки , вижу Urms=179mv, вот такая математика при одном и том же сигнале :shock:

Re: Портативные и USB осциллографы Hantek

Ср май 12, 2010 23:15:19

с год назад купил для пробы DSO-2090.
работаем с ним не в качестве осциллографа, а для регистрации некоторых процессов из собственного ПО.
с прилагающейся DLL пришлось хорошенько потрахаться, но так как хацкер, разобрался. языки C++ и Delphi.
прекрасный прибор за свою цену. китайцам и продавцам респект.
так же и для тех же применений работал с AKTAKOM 2-канальным ACK-3116 и 4-канальным ACK-3107. имеется некоторый опыт :-)

у кого вопросы по программированию - могу помочь, в чем то безвозмездно.
обращайтесь на емайл madded-собака-mitm.ru

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 12:11:10

vsl писал(а):Осцил передо мной, подключаюсь к внутреннему генератору, нажимаю "AUTO" , вижу меандр, выбираю Urms, вижу Urms=139mv, что уже не соответствует действительности, теперь перевожу канал в DC вижу - Urms=96,8mv, опускаю луч вниз на 3 клетки , вижу Urms=179mv, вот такая математика при одном и том же сигнале :shock:


Провел эксперимент. Прошивка 1.58.

Подключаю тестовый сигнал, без калибровки, 1-й канал. жму авто, вижу меандр, жму MEAS, выбираю RMS, RMS 1V ровно, двигаю сигнал вверху вниз, двигаю триггер - без изменений, 1В.

Переключаю в DC, сдвигаю триггер, так как он за пределами сигнала оказыается, Vrms=1.43В, двигаю сигнал, двигаю триггер. все-равно 1.43В


Какая у вас версия прошивки и где вы его брали?

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 12:20:32

zuko писал(а):с год назад купил для пробы DSO-2090.
работаем с ним не в качестве осциллографа, а для регистрации некоторых процессов из собственного ПО.
с прилагающейся DLL пришлось хорошенько потрахаться, но так как хацкер, разобрался. языки C++ и Delphi.
прекрасный прибор за свою цену. китайцам и продавцам респект.
так же и для тех же применений работал с AKTAKOM 2-канальным ACK-3116 и 4-канальным ACK-3107. имеется некоторый опыт :-)
у кого вопросы по программированию - могу помочь, в чем то безвозмездно.
обращайтесь на емайл madded-собака-mitm.ru


Я пытался использвать эту DDL-ку в PERL. Звучит страшно, но на самом деле по сути то же самое, что и дельфи - интерпретируемый язык. Проблема в том, что в итоге в буфер данные не попадают и выдает ошибка получения данных. Если
запустить их ПО, то получается одна-две выборки (не выдает ошибку), в буфере данных все пусто (нули).

Во исходник, программисту на С++ не должно составить проблем эту чуда прочесть. Может подскажите, в чем дело тут.

Код:
#!/usr/local/bin/perl

use strict;
use warnings;


use Win32::API;
use Win32::API::Test;
use Win32::API::Callback;

my $devicenum=-1;
my $level= 0 x 1024;
my $data1=0 x 120000;
my $data2=0 x 120000;

Win32::API->Import('SDK2090', 'sdSearchDevice','I','I');
Win32::API->Import('SDK2090', 'sdGetLevel','IP','I'); 
Win32::API->Import('SDK2090', 'sdSetTriggerAndSampleRate','IIP','I'); 
Win32::API->Import('SDK2090', 'sdSetFilt','IP','I'); 
Win32::API->Import('SDK2090', 'sdSetVoltageAndCoupling','IIIIII','I'); 
Win32::API->Import('SDK2090', 'sdSetOffset','IPIIIP','I'); 
Win32::API->Import('SDK2090', 'sdGetData','IIIPPPPPPI','I'); 
Win32::API->Import('SDK2090', 'sdDisplaySampling','IIIIID','D'); 

Win32::API::Struct->typedef( structControlData => qw{
   WORD TriggerSource;
    WORD SelectedChannel;
    WORD Timebase;
    WORD TriggerPosition;
    WORD DataLengh;
   WORD BufferSize;
    WORD isAlt;
});

Win32::API::Struct->typedef( structStateStruct => qw{
   WORD Ch1Filt;
   WORD Ch2Filt;
   WORD TriggerFilt;
   WORD TriggerMode;
   WORD TriggerSlope;
});

Win32::API::Struct->typedef( structLeversData => qw{
   WORD Ch1Position;
   WORD Ch2 Position;
   WORD Ch1TriggerPosition;
   WORD Ch2TriggerPosition;
   WORD EXTTriggerPosition;
});

my $CtrlData = Win32::API::Struct->new('structControlData');
my $State = Win32::API::Struct->new('structStateStruct');
my $Levers = Win32::API::Struct->new('structLeversData');

for(my $i=0;$i<4;$i++){
   if (sdSearchDevice($i)){
      $devicenum=$i;
      last;
   }
}
if ($devicenum==-1){
   die "No device found\n";
}
else {
   print "Device found. Device number: $devicenum\n";
}

if (sdGetLevel($devicenum,$level)){
   print "Got calibratiom data\n";
   #print "$level\n";
}
else {
   die "Cannot get calibration data\n";
}

$CtrlData->{TriggerSource}=0;
$CtrlData->{SelectedChannel}=2;
$CtrlData->{Timebase}=16;
$CtrlData->{TriggerPosition}=50;
$CtrlData->{DataLengh}=1;
$CtrlData->{BufferSize}=10;
$CtrlData->{isAlt}=0;

if (sdSetTriggerAndSampleRate($devicenum,0,$CtrlData)){
   print "Set Trigger and Sample rate\n";
}
else {
   die "Cannot set trigger or/and sample rate\n";
}

$State->{Ch1Filt}=0;
$State->{Ch2Filt}=0;
$State->{TriggerFilt}=0;
$State->{TriggerMode}=0;
$State->{TriggerSlope}=0;

if (sdSetFilt($devicenum, $State)){
   print "Set filters and trigger\n";
}
else {
   die "Cannot set filter and trigger\n";
}

if(sdSetVoltageAndCoupling($devicenum, 6, 6, 0, 0, 0)){
   print "SetVoltageAndCoupling\n";
}
else {
   die "Cannot do SetVoltageAndCoupling\n";
}

$Levers->{Ch1Position}=64;
$Levers->{Ch2Position}=192;
$Levers->{Ch1TriggerPosition}=64;
$Levers->{Ch2TriggerPosition}=192;
$Levers->{EXTTriggerPosition}=128;

if (sdSetOffset($devicenum, $Levers, 6, 6, 0, $level)){
   print "Set offset\n";
}
else {
   die "Cannot set offset\n";
}

while(1){

if (sdGetData($devicenum, 6,6, $data1, $data2, $CtrlData,$State, $Levers,$level,0)){
   print "GetData ok\n";
   for(my $i=0;$i<10000;$i++){
      print ord(substr($data1,$i,1))."\n";
   }
}
else {
   print "Cannot get data\n";
}
sleep(1);

}

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 13:08:08

во-первых надо быть уверенным что в пердле для вызова внешних функций будет использоватца то же соглашение о передаче параметров, как задумано в DLL - то есть stdcall. и что пердл не выравнивает поля в структурах скажем до 32 бит. ну допустим с этим все в порядке.

теперь что касается собственно кода. братья китайцы сильно слукавили в доке и в примере ;)
для 2х канального режима работы доступны два размера буфера - 10 кб и 32 кб, для одноканального еще - 64 кб.
последовательность инициализации у вас правильная.
ньюансы такие:
настройка для 10 kb: BufferSize=10, DataLengh=1
настройка для 32 kb: BufferSize=32, DataLengh=2
вы правильно настраиваете буфер в 10 кб. не забывайте, что реально он 10x1024 слов.
данные возвращаются 2-байтовыми словами, но реально каждый отсчет занимает только 8 младших бит.

далее самое большое ноу-хау состоит в правильном выставлении порогов :)
это структура levers. я ее инициализирую так:
$Levers->{Ch1Position}=128;
$Levers->{Ch2Position}=128;
$Levers->{Ch1TriggerPosition}=255 - Level;
$Levers->{Ch2TriggerPosition}=255 - Level;
$Levers->{EXTTriggerPosition}=255 - Level;
тогда выставляемый порог Level будет соответствовать реальным цифрам в данных, если учесть что 0..127 это минус, 128 - ноль, 129..255 это плюс.

после инициализации вы забыли дернуть функцию sdCaptureStart которая и запускает процесс регистрации. может конечно и без нее будет работать, не помню уже. у меня вызывается.

ну и собственно сам цикл опроса у вас:

if (sdGetData($devicenum, 6,6, $data1, $data2, $CtrlData,$State, $Levers,$level,0)){
print "GetData ok\n";

во-первых последний параметр этой функции надо ставить 1.
0 в нем служит признаком конца регистрации. то есть после окончания работы надо дернуть эту функу с параметром 0 - что будет выключением регистрации в приборе. впрочем судя по всему этого делать не обязательно, и так работает :)

во-вторых и в главных, sdGetData возвращает rc = 0 когда _есть_ данные, и rc = 1 когда данных нет :) то есть в точности наоборот, а не как во всех других функциях :)

во время работы прибор мигает красным огоньком когда ничего не делает и зеленым когда идет цикл регистрации.

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

добыто непосильным трудом и днями экспериментов. удачи!

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 14:11:31

попробовал сейчас еще раз, откалибровал, подключил сигнал, все то же самое, при перемещении луча меняется ВСЯ математика :dont_know: , версия 1.56 качал с фирменного сайта, еще вопрос - можно ли каким нибудь редактром сохраненные осцилограммы посмотреть?

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 14:41:24

vsl писал(а):попробовал сейчас еще раз, откалибровал, подключил сигнал, все то же самое, при перемещении луча меняется ВСЯ математика :dont_know: , версия 1.56 качал с фирменного сайта, еще вопрос - можно ли каким нибудь редактром сохраненные осцилограммы посмотреть?


А что не признаетесь где брали то?
Если сохранено в CSV можно в EXCEL график посмтроить, можно сразу картинку сохранить, а если прочто чистые данные сохранены, то уже чем-то своим.

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 16:36:11

Кстати у меня тоже самое, при перемещении луча меняется Вся математика, спасает нажатие кнопки RUN/STOP.
Осцил брал у Вас, Ver 1.56.
Подскажите где можно скачать ver 1.58 может там этой проблемы нет?

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 17:12:09

Меняю прошивку 1.58 на информацию, где был куплен.

Re: Портативные и USB осциллографы Hantek

Чт май 13, 2010 20:22:56

Осциллограф DSO-1060 и генератор DDS-3X25 покупали на http://www.hantek.ru (т.е. на Вашем сайте), если надо могу указать номера счетов. Все счета отправлялись на Vavilin@ugpa.ru, просьба по этому адресу и прошивку ver 1.58 прислать.

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 00:30:57

ну вот, а я уже думал что у меня что то с глазами :)) , странно только такое количество пользователей, ниужели никто не замечал?

вопрос к уважаемому "ArtemKuchin" вы ведь вроде эту марку на рынке продвигаете, почему у вас на сайте версия 1.56 хотя как я понял есть уже 1.58 лишенная выше описаных недостатков?

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 08:28:56

vsl, мы никого никуда не продвигаем, а просто торгуем, чем нам нравится и что другим интересно. Продвижение в некотором смысле подразумевает "впаривание", чем мы никогда не занимались и не планируем начать.

У нас 1.56 потому что на сайте хантека тоже 1.56, а они очень часто прошивки с большим запозданием выкладывают. Запрос в китай сделал, жду ответа.

А от вас я жду ответа, о том где его купили. Для вас это никаких плохих последствий иметь не будет, мне просто над знать для понимания ситуации.

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 09:24:12

Да это не комерческая тайна, брал в январе в "ТОВ "СЕА Електронікс"" г.Киев, заплатил наличкой и сразу забрал, хочу еще раз подчеркнуть, что прибор прекрасный и удобный, свою цену оправдывает однозначно.

мой адрес для прошивки - v777.66@mail.ru

вопрос к всем!!!! есть у кого нибудь документация DSO-1060 на русском языке и в более расширенном варианте, в том что у меня уж больно сжато все написано.

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 15:35:58

Мужик сказал, мужик сделал! :beer:
Спасибо, прошивку 1.64 получил, проверил, проблема ушла.
Еще раз спасибо!

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 16:07:06

Да особливо немає за що дякувати :)
Це ми вибачаємось за спричинені незручності у звязку із поставкою прилада із багом :)

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 16:36:28

vsl писал(а):Мужик сказал, мужик сделал! :beer:
Спасибо, прошивку 1.64 получил, проверил, проблема ушла.
Еще раз спасибо!


Это точно НЕ МНЕ спасибо. Я сам ее от китайцев не получил еще. :)

Да особливо немає за що дякувати :)
Це ми вибачаємось за спричинені незручності у звязку із поставкою прилада із багом :)


Это для меня непереводимая игра букв.

Re: Портативные и USB осциллографы Hantek

Пт май 14, 2010 16:42:07

Артём, для Вас можна и так ;)
если нужна прошивка 1.64 - укажите куда скинуть и я её Вам скину.
Если по секрету: у нас есть в штате китаец и ему со своими легче находить общий язык :)
Ответить