(New dwell controlling algorithm)
Эта тема для обсуждения новых алгоритмов управления накоплением энергии катушек зажигания. Я создал эту тему чтобы "не захламлять" основную тему (viewtopic.php?f=52&t=1003) вопросами касающимися новых (алтернативных) алгоритмов.
Алгоритм, который реализован в данный момент имеет существенный недостаток. Расчет задержки производится за пол оборота, без привязки к зубьям шкива. При резких ускорениях коленвала, данный алгоритм не будет работать корректно (актуально на низких оборотах). В связи с этим, я занимаюсь поисками альтернативных решений.
Опишу кратко альтернативный алгоритм, который я придумал на данный момент. Он является усовершенствованной версией текущего (я добавил прогнозирование с последующей коррекцией).
- После искры (в прерывании COMPA) вычисляем как и раньше задержку, но не загружаем ее в таймер, а сохраняем в 32-х битной переменной. Также сохраняем текущий межзубный период.
- На каждом последующем зубе прибавляем к задержке разницу между тек.межзубн.периодом и сохраненным (таким образом мы корректируем наш прогноз). Далее, делим задержку на тек. межзубн. период (получаем кол-во зубьев).
ЕСЛИ до момента накопления осталось меньше 3-х зубьев,
ТО: Вычисляем на основе тек. УОЗ и угла поворота коленвала момент искры (по таймеру), отнимаем значение задержки и загружаем результат в канал таймера COMPB (он запустит накопление)
(сложный вариант)
Прибавляем оставшуюся часть задержки к текущему значению тайиера и загружаем результат в канал таймера COMPB (он запустит накопление)
(простой вариант)
ИНАЧЕ: отнимаем тек.межзубн.период от оставшейся сохраненной задержки и т.д.
При описании алгоритма я сознательно упустил:
Необходимость учесть период времени между искрой и следующим зубом (нужно отнять от задержки). Для сложного варианта некритично, критично для простого.
Преимущества алгоритма:
- Отсутствие проблемы переполнения таймера на очень низких оборотах;
- Адаптивность к изменениям угловой скорости коленвала;
- Использование 16-битной - простой арифметики (без использования 32-битного деления).
Для начала я реализую только адаптивность(простой вариант). При необходимости можно будет реализовать и коррекцию относительно УОЗ в момент 3-х зубъев до начала накопления (сложный вариант).
Новый алгоритм управления накоплением (new dwell cntr algo)
Moderator: STC
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Новый алгоритм управления накоплением (new dwell cntr algo)
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Новый алгоритм управления накоплением
Здравствуйте все!
STC и команда, снимаю шляпу перед Вашим проектом!
Есть предложение по алгоритму вычисления времени накопления. До реализации вживую у меня ещё не всё готово. Может у Вас получится?
Суть такова. При пуске устанавливается фиксированное время накопления, предположим, 4...5мсек. После выхода на обороты ХХ задействовать встроенный компаратор, один вход подключаем к источнику опорного напряжения МК, а второй - на измерительный резистор. Устанавливаем напряжение Uref= 0,2В (половина от того, о чем говорил LEON при контроле тока катушки зажигания). Открываем транзистор и одновременно засекаем время. Когда напряжение на измерительном резисторе достигнет порога, компарер опрокинется - засекаем "половинное" время накопления. Это время удваиваем и прибавляем 100...200мксек, для верности. В этом случае, возможно, отпадает надобность в таблице "время накопления/напряжение бортсети".
Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные. Если не против, уточню схемы и выложу на рассмотрение.
С Уважением!!!
STC и команда, снимаю шляпу перед Вашим проектом!
Есть предложение по алгоритму вычисления времени накопления. До реализации вживую у меня ещё не всё готово. Может у Вас получится?
Суть такова. При пуске устанавливается фиксированное время накопления, предположим, 4...5мсек. После выхода на обороты ХХ задействовать встроенный компаратор, один вход подключаем к источнику опорного напряжения МК, а второй - на измерительный резистор. Устанавливаем напряжение Uref= 0,2В (половина от того, о чем говорил LEON при контроле тока катушки зажигания). Открываем транзистор и одновременно засекаем время. Когда напряжение на измерительном резисторе достигнет порога, компарер опрокинется - засекаем "половинное" время накопления. Это время удваиваем и прибавляем 100...200мксек, для верности. В этом случае, возможно, отпадает надобность в таблице "время накопления/напряжение бортсети".
Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные. Если не против, уточню схемы и выложу на рассмотрение.
С Уважением!!!
Re: Новый алгоритм управления накоплением
Дык, ток в КЗ растет нелинейно же...IGO61 wrote:...засекаем "половинное" время накопления. Это время удваиваем и прибавляем 100...200мксек, для верности...
Очень интересно!IGO61 wrote:Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные.
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Новый алгоритм управления накоплением
IGO61
Спасибо. Идеи приветствуются.
1) Аппаратное ограничение тока
2) Если возможно, плавная отсечка.
Схема должна быть простая, иначе это теряет смысл (у нас ведь 4 канала зажигания и громоздкая схема нам не нужна). Некоторое время назад я нарисовал вот такую схему:
Она показывает больше идею, но в принципе ее можно усовершенствовать и попробовать отмакетировать (на что у меня нет времени). В этой сжеме как я понял нужно использовать иперационный усилитель вместо компаратора. Ресистор на 0.01 Ом это перебор - нужно 0.05, я думаю.
Спасибо. Идеи приветствуются.
Это мне тоже интересно, так как я хочу создать версию блока со встроенными коммутаторами. Мне нужно только:Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные. Если не против, уточню схемы и выложу на рассмотрение.
1) Аппаратное ограничение тока
2) Если возможно, плавная отсечка.
Схема должна быть простая, иначе это теряет смысл (у нас ведь 4 канала зажигания и громоздкая схема нам не нужна). Некоторое время назад я нарисовал вот такую схему:
Она показывает больше идею, но в принципе ее можно усовершенствовать и попробовать отмакетировать (на что у меня нет времени). В этой сжеме как я понял нужно использовать иперационный усилитель вместо компаратора. Ресистор на 0.01 Ом это перебор - нужно 0.05, я думаю.
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Новый алгоритм управления накоплением
Здравствуйте все!
LeoN, прикладываю фотку снятую с промышленного коммутатора 3640.3734 на L497B в настольных условиях. Синяя линия - сигнал на входе от ДХ (генератор-имитатор), красная - напруга на токоизмерительном резисторе 0,1ом (штатный коммутатора). Катуха - 4-хствольная 21110-3705010-03. Задеян один канал. Искровой промежуток - открытый воздух, зазор 12мм. Как видно, ток в КЗ растёт почти линейно, хотя о линейности я не оговаривался. Если б не было ограничения, ток бы вырос ещё больше и при насыщении железа - резкий скачёк тока. Задача ограничения по Imax - не допустить этого скачка.
Насколько я знаю, из опыта "общения" с КЗ, время нарастания тока практически постоянно при постоянном напряжении питания. В принципе, такой способ определения времени накопления имеет право на жизнь. Тем более, что при таком способе схема становится менее критичной к типу катухи поджигания. Главное - набрать необходимую энергию (достижение заданного тока за определённое время).
STC, постараюсь оправдать надежы со схемами. Програмное ограничение и плавная отсечка тока трудновыполнимы, насколько подсказывает опыт. Опыт программиста пока скуден. Но всё в наших силах.
По Вашей схеме: 0,01ом явно мало. При токе через КЗ 8А, предположим, на нём будет 0,08В. Это напряжение встроенным в МК компаратором "подхватить" нельзя. Я "общаюсь" с ПИКами, минимальная напруга, которую может обеспечить источник опорного напряжения этих МК - 0,2В. Поэтому 0,05ом - предпочтительней. При таком сопротивлении и токе в те же 8А, падение на резисторе будет уже в "зоне действия" компарера.
LeoN, прикладываю фотку снятую с промышленного коммутатора 3640.3734 на L497B в настольных условиях. Синяя линия - сигнал на входе от ДХ (генератор-имитатор), красная - напруга на токоизмерительном резисторе 0,1ом (штатный коммутатора). Катуха - 4-хствольная 21110-3705010-03. Задеян один канал. Искровой промежуток - открытый воздух, зазор 12мм. Как видно, ток в КЗ растёт почти линейно, хотя о линейности я не оговаривался. Если б не было ограничения, ток бы вырос ещё больше и при насыщении железа - резкий скачёк тока. Задача ограничения по Imax - не допустить этого скачка.
Насколько я знаю, из опыта "общения" с КЗ, время нарастания тока практически постоянно при постоянном напряжении питания. В принципе, такой способ определения времени накопления имеет право на жизнь. Тем более, что при таком способе схема становится менее критичной к типу катухи поджигания. Главное - набрать необходимую энергию (достижение заданного тока за определённое время).
STC, постараюсь оправдать надежы со схемами. Програмное ограничение и плавная отсечка тока трудновыполнимы, насколько подсказывает опыт. Опыт программиста пока скуден. Но всё в наших силах.
По Вашей схеме: 0,01ом явно мало. При токе через КЗ 8А, предположим, на нём будет 0,08В. Это напряжение встроенным в МК компаратором "подхватить" нельзя. Я "общаюсь" с ПИКами, минимальная напруга, которую может обеспечить источник опорного напряжения этих МК - 0,2В. Поэтому 0,05ом - предпочтительней. При таком сопротивлении и токе в те же 8А, падение на резисторе будет уже в "зоне действия" компарера.
Re: Новый алгоритм управления накоплением
IGO61
Интересно посмотреть на ваши наработки.
Интересно посмотреть на ваши наработки.
Re: Новый алгоритм управления накоплением
Здравствуйте все!
Предлагаю схему ограничителя тока на безопасном уровне. Во многом она "перекликается" со схемой STC и, тоже, на уровне идеи. Вернусь на следующей неделе из командировки, уточню в макете. Схема работает так. НУ на входе "Ign" - накопление, искра - по положительному перепаду.
Во время накопления, если ток не достиг порога (определяется по падению напряженя на R4, задаётся R6), ОУ имеет на выходе напряжение близкое к Uпит и на работу ключа не влияет. По достижению порогового тока ОУ снижает выходное напряжение, призакрывая выходной ключ, выводя его в активный режим. Тем самым ограничивая дальнейший рост тока. Прямое падение напряжения на диоде VD1=0,6В. Подстроечником (или делителем) можно установить порог срабатывания ограничителя 0,35...0,4В (7...8А тока через КЗ).
Предлагаю схему ограничителя тока на безопасном уровне. Во многом она "перекликается" со схемой STC и, тоже, на уровне идеи. Вернусь на следующей неделе из командировки, уточню в макете. Схема работает так. НУ на входе "Ign" - накопление, искра - по положительному перепаду.
Во время накопления, если ток не достиг порога (определяется по падению напряженя на R4, задаётся R6), ОУ имеет на выходе напряжение близкое к Uпит и на работу ключа не влияет. По достижению порогового тока ОУ снижает выходное напряжение, призакрывая выходной ключ, выводя его в активный режим. Тем самым ограничивая дальнейший рост тока. Прямое падение напряжения на диоде VD1=0,6В. Подстроечником (или делителем) можно установить порог срабатывания ограничителя 0,35...0,4В (7...8А тока через КЗ).
Re: Новый алгоритм управления накоплением
Здравствуйте все!
Привожу схемку безискровой (плавной) отсечки тока через КЗ при отсутствии команды на искру со стороны процессора. Схема работает следующим образом:
НУ на входе "Ign" - накопление, искра - по нарастающему фронту. По искре заряжается конденсатор С2, на выходе ОУ устанавливается напряжение близкое к Uпит. Если при остановке двигателя на входе схемы установится НУ(накопление), через примерно 1сек конденсатор С2 разрядится и начнёт работать интегратор на ОУ. За счёт конденсатора С1 в цепи ООС этого ОУ напряжение на выходе будет падать не скачком, а плавно. И достигнет нулевого примерно за 1,4сек (смотрел симулем). Через диод VD1, VT2, VT3 будет снижаться и напряжение на затворе VT4, плавно закрывая его, не приводя к искре. Время спада (наклон) можно изменить ёмкостью конденсатора С1, а время задержки перед спадом - С2.
Схема - на уровне идеи. Требует практического уточнения. В частности - работа после включения зажигания, но незаведённом двигателе, когда на входе "Ign" низкий уровень и импульсов поджигания ещё не проходило.
Привожу схемку безискровой (плавной) отсечки тока через КЗ при отсутствии команды на искру со стороны процессора. Схема работает следующим образом:
НУ на входе "Ign" - накопление, искра - по нарастающему фронту. По искре заряжается конденсатор С2, на выходе ОУ устанавливается напряжение близкое к Uпит. Если при остановке двигателя на входе схемы установится НУ(накопление), через примерно 1сек конденсатор С2 разрядится и начнёт работать интегратор на ОУ. За счёт конденсатора С1 в цепи ООС этого ОУ напряжение на выходе будет падать не скачком, а плавно. И достигнет нулевого примерно за 1,4сек (смотрел симулем). Через диод VD1, VT2, VT3 будет снижаться и напряжение на затворе VT4, плавно закрывая его, не приводя к искре. Время спада (наклон) можно изменить ёмкостью конденсатора С1, а время задержки перед спадом - С2.
Схема - на уровне идеи. Требует практического уточнения. В частности - работа после включения зажигания, но незаведённом двигателе, когда на входе "Ign" низкий уровень и импульсов поджигания ещё не проходило.
-
- LQFP112 - Up with the play
- Posts: 104
- Joined: Wed Jul 20, 2011 10:25 am
- Location: Rostov-on-Don
- Contact:
Re: Новый алгоритм управления накоплением
Во второй схеме непонятно, что с R4 снимается... птоводочка не хватает по-моему?
Стоп. Разобрался. Это для другого схема.
Стоп. Разобрался. Это для другого схема.
GAZ 2410
Re: Новый алгоритм управления накоплением
IGO61
Вот здесь находится рабочий вариант установленный на авто http://atl-svn.assembla.com/svn/secu3doc/ /Dmitrich2/secu3_BK/p-cad_bk/comm.sch не знаю улучшит ли, предложенный драйвер по управлению выходного транзистора при снижении напряжения в сети питания до 5 в.(конечно это аварийный режим), но испытания на стенде при использовании МС 33063 показали положительный результат, а также есть стабилизация датчика температуры(сделаны изменения в плате контролера)
Вот здесь находится рабочий вариант установленный на авто http://atl-svn.assembla.com/svn/secu3doc/ /Dmitrich2/secu3_BK/p-cad_bk/comm.sch не знаю улучшит ли, предложенный драйвер по управлению выходного транзистора при снижении напряжения в сети питания до 5 в.(конечно это аварийный режим), но испытания на стенде при использовании МС 33063 показали положительный результат, а также есть стабилизация датчика температуры(сделаны изменения в плате контролера)