Page 14 of 38

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 4:50 pm
by Stranger21
я поэтому и говорю что у меня 0.01 . раз универсальное - то придеться делать 0.01

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 5:14 pm
by AleksandR K.
lsasha7 wrote:хватит ли дискретности 0.1 десятка т.е. впрыск 2.3 мс. ,
0,1/2,3*100%=4,3%. По-моему грубовато. Лучше 1%.

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 5:16 pm
by nikll
ну потому я и предложил дискретность 0,01мс

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:16 pm
by lsasha7
и вы думаете что этот кусок железа (форсунка) отследит 0.01мс. ? температура, трение сердечника о стенки камеры, пружина, грязь, и т.д. не верю, ну хотябы дискретность 0.05мс.

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:26 pm
by STC
и вы думаете что этот кусок железа (форсунка) отследит 0.01мс. ? температура, трение сердечника о стенки камеры, пружина, грязь, и т.д. не верю, ну хотябы дискретность 0.05мс.
Ага. Маркетологический ход. Чтобы пользователи думали что точность выше чем у конкурентов. :lol:

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:44 pm
by Makar
Сколько будет по факту не сможет сказать никто, но если мы можем без особых проблем выводить с точностью 0,01 то почему бы и нет? В любом случае физически длительность открытия форсунки будет на порядок мене точная величина чем управляющий импульс.

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:53 pm
by nikll
Все просто, таймер 16бит, при дисктетности 0,1мс максимальное время впрыска составит 6,5535 секунды что явно лишнее :), соотвественно совершенно безболезненно можно поднять дискретность в 10 раз и получить минимальное время впрыска 0,01мс и максимальное 0,65535 секунды с шагом в 10мкс. Лишним не будет. Заодно и если кому захочется то повыежеваться против конкурентов раз уж даром.
В январях и микасах дискретность 0,1мс. на форсунках simens deka 630cc на ХХ в ПП режиме очень хорошо чуствуется, лаг форсунки за 2мс, реальное время впрыска 0,3-0,4мс, в сумме 2,3-2,4мс, получается срзау шаг на четверть :)

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:55 pm
by nikll
Makar, +1.
Нам нет необходимости 100% соответсвия запрошенной и фактической длительности работы форсунки, при калиборвке просто подберется наиболее подходящщая и похрен сколько там в реальности будет время впрыска главное что за это время форсунка нальет ровно нужное количество бензина.

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 6:58 pm
by Makar
Насколько я понимаю таймер должен перезапускатся с каждым новым оборотом или хотя бы с каждым вторым?

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Posted: Fri Jan 27, 2012 7:31 pm
by nikll
Алгоритм работы таймера управления форсункой:
1. Таймер запускается в прерывании ДПКВ в куске кода отвечающщим за вызов функций по достижению определенного угла раз за два оборота для нормального режима и раз за оборот для ПП режима.
2. Угол по кв для запуска таймера определяется в соответсвующщей функции которая расчитывает этот угол на основе таблицы оптимальной фазы впрыска и времени впрыска (залить все до закрытия впускного клапана). Данная функция вызывается в основном цикле, если за время двух оборотов коленвала функция не успела отработать (теоретический перегруз по ресурсам к примеру на высоких оборотах) то используется старое значение (рано или поздно функция всеравно выполнется и обновит угол начала впрыска).
3. На таймере управления форсункой висит прерывание с кодом состящщим из двух блоков: на открытие и на закрытие форсунки. По дефолту запускается блок кода отвечающщий за открытие форсунки, в этом блоке форсунка открывается и таймер перевзводится на закрытие форсунки согласно времени впрыска.

Во общем как то так, это из реинженеригна микас-спорт и j5ls. Я себе в голове это примерно так же представляю, оптимальней трудно сделать. Конкретно в коде каждый таймер управляет четырмя счетчиками и к каждому счетчику привязанно прерывание срабатывающщие по переполнению, поэтому в коде при наличии более чем одной форсунки будет выглядеть немного сложней но суть та же.

Если есть вопросы задавайте.