Тестирование ДВС

Захват, обработка и генерирование сигнала
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

я про это помню. в схеме имитатора сигналов добавлен шум.
да и на реальном сигнале шумы очень хорошо просматриваются.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

Добрый день интересующимся.
На сегодня результаты такие:
- использована звуковая карта - 2 канала
- скорость оцифровки - 22кГц
- собрана и опробована схема с учетом некоторых особенностей работы
- результаты измерений по точности удовлетворяют

Что хочется:
- увеличить число каналов измерения - скажем до 8

Вопрос
- как это реализовать?
- что лучше использовать - встраиваемая карта, внешний бок по USB, внешний блок по Ethernet.
Какие будут рекомендации?
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

Еще раз про звуковую карту.
Собрал вот такую схему. По идеи работать должна. Две карты. Программа как-бы обе карточки видит, но не читает поток со входа. Что не так?

сорри. забыл файл добавить. LV2009
Вложения
Input_4 канала_08.06.14.vi
(41.01 КБ) 183 скачивания
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Тестирование ДВС

Сообщение IvanLis »

Borisych писал(а):Программа как-бы обе карточки видит, но не читает поток со входа.
А как Вы проверили, что оба SB видны программе?

У Вас не сохранены значения Device ID, они по идее разные должны быть.
Какие ошибки возникают при работе?
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

Точно так! На встроенной ЗК я устанавливая ID=0, на внешней ID=1
Если я ставлю другие значения, crf;tv 0 и 2 то LV выдает:
(Hex 0x12C0) Selected Device is Invalid
В остальных случаях LV выдает
LabVIEW: (Hex 0x12D7) You cannot perform this operation without an active task. Ensure that a task is active and try again. An input task might stop running if the input buffer overflows. Overflow occurs when the data is not read fast enough.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Тестирование ДВС

Сообщение IvanLis »

Borisych писал(а):В остальных случаях LV выдает
LabVIEW: (Hex 0x12D7) You cannot perform this operation without an active task. Ensure that a task is active and try again. An input task might stop running if the input buffer overflows. Overflow occurs when the data is not read fast enough.
Первое, что я бы посоветовал, это разнести чтение с разных устройств по разным циклам.
Я так понимаю, что ошибка может возникать из-за различий в частотах тактовых генераторов.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

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

Проблема именно в одновременной работе Звуковых карточек. Если комп имеет ЗК со стерео входом микрофона, то проблема не возникает.
Проблема со старой ЗК, которая имеет моновход.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Тестирование ДВС

Сообщение IvanLis »

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

Проблема именно в одновременной работе Звуковых карточек. Если комп имеет ЗК со стерео входом микрофона, то проблема не возникает.
Проблема со старой ЗК, которая имеет моновход.
У меня нет возможности проверить свои предположения, но я бы рекомендовал начать именно с этого. Т.е. разнести работу с разными устройствами по разным циклам. Если ошибка исчезнет и дело именно в рассинхронизации, то это вы никак не поправите. Нужно будет использовать иное аппаратное решение.

Если ошибка останется, то нужно разбираться с библиотеками, возможно они не реентерабельны, что не позволит вызвать одновременно несколько экземпляров.

------------------------
Я имел ввиду именно рассинхронизацию SB, а не принимаемых сигналов.
Дело в том, что АЦП управляется тактовым генератором, а в Вашем случае это два АЦП и два генератора, которые гарантированно будут генерировать разные частоты.
Скажем так, что вероятность совпадения этих частот, ниже вероятности того, я лег спать дома, а проснулся на луне.
Получается, что за одно и тоже время они набирают разное количество отсчетов. А значит одно устройство должно ждать другое, пока оно не наберет необходимый объем данных.
Что произойдет дальше, я сказать не могу, т.к. не вникал в особенности реализации библиотеки NI и обработчика ошибок....
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

разнес карточки в разные циклы... Работает! Но каждая сама по себе.... вопрос - как два потока данных свести вместе?
Вложения
Input_2х2 канала_08.06.14.vi
(32.35 КБ) 170 скачиваний
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Тестирование ДВС

Сообщение dadreamer »

Borisych писал(а):как два потока данных свести вместе?
Посмотрите пример с очередями, может подойдёт.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

Сорри. Пример в LV2012, а у меня LV2009.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Тестирование ДВС

Сообщение dadreamer »

Borisych
Вложения
SubVI.vi
LV 2009
(17.15 КБ) 169 скачиваний
Main.vi
LV 2009
(15.31 КБ) 174 скачивания
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

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

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Тестирование ДВС

Сообщение dadreamer »

Borisych, а если создать две очереди: очередь самих сигналов и очередь времён их получения (записывать значения системного таймера)? Потом при обработке данных можно вычислить разницу во времени получения сигналов, взяв разность соответствующих времён.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

Re: Тестирование ДВС

Сообщение Borisych »

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

Вернуться в «Обработка сигнала»