Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Усиление не контачит

Вы не вошли.

 Поиск | Регистрация | Вход 

Слава
09.03.2005 15:03:41
#1

Гость

Усиление не контачит

Плата L783. С единичным усилением все работает нормально. Как только пытаюсь его изменить - данные идут совершенно не те.
Логический номер формирую так:
№ канала (десятичный формат)
+
режим (32 или 0 - диф. режим)
+
собственно усиление (0, 64, 128 или 192)

Таким образом, логический номер 0х0 - первый канал в диф. режиме с усилением 1, и по логике
0х40 - тот же 1 канал в диф. режиме, но с усилением 2. Правильно? А вот данные неправильные...

09.03.2005 15:10:19
#2

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,494

Re: Усиление не контачит

Что значит "данные неправильные"?

Слава
09.03.2005 18:49:06
#3

Гость

Re: Усиление не контачит

На вход подано постоянное напряжение амплитудой 1.4В. С усилением 1 все нормально - строится постоянный уровень. С усилением 2 идет сигнал в виде треугольных импульсов с размахом от 0.5 до 1.6 и периодом 4 точки:
  //   //   //   //
_/  /_/  /_/  /_/  /_...
0 1 2 3...

Слава
09.03.2005 18:50:05
#4

Гость

Re: Усиление не контачит

Нарисовать не получилось...((

10.03.2005 10:27:31
#5

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,494

Re: Усиление не контачит

1. А каково кол-во опрашиваемых каналов?
2. Заземлены ли все неиспользуемые каналы?

Слава
10.03.2005 21:04:36
#6

Гость

Re: Усиление не контачит

Канал один - первый.  Остальные каналы не заземлял - подумал, что коммутатор к ним даже обращаться не будет при одноканальном опросе.

Есть еще одна глобальная проблема - не могу прочитать данные с указателя. В файл все идет нормально (с усилением 1, конечно), а при попытке на лету строить по указателю ничего не получается. Строятся треугольники с периодом 4 точки и амплитудой ~0 - ~2000. Из файла читаю блоками по 2 байта. Если читать при помощи указателя, даже правильные данные отображаются неправильно. В чем может быть проблема?

Пытаюсь строить так (1 канал):

for (int i=0; i<halbuffer; i++)
{
XYLine->AddXY(x++, (short)tmp[i]);
}
tmp - указатель формата WORD на первую или на вторую половину буфера в ОЗУ, как в примере.
Может это происходит потому, что формат данных 2 байта, а не 12 бит?
Однако, из файла же все нормально читается и строится (там я делаю приведение сначала к short, а затем к double).
В общем, уже измучился с указателем...

Слава
11.03.2005 15:19:57
#7

Гость

Re: Усиление не контачит

L-Card, почему вы опять молчите? Я вроде бы конкретный вопрос задал, а ответа так и не услышал.

Слава
15.03.2005 18:24:02
#8

Гость

Re: Усиление не контачит

Так с усилением-то что делать? Я правильно считаю, что логический номер 0х40 - это первый канал в диф. режиме с усилением 2? И если да, то откуда мусор?

16.03.2005 11:15:50
#9

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,494

Re: Усиление не контачит

Подтверждаю, что логический номер канала 0х40 соответствует подключению в диф. режиме нулевого канала АЦП с усилением 2. А мусор идёт потому, что где-то и что-то программируете не так так надо sad((
L-Graph с усиление 2 работает исправно?

Слава
19.03.2005 22:02:55
#10

Гость

Re: Усиление не контачит

Мусор пропал, но уровень все равно не тот строится. Вместо 1.35 (верный уровень; с усилением 1 он и отображается) показывается 0.85. Я когда строю, код с АЦП делю на 2000 (нормирую) и умножаю на предельное значение при заданном усилении (то есть на 5, 2.5, 1.25...):
Y = ADCCode*Gain/2000; Gain = (5, 2.5, 1.25, 0.625)
L-Graph вроде правильно работает...

21.03.2005 13:54:11
#11

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,494

Re: Усиление не контачит

Если под  ADCCode подразумевается код непосредственно с выхода АЦП, то всё правильно.
Если Вы используете плату L-783 в одноканальном режиме сбора даннных, то никаких тонкостей её работы вроде бы и нет sad