ECar - универсальный ECU
ECar - универсальный ECU
Решил и я завести себе топик, благо появился повод. Сегодня я произвел первый пуск своего проекта. Проект системы управления двигателем - ECar. Год разработки, с некоторыми перерывами, и вот, некая веха..
ECar - проект, полностью разработанный с нуля. По профессии я инженер электронщик, и моя деятельность плотно связана с разработкой разных электронных устройств, программированием микроконтроллеров, и просто программированием. Изначально, я решил соорудить устройство, управляющее зажиганием в имеющейся у меня ваз 2106. Развлечения ради. Поскольку, я очень много работаю с мк фирмы ST, то и платформу я выбрал соответсвующую, STM32. Благо и камни и железо у меня всегда в наличии. И вот я накидал схемку, вытравил платку, запаял и запрограммировал. Поставил репер, ДПКВ, благо, на 2106 это все можно поставить штатно, блок катушек для "холостой искры". И начал экспериментировать.
И тут меня втянуло в этот процесс, окончательно и бесповоротно...
Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Потом, у меня появилась Audi 100. Я влюбился в этот автомобиль, и мне захотелось дать ему вторую жизнь. Многие знают, что слабое место этих авто - механический инжектор, годы берут свое... Мне достался экземпляр, с отличным 5 цилиндровым двигателем, с шикарной компрессией. Мехинжектора уже небыло, пред владелец поставил электронный впрыск, одной достаточно известной московской фирмы. Попытка настроить эту систему, несколько огорчила, посколку вменяемого интерфейса у нее нет. И по езде было много вопросов.
И я решил проектировать свою, универсальную систему управления двигателем. Которая была бы достаточно дешева, проста в установке, и хорошо работала Благо, некоторые наработки у меня уже были.
И вот, постепенно все это вылилось в такой проект.
ECar - проект, полностью разработанный с нуля. По профессии я инженер электронщик, и моя деятельность плотно связана с разработкой разных электронных устройств, программированием микроконтроллеров, и просто программированием. Изначально, я решил соорудить устройство, управляющее зажиганием в имеющейся у меня ваз 2106. Развлечения ради. Поскольку, я очень много работаю с мк фирмы ST, то и платформу я выбрал соответсвующую, STM32. Благо и камни и железо у меня всегда в наличии. И вот я накидал схемку, вытравил платку, запаял и запрограммировал. Поставил репер, ДПКВ, благо, на 2106 это все можно поставить штатно, блок катушек для "холостой искры". И начал экспериментировать.
И тут меня втянуло в этот процесс, окончательно и бесповоротно...
Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Потом, у меня появилась Audi 100. Я влюбился в этот автомобиль, и мне захотелось дать ему вторую жизнь. Многие знают, что слабое место этих авто - механический инжектор, годы берут свое... Мне достался экземпляр, с отличным 5 цилиндровым двигателем, с шикарной компрессией. Мехинжектора уже небыло, пред владелец поставил электронный впрыск, одной достаточно известной московской фирмы. Попытка настроить эту систему, несколько огорчила, посколку вменяемого интерфейса у нее нет. И по езде было много вопросов.
И я решил проектировать свою, универсальную систему управления двигателем. Которая была бы достаточно дешева, проста в установке, и хорошо работала Благо, некоторые наработки у меня уже были.
И вот, постепенно все это вылилось в такой проект.
- Attachments
-
- Блок ECar
- IMAG0752_.jpg (152.19 KiB) Viewed 111215 times
-
- Блок ECar
- IMAG0751_.jpg (141.87 KiB) Viewed 111215 times
-
- Блок ECar
- IMAG0749_.jpg (149.12 KiB) Viewed 111215 times
Re: ECar - универсальный ECU
Видео первого пуска. Зажиганим рулит ECar, впрыск и все остальное, пока на старой системе.
[video][/video]
Теперь форсунки, рхх, и дпдз. Алгоритмы написаны, и кое что отлажено на столе. Будем потихоньку интегрировать.
[video][/video]
Теперь форсунки, рхх, и дпдз. Алгоритмы написаны, и кое что отлажено на столе. Будем потихоньку интегрировать.
Re: ECar - универсальный ECU
Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: ECar - универсальный ECU
Круто! А сиходники будут открытые или закрытые?
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: ECar - универсальный ECU
Детонацией ещё не занимался. Осилю.. куда она денется.. Буду делать программно, поскольку ЦОС периодически занимаюсь. Для начала попробую Алгоритм Герцеля.Maxi wrote:Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
Re: ECar - универсальный ECU
Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные. Но принципом реализации интересующих моментов могу поделиться.russian wrote:Круто! А сиходники будут открытые или закрытые?
Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.russian wrote:А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Re: ECar - универсальный ECU
был лискар? (как у меня сейчас)
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)
авто приобрел пару недель назад, катался совсем немного. из того, что раздражает - рывки при сбросе газа. ну и если попробовать газануть на холодную - обороты набирает не сразу, а с задержкой в секунду-другую - похожее наблюдал на непрогретом и неисправном механическом впрыске.
первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)
авто приобрел пару недель назад, катался совсем немного. из того, что раздражает - рывки при сбросе газа. ну и если попробовать газануть на холодную - обороты набирает не сразу, а с задержкой в секунду-другую - похожее наблюдал на непрогретом и неисправном механическом впрыске.
первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: ECar - универсальный ECU
а какая связь между самописностью и не-выкладыванием?Voitila wrote:Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные.
жалко.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: ECar - универсальный ECU
Основная задача поделия Лискара, заменить вечно делающий мозг, мехвпрыск... Не более того.. Разработчики лискара, изымают штатный блок впрыска с вашего авто, а взамен ставят точно такой же, но со своей платой внутри. Система построена на меге 8 или 16, не помню точно, да и не суть.. Поэтому у них вечный геморрой с этими блоками, они их уже наверное по всей столице и М.о. вычистили...puff wrote:был лискар? (как у меня сейчас)
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)
авто приобрел пару недель назад, катался совсем немного. из того, что раздражает - рывки при сбросе газа. ну и если попробовать газануть на холодную - обороты набирает не сразу, а с задержкой в секунду-другую - похожее наблюдал на непрогретом и неисправном механическом впрыске.
первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
Т.е. минимум движений, старый вынули, новый вставили.. Ну и железо под электровпрыск, естественно ставится.. Настройка, оптимизация, это все за кадром. Но оно и понятно, задача не та..
Re: ECar - универсальный ECU
Тут видите в чем дело... На эти исходники (библиотеки) завязаны и другие проекты. Я не могу их выложить.. Вы же профессионал. Думаю вы поймете меня... Извините..russian wrote:а какая связь между самописностью и не-выкладыванием?Voitila wrote:Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные.
жалко.
Но! Я готов ответить на любые интересующие вопросы..
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: ECar - универсальный ECU
В смысле ЭБУ сделан на базе наработок по работе? Тогда да, тогда ой.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: ECar - универсальный ECU
А можно вот всё это в девять раз подробнее? Графики, цифры, аналитику и личные выводыVoitila wrote:Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.russian wrote:А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: ECar - универсальный ECU
Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО! В рамках одного оборота она изменяется как угодно. Это не интересно.. Интересно то, как она (мгновенная скорость), изменяется в окрестностях ВМТ каждого цилиндра, при рабочем ходе. А она изменяется. И ещё как.. Но! Возможность констатации этого факта, сильно зависит от того, как у тебя организован замер межзубного периода. Я не зря все время акцентирую на этом внимание.russian wrote:А можно вот всё это в девять раз подробнее? Графики, цифры, аналитику и личные выводыVoitila wrote: Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
Если ты вкратце, на пальцах, расскажешь про этот момент и может быть ткнешь ссылочкой в исходник, то я сумею понять, получится ли в твоей реализации, сделать так же..
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: ECar - универсальный ECU
Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: ECar - универсальный ECU
russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
Re: ECar - универсальный ECU
Простите, это как вы умудрились то?Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Re: ECar - универсальный ECU
Прости и ты меня. Чувак. Что я показался тебе слишком крутым. Возможно я совершил ошибку, попопросив тебя показать ссылку, на ТВОЙ исходник. Ведь наверняка, ты более занят, чем я. И возможно, даже чем-то обязан, но не подозреваю об этом..russian wrote:Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?
Предлагаю выдохнуть.
Re: ECar - универсальный ECU
Лискар не имеет никакого отношения к моему проекту. Я использую стандартный шкив 60-2. И также ищу метку. Более того, эмулирую два пропущенных зуба с помощью дополнительного таймера. Принимаю их период равным последнему реальному периоду, т.е. между 57 и 58 зубом.puff wrote:russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
Last edited by Voitila on Fri Jul 03, 2015 6:17 pm, edited 1 time in total.
Re: ECar - универсальный ECU
какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?
Re: ECar - универсальный ECU
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом. Если текущий период больше, значит ты поймал метку. Всеж придумано давно.. Самый стабильный и надёжный шкив 60-2.puff wrote:какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?
Re: ECar - универсальный ECU
В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..denisvak wrote:Простите, это как вы умудрились то?Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Re: ECar - универсальный ECU
То о чем вы пишете ни чем не связано с фразойVoitila wrote:В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..denisvak wrote:Простите, это как вы умудрились то?Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Скорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
Re: ECar - универсальный ECU
Хорошо, я не прав. Я измеряю межзубный период аппаратно. И получаю скорость одним делением. Просто, термин мгновенная скорость, кто то употребил выше, а у меня автоматом зацепилось. Но в принципе, вы правы..denisvak wrote:То о чем вы пишете ни чем не связано с фразойСкорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
[/quote]и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
А как делаете вы?
Last edited by Voitila on Fri Jul 03, 2015 7:27 pm, edited 3 times in total.
Re: ECar - универсальный ECU
60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?
в два раза - а если на этот момент пришлось ускорение?
Re: ECar - универсальный ECU
А вы возьмите бумажку, да и посчитайте.puff wrote:60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?
Re: ECar - универсальный ECU
При неверной фазировки просто не даю запуститься мотору
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве
Re: ECar - универсальный ECU
Все верно.denisvak wrote:При неверной фазировки просто не даю запуститься мотору
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве
Re: ECar - универсальный ECU
Заставляет задуматься о том что вы написали о себе в первом посте...я надеюсь от того что вы разрабатываете...не зависят жизни людей?
Так может будет понятнее?
Так может будет понятнее?
Re: ECar - универсальный ECU
Хорошая мысль. Как вы определяете неверную фазировку?denisvak wrote:При неверной фазировки просто не даю запуститься мотору
Re: ECar - универсальный ECU
Я исправил свой пост. Вы правы.denisvak wrote:Так может будет понятнее?
Вы тоже думаете, что я слишком крут? Простите и вы меня..denisvak wrote:Заставляет задуматься о том что вы написали о себе в первом посте...я надеюсь от того что вы разрабатываете...не зависят жизни людей?
Мужики... Ну что за атмосфера.. Какая то болезненно обидчивая.. Озлобленность что ли какая то.. Мыж просто общаемся, обсуждаем офигенно интересные вещи. Смотрите, сколько интересных людей собралось в одном месте. Каждый что то делает, что то получается. Какая концентрация творческой энергии.. Пусть она будет позитивной.
Всем мир. Извиняйте, если кого-то ненароком обидел.