rusEfi: автомобильный блок управления двигателем
А я немного делаю блок управления автомобильным двигателем - open-source и универсальный. stm32f4, ChibiOS, KiCad.
Сейчас есть кучка мелких платок, которые вместе с stmf4discovery заводят двигатель и в таком режиме можно ездить
Сейчас мы доделываем новую версию платы - в ближайшие дни пойдёт на производство
И основное направление работы - найти и завести второй, третий и четвёртые двигатели - так что основные задачи сейчас по удобству использования и понятной диагностике состояния. Сорцы живут в http://sourceforge.net/projects/rusefi/
Будет здорово, если кто-то захочет с этим поиграться или попрограммировать
Сейчас есть кучка мелких платок, которые вместе с stmf4discovery заводят двигатель и в таком режиме можно ездить
Сейчас мы доделываем новую версию платы - в ближайшие дни пойдёт на производство
И основное направление работы - найти и завести второй, третий и четвёртые двигатели - так что основные задачи сейчас по удобству использования и понятной диагностике состояния. Сорцы живут в http://sourceforge.net/projects/rusefi/
Будет здорово, если кто-то захочет с этим поиграться или попрограммировать
-
- Сообщения: 70
Привет! давай помучаю вопросами )))
Сколько каналов на форсунки (сколькими форсунками управлять может)?
какой ток на канал?
сколько каналов управления зажиганием ?
какой ток?
датчик к/в по какому диску ориентируется - вазовский или можно задать параметры?
какими еще датчиками может оперировать?
какими еще исполнительными устройствами может управлять?
Сколько каналов на форсунки (сколькими форсунками управлять может)?
какой ток на канал?
сколько каналов управления зажиганием ?
какой ток?
датчик к/в по какому диску ориентируется - вазовский или можно задать параметры?
какими еще датчиками может оперировать?
какими еще исполнительными устройствами может управлять?
картинка - это ссылка, и по ссылке:
Значит если у нас 12 каналов low side, минус например 1 канал на реле бензонасоса минус один канал на соленоид ХХ - значит остаётся 10 форсунок в этой версии? коммутатором зажигания будем управлять через 6 каналов hi side
VR вход - MAX9926 - он поддерживает несколько типов датчиков-триггеров, холл и индуктивный и оптический.
Так что кажется, что и правда достаточно универсально. Минус есть - не самые легко доставаемые компоненты в РФ, но можно сделать версию на более популярных компонентах однажды.
12 каналов аналоговых входов через оп-усилители - LMV324ID
12 каналов low side - VNS14NV04
6 каналов hi side
VR вход - MAX9926
CAN шина - SN65HVD230
микроSD слот & USB TTL - FT232RL
Значит если у нас 12 каналов low side, минус например 1 канал на реле бензонасоса минус один канал на соленоид ХХ - значит остаётся 10 форсунок в этой версии? коммутатором зажигания будем управлять через 6 каналов hi side
VR вход - MAX9926 - он поддерживает несколько типов датчиков-триггеров, холл и индуктивный и оптический.
Так что кажется, что и правда достаточно универсально. Минус есть - не самые легко доставаемые компоненты в РФ, но можно сделать версию на более популярных компонентах однажды.
-
- Сообщения: 70
Работу то вы проделали не маленькую, я не хочу вас обидеть, но вот смысла в ней не вижу , на универсальное не очень тянет - больше как конкурент январю , но под него "инфраструктура" развита.... да и практически любой ECU можно подружить с рядной четверкой, а некоторые и с 6-8кой... как комерческий этот проект точно не вижу, как проект для собственного удовольствия и развития, да.
под мои моторы не пойдет точно , мощные рядные 6-ки и v8 не потянет, моторы типа genesis 80, 120, 150 или r6-r1 тоже ему не доверить ....
на мой взгляд универсальный должен уметь след.
д. к/в
д. р/в____________________для v8 х2
д. давления на впуске_____для v8 x2
д. темп возд
д. темп охл.
д. давления масла (в идеале еще уровня и темп)
д. TPS____________________для v8 x2
д. положение педали газа
д. детанации______________для v8 x2
д. широкополосный лямда___для v8 x2
д. ДМРВ___________________для v8 x2
д. EGT____________________для v8 x2
д. нейтрали и сцепления или паркинг нейтраль и тормоз.
д. скорости
кнопка старт-стоп
кнопка выбора режима
итого 16-26 входных канала (3-7 из них 1/0 остальное аналоговое)
-----------------------------
привод дроссельной заслонки___для v8 x2
каналы зажигания по числу цилиндров 6-8
каналы форсунок - по числу цилиндров 6-8 или х2
реле б/насоса
реле стартера
соленоид vgt__________________для v8 x2
для атмосферников сервопривод exup
включение вентиляторов охлаждения 1 или х2(модулируемое)
управление блоуоф клапаном
итого 23-34 выходных канала (4-5 из них с шим)
-------------------------------------
ну и сервисные функции - шина данных для приборки и второстепенных и.у.
-------------------------------------
ну и по уму вся остальная информация тоже идет через ECU , - всякие там уровень топлива и.т.п.
под мои моторы не пойдет точно , мощные рядные 6-ки и v8 не потянет, моторы типа genesis 80, 120, 150 или r6-r1 тоже ему не доверить ....
на мой взгляд универсальный должен уметь след.
д. к/в
д. р/в____________________для v8 х2
д. давления на впуске_____для v8 x2
д. темп возд
д. темп охл.
д. давления масла (в идеале еще уровня и темп)
д. TPS____________________для v8 x2
д. положение педали газа
д. детанации______________для v8 x2
д. широкополосный лямда___для v8 x2
д. ДМРВ___________________для v8 x2
д. EGT____________________для v8 x2
д. нейтрали и сцепления или паркинг нейтраль и тормоз.
д. скорости
кнопка старт-стоп
кнопка выбора режима
итого 16-26 входных канала (3-7 из них 1/0 остальное аналоговое)
-----------------------------
привод дроссельной заслонки___для v8 x2
каналы зажигания по числу цилиндров 6-8
каналы форсунок - по числу цилиндров 6-8 или х2
реле б/насоса
реле стартера
соленоид vgt__________________для v8 x2
для атмосферников сервопривод exup
включение вентиляторов охлаждения 1 или х2(модулируемое)
управление блоуоф клапаном
итого 23-34 выходных канала (4-5 из них с шим)
-------------------------------------
ну и сервисные функции - шина данных для приборки и второстепенных и.у.
-------------------------------------
ну и по уму вся остальная информация тоже идет через ECU , - всякие там уровень топлива и.т.п.
Вы правы в своём комментарии, что именно эта плата не универсальна на 100% - но ваш вывод совсем не правильный
ЭБУ состоит на 80% их программы и на 20% из платы, если не 95% и 5%. Плату можно copy-paste и сделать всего в два раза больше - семейство stm32 это позволяет. Плата на картинке - это этап развития проекта. На ней сейчас даже блока питания нет - питание подаётся снаружи. На текущем этапе задача проекта - завести еще три пять десять двигателей и РАБОТАТЬ НАД ПРОГРАММОЙ. Эта плата нужна для поддержки этой работы, исключительно. А когда есть код управления 4мя цилиндрами - то это уже 99% кода управления 12тью цилиндрами, дальше это просто вопрос масштабирования и конфигурирования.
Вот. Как будет выглядеть по-настоящему универсальная плата мы пока не придумали - об этом думать пока чуть рано. Возможно, это будет плата с чипом, БП и разъёмами для подключения 100 входных и выходных каналов. Посмотрим Сейчас задача очень простая - к концу 2014 года должно быть пяток запущенных и настроенных моторов Так что присоединяйтесь?
ЭБУ состоит на 80% их программы и на 20% из платы, если не 95% и 5%. Плату можно copy-paste и сделать всего в два раза больше - семейство stm32 это позволяет. Плата на картинке - это этап развития проекта. На ней сейчас даже блока питания нет - питание подаётся снаружи. На текущем этапе задача проекта - завести еще три пять десять двигателей и РАБОТАТЬ НАД ПРОГРАММОЙ. Эта плата нужна для поддержки этой работы, исключительно. А когда есть код управления 4мя цилиндрами - то это уже 99% кода управления 12тью цилиндрами, дальше это просто вопрос масштабирования и конфигурирования.
Вот. Как будет выглядеть по-настоящему универсальная плата мы пока не придумали - об этом думать пока чуть рано. Возможно, это будет плата с чипом, БП и разъёмами для подключения 100 входных и выходных каналов. Посмотрим Сейчас задача очень простая - к концу 2014 года должно быть пяток запущенных и настроенных моторов Так что присоединяйтесь?
-
- Сообщения: 70
Да я бы и рад помочь вам в тестировании , но как и писал выше я работаю и использую два вида моторов - это либо небольшие высокотехнологичные моторы (например малыш genesis80 весом вместе с навесным менее 40кг 80сил с 500куб.см объема АТМОСФЕРНОГО 4х тактного мотора (литровая 160 сил!) , или r6 моторчик 600куб.см 125 сил (208литровая на атмосферном моторе!), рабочие обороты до 16500об/мин) эксперементировать на таких моторах черевато, спалить можно моторчик а он денег стоит 10ку зеленых . Либо полноценные фуллсайз 5,7-7.5литра моторы , с ними по проще в том плане что их спалить сложнее (хотя тоже как сказать - заряженый 500-1000 сил хемми тоже можно просто спалить ) , но их эта плата и в стоке и в тюне не потянет...
Вам надо по гаражам тазико-строителей инфу кидать , там и моторы по проще , и спалить их не жалко, и народ на авантюры готов в надежде простыми способами снять с мотора пару доп сил.
Вам надо по гаражам тазико-строителей инфу кидать , там и моторы по проще , и спалить их не жалко, и народ на авантюры готов в надежде простыми способами снять с мотора пару доп сил.
ну давайте что-нить 350 ci заведём если будет серьёзная готовность играться - сделаем и плату увеличенную. Есть готовность?
вот если вы играетесь с hemi заряженными - чем вы ими управляете?
вот если вы играетесь с hemi заряженными - чем вы ими управляете?
-
- Сообщения: 70
хеми на штатном железе мозгов(они на ура шьются) с скт не плохо себя чувствоют , там направленность тюнинга немного иная (если можно так сказать) , там чтоб с 5,7 получить 600 + сил достаточно вложить 5ку вечно зеленых (турбина интеркулер скт вхлоп и выхлоп форсунки по производительней ну и мелочевка) (ну и прикрутить к этому свой интерес) но реально чтоб не гробить это 500-550 , остальное по хорошему и нутрянку лучше перетряхивать, либо забыть про наш бензин навсегда и заправлять только рейсинговым, а это с их апетитом накладно..
Пробовали с аем контроллером (ну очень хотел клиент), но там колхоз получается не понравилось (разъемы отвратные , не герметичные, со штатной косой не стыкуются ... колхоз). МОПАР мозги спортивные сам делает , но большой разници я не вижу. А так почти все америкосы прошиваются на ура почти под любые параметры ...
Но бензинки все одно не то , вот дизеля там да , просто хорошая прошивка и машина реально меняется..
Из того куда могут понадобится такие мозги , это я хочу в будущем на свой хеми сделать мультитопливную систему (но чтоб это было одним блоком (почему и написал про х2 набор каналов форсунок)), битурбо , 8ми дроссельный , чтоб и мощный и экономичный стал, а вот когда это будет пока не знаю, это надо и машину не на день разбирать и вложить надо не мало.
А вот куда вы бы еще могли приложить такой комп, но там придется делать не только мозг но и всю топливную аппаратуру (подобрать форсы на место штатных и насос высокого дапления....., пока это тоже моя мечта, и это должно быть дешевле чем поменять мотор на камиз), это есть такие моторчики как 6.0 поверстрок , так вот там система питания мать ее за ногу HEUI чтоб ей икалось , так вот если её заменить на CRDI и если это будет получатся дешевле чем поменять поверстрок на каминз, ну и вообще разумных денег стоить, то очень многие владельцы таких моторов, с удовольствием ее купят. причем не только у нас но и в США.
Но тем не менее спасибо за предложение , киньте в личку контакты , может и правда найдутся проекты под сотрудничество....
пока загадывать не буду , но возможно летом буду эксперементировать с 4AGE и 1kz, вот на них можно будет попробовать тот вариант ecu что вы сделали...
Пробовали с аем контроллером (ну очень хотел клиент), но там колхоз получается не понравилось (разъемы отвратные , не герметичные, со штатной косой не стыкуются ... колхоз). МОПАР мозги спортивные сам делает , но большой разници я не вижу. А так почти все америкосы прошиваются на ура почти под любые параметры ...
Но бензинки все одно не то , вот дизеля там да , просто хорошая прошивка и машина реально меняется..
Из того куда могут понадобится такие мозги , это я хочу в будущем на свой хеми сделать мультитопливную систему (но чтоб это было одним блоком (почему и написал про х2 набор каналов форсунок)), битурбо , 8ми дроссельный , чтоб и мощный и экономичный стал, а вот когда это будет пока не знаю, это надо и машину не на день разбирать и вложить надо не мало.
А вот куда вы бы еще могли приложить такой комп, но там придется делать не только мозг но и всю топливную аппаратуру (подобрать форсы на место штатных и насос высокого дапления....., пока это тоже моя мечта, и это должно быть дешевле чем поменять мотор на камиз), это есть такие моторчики как 6.0 поверстрок , так вот там система питания мать ее за ногу HEUI чтоб ей икалось , так вот если её заменить на CRDI и если это будет получатся дешевле чем поменять поверстрок на каминз, ну и вообще разумных денег стоить, то очень многие владельцы таких моторов, с удовольствием ее купят. причем не только у нас но и в США.
Но тем не менее спасибо за предложение , киньте в личку контакты , может и правда найдутся проекты под сотрудничество....
пока загадывать не буду , но возможно летом буду эксперементировать с 4AGE и 1kz, вот на них можно будет попробовать тот вариант ecu что вы сделали...
Из новостей:
Новая плата работает! Для меня это огромный прогресс в плане зрелости железа. Эх, теперь пять человеко лет работы, чтоб это железо было удобно и приятно использовать. Познакомлюсь с программистом со свободным временем
Новая плата работает! Для меня это огромный прогресс в плане зрелости железа. Эх, теперь пять человеко лет работы, чтоб это железо было удобно и приятно использовать. Познакомлюсь с программистом со свободным временем
Жесть, на данном этапе это классная реклама STшной дискавери! Воткнута как есть и управляет двигателем )))
Успехов в проекте вам!
Успехов в проекте вам!
Абсолютно ничего не смыслю в ДВС, но звучит круто Только не понятно, что там еще делать нужно. Похоже, все уже работает.
мотор уже работает — т.е. сами управляющие процессы в режиме прототипа, с привязкой под конкретный мотор есть. Улучшить нужно параметризацию этих процессов — т.е. во-первых конфигурация должна полностью изменяться под другие моторы, а во-вторых параметры новые должны видимо начать применяться без перезапуска программы. Это самое важное на данный момент.
Следующий этап — усложнение управляющих процессов. Например входным параметром 'нагрузка' должен быть не медленный аналоговый датчик, а быстрый аналоговый датчик — который нужно опрашивать только внутри конкретного окна времени и усреднять. Алгоритм поддержания холостых оборотов сейчас более чем наивный — нужно что-то делать. Алгоритм обработки двойного датчика положения дроссельной заслонки, и так далее и так далее. Алгоритм управления электронной дроссельной заслонкой плюс электроника этого управления. А еще в какой-то момент нужно переменные времени со странных тиков в секунды/миллисекунды. И так далее
Я начну с автоматизированного функционального тестирования — мне спокойнее что-то рефакторить, когда оно само проверяет, что внешнее поведение не меняется неожиданно.
Следующий этап — усложнение управляющих процессов. Например входным параметром 'нагрузка' должен быть не медленный аналоговый датчик, а быстрый аналоговый датчик — который нужно опрашивать только внутри конкретного окна времени и усреднять. Алгоритм поддержания холостых оборотов сейчас более чем наивный — нужно что-то делать. Алгоритм обработки двойного датчика положения дроссельной заслонки, и так далее и так далее. Алгоритм управления электронной дроссельной заслонкой плюс электроника этого управления. А еще в какой-то момент нужно переменные времени со странных тиков в секунды/миллисекунды. И так далее
Я начну с автоматизированного функционального тестирования — мне спокойнее что-то рефакторить, когда оно само проверяет, что внешнее поведение не меняется неожиданно.
А на чем тестирование? Если получится, реквестирую статейку о нем, потому, что я сколько не пробовал - получается слишком сложно, муторно, и.... вообщем, очень большой соблазн забить на это самое тестирвание.
Кстати, чтобы покрыть тестами хорошо, нужно было бы начать с тестов и по ним писать код.
Ну, и последнее что мне не нравится в тестах - они делают архитектуру чересчур модульной, что не так уже и хорошо в эмбеддед проектах. Сильно уже теряется производительность.
Кстати, чтобы покрыть тестами хорошо, нужно было бы начать с тестов и по ним писать код.
Ну, и последнее что мне не нравится в тестах - они делают архитектуру чересчур модульной, что не так уже и хорошо в эмбеддед проектах. Сильно уже теряется производительность.
Тестирование - jenkins чтоб запускать, всё остальное руками - не было времени искать либы-фреймворки на эту тему для С и смутно представляю как они бы могли помочь.
так что maintest.c > test1(), test2(), test() > assertEquals(), вот и вся обвязка для юнит теста
а функциональное тестирование - там тестирующая программа будет управлять блоком и сравнивать реакции с эталонными, опять же всё просто руками - и запуски из jenkins
так что maintest.c > test1(), test2(), test() > assertEquals(), вот и вся обвязка для юнит теста
а функциональное тестирование - там тестирующая программа будет управлять блоком и сравнивать реакции с эталонными, опять же всё просто руками - и запуски из jenkins
Почти никак - тестируемые методы никуда не ходят, им ничего не нужно в mock-виде. Как-то по опыту мне хватает тестирования настолько мелких кусков.
А rusEfi всё еще жив - сейчас завели уже четыре двигателя
https://www.youtube.com/watch?v=HnJM9Edid8E
https://www.youtube.com/watch?v=VxisTpoe88I
https://www.youtube.com/watch?v=t2y3h8rGKXQ
https://www.youtube.com/watch?v=5wkH4HVtc50
И участник проекта может выслать платку по России: http://rusefi.com/forum/viewtopic.php?f=10&t=511
Работы еще много - больше всего сейчас нужны программисты, нужно для начала запрограммировать все базовые утилитарные алгоритмы типа насыщения при газ в пол и так далее.
https://www.youtube.com/watch?v=HnJM9Edid8E
https://www.youtube.com/watch?v=VxisTpoe88I
https://www.youtube.com/watch?v=t2y3h8rGKXQ
https://www.youtube.com/watch?v=5wkH4HVtc50
И участник проекта может выслать платку по России: http://rusefi.com/forum/viewtopic.php?f=10&t=511
Работы еще много - больше всего сейчас нужны программисты, нужно для начала запрограммировать все базовые утилитарные алгоритмы типа насыщения при газ в пол и так далее.
На Хабре новости этого дела - http://habrahabr.ru/post/233393/
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 60 гостей