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

Захват, обработка и генерирование сигнала
Аватара пользователя
dadreamer

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

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

Сообщение dadreamer »

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

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

Сообщение Borisych »

Примерная схема в файле. В ней реализовано два канала съема данных - один с тензодатчика на трубке ТНВД, другой на оптическом датчики положения коленвала. Разница в моментах получения импульсов дает угол опережения впрыска, частот- обороты двигателя. С тензодатчика импульс имеет сложную форм и спектр. Спектр фильтруется средвами LV и формируется в импульс.
На схеме имеется имитатор импульсов. можно "поиграться" :crazy:
Вложения
Input_peak detector_13.11.13_без триггера.vi
LV2009
(1.5 МБ) 200 скачиваний
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

Добрый день!
Возникла реальная задача - как продетектировать сигнал с датчика коленвала. Датчик индукционный. Вид сигнала приведен например вот в этой статье.
http://injectorservice.com.ua/crankps.php
Вопрос - как "поймать" нужный момент ?
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

Borisych писал(а):Возникла реальная задача - как продетектировать сигнал с датчика коленвала. Датчик индукционный. Вид сигнала приведен например вот в этой статье.

Вопрос - как "поймать" нужный момент ?
Что значит "продетектировать" и какой момент Вы хотите "поймать"?

Я так понял, что основным параметром является амплитуда сигнала, что легко вычисляется средствами LabVIEW.
Так же должна быть строгая зависимость между частотой вращения коленвала, частотой сигнала и его амплитудой. Можно использовать связку этих параметров.
Что бы проверить "чистоту" сигнала, т.е. отсутствие искажений, то можно вычислить корреляцию реального сигнала с эталоном. Эталон можно генерировать вычислив значение амплитуды и частоты, которые должны быть при данном режиме работы.

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

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

Сообщение Borisych »

Датчик положения коленвала является основным датчиком, который задает момент образования искры.
Частота вращения и частота импульсов может быть любой в диапазоне от холостого хода (прим. 800 об мин) до максимума ( 5000-6000 об. мин.)
Специфический импульс - этот импульс и надо выловить. ( ловить - наиболее точное определение). Работа датчика основана на том, что около датчика (датчик закреплен на корпусе двигателя) крутится диск на котором 32 "зуба" и который закреплен на валу двигателя. Когда зубья проходят мимо датчика, то в обмотке датчика индуцируется электрический ток. Один "зуб" отсутствует. В момент прохождения "отсутствующего" зуба возникает специфический импульс. Именно его и надо засечь.
Данный принцип используется очень давно во многих двигателях. В принципе как-бы все понятно, но я не могу найти схему как реализовать.
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

Тут желательно экспериментировать с реальным-записанным сигналом и иметь на руках несколько режимов работы.

Если чисто гипотетически, то я бы пошел следующим путем.
Наверное самый простейший, это вычислить RMS значение от полученного сигнала. Амплитудное значение для гармоники больше действующего в sqrt(2) раз. Немного добавить на погрешность, так что при превышении значения 1.5*RMS можно детектировать аномальный импульс.
Но все это как бы в идеальных условиях, в реальных нужно играть параметрами.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

Добрый день! Нашел описание алгоритма работы. Возможно кому-то пригодится.....

На авторство не претендую. Взято с Сергей Шакуров shakurov_ss@mtu-net.ru

" Чтобы не изобретать велосипед самому, я обратился к фирменному описанию работы бошевских мозгов. В упрощённом виде принцип распознавания выглядит так следующим образом.
Исходя из формы задающего диска обработчик ДПКВ может работать в 2-х режимах:
1. Поисковый - система управления производит поиск маркерного отрезка с отсутствующими 59 и 60 зубьями, в этом режиме невозможно формирование импульсов зажигания и впрыска.
2. Синхронизированный - когда системе управления точно известен номер зуба задающего диска, который вызвал текущее событие обработчика, в этом режиме могут формироваться импульсы зажигания и впрыска четко привязанные к номеру зуба и номеру цилиндра.
Поисковый режим.
Программа проверяет предположение, что текущий зуб является первым. Для чего проверяет интервал между двумя последними зубьями на минимум двукратное превышение интервала между двумя предпоследними зубьями. Как только это условие выполнится - программа переходит в синхронизированный режим. На всякий случай проверяется ещё условие, что период сигнала не превысил учетверённого значения предыдущего.
Работа имитатора отсутствующих зубьев.
Для возможности привязки событий в системе управления во всем диапазоне углов с точностью 6 градусов программа использует имитацию отсутствующих зубьев номер 59 и 60, таким образом для менеджмента событий ДПКВ восстанавливается целостность реперного диска и обеспечивается полная незаметность отсутствующих зубьев. При этом программа естественно предполагает равноускоренное движение реперного диска на интервале 57-58-59-60 зубьев, поскольку в реальности это движение может быть и не равноускоренным - положение прорези специально выбрано таким образом, чтоб зубья 59 и 60 не попадали в критическую зону управления двигателем по углу (например область формирования УОЗ +60 -10 ПКВ для каждого цилиндра соответственно.
В синхронизированном режиме при обработке события 58 зуба ДПКВ программа предполагает отсутствие 59-го зуба, поэтому она переключает модуль CCP из режима захвата в режим сравнения, после чего программа берет ранее захваченное состояние таймера на 58 зубе и добавляет к нему угловой интервал в между зубьями 57 и 58, таким образом предугадывая момент прохода над датчиком 59 зуба на основе предположения о равноускоренном вращении диска в этом угловом интервале. Когда модуль сравнения обнаружит очередное совпадение регистров таймера возникнет новый флаг события ДПКВ, который будет обработан как отсутствующий 59 зуб. Точно также будет установлен момент прохождения отсутствующего 60-го зуба, обработчик которого снова переводит модуль ССP в режим захвата, таким образом имитатор будет отключен и следующий вызов обработчика будет инициирован аппаратно 1-м зубом шестерни.
Здесь опущены алгоритмы определения скорости вращения, неравномерности и индикации ошибок. Тем не менее, этот алгоритм, реализованный мной в программе, успешно распознаёт текущий номер зуба и позволяет привязать к нему какие-либо внешние события. Эту программу я использовал чтобы привязать к датчику коленвала «60-2» ECU мотора, имеющего другой вид ДПКВ. Работает весьма надёжно уже около полугода. (гибрид мотор БМВ, мозги Хонда). На этой основе возможно создать неплохую систему зажигания, в готовых алгоритм, скорее всего, аналогичный, но скрывается разработчиками. "
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

ДОБРЫЙ день всем!
Жизнь вносит свои коррективы.
Заморочился вот такой задачей.
Есть ДВС. На валу есть датчик положение колевала. (см. предыдущей пост). Как собрать данные о частоте вращения коленвала за несколько МИНУТ ? если есть возможность снять показания только за несколько секунд.
Или можно поставить вопрос чуть по другому. Есть датчик положения коленвала, с которого поступают импульсы (60 импульсов за за один оборот. форма импульсов не важна), как собрать импульсы (моменты прихода импульсов) , скажем, за 100 оборотов?
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

Borisych писал(а):Как собрать данные о частоте вращения коленвала за несколько МИНУТ ? если есть возможность снять показания только за несколько секунд.
Лучше десять раз по разу, чем один, но десять раз :wink:

--------------------------------------

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

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

Сообщение Borisych »

ну хорошо, допустим.
я запускаю ДВС и он несколько минут крутится. Я получаю большое кол-во импульсов . Информация заложена в периодичности этих импульсов, ее надо собирать (записывать) несколько минут. LV может вести запись в массив несколько минут?
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

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

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

Сообщение Borisych »

Спасибо. Надо попробовать.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

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

Сообщение Jakob Brontfeyn »

при средней скорости вращения ДВС, скажем 3000 оборотов в минуту то
бишь 50 об. в секунду 60 имп. на оборот имеем 3000 импульсов в секунду,
многовато будет. Между вернеи и нижней мертвой точкой ДВС пол оборота
как раз 30 импульсов, может как то только эти одиночные импульсы
2 на один оборот чисто аппаратно выделить.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

Информация содержится именно в неравномерности вращения вала ДВС. Если аппаратно выделить 2 импульса (запросто. Счетчик импульсов. На сколько хотите поделить? ), то потеряется всякий смысл.
3000 об-мин.= 50 об.сек = 50 Гц
Частота отсчетов должна быть не ниже 250 Гц. Скорость вполне приемлемая для LV.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

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

Сообщение Jakob Brontfeyn »

Borisych писал(а):Информация содержится именно в неравномерности вращения вала ДВС. Если аппаратно выделить 2 импульса (запросто. Счетчик импульсов. На сколько хотите поделить? ), то потеряется всякий смысл.
3000 об-мин.= 50 об.сек = 50 Гц
Частота отсчетов должна быть не ниже 250 Гц. Скорость вполне приемлемая для LV.
Это понятно, причем чем больше цилиндров,
тем лучше с неравномерностью вращения вала.
В 4-цилиндровом каждый такт (180 град) это рабочий ход
одного из цилиндров, в 6 цилинровом еще лучше, 120 градусов
рабочий ход одного цилиндра не заканчиваясь перекрывается
рабочим ходом другого
Меня вдруг смутило другое, 60 импульсов на оборот,
это же 6 гадусов угол между импульсами.
довольно неточно по моему для определения верхней мертвой точки,
и момента зажигания искры.
Что касается задачи, возможно не стоит тупо писать все.
Важно схватить буфер 4 тактов Вашего ДВС, это 2 оборота вала или 120 импульсов.
затем математически обработать и результат записывать в фаил.

Возможно формат будет следующий: слева номер полного цикла ДВС(2 оборота), далее 120 значений угловой скорости вала.
В бинарном виде получится довольно компактно
Делаете такую запись раз в секунду и будет совсем хорошо, даже в ASCII формате,
можно работать сутками.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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