Управление накопл. энергии катушек зажигания (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 »

Dmitrich2
Посмотрел твои исходники. Интересный вариант реализации. Я о таком думал. Надо подумать о том как сделать проще. Возможно делать привязку не к оборотам, а к межзубному периоду полученному непосредственно перед началом вычислений или использовать значение таймера полученное в предыдущем цикле зажигания. Когда у меня будет больше времени, то я еще подумаю.
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
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

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

Post by Dmitrich2 »

Провел испытания на машине при температуре -11, запуск двигателя стал легче, хотя просадка аккумулятора на БК показывала 7,8 в. думаю на катушке было еще меньше. При подходе оборотов 3500 - 3900 двигатель начинал работать с перебоями и глох. Хорошо бы было найти эту точку привязки. При стендовой настройке вышел со строя коммутирующий транзистор пришлось сделать дополнительно токовый компаратор. Также сделал эксперемент с коммутатором и обычной прошивкой, запитав его от отдельного аккумулятора PG12-7,2 результат отличный, заводится тоже легко. Тоесть причина тяжелого запуска в недостаточном открытии коммутирующего транзистора.
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 »

Я посмотрю более внимательно твои исходники, возможно найду причину перебоев при высоких оборотах. Возможно ты там делаешь слишком длительниые расчеты и не успеваешь между прерываниями. Для дополнительной защиты транзистора можно использовать вход прерывания (обозначен на схеме как CLIM), он специально для этого зарезервирован. На вход прерывания заводить выход компаратора для аварийного закрытия транзистора.

Но опять же, я хочу придумать немного другой способ формирования задержки, без привязки к оборотам.
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
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

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

Post by Dmitrich2 »

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 »

Можно делать привязку либо к межзубному периоду до в.м.т., либо к периоду предыдущего такта. Все это у нас уже измеряется.
У меня пока завал со временем, когда разгребусь - подключусь. Управление накоплением энергии - это важная фича и имеет высокий приоритет.
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
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

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

Post by Dmitrich2 »

STC
Нарисовал времянку работы шкива по свободе посмотри может что не так.
Attachments
шкив.zip
(14.15 KiB) Downloaded 466 times
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 »

Поразмышлял над разными алгоритмами стараясь выбрать самый простой. Пока остановился на следующем алгоритме.
------------------------------------------
В основном цикле программы по полученному напряжению бортовой сети из таблицы получаем задержку (можно дополнительно использовать линейную интерполяцию). Полученную ЗАДЕРЖКУ (тики таймера) отдаем модулю ckps.
После выдачи искры в текущем цикле зажигания (в обработчике прерывания канала А) расчитываем на основе УОЗ значение таймера при котором произойдет выдача искры в следующем цикле зажигания. Вычитаем из полученного значения таймера значение задержки и загружаем в модуль сравнения B. В прерывании от канала А идет выдача искры (выключение тока через КЗ), в прерывании от канала В идет запуск накопления.(включение тока через КЗ)
Так в каждом цикле.

Что нужно дополнительно учесть:
- после выдачи искры разрешать накопление энергии для следующего цикла не сразу, а с задержкой (пока горит дуга в свече). Не знаю нужно ли это...
- Сделать аварийную отсечку. Так как мы отсчитываем момент выдачи искры по зубьям, а шкив может остановиться прежде чем
мы досчитаем, то транзистор останется открытым. Для предотвращения этого, после начала накопления программируем канал В на аварийную отсечку через, скажем 5 мс.
-----------------------------------
В приведенном выше алгоритме есть только одно длительное вычисление (длительное из-за использования деления). То есть мы лишний раз не переводим из задержки в градусы.
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
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 »

Момент выдачи искры в следующем цикле зажигания расчитать легко.
- Мы знаем что между двумя соседними моментами выдачи искры всегда будет приблизительно 180(4ц.), 120(6ц.) или 90 град.(8ц.) Назовем это Периодом Загигания В Градусах
- Знаем межзубный период на момент расчетов
- Знаем кол-во градусов на зуб.

Момент нач.накопления = Тек.знач.таймера + (Межзубн.период * Период.зажиг.в град.) / град.на зуб
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
Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

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

Post by Dmitrich2 »

Тек.знач.таймера, если правильно понял это регистр захвата GetICR()
Дело в том что пробовал брать для начала расчета 180 град. и получается по выходу 2-го канала все проходит,а вот по 1-у каналу идет сбой или пропадание за счет того что регистр захвата большей длительности (пропущенные зубья-синхрометка),пройдя пропущенные зубья длительность импульса и работа восстанавливается. При уменьшении напряжения ниже 14.3 в. идет смещение порога то есть пропадание появляется при более низких оборотах. Желательно как то ограничить длительность накопления за счет оборотов.
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 »

Да, о том что есть синхрометка я не подумал. Тогда нужно завести еще одну переменную (в дополнение к period_curr) и в нее записывать только нормальные периоды, а случаи с синхрометкой пропускать. То есть обновлять переменную во всех случаях кроме 59 и 60 зубьев (точно не помню +/- 1).

Ну а по поводу самого алгоритма что скажешь?
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
Post Reply