Управление накопл. энергии катушек зажигания (Dwell control)

Обсуждение прошивок SECU-3. Discussion of SECU-3 firmware.

Moderator: STC

User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Управление накоплением энергии катушек зажигания

Post by STC »

Stranger21
Проверил работу накопления энергии осциллографом на раельном блоке с использованием имитатора ДПКВ.
ИЛИ выключено, последняя прошивка, IAR.
Часть из твоих утверждений не соответствуют действительности. Мои результаты:
1. Накопление работает верно во всем диапазоне оборотов.
2. Длительность импульсов накопления зависит только от напряжения в соответствии с таблицой.
3. На высоких оборотах, когда время накопления приближается к периоду зажигания, оно начинает ограничиваться.
4. Пропусков не видел.

При включеном "ИЛИ" все работает правильно если время накопления неравно (приблизительно) периоду зажигания. В момент когда оно приблизительно равно периоду зажигания наблюдаются пропуски (на высоких оборотах уменьшаю напряжение и время накопления ничинает расти). Это баг и я буду испрявлять его.

Могу согласиться лишь с тем, что имитатор ДПКВ выдает чистый сигнал, а реальный двигатель имеет большой разброс периода вращения коленвала и тут действительно может быть верно следующее (как выразился teuer):
Мне кажется, алгоритм расчета времени включения тока в катушке неверен. Проблема в том, что это время расчитывается во время "предыдущего" момента искры (ISR COMPA, 480 строка). То есть, включение катушки произойдет аж через пол оборота маховика, а за это время изменится скорость вращенния. Учитывая крошечный интервал времени, мы и получаем, что включится катушка не успевает. Расчитывать надо точно также, как и момент зажигания.
Если это действительно так, то я переделаю алгоритм. Dmitrich2 что скажешь? Ты говорил что у тебя нет проблем с запуском.

В прошивке исправил:
- увеличил время "мертвой зоны" (время горения искры) с 50мкс до 500мкс
- добавил инициализацию выходов зажигания перед запуском бутлоадера
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Управление накоплением энергии катушек зажигания

Post by Stranger21 »

ну два человека померили выход осцилографом и получили одинаковый результат - свою схему я уже выкладывал ,
вход измерителя напряжения как оставался не подключенным , так и подключался - разницы 0
завести машину на накоплении практически нельзя!!! так как при вращении стартера длительность накопления равна 0 , импульсы появляются только при понижении обротов ... поведение прошивки на столе , в машине , в протеусе = одинаково - везьде оно не работает ниже 1500 оборотов , выше все прекрастно!!!
если ты получил отличный от других результат ,значит у тебя или схема другая , или мистика какаято , я не знаю почему у тебя работает а у нас нет...
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Управление накоплением энергии катушек зажигания

Post by teuer »

to STS
Если учесть время накопления в advance_angle, то
можно сделать примерно так:

diff = ckps.current_angle - ckps.advance_angle;
if (diff <= (ANGLE_MAGNITUDE(CKPS_DEGREES_PER_COG) * 2))
{
//before starting the ignition it is left to count less than 2 teeth. It is necessary to prepare the compare module
//(äî çàïóñêà çàæèãàíèÿ îñòàëîñü îòñ÷èòàòü ìåíüøå 2-x çóáîâ. Íåîáõîäèìî ïîäãîòîâèòü ìîäóëü ñðàâíåíèÿ)
//TODO: replace heavy division by multiplication with magic number. This will reduce up to 40uS !
#ifndef COIL_REGULATION
OCR1A = GetICR() + ((uint32_t)diff * (ckps.period_curr)) / ANGLE_MAGNITUDE(CKPS_DEGREES_PER_COG);
TIFR = (1 << OCF1A);
flags->ckps_need_to_set_channel = 0; // For avoiding to enter into setup mode (÷òîáû íå âîéòè â ðåæèì íàñòðîéêè åù¸ ðàç)
TIMSK|= (1<<OCIE1A); //enable Compare A interrupt (ðàçðåøàåì ïðåðûâàíèå)
#endif

#ifdef COIL_REGULATION
if (1/*flags->ckps_period_min*/)
{
ckps.channel_mode_b = (ckps.channel_mode & ckps.chan_mask);
OCR1B = GetICR() + ((uint32_t)diff * (ckps.period_curr)) / ANGLE_MAGNITUDE(CKPS_DEGREES_PER_COG);
OCR1A = OCR1B + ckps.cr_acc_time;
TIFR = (1 << OCF1A);
TIMSK|= (1<<OCIE1A);
TIFR = (1 << OCF1B);
TIMSK|= (1<<OCIE1B);
flags->ckps_need_to_set_channel = 0;
}
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Управление накоплением энергии катушек зажигания

Post by Stranger21 »

скачал последнюю версию , проверил в протеусе - тоже самое все , еслиочень плавно регулировать обороты , и тоне получается , то тогда импульс накопления постоянен , но этого добится очень трудно , если же регулировать достаточно быстро то все также падает до 0 при увелиничии оборотов
быть может както "криво" с улом стыкуется? сечас попробую поставить галочку 0 уоз - нет на 0 уоз тоже самое

попробовал этот код - может чего не верно сделал , но результат нулевой , только пропусков стало куча
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

Re: Управление накоплением энергии катушек зажигания

Post by Dmitrich2 »

Читая сообщения сам начинаю верить в мистику, с запусками проблем пока нет, ожидаю похолоданий, что бы проверить запуск при отрицательных температурах. Если не трудно teuer и Stranger21, придется немного вернутся к старой прошивке для истины. Скомпилировал под мегу 32 прошивку которая прошита у меня. И пожалуйста результат написать не по испытаниям на протеусе, а на стенде( если не получится на машине). Менеджер находится в зипе который высылал раннее.
Attachments
mega32.7z
(9.59 KiB) Downloaded 328 times
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Управление накоплением энергии катушек зажигания

Post by teuer »

К сожалению у меня мега16.
Я немного упустил тему имитатора ДПКВ. У меня на меге8 построен генератор 60-2 и там я могу сделать так, чтобы межзубный период постоянно плавно менялся. И вверх и вниз. Если период постоянен то проблем не видно.
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

Re: Управление накоплением энергии катушек зажигания

Post by Dmitrich2 »

Под мегу 16 выкладывал прошивку со своей машины постами выше.
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

Re: Управление накоплением энергии катушек зажигания

Post by Dmitrich2 »

Dmitrich2 wrote:Под мегу 16 выкладывал прошивку со своей машины постами выше.
на 21 странице
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Управление накоплением энергии катушек зажигания

Post by Stranger21 »

если кто скачал мой проект протеуса , то в нем же есть мой имитатор 60-2 на PIC на вход подается просто сигнал с генератора , в протеусе свой , в реальности на столе 555 таймер , после PIC поставил транзистор и после транзистора трансформатор от радиоприемничка , на выходе транса конденсаторы немного , чтобы сгладить всеж чуть пульсации и хитрую полу треугольную форму привести в подобие синуса , секу 3 отлично его воспринимает как реальный , межзубный интервал постоянный , но такак геренатор у меня аналоговый , частоту могу менять ОЧЕНЬ быстро в течении одного оборота кв , как в протеусе , так и на столе , ну и в машине тоже

проверю на столе сегодня вечером , но пока я не находил отличий симуляции в протеусе , на столе , на машине , пробовал все версии начиная с релизной 02022011 ... накопление НИгде не работает!!!
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Управление накоплением энергии катушек зажигания

Post by teuer »

Проверил.
Ширина импульса меняется. Если скорость увеличения оборотов большая, то до нуля.
На живой машине это должно выглядеть как провал при резком нажатии на газ. Возможно со стрельбой в глушитель.
Post Reply