Блок Управления Автомобилем Rusefi: Усовершенствовали Железо, Теперь Будем Писать Для Него По

Два месяца назад мы остановились на том, что русЭфи стал полноценным блоком управления — только фурнитура напоминала взрыв на макаронной фабрике.

Напомню, что rusEfi — это автомобильный блок управления с открытым исходным кодом и аппаратной частью на платформе stm32. Мы не сидели сложа руки и сосредоточились именно на аппаратной стороне вопроса: задача была сделать шаг вперед в железе, и думаю, прогресс налицо: Не было названия v3:

Блок управления автомобилем rusEfi: усовершенствовали железо, теперь будем писать для него ПО

Теперь Франкенштейн 0.1:

Блок управления автомобилем rusEfi: усовершенствовали железо, теперь будем писать для него ПО

Понятно, что это пока исключительно инженерная платформа, а не конечный продукт - но главное, что прогресс есть :) Плата естественно работает: Уже изготовлено 10 плат «Франкенштейн 0.1», заказано еще 10 плат. Теперь мне нужно собрать две платы и отправить одну в Канаду, а вторую в Словакию — это наш международный проект. Кстати, исходный код платы здесь.

Разработка аппаратного обеспечения приостановлена, и мы возвращаемся к программному обеспечению и реализации.

С точки зрения самого управления двигателем, прошивка не продвинулась вперед - прошивка продвинулась вперед по настраиваемости и простоте отладки: появилась поддержка символьного экрана HD44780, резко уменьшился объем условной компиляции - гораздо больший процент настроек теперь можно изменить на лету, через нашу консоль отладки или через популярную универсальную программу настройки ЭBU. Появился слот для SD. Появилась CAN-шина — которая, по большому счету, нам пока не нужна.

Появился драйвер для популярного модуля GPS - что на данный момент вообще чистой воды баловство :) Словом, фундамент мы заложили - и мне кажется, что мы его заложили.

Теперь можно приступить к самому вкусному – теперь из всего этого можно сделать удобный, универсальный и простой блок управления автомобилем.

Лично я в первую очередь опытный программист, поэтому прошивку будем писать основательно: Модульные тесты и непрерывная интеграция.

Три дня назад мы перешли с С на С+ — ООП будет совсем немного, поэтому пока будем считать только один плюс в слове «С+».

Неделю назад стало возможным скомпилировать базовую логику прошивки под Windows — вскоре это должно привести к автоматизированному функциональному тестированию.

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

Онлайн-конфигурацию необходимо выполнять осторожно — некоторые вещи все еще задаются в коде.

Так что программировать нейронные сети пока рано; все основные функции требуют дальнейшего программирования.

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

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

Ссылки по теме: http://rusefi.com/wiki/index.phpЭtitle=Main_Page/ru http://rusefi.com/forum/ PS: Я получил просьбу более конкретно рассказать о стоящих перед нами задачах программирования.

Итак, двигатель уже работает – т.е.

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

Параметризацию этих процессов необходимо улучшить, т.е.

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

Это самое важное на данный момент. Следующий этап – усложнение процессов управления.

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

Алгоритм поддержания холостого хода теперь более чем наивен — надо что-то делать.

Алгоритм обработки двойного датчика положения дроссельной заслонки и тд и тп.

Электронный алгоритм управления дроссельной заслонкой плюс электроника для этого управления.

И в какой-то момент вам понадобятся переменные времени от странных тиков до секунд/миллисекунд. И так далее.

Начну с автоматизированного функционального тестирования — мне удобнее рефакторить что-то, когда оно само проверяет, не меняется ли внешнее поведение неожиданно.

Теги: #stm32 #разработка #автомобили #автомобили #открытый исходный код

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.