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

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

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

Сообщение Borisych »

Добрый день!
Данная тема уже обсуждалась на прошлом форуме, но сейчас ее приходится поднимать заново.
Суть идеи - подключить датчики к реальному дизелю и измерять рабочие параметры. Конкретно речь идет о замере угла опережения впрыска (УОВ) в зависимости от оборотов двигателя. Что было сделано за прошедший период:
- проверено несколько вариантов датчиков (микрофон, пьезо-, ПД-6, оптопара), сняты формы сигнала.
- сделан и переделан имитатор сигналов
- проверено несколько вариантов схем

Основной вопрос - прыгают показания по частоте и фазе. Если показания по частоте вращения достаточно точные, то фаза прыгает в недопустимых пределах - до 5 град. Иногда уходит в "минус". Хотелось бы иметь ошибку определения 1-2 град. Какие будут идеи?
Вложения
Input_peak detector_15.10.13.vi
Схема LV2009
(875.24 КБ) 258 скачиваний
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

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

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

Сообщение Borisych »

Исходя из конструкции ДВС, частота сигналов коленвала и частота сигналов впрыска одинаковые. Разница состоит во времени их фиксации. Этот момент времени приведенный к фазе и нужно определить. Т.е. первая гармоника у сигналов одинаковая.
Более того, обратите внимание, что детекторы частоты и фазы работают в пилообразными сигналами на входе. Если на вход подавать прямоугольные импульсы, сформированные компаратором, то детекторы начинают ловить 2, 3, 4 гармоники сигналов. Я это обозвал "нулевые частоты" по подобию таких частот в АЦП.
Касательно шума вы абсолютно правы. Фактор шума учтен в имитаторе сигнала, как добавочный шум генератора.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Т.е. первая гармоника у сигналов одинаковая.
* ваш пример у меня не запускается - какие-то ошибки в ExpressVI-ях
Это в теории. На практике из-за шума могут быть сдвижки. И вот тут начинают набегать погрешности. Если вы набираете массив данных некратный периоду вращения двигателя, то точно вычислить фазу не получится - из-за особенностей метода вычисления FFT. Имеет смысл выделять целое число периодов из оцифрованного массива и считать фазы по такому фрагменту. Т.е вы находите начало и длину по одному сигналу и вырезаете одинаковые фрагменты этих сигналов.
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

Я делал подобную схему.
Оба сигналы пропускались через Trigger and gate. (Это была попытка борьбы с моментом, когда первым в массив записывается второй канал, и фаза становится 360 - фаза.) В этом случае есть провалы в индикации данных.

В приведенной схеме исследовались четыре варианта схем измерения.
Самое точное измерение - вычисление частоты из периода. Серьезный минус - при низких значениях частоты ( менее 1000-1200 об/мин) система вылетает в ошибку. Видимо период большой и происходит деление на ноль.

На счет "размера массива некратному периоду вращения" можно подробнее? Кратность в чем? В размере самого массира или в количестве импульсов? Оно должно быть четным или не четным?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Серьезный минус - при низких значениях частоты ( менее 1000-1200 об/мин) система вылетает в ошибку. Видимо период большой и происходит деление на ноль.
похоже, просто за один замер не набегает периода, потому и ошибка.
В анализируемый массив должно укладываться ЦЕЛОЕ число периодов. Какое оно - четное или нет не имеет значения. Например, если период укладывается в 258 точек, то следует вырезать 516, 774 итд. Если три периода укладываются в 1000 точек, то надо брать 1000, 2000 и т.д
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

А тогда как определить размер массива? длительность периода меняется. получается, что на первом этапе я должен замерить длительность периода, и рассчитать размер массива. Потом исходя из размера массива записать сам массив и проанализировать его функцией. так?
а может есть готовый вариант - записать скажем 10 пиков?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

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

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

Сообщение Borisych »

выявилась интересная фишка.
имеется Peak Detector VI. У Peak Detector VI имеется выход # found на котором отображается кол-во найденных пиков.
Если на вход подавать синусоиду или нечто подобное, то кол-во пиков отображается.
Если подавать прямоугольные импульсы, то # found не работает! отображается НОЛЬ.
С этим можно как-то бороться? И почему так происходит?
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

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

Сообщение Andrew Lunev »

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

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

Сообщение Borisych »

Добрый день!
2 Andrew Lunev
Как поймать фронт импульса? точнее какой функцией?

Подсчитать кол-во импульсов в массиве может и Peak Detector VI, только точности никакой.

Сейчас применяю Extract Single Tone Information VI.
Точнее берутся два синхронных сигнала со сдвигом по времени. Сдвиг времени ( сдвиг фазы) вычисляется как разность показаний фазы сигнала в каждом канале.
Точность высокая. сразу выявилась ошибка:
- на точность определения сдвига влияет длительность импульсов. Передние фронта синхронизированы, а спады разбегаются. Видимо Extract Single Tone Information VI за точку отсчета принимает середину импульса, а не фронт.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

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

Сообщение Andrew Lunev »

Borisych писал(а):Как поймать фронт импульса? точнее какой функцией?
Если сигнал TTL, то лучше всего для подсчета импульсов использовать аппаратный счетчик, они есть почти в каждой универсальной плате сбора данных от NI. Счетчиком можно посчитать и частоту и период и кол-во импульсов за единицу времени (скорость).

Если сигнал приходит с АЦП, то так же вариантов очень много, все зависит от метода сбора сигнала, его уровня и зашумленности. Один из простых вариантов для примера ниже. Подсчитывает передние фронты входного сигнала формата TTL.
Вложения
FrontCounter.png
Borisych
junior
junior
Сообщения: 56
Зарегистрирован: 13 ноя 2012, 19:31
Версия LabVIEW: 10
Контактная информация:

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

Сообщение Borisych »

До платы я еще пока не дорос. Дорогое это удовольствие для гаражных Х-перементов. Использую звуковой вход. Два канала пока достаточно.
Использовать аппаратные счетчики можно, но тогда возникают сложности с предварительной фильтрацией сигнала.
Я использую LV именно из-за возможности менять входные фильтры в широких пределах.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

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

Сообщение Andrew Lunev »

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

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

Сообщение Borisych »

В системе используются два датчика и два тракта передачи:
- оптопра. устанавливается на распредвал.
- пьезодатчик ПД-6. Устанавливается на трубку форсунки.

Оптопара работает очень хорошо. фронты идеальные. Емкости на входе звуковой карты практически не влияют
Пьезодатчик. Картинка внизу, самая верхняя белого цвета. Это картинка снята на реальном двигателе.
Структура и спектра сигнала с ПД-6 весьма сложные. Я его имитировал как несущую 4 кГц, модулированную треугольными импульсы большой скважности.
Оба тракта имеют одинаковые параметры, чтобы фазовые хар-ки были одинаковые.
Вложения
PrnScr_1.pdf
(166.08 КБ) 227 скачиваний
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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