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


L502 Подключение к МИ1201

Вы не вошли.

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

Алексей
14.02.2014 15:57:51
#1

Гость

L502 Подключение к МИ1201

Добрый день! Пытаемся оцифровывать 4-ре параметра при помощи вашего устройства l502 (интенсивность ионного тока с УПТ [до 40 мВ], показания датчика холла [до 0.5 В] и два показания с термопар.)

При этом никак не можем нормально распаять схему подключения, даже после неоднократного прочтения мануала smile , при этом сигнал одного канала сильно влияет на сигнал другого. fоп = 2МГц. TOUT стремится к min

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

14.02.2014 16:31:08
#2

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Алексей,
L-502 - это модуль АЦП с входным электронным коммутатором. Электрофизически это означает, что на максимальной частоте опроса  источники сигналов должны быть низкоомными, иначе переходный коммутационный процесс во входной цепи АЦП не успеет установиться, что наблюдается как "высокое межканальное прохождение". Обеспечьте 50 Ом выходное сопротивление источников сигналов и короткие кабели, тогда на 2 МГц опроса будет хорошо работать. Иначе, снижайте частоту опроса или применяйте активные повторители напряжения или пассивные делители, обеспечивающие низкоомное эквивалентное сопротивление источника сигнала.

Итак, первый вопрос к Вам: какое активное выходное сопротивление Ваших источников сигналов и какие длины кабелей? Можете дать ссылку на документацию УПТ и датчика Холла, если сами не можете ответить на этот вопрос.

Второй вопрос по термопаре (это низкоомный источник сигнала): Какой тип термопар, в каком диапазоне температур используете и какая точность измерения температуры требуется?

14.02.2014 21:24:45
#3

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Я, как понял, речь идёт о подключению L-502 к масс-спектрометру. Возможно, активную схему согласования предложу, если ответите также на вопросы:
- диапазон напряжений по каждому каналу;
- Необходимая точность измерения напряжения по каждому каналу, исходя из задачи, и что конкретно нужно измерять (среднее, пиковое напряжение или что-то другое...)?;
- временнЫе/частотные характеристики измеряемых сигналов (длительности импульсов, эффективная полоса частот сигнала и пр.)?
- удалённость L-502 от масс-спектрометра?

Алексей
17.02.2014 12:29:45
#4

Гость

Re: L502 Подключение к МИ1201

Здравствуйте! Спасибо за оперативные ответы!
Действительно наша задача - это подключения л-карты к масс-спектрометру.

Отвечаю на Ваши вопросы:
- УПТ измеряет в диапазоне от 0,01 до 130 В
- датчик Холла от -0,5В до +0,5В
- Термопары вольфрам-рениевые

Провода экранированные длинна примерно 1м - 1,2м

Точность по всем каналам не менее 2-х значащих цифр.
Показания датчика Холла не менее 3-х.

Все токи постоянные.

17.02.2014 12:51:49
#5

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

"УПТ измеряет в диапазоне от 0,01 до 130 В"
- Какой измеряемый диапазон напряжений на выходе УПТ, какое выходное сопротивление?

"Термопары вольфрам-рениевые"
- Какой диапазоне температур? Какая нужна точность измерения температур в этом диапазоне?

"Точность по всем каналам не менее 2-х значащих цифр"
- Если цифры - десятичные, то подразумеваете +-0,5% от диапазона измерения?

17.02.2014 12:54:20
#6

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

- Выходы УПТ, датчика Холла, термопар изолированы друг от друга? Какие выходы связаны с землёй (с корпусом установки)?

17.02.2014 13:40:04
#7

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Под активной схемой согласования я подразумеваю (привожу только в качестве отдалённого примера):
http://www.lcard.ru/download/image/e14- … thermo.png
http://www.lcard.ru/download/image/e20-10_amp1.png
Если подробно ответите на мои вопросы, выложу схему согласования и для Вашего случая. Но всё это имеет смысл, если с Вашей стороны есть электронщик, который всё это реализует.

Юрий
17.02.2014 15:54:52
#8

Гость

Re: L502 Подключение к МИ1201

Небольшая ошибка была. УПТ на выходе выдает от 0,01 до 130 В (Там несколько пределов измерения) На самом деле до выше 15 В поднимаемся крайне редко. Выходное сопротивление УПТ мы к сожалению не знаем. Температуры от нуля и где-то до 800 градусов Цельсия. Это от -2 до 10 мВ примерно. По поводу точности примерно так. Все выходы изолированы друг от друга и не один не связан с землей.

17.02.2014 16:48:17
#9

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

"УПТ на выходе выдает от 0,01 до 130 В"
- И как Вы сами собирались подавать от 0,01 до 130 В на вход L-502?

"Выходное сопротивление УПТ мы к сожалению не знаем"
- А экспериментально оценить?

- временнЫе/частотные характеристики измеряемых сигналов (длительности импульсов, эффективная полоса частот сигнала, максимальная скорость нарастания)?

- Электронщик у Вас есть, который смонтирует и наладит согласующие устройства?

Юрий
18.02.2014 12:25:46
#10

Гость

Re: L502 Подключение к МИ1201

От УПТ мы хотим отказаться и использовать пикоамперметр keithley 6485 (http://www.keithley.ru/data?asset=6214) На выходе он выдает до 2В. Сопротивление 1кОм.
Поведение интенсивности ионного тока попытаюсь описать словами. В терминах скорее не верно скажу. Допустим, что измерить один пик мы хотим за 0,5 секунды - секунду. При этом сигнал возрастает где-то на три порядка и падает.
Согласующие устройства по схеме смонтировать и наладить сможем.

18.02.2014 12:59:21
#11

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Юрий, исходя из Ваших данных можно сделать следующие выводы по поводу согласования с L-502.

1. В канал термопары потребуется согласующий предусилитель, чтобы согласовать диапазон измеренения L-502 с диапазоном термопары

2. С датчиком Холла, в принципе, можно было подсоединиться напрямую, если б он был низкоомным. Но фактическое сопротивление датчиков Холла может быть в широких пределах от десятков Ом до десятков кОм. И, по-хорошему, чтобы не вносить в датчик влияние коммутационного процесса, потребуется активный повторитель.

3. Выход 2В 1 кОм не потребует повторителя напряжения, если работать на частоте опроса ниже 500 кГц.   

И всё таки, вопрос по поводу частоты опроса 2 МГц: - за что бьётесь? Вы описываете достаточно низкочастотные источники сигналов, которые не требуют частоты опроса АЦП 2 МГц. Судя по Вашим данным, достаточно будет даже 100 кГц (25 кГц на канал в 4-х канальном режиме). А это означает, что с источниками сигналов с выходным сопротивлением единицы килоОм можно работать на частоте опроса 100 кГц без существенного межканального прохождения L-502.

Юрий
19.02.2014 11:51:42
#12

Гость

Re: L502 Подключение к МИ1201

Александр, спасибо! Правильно ли мы поняли, что для подключения термопар нам придется спаять предусилители на операционниках, что показано в примере и считывать с них данные в дифференциальном режиме? Эта схема нам подойдет?

19.02.2014 12:59:02
#13

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Юрий, я как раз и задаю Вам вопросы, чтобы дождаться подробных ответов и выложить ту схему, которая Вам подойдёт.

Юрий
19.02.2014 18:31:48
#14

Гость

Re: L502 Подключение к МИ1201

Что касается частоты, то 25 кГц нам вполне хватит. Можно еще раз повторить, какие параметры еще требуются?

19.02.2014 18:53:20
#15

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

"Что касается частоты, то 25 кГц нам вполне хватит."
- Тогда поставьте эту частоту и начинайте измерять!
(см. мой первый ответ 14.02.2014 17:31:08, где я сразу об этом сказал).
Межканального прохождения быть не должно для тех источников сигналов, которые Вы описали выше. Да, с термопарным каналом будет проблема с точностью измерения из-за несогласованности диапазонов, с каналом датчика Холла может быть влияние коммутатора, но оно может быть не существенно. Для УПТ 2 В - 1 кОм ничего больше не требуется.
По Вашим результатам примем решение, в какие каналы ставить согласующие предусилители и как их запитывать. Жду результатов.

В ситуации, когда "ничего не работает":
- Высылайте полную схему подключения к Вашему оборудованию и полный перечень настроек L-502.

Юрий
20.02.2014 17:52:21
#16

Гость

Re: L502 Подключение к МИ1201

При использовании пикоамперметра вместо УПТ и при частоте на канал в 25 кГц влияния каналов друг на друга мы не обнаружили. Но писали только интенсивность и с данные с датчика Холла. Термопары пока не подключали.

20.02.2014 19:37:14
#17

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Юрий, в таком случае, задача кардинально упростилась. Для термопарных каналов используйте усилитель
http://www.lcard.ru/download/image/e14- … thermo.png , который можно запитать напрямую от L-502.

Юрий
21.02.2014 09:55:31
#18

Гость

Re: L502 Подключение к МИ1201

Александр, спасибо! Там в примечании указано, что необходимо подключить усилитель к первому физическому каналу. Для L-502 это также обязательно?

21.02.2014 10:38:47
#19

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Подключайте к любому свободному физическому каналу при соответствующей программной настройке.

Алексей
12.03.2014 15:08:09
#20

Гость

Re: L502 Подключение к МИ1201

Здравствуйте! Мы все сделали, как Вы и сказали, Александр, и у нас все вроде заработало. Спасибо.

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

28,91291344
29,14097964
29,14097964
29,14097964
29,14097964
29,0756401
29,05928718
29,05928718
28,97789753
28,97789753
29,09192133
29,09192133
29,09192133
29,09192133

Настройки у нас вот такие (здесь и далее код на C#):

public bool GetConnection()
        {
            if (device == null)
            {
                lpcie.Errs result;
                String[] serials;
                
                Int32 res = L502.GetSerialList(out serials, 0);
                if (res > 0)
                {
                    device = new L502();
                    result = device.Open(serials[0]);
                    lpcie.Errs err = lpcie.Errs.OK;
                    
                    device.LChannelCount = 4;

                    /* Настраниваем таблицу логических каналов */
                    err = device.SetLChannel(0, 0, L502.LchMode.COMM, L502.AdcRange.RANGE_2, 0);

                   
                    if (err == lpcie.Errs.OK)
                    {
                        err = device.SetLChannel(1, 1, L502.LchMode.COMM, L502.AdcRange.RANGE_05, 0);
                    }
                   if (err == lpcie.Errs.OK)
                    {
                        err = device.SetLChannel(2, 2, L502.LchMode.DIFF, L502.AdcRange.RANGE_1, 0);
                    }
                    if (err == lpcie.Errs.OK)
                    {
                        err = device.SetLChannel(3, 3, L502.LchMode.DIFF, L502.AdcRange.RANGE_1, 0);
                    }

                    device.SyncMode = L502.Sync.INTERNAL;
                    device.SyncStartMode = L502.Sync.INTERNAL;

                    double f_acq = 1500000;
                    double f_lch = 25000;
                  

                 err = device.SetAdcFreq(ref f_acq, ref f_lch);
              
                                   
                    device.Configure(0);
                }
                else
                {
                   return false;
                }

                
                  result = device.StreamsEnable(L502.Streams.ADC);
                  result = device.StreamsDisable(L502.Streams.DIN);
                
                // включаем потоки ввода-вывода
                result = device.StreamsStart();
            }

            return true;

        }

Читаем так

 public Data ReadData()
        {
            Data data = new Data();
            lpcie.Errs err;
          
            
            /* принимаем данные синхронного ввода */
                    Int32 rcv_size = device.Recv(rcv_buf, RECV_BUF_SIZE, RECV_TOUT);
                    /* значение меньше нуля означает ошибку... */
                    if (rcv_size < 0)
                        err = (lpcie.Errs)rcv_size;
                    else if (rcv_size > 0)
                    {
                        /* если больше нуля - значит приняли новые данные */
                        dinSize = RECV_BUF_SIZE;
                        adcSize = RECV_BUF_SIZE;
                        /* получаем номер лог. какнала, соответствующий первому
                            отсчету АЦП, так как до этого могли обработать
                            некратное количество кадров */
                        firstLch = device.NextExpectedLchNum;

                        /* разбираем данные на синхронный ввод и отсчеты АЦП и
                            переводим АЦП в Вольты */
                        err = device.ProcessData(rcv_buf, (uint) rcv_size, L502.ProcFlags.VOLT,
                            adcData, ref adcSize, dinData, ref dinSize);
                        
                    }

                    double[] mydata = new double[4];

                    UInt32 lch_cnt = device.LChannelCount;

                    /* устанавливаем в индикаторах значение первого отсчета из массива */
                    for (uint i = 0; (i < lch_cnt) && (i < adcSize); i++)
                        mydata[(firstLch + i) % lch_cnt] = adcData[i];

                    data.Intensity = mydata[0];

                    data.Mass = MassConverter(mydata[1]); 
                        
                   data.Temperature = mydata[3]; // внимание : при припайке ячейка -4й канал, печка 3-й

                   data.Heating = mydata[2];

            return data;
        }

Ну и потом этот объект сохраняем. Так вот, немного не ясно почему появляются повторяющиеся значения...

12.03.2014 15:52:00
#21

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Алексей, задав конфигурацию вот так
double f_acq = 1500000;
double f_lch = 25000;
Вы 4 канала опрашиваете с малым периодом коммутации, а затем - долгая пауза перед опросом следующей четвёрки. Гораздо лучше будет так: 
double f_acq = 100000; //100 кГц
double f_lch = 25000;  //25 кГц

Сделайте так и сообщите, сохранился ли этот  эффект.

Алексей
12.03.2014 16:27:14
#22

Гость

Re: L502 Подключение к МИ1201

Да, Александр, эффект после внесенных изменений сохранился.

12.03.2014 16:50:10
#23

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

Тогда высылайте мне схему подключения, к каким контактам L-502 какие цепи подключаете.
Кроме того, описываемый эффект интересно посмотреть в кодах АЦП, которые Вы получаете от L-502, а лучше бы прямо в 32-х битных не преобразованных словах данных, которые получаете от L-502, поскольку Ваша функция преобразования кодов АЦП в значения   
28,91291344
29,14097964
29,14097964
29,14097964
....
может быть некорректна.

12.03.2014 16:52:11
#24

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: L502 Подключение к МИ1201

32-х битные не преобразованные слова данных выложите в 16-ричном формате, пожалуйста.

Алексей
12.03.2014 17:17:00
#25

Гость

Re: L502 Подключение к МИ1201

>>поскольку Ваша функция преобразования кодов АЦП в значения

Я что-то не совсем улавливаю о какой моей функции может идти речь, если чтение происходит с использованием подключаемой библиотеки
lpcieapi и  l502api .

Чтение происходит в строке

for (uint i = 0; (i < lch_cnt) && (i < adcSize); i++)
mydata[(firstLch + i) % lch_cnt] = adcData[i];

data.Intensity = mydata[0];

, где adcData получена функцией из библиотеки:

err = device.ProcessData(rcv_buf, (uint) rcv_size, L502.ProcFlags.VOLT,
adcData, ref adcSize, dinData, ref dinSize);

и представляет собой
public static double[] adcData = new double[RECV_BUF_SIZE]; /* буфер для данных АЦП */

В общем-то этот участок кода написан при помощи экзамплов...