Page 1 of 4

ECar - универсальный ECU

Posted: Thu Jul 02, 2015 10:34 pm
by Voitila
Решил и я завести себе топик, благо появился повод. Сегодня я произвел первый пуск своего проекта. Проект системы управления двигателем - ECar. Год разработки, с некоторыми перерывами, и вот, некая веха..
ECar - проект, полностью разработанный с нуля. По профессии я инженер электронщик, и моя деятельность плотно связана с разработкой разных электронных устройств, программированием микроконтроллеров, и просто программированием. Изначально, я решил соорудить устройство, управляющее зажиганием в имеющейся у меня ваз 2106. Развлечения ради. Поскольку, я очень много работаю с мк фирмы ST, то и платформу я выбрал соответсвующую, STM32. Благо и камни и железо у меня всегда в наличии. И вот я накидал схемку, вытравил платку, запаял и запрограммировал. Поставил репер, ДПКВ, благо, на 2106 это все можно поставить штатно, блок катушек для "холостой искры". И начал экспериментировать.
И тут меня втянуло в этот процесс, окончательно и бесповоротно... :)
Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Потом, у меня появилась Audi 100. Я влюбился в этот автомобиль, и мне захотелось дать ему вторую жизнь. Многие знают, что слабое место этих авто - механический инжектор, годы берут свое... Мне достался экземпляр, с отличным 5 цилиндровым двигателем, с шикарной компрессией. Мехинжектора уже небыло, пред владелец поставил электронный впрыск, одной достаточно известной московской фирмы. Попытка настроить эту систему, несколько огорчила, посколку вменяемого интерфейса у нее нет. И по езде было много вопросов.
И я решил проектировать свою, универсальную систему управления двигателем. Которая была бы достаточно дешева, проста в установке, и хорошо работала :) Благо, некоторые наработки у меня уже были.
И вот, постепенно все это вылилось в такой проект.

Re: ECar - универсальный ECU

Posted: Thu Jul 02, 2015 10:36 pm
by Voitila
Видео первого пуска. Зажиганим рулит ECar, впрыск и все остальное, пока на старой системе.
[video][/video]

Теперь форсунки, рхх, и дпдз. Алгоритмы написаны, и кое что отлажено на столе. Будем потихоньку интегрировать.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 12:52 am
by Maxi
Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 1:51 am
by AndreyB
Круто! А сиходники будут открытые или закрытые?
Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:50 am
by Voitila
Maxi wrote:Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
Детонацией ещё не занимался. Осилю.. куда она денется.. :-) Буду делать программно, поскольку ЦОС периодически занимаюсь. Для начала попробую Алгоритм Герцеля.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:48 am
by Voitila
russian wrote:Круто! А сиходники будут открытые или закрытые?
Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные. Но принципом реализации интересующих моментов могу поделиться.
russian wrote:
Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?
Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 9:07 am
by puff
был лискар? (как у меня сейчас)
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)

авто приобрел пару недель назад, катался совсем немного. из того, что раздражает - рывки при сбросе газа. ну и если попробовать газануть на холодную - обороты набирает не сразу, а с задержкой в секунду-другую - похожее наблюдал на непрогретом и неисправном механическом впрыске.

первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 12:41 pm
by AndreyB
Voitila wrote:Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные.
а какая связь между самописностью и не-выкладыванием?

жалко.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 2:00 pm
by Voitila
puff wrote:был лискар? (как у меня сейчас)
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)

авто приобрел пару недель назад, катался совсем немного. из того, что раздражает - рывки при сбросе газа. ну и если попробовать газануть на холодную - обороты набирает не сразу, а с задержкой в секунду-другую - похожее наблюдал на непрогретом и неисправном механическом впрыске.

первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
Основная задача поделия Лискара, заменить вечно делающий мозг, мехвпрыск... Не более того.. Разработчики лискара, изымают штатный блок впрыска с вашего авто, а взамен ставят точно такой же, но со своей платой внутри. Система построена на меге 8 или 16, не помню точно, да и не суть.. Поэтому у них вечный геморрой с этими блоками, они их уже наверное по всей столице и М.о. вычистили... :-)
Т.е. минимум движений, старый вынули, новый вставили.. Ну и железо под электровпрыск, естественно ставится.. Настройка, оптимизация, это все за кадром. Но оно и понятно, задача не та..

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 4:20 pm
by Voitila
russian wrote:
Voitila wrote:Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные.
а какая связь между самописностью и не-выкладыванием?

жалко.
Тут видите в чем дело... На эти исходники (библиотеки) завязаны и другие проекты. Я не могу их выложить.. Вы же профессионал. Думаю вы поймете меня... Извините.. :-)
Но! Я готов ответить на любые интересующие вопросы..

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 4:23 pm
by AndreyB
В смысле ЭБУ сделан на базе наработок по работе? Тогда да, тогда ой.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 4:38 pm
by AndreyB
Voitila wrote:
russian wrote:
Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?
Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
А можно вот всё это в девять раз подробнее? :) Графики, цифры, аналитику и личные выводы :)
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 5:09 pm
by Voitila
russian wrote:
Voitila wrote: Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
А можно вот всё это в девять раз подробнее? :) Графики, цифры, аналитику и личные выводы :)
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО! В рамках одного оборота она изменяется как угодно. Это не интересно.. Интересно то, как она (мгновенная скорость), изменяется в окрестностях ВМТ каждого цилиндра, при рабочем ходе. А она изменяется. И ещё как.. Но! Возможность констатации этого факта, сильно зависит от того, как у тебя организован замер межзубного периода. Я не зря все время акцентирую на этом внимание.
Если ты вкратце, на пальцах, расскажешь про этот момент и может быть ткнешь ссылочкой в исходник, то я сумею понять, получится ли в твоей реализации, сделать так же..

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 5:15 pm
by AndreyB
Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 5:17 pm
by puff
russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью :-)
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 5:32 pm
by denisvak
Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:05 pm
by Voitila
russian wrote:Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?
Прости и ты меня. Чувак. Что я показался тебе слишком крутым. :-) Возможно я совершил ошибку, попопросив тебя показать ссылку, на ТВОЙ исходник. Ведь наверняка, ты более занят, чем я. И возможно, даже чем-то обязан, но не подозреваю об этом..
Предлагаю выдохнуть. :-)

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:12 pm
by Voitila
puff wrote:russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью :-)
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
Лискар не имеет никакого отношения к моему проекту. Я использую стандартный шкив 60-2. И также ищу метку. Более того, эмулирую два пропущенных зуба с помощью дополнительного таймера. Принимаю их период равным последнему реальному периоду, т.е. между 57 и 58 зубом.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:14 pm
by puff
какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:22 pm
by Voitila
puff wrote:какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом. Если текущий период больше, значит ты поймал метку. Всеж придумано давно.. Самый стабильный и надёжный шкив 60-2.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:29 pm
by Voitila
denisvak wrote:
Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?
В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:41 pm
by denisvak
Voitila wrote:
denisvak wrote:
Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?
В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..
То о чем вы пишете ни чем не связано с фразой
Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Скорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 6:56 pm
by Voitila
denisvak wrote:То о чем вы пишете ни чем не связано с фразой
Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Скорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.
Хорошо, я не прав. Я измеряю межзубный период аппаратно. И получаю скорость одним делением. Просто, термин мгновенная скорость, кто то употребил выше, а у меня автоматом зацепилось. Но в принципе, вы правы..
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...
[/quote]
А как делаете вы?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:01 pm
by puff
60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:05 pm
by Voitila
puff wrote:60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?
А вы возьмите бумажку, да и посчитайте. :-)

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:26 pm
by denisvak
При неверной фазировки просто не даю запуститься мотору :)
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве :)
Image

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:33 pm
by Voitila
denisvak wrote:При неверной фазировки просто не даю запуститься мотору :)
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве :)
Image
Все верно.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:54 pm
by denisvak
Заставляет задуматься о том что вы написали о себе в первом посте...я надеюсь от того что вы разрабатываете...не зависят жизни людей?
Так может будет понятнее?
Image

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 7:56 pm
by Voitila
denisvak wrote:При неверной фазировки просто не даю запуститься мотору :)
Хорошая мысль. Как вы определяете неверную фазировку?

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 8:06 pm
by Voitila
denisvak wrote:Так может будет понятнее?
Image
Я исправил свой пост. :) Вы правы.
denisvak wrote:Заставляет задуматься о том что вы написали о себе в первом посте...я надеюсь от того что вы разрабатываете...не зависят жизни людей?
Вы тоже думаете, что я слишком крут? Простите и вы меня.. :)
Мужики... Ну что за атмосфера.. Какая то болезненно обидчивая.. Озлобленность что ли какая то.. Мыж просто общаемся, обсуждаем офигенно интересные вещи. Смотрите, сколько интересных людей собралось в одном месте. Каждый что то делает, что то получается. Какая концентрация творческой энергии.. Пусть она будет позитивной.
Всем мир. Извиняйте, если кого-то ненароком обидел.