Page 2 of 2

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 7:24 am
by Sergey89
XDA wrote:а если цепь подуставшая и растянутая?
вообще там есть запас в 30 градусов в обе стороны. не знаю хватит его или нет.

вот оригинальный патент на этот сенсор http://rusefi.com/forum/download/file.php?id=211
у нас есть угловая скорость (размерность 1/время) и метки фиксированных углов по зубьям
справедливо при отсутствии ускорения, но вообще да. следующее угловое положение можно определить с какой-то погрешностью.

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 8:36 am
by XDA
Sergey89 wrote:
у нас есть угловая скорость (размерность 1/время) и метки фиксированных углов по зубьям
справедливо при отсутствии ускорения, но вообще да. следующее угловое положение можно определить с какой-то погрешностью.
при ускорении мы так или иначе можем предсказывать время будущего зуба, на основании обсчёта предыдущих

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 9:31 am
by Sergey89
Но для этого нужно сначала синхронизироваться. А пока синхронизация не выполнена? Тут стоит вопрос в том, можно ли универсальным образом синхронизироваться по любому паттерну сигнала положения.

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 11:18 am
by frig
Сергей, берем первый импульс, считаем, что его длина это длина первого импульса в паттерне, из этого же считаем наш опорный rpm, берем следующий импульс - не сходится? Сдвигаем окно, пересчитываем rpm по первому импульсу, сравниваем. Получится?

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 11:24 am
by Sergey89
frig wrote:Тут надо подумать, но думаю можно опираться на относительные длины импульсов, а на конкретную длину в углах.
Где тут частица "не" пропущена?

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 11:50 am
by frig
Тут надо подумать, но думаю можно опираться на относительные длины импульсов, а НЕ на конкретную длину в углах.

Я в предыдущем посте предложил как это делать. Принимать длину первого импульса в окне в качестве длины первого импульса в паттерне. Из него считать rpm и соответствующие длины импульсов в окне в режиме синхронизации. Так паттерн сойдется, когда мы попадем на нужный зуб.
Если я ничего не упустил.

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 11:52 am
by XDA
Sergey89 wrote:Но для этого нужно сначала синхронизироваться. А пока синхронизация не выполнена? Тут стоит вопрос в том, можно ли универсальным образом синхронизироваться по любому паттерну сигнала положения.
коленвал не испытывает в своей жизни такого ускорения, чтобы алгоритм, который ищет пропуск зуба на основании времени прохождения предыдущего зуба дал сбой.

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 1:03 pm
by AndreyB
XDA wrote:коленвал не испытывает в своей жизни такого ускорения...
А мы знаем какие-то конкретные цифры максимального ускорения? Насколько оборот может бысть быстрее предыдущего?

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 1:19 pm
by frig
russian, вообще там в рамках одного оборота ускорения могут быть и они тоже могут быть весьма полезны :)

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 2:19 pm
by rus084
у двигателя существует такой параметр как приемистость - скорость набора оборотов , я думаю что оно измеряется в (об/мин)/с^2

у мотоциклетных двигателей , особенно 2т она очень большая . у грузовиков очень маленькая

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Dec 24, 2013 2:54 pm
by Sergey89
XDA wrote:
Sergey89 wrote:Но для этого нужно сначала синхронизироваться. А пока синхронизация не выполнена? Тут стоит вопрос в том, можно ли универсальным образом синхронизироваться по любому паттерну сигнала положения.
коленвал не испытывает в своей жизни такого ускорения, чтобы алгоритм, который ищет пропуск зуба на основании времени прохождения предыдущего зуба дал сбой.
это всё понятно. я говорил про то, что пока мы не выполнили синхронизацию мы оперируем временем.

Re: Алгоритм универсального обработчика положения валов

Posted: Wed Dec 25, 2013 4:14 pm
by AndreyB
Я заимплементировал свою идею - сейчас у меня Aspire, Neon и Fiesta декодируется одним и тем же кодом. Читать можно trigger_decoder.cpp

Даже тест есть - test_trigger_decoder.cpp

Сейчас пойду еще и документацию немного напишу.

Re: Алгоритм универсального обработчика положения валов

Posted: Tue Feb 04, 2014 12:37 pm
by mivaol
Блин ничего не понимаю в нормальном коде одни слова.. :?
Если проще то считаю что тупо сравнивать значение предыдущего захвата таймера и нынешнего если нынешний в два раза больше это синхрометка 36-2 соответственно 60-2 тоже субары идут лесом у них всё слишком умно.