Два месяца назад мы остановились на том, что русЭфи стал полноценным блоком управления — только фурнитура напоминала взрыв на макаронной фабрике.
Напомню, что rusEfi — это автомобильный блок управления с открытым исходным кодом и аппаратной частью на платформе stm32.
Мы не сидели сложа руки и сосредоточились именно на аппаратной стороне вопроса: задача была сделать шаг вперед в железе, и думаю, прогресс налицо:
Не было названия v3:
Теперь Франкенштейн 0.1:
Понятно, что это пока исключительно инженерная платформа, а не конечный продукт - но главное, что прогресс есть :)
Плата естественно работает:
Уже изготовлено 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 #разработка #автомобили #автомобили #открытый исходный код
-
Топливо
19 Oct, 24 -
Iot Labs 2021: Итоги Практики Для Студентов
19 Oct, 24 -
Quest For Glory Заиграет Новыми Красками
19 Oct, 24