Page 1 of 3

Новый алгоритм управления накоплением (new dwell cntr algo)

Posted: Thu Aug 04, 2011 8:53 pm
by STC
(New dwell controlling algorithm)
Эта тема для обсуждения новых алгоритмов управления накоплением энергии катушек зажигания. Я создал эту тему чтобы "не захламлять" основную тему (viewtopic.php?f=52&t=1003) вопросами касающимися новых (алтернативных) алгоритмов.

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

Опишу кратко альтернативный алгоритм, который я придумал на данный момент. Он является усовершенствованной версией текущего (я добавил прогнозирование с последующей коррекцией).
- После искры (в прерывании COMPA) вычисляем как и раньше задержку, но не загружаем ее в таймер, а сохраняем в 32-х битной переменной. Также сохраняем текущий межзубный период.

- На каждом последующем зубе прибавляем к задержке разницу между тек.межзубн.периодом и сохраненным (таким образом мы корректируем наш прогноз). Далее, делим задержку на тек. межзубн. период (получаем кол-во зубьев).
ЕСЛИ до момента накопления осталось меньше 3-х зубьев,
ТО: Вычисляем на основе тек. УОЗ и угла поворота коленвала момент искры (по таймеру), отнимаем значение задержки и загружаем результат в канал таймера COMPB (он запустит накопление)
(сложный вариант)
Прибавляем оставшуюся часть задержки к текущему значению тайиера и загружаем результат в канал таймера COMPB (он запустит накопление)
(простой вариант)
ИНАЧЕ: отнимаем тек.межзубн.период от оставшейся сохраненной задержки и т.д.

При описании алгоритма я сознательно упустил:
Необходимость учесть период времени между искрой и следующим зубом (нужно отнять от задержки). Для сложного варианта некритично, критично для простого.

Преимущества алгоритма:
- Отсутствие проблемы переполнения таймера на очень низких оборотах;
- Адаптивность к изменениям угловой скорости коленвала;
- Использование 16-битной - простой арифметики (без использования 32-битного деления).

Для начала я реализую только адаптивность(простой вариант). При необходимости можно будет реализовать и коррекцию относительно УОЗ в момент 3-х зубъев до начала накопления (сложный вариант).

Re: Новый алгоритм управления накоплением

Posted: Tue Sep 06, 2011 8:11 pm
by IGO61
Здравствуйте все!
STC и команда, снимаю шляпу перед Вашим проектом!
Есть предложение по алгоритму вычисления времени накопления. До реализации вживую у меня ещё не всё готово. Может у Вас получится?
Суть такова. При пуске устанавливается фиксированное время накопления, предположим, 4...5мсек. После выхода на обороты ХХ задействовать встроенный компаратор, один вход подключаем к источнику опорного напряжения МК, а второй - на измерительный резистор. Устанавливаем напряжение Uref= 0,2В (половина от того, о чем говорил LEON при контроле тока катушки зажигания). Открываем транзистор и одновременно засекаем время. Когда напряжение на измерительном резисторе достигнет порога, компарер опрокинется - засекаем "половинное" время накопления. Это время удваиваем и прибавляем 100...200мксек, для верности. В этом случае, возможно, отпадает надобность в таблице "время накопления/напряжение бортсети".
Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные. Если не против, уточню схемы и выложу на рассмотрение.
С Уважением!!!

Re: Новый алгоритм управления накоплением

Posted: Tue Sep 06, 2011 8:59 pm
by LeoN
IGO61 wrote:...засекаем "половинное" время накопления. Это время удваиваем и прибавляем 100...200мксек, для верности...
Дык, ток в КЗ растет нелинейно же...
IGO61 wrote:Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные.
Очень интересно!

Re: Новый алгоритм управления накоплением

Posted: Wed Sep 07, 2011 9:28 am
by STC
IGO61
Спасибо. Идеи приветствуются.
Есть ещё предложения по ограничению максимального тока через КЗ и плавному, безискровому, закрытию выходного ключа при отсутствии сигнала зажигания, аппаратные. Если не против, уточню схемы и выложу на рассмотрение.
Это мне тоже интересно, так как я хочу создать версию блока со встроенными коммутаторами. Мне нужно только:
1) Аппаратное ограничение тока
2) Если возможно, плавная отсечка.

Схема должна быть простая, иначе это теряет смысл (у нас ведь 4 канала зажигания и громоздкая схема нам не нужна). Некоторое время назад я нарисовал вот такую схему:
Image
Она показывает больше идею, но в принципе ее можно усовершенствовать и попробовать отмакетировать (на что у меня нет времени). В этой сжеме как я понял нужно использовать иперационный усилитель вместо компаратора. Ресистор на 0.01 Ом это перебор - нужно 0.05, я думаю.

Re: Новый алгоритм управления накоплением

Posted: Wed Sep 07, 2011 10:05 am
by IGO61
Здравствуйте все!
LeoN, прикладываю фотку снятую с промышленного коммутатора 3640.3734 на L497B в настольных условиях. Синяя линия - сигнал на входе от ДХ (генератор-имитатор), красная - напруга на токоизмерительном резисторе 0,1ом (штатный коммутатора). Катуха - 4-хствольная 21110-3705010-03. Задеян один канал. Искровой промежуток - открытый воздух, зазор 12мм. Как видно, ток в КЗ растёт почти линейно, хотя о линейности я не оговаривался. Если б не было ограничения, ток бы вырос ещё больше и при насыщении железа - резкий скачёк тока. Задача ограничения по Imax - не допустить этого скачка.
Насколько я знаю, из опыта "общения" с КЗ, время нарастания тока практически постоянно при постоянном напряжении питания. В принципе, такой способ определения времени накопления имеет право на жизнь. Тем более, что при таком способе схема становится менее критичной к типу катухи поджигания. Главное - набрать необходимую энергию (достижение заданного тока за определённое время).

STC, постараюсь оправдать надежы со схемами. Програмное ограничение и плавная отсечка тока трудновыполнимы, насколько подсказывает опыт. Опыт программиста пока скуден. Но всё в наших силах. :lol:
По Вашей схеме: 0,01ом явно мало. При токе через КЗ 8А, предположим, на нём будет 0,08В. Это напряжение встроенным в МК компаратором "подхватить" нельзя. Я "общаюсь" с ПИКами, минимальная напруга, которую может обеспечить источник опорного напряжения этих МК - 0,2В. Поэтому 0,05ом - предпочтительней. При таком сопротивлении и токе в те же 8А, падение на резисторе будет уже в "зоне действия" компарера.

Re: Новый алгоритм управления накоплением

Posted: Thu Sep 08, 2011 6:40 am
by Dmitrich2
IGO61
Интересно посмотреть на ваши наработки.

Re: Новый алгоритм управления накоплением

Posted: Fri Sep 09, 2011 8:00 am
by IGO61
Здравствуйте все!
Предлагаю схему ограничителя тока на безопасном уровне. Во многом она "перекликается" со схемой STC и, тоже, на уровне идеи. Вернусь на следующей неделе из командировки, уточню в макете.
I_lim.JPG
Схема работает так. НУ на входе "Ign" - накопление, искра - по положительному перепаду.
Во время накопления, если ток не достиг порога (определяется по падению напряженя на R4, задаётся R6), ОУ имеет на выходе напряжение близкое к Uпит и на работу ключа не влияет. По достижению порогового тока ОУ снижает выходное напряжение, призакрывая выходной ключ, выводя его в активный режим. Тем самым ограничивая дальнейший рост тока. Прямое падение напряжения на диоде VD1=0,6В. Подстроечником (или делителем) можно установить порог срабатывания ограничителя 0,35...0,4В (7...8А тока через КЗ).

Re: Новый алгоритм управления накоплением

Posted: Sat Sep 10, 2011 10:42 am
by IGO61
Здравствуйте все!
Привожу схемку безискровой (плавной) отсечки тока через КЗ при отсутствии команды на искру со стороны процессора.
Ign_cutoff.JPG
Схема работает следующим образом:
НУ на входе "Ign" - накопление, искра - по нарастающему фронту. По искре заряжается конденсатор С2, на выходе ОУ устанавливается напряжение близкое к Uпит. Если при остановке двигателя на входе схемы установится НУ(накопление), через примерно 1сек конденсатор С2 разрядится и начнёт работать интегратор на ОУ. За счёт конденсатора С1 в цепи ООС этого ОУ напряжение на выходе будет падать не скачком, а плавно. И достигнет нулевого примерно за 1,4сек (смотрел симулем). Через диод VD1, VT2, VT3 будет снижаться и напряжение на затворе VT4, плавно закрывая его, не приводя к искре. Время спада (наклон) можно изменить ёмкостью конденсатора С1, а время задержки перед спадом - С2.
Схема - на уровне идеи. Требует практического уточнения. В частности - работа после включения зажигания, но незаведённом двигателе, когда на входе "Ign" низкий уровень и импульсов поджигания ещё не проходило.

Re: Новый алгоритм управления накоплением

Posted: Sat Sep 10, 2011 3:45 pm
by zazuba
Во второй схеме непонятно, что с R4 снимается... птоводочка не хватает по-моему?

Стоп. Разобрался. Это для другого схема.

Re: Новый алгоритм управления накоплением

Posted: Mon Sep 12, 2011 10:02 am
by Dmitrich2
IGO61
Вот здесь находится рабочий вариант установленный на авто http://atl-svn.assembla.com/svn/secu3doc/ /Dmitrich2/secu3_BK/p-cad_bk/comm.sch не знаю улучшит ли, предложенный драйвер по управлению выходного транзистора при снижении напряжения в сети питания до 5 в.(конечно это аварийный режим), но испытания на стенде при использовании МС 33063 показали положительный результат, а также есть стабилизация датчика температуры(сделаны изменения в плате контролера)