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

Это оффтопик или флудилка или курилка
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

Решил и я завести себе топик, благо появился повод. Сегодня я произвел первый пуск своего проекта. Проект системы управления двигателем - ECar. Год разработки, с некоторыми перерывами, и вот, некая веха..
ECar - проект, полностью разработанный с нуля. По профессии я инженер электронщик, и моя деятельность плотно связана с разработкой разных электронных устройств, программированием микроконтроллеров, и просто программированием. Изначально, я решил соорудить устройство, управляющее зажиганием в имеющейся у меня ваз 2106. Развлечения ради. Поскольку, я очень много работаю с мк фирмы ST, то и платформу я выбрал соответсвующую, STM32. Благо и камни и железо у меня всегда в наличии. И вот я накидал схемку, вытравил платку, запаял и запрограммировал. Поставил репер, ДПКВ, благо, на 2106 это все можно поставить штатно, блок катушек для "холостой искры". И начал экспериментировать.
И тут меня втянуло в этот процесс, окончательно и бесповоротно... :)
Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
Потом, у меня появилась Audi 100. Я влюбился в этот автомобиль, и мне захотелось дать ему вторую жизнь. Многие знают, что слабое место этих авто - механический инжектор, годы берут свое... Мне достался экземпляр, с отличным 5 цилиндровым двигателем, с шикарной компрессией. Мехинжектора уже небыло, пред владелец поставил электронный впрыск, одной достаточно известной московской фирмы. Попытка настроить эту систему, несколько огорчила, посколку вменяемого интерфейса у нее нет. И по езде было много вопросов.
И я решил проектировать свою, универсальную систему управления двигателем. Которая была бы достаточно дешева, проста в установке, и хорошо работала :) Благо, некоторые наработки у меня уже были.
И вот, постепенно все это вылилось в такой проект.
Attachments
Блок ECar
Блок ECar
IMAG0752_.jpg (152.19 KiB) Viewed 65266 times
Блок ECar
Блок ECar
IMAG0751_.jpg (141.87 KiB) Viewed 65266 times
Блок ECar
Блок ECar
IMAG0749_.jpg (149.12 KiB) Viewed 65266 times
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

Видео первого пуска. Зажиганим рулит ECar, впрыск и все остальное, пока на старой системе.
[video][/video]

Теперь форсунки, рхх, и дпдз. Алгоритмы написаны, и кое что отлажено на столе. Будем потихоньку интегрировать.
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

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

Post by Maxi »

Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

Круто! А сиходники будут открытые или закрытые?
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
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

Maxi wrote:Детонацию то осилил?
на стм32 в принципе возможно ее детектировать программно - если там нет косяка в АЦП.
Детонацией ещё не занимался. Осилю.. куда она денется.. :-) Буду делать программно, поскольку ЦОС периодически занимаюсь. Для начала попробую Алгоритм Герцеля.
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

russian wrote:Круто! А сиходники будут открытые или закрытые?
Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные. Но принципом реализации интересующих моментов могу поделиться.
russian wrote:
Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?
Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

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

Post by puff »

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

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

первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

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
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

puff wrote:был лискар? (как у меня сейчас)
надо как-то на профильном форуме задать правильные вопросы - как там всё же всё устроено, какие датчики используются, какие алгоритмы...
по-моему там при установке лискара оставляли штатное зажигание, которое, если верить сообществу, особых нареканий не вызывало - работало четко и безопасно (собственно, потому его и не трогали)

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

первые впечатления по расходу топлива вполне себе положительные - если верить стрелке топлива, на полторы сотни километров чуть больше десяти литров.
Основная задача поделия Лискара, заменить вечно делающий мозг, мехвпрыск... Не более того.. Разработчики лискара, изымают штатный блок впрыска с вашего авто, а взамен ставят точно такой же, но со своей платой внутри. Система построена на меге 8 или 16, не помню точно, да и не суть.. Поэтому у них вечный геморрой с этими блоками, они их уже наверное по всей столице и М.о. вычистили... :-)
Т.е. минимум движений, старый вынули, новый вставили.. Ну и железо под электровпрыск, естественно ставится.. Настройка, оптимизация, это все за кадром. Но оно и понятно, задача не та..
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

russian wrote:
Voitila wrote:Исходники я не планирую выкладывать, потому как, все библиотеки у меня самописные.
а какая связь между самописностью и не-выкладыванием?

жалко.
Тут видите в чем дело... На эти исходники (библиотеки) завязаны и другие проекты. Я не могу их выложить.. Вы же профессионал. Думаю вы поймете меня... Извините.. :-)
Но! Я готов ответить на любые интересующие вопросы..
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

В смысле ЭБУ сделан на базе наработок по работе? Тогда да, тогда ой.
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
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

Voitila wrote:
russian wrote:
Voitila wrote:Я испытывал различные алгоритмы управления УОЗ, учился вычислять момент (нагрузку) с ДПКВ в каждом цилиндре, и пробовал использовать это в управлении углом зажигания. Когда у меня начало потихоньку получаться, я был поражен, как, играя только одним уоз, можно в такой степени влиять на качество работы ДВС.
А поподробнее?! У меня банально таблицы. Расскажи, что ты пробовал, пожалуйста?
Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
А можно вот всё это в девять раз подробнее? :) Графики, цифры, аналитику и личные выводы :)
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
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
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

russian wrote:
Voitila wrote: Я достаточно точно вычисляю период, на каждом зубе репера. В STM32 чумовые таймера, и период на каждом зубе, я получаю от 20 об/мин до 10000+ с очень хорошей точностью. В железе. Соответственно, имея точные измерения вращения КВ, можно анализировать динамику его движения в различных точках. Сначала я просто поставил репер и слал в лог листинг rpm с каждого зуба. Ездил в разных режимах и смотрел, как меняется динамика вращения КВ в различных точках, до ВМТ и после. Это было очень занятно и познавательно... :-) Оценив таким образом возможности системы, я стал экспериментировать с воздействием этого фактора на уоз.
А можно вот всё это в девять раз подробнее? :) Графики, цифры, аналитику и личные выводы :)
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО! В рамках одного оборота она изменяется как угодно. Это не интересно.. Интересно то, как она (мгновенная скорость), изменяется в окрестностях ВМТ каждого цилиндра, при рабочем ходе. А она изменяется. И ещё как.. Но! Возможность констатации этого факта, сильно зависит от того, как у тебя организован замер межзубного периода. Я не зря все время акцентирую на этом внимание.
Если ты вкратце, на пальцах, расскажешь про этот момент и может быть ткнешь ссылочкой в исходник, то я сумею понять, получится ли в твоей реализации, сделать так же..
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?
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
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

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

Post by puff »

russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью :-)
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

russian wrote:Мда. Ты прости чувак, но Я УЖЕ ПОНЯЛ, КАК ТЫ КРУТ! ТАК КРУТ, ЧТО ТЕБЕ НУЖНО ПРОСТО ПОКАЗАТЬ ССЫЛОЧКУ В ИСХОДНИК - и может быть тогда ты доверишь нам свой опыт. Как-то так?
Прости и ты меня. Чувак. Что я показался тебе слишком крутым. :-) Возможно я совершил ошибку, попопросив тебя показать ссылку, на ТВОЙ исходник. Ведь наверняка, ты более занят, чем я. И возможно, даже чем-то обязан, но не подозреваю об этом..
Предлагаю выдохнуть. :-)
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

puff wrote:russian, я тебе давно говорил, что надо вычислять скорость непооборотно, а с большей точностью :-)
но в нашем случае мы же ищем метку на шкиве (пропущенный зуб). а у Voitila пропущенного зуба может и не быть (во всяком случае я слышал, что синхронизация на лискарах делалась через датчик холла в трамблере)
вообще, конечно, любопытно это всё. в том числе возможности диагностики пропусков/неисправностей работы мотора
Лискар не имеет никакого отношения к моему проекту. Я использую стандартный шкив 60-2. И также ищу метку. Более того, эмулирую два пропущенных зуба с помощью дополнительного таймера. Принимаю их период равным последнему реальному периоду, т.е. между 57 и 58 зубом.
Last edited by Voitila on Fri Jul 03, 2015 6:17 pm, edited 1 time in total.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

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

Post by puff »

какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

puff wrote:какие бывают предельные ускорения? как определить, что вот это время - между нормальными зубами, а вот тут - зубья пропущены?
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом. Если текущий период больше, значит ты поймал метку. Всеж придумано давно.. Самый стабильный и надёжный шкив 60-2.
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

denisvak wrote:
Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?
В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

Voitila wrote:
denisvak wrote:
Voitila wrote:Ты не понял.. Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
:o :o :o :o Простите, это как вы умудрились то?
В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..
То о чем вы пишете ни чем не связано с фразой
Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Скорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

denisvak wrote:То о чем вы пишете ни чем не связано с фразой
Я вычисляю мгновенную скорость, НА КАЖДОМ ЗУБЕ шкива КВ. АППАРАТНО!
Скорость мгновенную аппаратно вы не можете, это очевидно, хоть пицот таймеров зацепить паровозом.
Хорошо, я не прав. Я измеряю межзубный период аппаратно. И получаю скорость одним делением. Просто, термин мгновенная скорость, кто то употребил выше, а у меня автоматом зацепилось. Но в принципе, вы правы..
Очень просто. Умножаешь предыдущий период на два, и сравниваешь с текущим периодом.
и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...
[/quote]
А как делаете вы?
Last edited by Voitila on Fri Jul 03, 2015 7:27 pm, edited 3 times in total.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

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

Post by puff »

60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

puff wrote:60-2 не сильно далеко ушел от 36-1
в два раза - а если на этот момент пришлось ускорение?
А вы возьмите бумажку, да и посчитайте. :-)
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

При неверной фазировки просто не даю запуститься мотору :)
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве :)
Image
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

denisvak wrote:При неверной фазировки просто не даю запуститься мотору :)
Посмотрите на картинку, посчитайте сколько угодно, если не понятно то стоит поменять фазировку ДПКВ(либо просто в коде изменить фронт) и погазовать на машине и если вы действительно используете двойной интервал и ваш алго. ловит ошибки то вы их получите в большом кол-ве :)
Image
Все верно.
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

Заставляет задуматься о том что вы написали о себе в первом посте...я надеюсь от того что вы разрабатываете...не зависят жизни людей?
Так может будет понятнее?
Image
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

denisvak wrote:При неверной фазировки просто не даю запуститься мотору :)
Хорошая мысль. Как вы определяете неверную фазировку?
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

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