Блок управления двигателем. Программирование ЭБУ - это просто. Изучаем документацию и программируем
Вставка
- Опубліковано 7 вер 2024
- Блок управления двигателем. Программирование ЭБУ - это "просто". Изучаем документацию и программируем.
Что может быть "проще", чем программирование электронного блока управления двигателем? Да, да, друзья, именно программирование, т.е. написание своей любой программы.
Необходимо "всего" лишь:
1. Изучить несколько сотен страниц технической документации на микроконтроллер (архитектура, ядро, периферия и т.д.) и его ядро (архитектура и система команд). Ознакомиться с принципиальной электрической схемой ЭБУ для анализа цепей питания, драйверов исполнительных устройств, входных цепей датчиков и т.п.
2. В соответствии с системой команд ядра м/к написать свою программу на ассемблере для ЭБУ. Можно использовать тот же С/С++, но иногда без встраивания ассемблера не обойтись, так как в программе могут быть использованы вызовы подпрограмм из встроенного ПЗУ микроконтроллера (например, подпрограммы начального загрузчика), а подпрограммам надо передавать параметры. При этом эти подпрограммы могут быть реализованы в разрез соглашения о вызовах (параметры передаются не в тех регистрах, что предусматривает соглашение о вызовах и т.п.). В данном случае программа простая (всего 20 - 30 строчек кода на ассемблере), используются вызовы подпрограмм из начального загрузчика (встроенное ПЗУ микроконтроллера). Поэтому решено было ее написать на ассемблере.
3. В соответствии с документацией на м/к написать программу-загрузчик машинного кода в память м/к. Это требуется не всегда. Иногда можно использовать ПО и оборудование, которое поставляет изготовитель микроконтроллера. Стандартные загрузчики для чип-тюнеров абы какую "прошивку" писать во флеш память не будут. В данном случае мне потребовался именно свой загрузчик в силу решения специфичной задачи, т.е. и загрузчик для чип-тюнеров (тот же комбилоадер, например), и загрузчик от изготовителя м/к мне не подойдут.
4. Загрузить машинный код в память м/к и радоваться результату, как в видео.
В видео демонстрируется работа программы, написанной автором видео, которая "общается" с компьютером через последовательный порт (посредством USB----USART переходника) и управляет вентилятором, подключенным к одному из каналов форсунок. Т.е. эта программа не управляет двигателем автомобиля от слова "СОВСЕМ", несмотря на то, что "зашита" в м/к, работающий в ЭБУ. Что это означает? А это означает, что при наличии большого желания, как у автора видео, можно написать любую программу для м/к в ЭБУ, использовать входные и выходные электрические цепи ЭБУ для реализации любых посильных ему задач (в т.ч., включая задачу управления двигателем, но уже по своей программе). Именно программа для микроконтроллера, установленного на плате ЭБУ, определяет, чем будет являться этот ЭБУ. От программы зависит, будет ли он использован по своему прямому назначению (программа управления двигателем) либо каким-то иным образом (например, программа управления стиральной машиной, котлом отопления и т.п. на что хватит вашей фантазии, возможностей м/к и электрических цепей ЭБУ).
Предыстория к ролику: • Блок управления двигат...
Один из самых частых вопросов: "Почему на ассемблере?". Сломал "язык"(пальцы) отвечать.
Варианты ответов на выбор:
1. Очень простая программа.
2. Использую вызов подпрограмм встроенного ПЗУ с передачей параметров. Подпрограммы ПЗУ не соответствуют соглашению о вызовах. Чтобы не встраивать ассемблер в код на C, просто написал весь код на ассемблере.
3. Люблю ассемблер, а здесь сама архитектура просто предрасполагает написать на нем программу всего из 20 - 30 инструкций.
4. Чтобы больше было комментариев к ролику.
Выбирайте любой вариант. 🙂
И вот еще что... Ребята, читайте, пожалуйста, описание к ролику.
А чего загрузчик на С, а не на асме? :)
@@ledvinasl , да, это упущение. В следующий раз тогда. 🙂
Не ассемблер а Язык ассемблера. Ассемблером называется программа, преобразующая код на языке ассемблера в машинный код
@@Creekererer , да, спасибо за уточнение. Если бы мне были известны такие тонкости, то пришлось бы писать "правильные" книги. Вот ведь, не зря прожит сегодняшний день. Узнал что-то новое. Просто всегда казалось, что это слово употребляют в зависимости от контекста повествования, так сказать. В том смысле, что человек, который задал такой вопрос, и тот, кто на него отвечает, понимают смысл, который вкладывается в это слово. И если обращаться к первоисточнику, т.е. к какому-нибудь Programming manual and Instruction set, то там это четко прослеживается. Assembly language употребляется там крайне редко в отличие от: assembler programs, assembler programming, assembler instructions и т.п. Везде, черт возьми, потеряно слово "language". Аналогично и в отечественной литературе. Куда смотрят редакторы? За что им платят деньги? 🙂
В 90х когда небыло январей на mcs51 делал ЭБУ для спортсменов, хороший был контроллер, на столько понятный что. пиши хоть ассемблере хоть в машинном коде прямо в память программ. Я его называл большим дешифратором который соединял свои регистры для действий, код входа дешифратора которого можно видеть в машинном коде
Крутой парень, вытащил блок управления мотором и превратил его в блок управления вентилятором! :)
Сейчас он мне еще и кресло качает, когда я на комментарии отвечаю, и как кукушка каждый час кукует. 🙂
@@VadRov ну ваще класс! :)
@@VadRov вот ради этого стоило! 😂
Ещё немного, и научит светодиодом мигать! )
@@duncanmclaud5953 , разговаривать нечленораздельно уже научил (памяти мало), но матершину понять можно. 😂
Реально простота, каждый день так делаю по утрам вместо зарядки
И спина не болит?
Лучше вечером после работы. Так сказать расслабиться после тяжелого дня
Лучший шортс во всем Ютубе. Мое уважение.
Спасибо. Это экспромт получился. И на удивление неплохо.
@@VadRov Здравствуйте, а можно с вами как-то связаться, хотелось бы пообщаться.
Настоящий мужик, как студент 2 курса професии "автоэлектрик" я выражаю тебе уважение. Ну мужик😁
Рад, что тебя не отчислили с первого курса. Автоэлектриков я уважаю, но только толковых 😉
@@VadRov я практик в большей части, поменять, прошить это да, но точные науки так скажем не особо😁
@@VadRovСкоро и меня на радиотехнике ждёт программирование микроконтроллеров
@@user-ph9nu7lb8p , это очень увлекательно. Тем более, в нынешнее время, с такими современными технологиями и ПО.
Я уже пол года развлекаюсь с этой историей, даже двенашку купил, чтобы было на чем экспериментировать, мой уровень еще не дошел даже до уверенного любителя, постоянно обращаюсь к документации или форумам
@@evgenyievgenevich8067 здравствуйте, как идет практика в этом деле?
Зашёл чисто почитать комментарии))
По-видимому не один умник не знает что работа вентилятора охлаждения двигателя при заливке программы в ЭБУ, это технические условия от завода производителя!)))
😊
Я уже три минуты ломаю голову, пытаясь понять, что автор хотел донести.
@@duncanmclaud5953 ну точно что то до нёс))
без матов не понятно(
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
@@Ed-yr1lr правильно поступили!
Круто! Мало кто помнит/знает как и умеет это делать :)
Ассемблер рулит :)
Осталось лишь немного - понять какие алгоритмы прописать в эбу для бесперебойной работы двс:)
А вот и новая идея для следующего минутного ролика. 😉
Насколько я знаю математику моделируют в матлабе.
Стоят модель двигателя, забивают формулы термодинамических циклов Миллера или Отто или какой нибудь другой модернизированный, запатентованный.
Так что с "немного" понять ты немного погорячился😅 там очень много формул
@@vlad3cВ принципе всю прошивку на ЭБУ для двс сейчас делают в программах типа Матлаба. Там очень много есть вспомогательных инструментов которые не только помогут математические модели физических процессов построить, но также и возможность реализовать логику работы ЭБУ(например машина состояний Stateflow), реализацию различных видов регуляторов (ПИД, LQR, Фильтр Калмана). Как только инженеры подготовили прошивку в виде матлабовского проекта, в дело вступает Embedded Coder, генерируют СИшный файл прошивки, например под мк STM. Впринцире после этого можно сделать хекс и залить в ЭБУ. Конечно не все так идеально, и после кодогенерации инженеры ещё допиливают прошивку, созданную матлабом исходя из своего опыта. Также не стоит забывать что ЭБУ должен обладать различными сервисными фишками типа UDS протокола для просмотра ошибок и параметров двс, так же для настройщиков автомобиля и двс нужно заложить алгоритмы калибровки, типа XCP. В общем достаточно объёмной получается прошивка и реализовать её даже на СИ это задача для целой компании программистов-разработчиков, хотя в 90-х автопроизводители так писали прошивки.
Честно говоря всегда считал что там всё элементарно...
Круто, прям на асме изучил все задвижки и сделал лучше чем миллион специалистов на заводе. А именно крутить шимом куллер. Чудо в детском саду.
В детском саду когда горшками звенят, и то дети радуются. А тут целый вентилятор крутится. Во как. Прежде чем, изливаться в желчи, не мешало бы описание почитать. "Ох, и злой нынче народ" 🤦♂️
@@VadRov вот тут не могу не согласиться, народ действительно зол. Но видео записано с таким пафосом что не удержалась рука поэта.
@@gogaserg , ну, что могу сказать, если между пафосом и иронией Вы границ не проводите...
Да, действительно оказалось слишком просто
Да, всего за 1 минуту управиться можно.
Чтож давно хотел изучить это, думаю пора
Учиться (изучать новое) вообще никогда не поздно.
@@VadRovДа но, Ассемблер это сложноватый язык
@@Maxvel-Hausss_ , более-менее зная язык ассемблера для трех архитектур, уверенно могу сказать, что это устоявшееся заблуждение и страшилка. Нет в нем ничего сложного. Самый последовательный и логичный язык. Другой вопрос, что сложно писать большие программы, а также программы, насыщенные математическими операциями. Хотя, макросы, разбивку на подпрограммы и т.п. никто не отменял. Но, естественно, лучше программировать на языках высокого уровня (с/с++) и подключать ассемблер по мере необходимости, как в виде ассемблерной вставки __asm(""), так и отдельным файлом на ассемблере с расширением .S Знать ассемблер достаточно на уровне знакомства. Это хорошо помогает при отладке программ, так как при отладке представлен листинг дизассемблера.
@@Maxvel-Hausss_учить ассемблер не имеет смысла. Это давно не тот язык программирования, на котором вы будете писать программы, чтобы его учить. Его надо понимать что это за язык такой, и откуда он появился. Для этого советую изучить(именно изучить, не читать там есть задания их советую выполнять) книгу "Цифровая схемотехника и архитектура компьютера" где подробно, понятным языком начиная с булевой алгебры и объяснения работы транзистора строится микроконтроллер-микропроцессор. Тогда придёт понимание регистров, мнемоник, работы памяти, кэша и т.д.
Поняв это и выучив ассемблер из книги вам с лёгкостью дастся любой другой, т.к. они в большинстве похожи по назначению команд. А т.к. ассемблер используется исключительно для оптимизации и поиска ошибок, не составит труда составить алгоритм, и к нему подобрать нужные команды. Когда понимаешь, как оно работает внутри, то ассемблер становится логичным и понятным.
Эта книга лучшее, что я читал по теме. Если есть желание учиться, рекомендую.
Тому, кто писал в детстве программы на Бейсике и экспериментировал с ассемблером, ничего сложного в программировании ЭБУ нет. Посмотреть несколько видео, почитать документацию. Это каждый второй, третий из поколения 80-х
Примерно так и есть.
Вот это лайфхак, поддерживаю, а не вот это все -"ничего не делай и зарабатывай миллионы тыщ", еще бы ссылки оставлял автор и названия модулей, чтобы можно было повторить
Во-во, изучить документацию. Но для чипа МТК, мне не помогло. Так как
драйвер был закрытый. А еще мне пришлось пролистать 5 000 строк на Си и
изменить их, чтобы все это заработало на новом ядре линукс. Ушло так
чуть-чуть - 2 дня. На ASM я подозреваю, потребовалось чуть-чуть больше
времени, так как строчек было бы чуть-чуть побольше, так млн пять.
два дня -- херня. и 5к строк -- небольшой проект. Писал такие за три месяца с нуля.
@@Ma_X64 это не проект, а сборка openwrt под роутер. Нужна была поддержка 802,11X, просто роутеры с такой поддержкой стоят в 2 раза дороже. Драйвер который в openwrt выдавал маленькую мощность, поэтому менялся драйвер на родной, чтобы завести wi-fi на полную мощность. А родной драйвер уж очень под старое ядро линукс. Пришлось править заголовочный файл. Обидно было, что драйвер завелся, а вот пакеты какие мне были нужны с ним конфликтовали. Потом я нашел эту инфу у китайца. Пришлось опять ставить не родной, т.к. он открытый, есть исходники и искать ошибки, там был ошибочный и dts файл и regdb не верный, не стыковка в исходниках считывания eeprom, короче подправил, где что нашел, остались конечно недочеты, поэтому не совсем максимум, можно конечно исправить. Но мне хватило этой мощности проверить 802,11X дотянуться за 680 метров до бесплатной точки доступа. Погонять видео в 4К целый день, прошивка работала стабильно. Для дома конечно и этой мощности многовато, поэтому больше не стал править ничего. Написать с нуля можно, ну зачем? Это должна делать фирма производитель, их программисты, она платит деньги им. А мне за это все равно не чего не будет. Я же не торгую роутерами или чипами.
@@maksleonov1092 ммм, прикольный кейс!
Можно ещё написать свой высокоуровневый язык программирования для каждого вида блоков свой)
Первый лайк у меня в шортсах за всю историю их существования)
Ассемблер довольно простой, похож на 8086. Суть в том, чтобы знать таблицы адресов портов конкретной железки, правильно и вовремя читать значения кучи датчиков и обрабатывать прерывания)
Все правильно. Адреса портов и пины на схеме блока.
Херня-то какая, я думал там сложно)
Херня какая всего 500-600 команд у каждого МК своих и ты программист.
@@user-vi3ff4yg3q они делятся на несколько групп, все команды знать не надо. Надо знать принципы адресации, регистры, карту памяти и порты.
И быть готовым печатать много или очень много, в сравнении с языками высокого уровня)
Ничего сложного если есть желание ну и время). Уважуха! 👍
В точку. А времени.. его всегда не хватает, к сожалению. Заботы, хлопоты, семья, работа.
Солярис будет очень рад такому приветствию)
Ты просто крутой мужик!!! Наконец то не просто херовы правители hex. Уважение, причем троекратное!!!
Заставить его крутиться это одно. А вот заставить это крутиться правильно и в соответствии с зашитой кривой/режимом мотора/включенной передачей и т.д это уважение.
спасибо за гайд. подгрузил ии. теперь без топлива, на честном слове, ездит, правда когда сам захочет. и жене постукивает
Молодец, спасибо, кто в теме тот поймёт.
Сейчас это не так трудно, благодаря доступной информации.Для меня конечно это легко я уже не один ЭБУ прошил итд
не прошить, а написать прошивку
интересная тема, давно пора поднять еë, обычно те, кто крутит таблицы, пользуются готовым инструментом и в работу мк не вникают, а те, кто дизассемблирует и делает эти инструменты, ничего не рассказывают, если в принципе есть опыт программирования мк, то измерять ацп и дëргать форсунками и свечами легко, а дальше надо где-то взять эти самые таблицы, и хорошо бы что-то в них тоже понимать, чтобы не запороть двигатель, была одно время такая хотелка скооперироваться с энтузиастом, понимающим в работе двс и сделать свой эбу на stm32 в качестве хобби
Да, Михаил, на stm32 можно сделать. Я, кстати, подумал, что в простейшем случае и на скорую руку, можно выпаять с того же Микаса м/к, а на его место к входным и управляющим цепям, согласовав уровни, пристроить stm-ку (кстати, с согласованием проблем возникнуть не должно, т.к. stm IO 5V tolerant). 🙂
@@VadRovсвое безусловно создать можно. Только вот в начале наступите на все грабли на которые до вас наступили разработчики оригинала. Чаще всего такие грабли будут чреваты ремонтом двс😂
@@Za_pobedu_brat , согласен. Но если браться за такое, то до натурных испытаний можно провести серию испытаний с имитацией. Например, с помощью эмулятора двигателя, построенного на том же м/к по мат. модели, который будет имитировать сигналы датчиков и посылать их в ЭБУ, а от ЭБУ получать сигналы на исполнительные механизмы. Все делается, правда, при большом желании и наличии времени.
Таблицы данных как и сколько и когда впрыскивпть , дергать форсунками и тд.это стратегические секреты любой компании. Точнее сами алгоритсы. До конца ничего не наскрывается. Тайна кроется в невидимых мелочах. Они добываются на стендах и тратятся на это колоссальные деньги. Разработать ЭБУ и написать свою прошивку сейчас может любой школьник. И это как то будет даже работать. Теперь вопрос , будет ли двиг с такими алгоритмами надежным , экономичным , и отвечать стандарту безопасности ?
Уверен нет.
@@Violancergta ну если это настолько сложно, как тогда карбюраторная система работает и ездит, где всë примерно на глаз?
Делов-то! Зайти и выйти❤
Писателей кода для ЭБУ с нуля по пальцам пересчитать можно . Ну в смысле вне завода. Написать работающий код для конкретного двигателя с нуля да еще и что бы был лучше заводского это врят ли. Скорректировать заводской- да, не сложно.
Да и никто не пишет с нуля. Заливают уже имеющиеся , либо если есть соображалка правят сами и заливают.
А для заливки прошиаки в МК не нужно изучать 1000 страниц даташита. Только нужные страницы , коих будет не более 20-ти.
Ну, что могу сказать.... Помимо заливки "прошивки" (программы), ее еще надо подготовить. "Прошивка" - это программа в машинных кодах для ядра микроконтроллера (ядро по сути микропроцессор, а сам микроконтроллер - это ядро + периферия и дополнительные контроллеры: DMA, NVIC и т.п.) Так вот, в данном случае программа писалась на языке ассемблера A51 для ядра C500. Чтобы писать программы на ассемблере надо знать архитектуру и систему команд ядра. В данном случае - это книга объемом 118 стр. (C500. Architecture and Instruction Set). Потребуется еще и мануал на м/к. В нем помимо алгоритма заливки приведена архитектура м/к: периферия, регистры специальных функций, таймеры и т.п. Без понимания всего этого программу не написать. Это еще 290 страниц текста. Итого 400. Почему ассемблер, писал в комментариях.
@@VadRov а еще нужно иметь матмодель по которой будет управляться двигатель..
@@leoned1797 , несомненно, если пишем программу для микроконтроллера, который будет работать в ЭБУ, и эта программа должна реализовывать алгоритм управления двигателем, а, например, не алгоритм управления стиральной машиной или иной алгоритм, как в данном случае.
Открываем chatgpt, и он сделает половину работы кодера
Вентилятором научился управлять, но двигателем больше не умеет😂
Самый толковый комментарий за последнее время. Один из немногих кто понял смысл (и, наверное, прочитал описание к ролику).
@@VadRov А если хочется добавить другие датчики к двигателю или на инновационном топливе ездить, то как реально на самом деле программировать ЭБУ двигателя?
@@user-ix7lb1sx4k, по датчикам надо смотреть по схеме наличие свободных каналов АЦП либо цифровых входов логического уровня (в зависимости от типа датчика). Потом лезть в программу и делать опрос этого датчика и формировать соответствующее управляющее воздействие. Если этот датчик будет влиять на работу двигателя, т.е., например, с учетом его показаний формируется состав смеси, то придется лезть в весь алгоритм ЭСУД, в т.ч., менять таблицы. И, скорее всего, под новый/дополнительный датчик придется формировать соответствующую электрическую цепь (усилитель на ОУ и т.п.) в ЭБУ. А как на самом деле программировать... Да, как и любой другой объект управления, который должен управляться по определенному алгоритму.
@@VadRov А если выучить ассемблер, то что потом изучать, чтобы понять, как это делается?
@@user-ix7lb1sx4k , ассемблер нужен только в том случае, если будете изучать/редактировать дизассемблированный код родной прошивки. А если будете с нуля писать программу, то достаточно твердых знаний C/C++. А что потом изучать... Да, кто его знает, что изучать. Теорию о работе ДВС, алгоритмы, в, т.ч., управления, ну, и сопутствующие многообразные темы. С этим, вроде, проблем нет. В интернете просто море информации. С чего начинать сами решайте. Знаю только, что для того, чтобы читать большую программу на ассемблере и понимать, что она делает, нужны годы тренировок. И это при том условии, что программа изначально написана на ассемблере. Если же она изначально написана на языке высокого уровня, после чего была откомпилирована, то понять такую программу будет еще сложнее.
После просмотра пойду обниму старый добрый карбюратор😁
А вот это правильно. Это сейчас (в морозы) очень актуально. 🙂Раньше для отогрева карбюратора 500 Вт лампу использовал. Греешь, а потом с полтыка заводишь. Но нашел потом для себя самый лучший способ в сильные морозы - это два аккумулятора. Один питает только стартер, а другой систему зажигания. Спасает от просадки напряжения, гарантирует мощную искру, что хорошо для богатой смеси. Мотор заводится легко. Для питания при старте системы зажигания достаточно слабенького аккумулятора.
@@VadRov Обниму не для того чтобы согреть, ё моё😏 Он прост и надёжен,выдернул подсос и завёл. Контактное зажигание и энергопожирающие стартера в прошлом.Не доставляет проблем в виде кучи датчиков, проводки, релюшек, предохранителей, бензонасоса в баке, ошибок в ЭБУ и прочей ерунды с последующей буксировкой в сервис.
А если еще и лифт сломался и ты живешь на 16м этаже, то еще и прокачаешься заодно, зарядка, а вечером заплыв)
@@Pacca33 сочувствую жильцам человейников.
Потом клиент приходит, вы что 6000 за пять минут прошивки??
Так в чем проблема это делать поточно ? Ведь двигателя все однотипные ?
@@user-yu5by7nb8rне всё так просто, у каждого блока есть идентификатор софта к которому привязан сам блок, да есть блоки с одинаковым идендитикатором но ведь задачи клиенты каждый раз ставят разные а софт поправить это тоже не просто так тыкнуть можно и мотор легко положить уж поверьте, поэтому есть ещё и ответственность, а так же может блок легко лечь и ещё куча всего всего что может при этом случиться, Вы бы вникли сначала.
@@EvgeniyMinin я думал ,что при поточном ремонте блоков ,это легкоооо!
Те, кто шьют ЭБУ за 6к, не пишут для него код, а скачивают у таких людей как автор бесплатно
@@karington1168 человек выше говорит,что пишут - он врёт ?
Молодец! Возьми с полки пирожок! герой!
Да, нет уже на той полке пирожков. Комментаторы еще на прошлой неделе их разобрали. 🙂
МУЖИК , НЕ МОГУ НЕ ПОСТАВИТЬ ЛАЙК , ЗНАЮ ЧТО ЭТО ЗАНЕЛО У ВАС УЙМУ ВРЕМЯНИ . ТУТ НА PLC ДВЕ СТРОЧКИ ПЕРЕДЕЛАТЬ НАДО БЫЛО ЧИТАЛ РАДИ ЭТОГО ДНЕЙ ДЕСЯТЬ , А НАПИСАТЬ , Я НЕ ЗНАЮ СКОЛЬКО ВРЕМЯНИ У МЕНЯ УЙДЕТ .🫵👍👍👍👍
Когда-то мы лабы делали в машинных кодах под учебно- отладочные машины. Не помню уже какой комплект.
Сейчас есть Си, компиляторы и море библиотек.
Привет коллега)). Да, все так и есть)).
О блин! такие специалисты не вымерли? Так всё же сделано. Короче рад что есть такие специалисты
проще впаять туда stm32. Если блок не особо ответственный, то esp32. Можно переходной квадратик отфрезеровать из текстолита.
esp32 точно нет, если только через расширитель портов. Но идеи у зрителей хорошие 🙂
@@VadRov там если дорожки глянуть от чипа, то используется в основном малая часть из возможных, думаю подойдет и без расширителя.
STM32 не покатит. ЭБУ это ASIL C по iso26262. А это контроллеры специального назначения с дублированием ядер и памяти...там много чего еще интересного.
@@Violancergta , современные стандарты безопасности - это дело ясное и понятное. Но блок из видео - это в прямом смысле "прошлый век". Не у кого, думаю, в голову не придет делать на его основе коммерческий продукт путем "вкорячивания" инородного современного "мозга". Так, если, ради баловства.
@@Violancergta ну например если нужно запустить какой нибудь Электрогидроусилитель, электроусилитель для самоделки то вполне сгодится stm или esp32, там конечно проще логическим анализатором определить can комманды на включение и ничего не перепаивать. Но если нужен например реверс Эгура и обороты в широком диапазоне, то приходится шить свою прошивку.
Эх знать бы все в этих направлениях )
Почет и уважение.
Как же все просто. :)
Кстати, всегда было интересно на каком языке программа управления в эбу автомобиля
Как я пизжу начальнику о проделанной работе показано в видео. Как есть на самом деле: ctrl+c; ctrl+v.😊
И, наверное, когда начальник все это пронюхивает, то с грозным видом говорит: "Я бы тебе ctrl+v!" 😂
Лучший!
Что может быть проще? Заменть MCU на FPGA и написать код на Verilog))) Но сперва сломать свой мозг, ибо все команды выполняться будут за один такт)))
Я все ждал когда ты дойдешь в требованиях до литографии и выращивания кристалла.
Тогда это были бы уже "требования" к изготовлению/конструированию ЭБУ, а не к программированию.
Bolshe vidosov!
Я не Маг, пока что всего лишь учусь (2й курс программиста в МГУТУ) но когда нибудь, СЛЫШИТЕ?
КОГДА НИУБДЬ Я СТАНУ ТАКИМ КАК ОН!
И по праву буду стоять на том же месте, где стоит ОН!
Давай, топи) ждем в наших стройных эмбеддерских рядах)
К этому годами идут ,а в конце понимают ,что все было зря😅
@@Taler-Derden-N-Z-F да вроде не зря) зп в embedded айтишная, хоть и чуть ниже, чем в веб) лишь бы нравилось
натыкался на форум, ЕМНИП, ланос тематики. человек докопался до ЭБУ этого самого ланоса. показал, что алгоритмы - так себе, это не так, то не так, с этим жить невозможно. написал свою программу. занимался отладкой...
в результате вернулся к стоковой прошивке... (за давностью может что соврал)
Осталось пройти академический курс " Работа тепловых машин","Газовоя термодинамика","Циклы Карно для паровых, бензиновых и дизельных двигателей"
И можно с лёгкостью написать свою прошивку.
Всем рекомендую.
Да, но и к этому набору не помешало бы пройти курс: ТАУ, оптимального управления, технической кибернетики, электротехники и электроники... В общем, все вместе что-то из разряда: "Увидеть Париж и умереть". 😉
@@VadRovНапишите компании ИТЭЛМА) Они как раз разработкой ЭБУ занимаются, мб поделились бы с вами некоторой вводной информацией) А то глядишь и на работу позовут к себе)
@@tonyst.7949 , у них люди поумнее меня работают. Я им нужен, как собаке пятая нога. 🙂
@@VadRovСиндром самозванца проявлен. 😊
@@Al.Sy. , сейчас пройду тут курс терапии и вылечусь.. А некоторые, вот, всё в докторов не наигрались. 🙂
Ну если суть в том, что бы использовать ЭБУ как аналог "ардуино" , то ... идея весьма интересная.
Свои плюсы такой подход точно имеет.
Да ну, зачем. Есть ардуино/esp и прочее. И на более высоком уровне можно и стоят муку. 150-200р за МК с обвязкой, мегабайтами памяти и вайфаем как-то подешевле будет.
@@Zet0ME , всё от задачи зависит. Контроллер это уже не просто голый "камень" или ардуино, а с обвязкой силовыми и прочими цепями. Да и стабильность работы существенно отличается. Что то серьёзное, я бы , ардуино не доверил.
@@Megavolt. Так тут ECU как ардуину предложили использовать. А что не так с ATmega, он вполне себе для серьёзных задач издревне используется.
давай гайд не питоне теперь, как управлять вентилятором компьютером автомобиля)
Очень интересно , правда наговорил непонятно как это сделать и даже не умею
о,SAF-C509,знакомо
Забыли упомянуть одну мелочь, лет пять изучать ассемблер и плюсы)
В ведь точно... Забыл упомянуть эту несущественную деталь. Придется переснимать ролик. 🙂
Да ассемблер, как по-моему, это не проблема. Проблема это понять, что там написано, и как это связано с железом. Т что железу надо, чтобы получить желаемый результат. )
@@duncanmclaud5953 , именно. Для этого у м/к есть, т.н., special function registers для настройки встроенной периферии, мультиплексоров, портов ввода/вывода т.п.. Надо всего лишь записать правильные значения в эти регистры, чтобы м/к делал по нашей программе именно то, что требуется. И, естественно, надо создать программный интерфейс для работы с внешними устройствами (драйверами исполнительных устройств, например). Иногда (часто) для этого требуется соответствующий мануал на внешние устройства. Кстати, современные внешние устройства так же содержат м/к и общаться с ними приходится так же через команды (записываемые в регистры внешних устройств). Например, дисплеи, sd-карты и т.д.
@@VadRov да при чём тут это. Я имел ввиду алгоритмы работы железа.
еще проще вставить веб сервер в эбу и смотреть на любом браузере состояния системы.)
Вариант, кстати. 🙂
Как только он сказал, что это очень просто, я сразу почувствовал подвох. И потом он говорит про 100 страниц документации
Молодец, возьми с полки пирожок 😂
Круто! Ассемблер топ
Да, кто в теме "кодотворчества", тот понимает.👍
Это какой-то мега уровень для меня и большинства людей. Это ж годы работы, полученного опыта, правильных выводов, сноровки. Это уровень embedded-разработчика какой-нибудь международной корпорации. У вас курсов случайно нет для ваших младших коллег из embedded?
Не преувеличивайте (или иронизируете?🙂). Здесь ничего необычного нет. Всего лишь написание элементарной программки и загрузчика под древнюю архитектуру. Думаю, любой "пограничник" между junior и middle с легкостью сделает тоже самое и даже лучше. Курсов не веду. Сейчас для самообразования материала в сети выше крыши, зачитаешься.
@@VadRov никакой иронии. Материалов много. Но это как ребенку говорить "иди читай как собрать шкаф", он прочитает и про склейку, и про плотничество, а вот "элементарных" знаний мало, нужен наставник, а с ними сейчас большие проблемы. Если вы из Мск или СПб навряд ли вы это чувствуете...
@@MrSuiting , да, нет обитаю очень далеко от Москвы и СПб - на периферии. Наставников сейчас масса. В. Мединцев, например, какие-то курсы по м/к ведет и демо платы продает.
Даже не представлял, что так просто писать такого рода программы
Ага, ниче сибе просто, 100 страниц документации прочитай. Ассемблер вообще легкотня?
@@Noname-ee8gh дружище это был сарказм, конечно, не просто я с тобой полностью солидарен👍
Что вы думаете про обмотку Хуянка? Треугольник + Звёздочка?
Думаю, что этот ролик не из разряда мошенничества и мракобесия.😉 О чем он, и что сделано, указано в описании. Можно также посмотреть у меня на канале, как этот же ЭБУ играет многоканальную музыку через, т.н., бипер. А ознакомиться с частью того, что я делаю и, в принципе, могу делать (написание иной программы для м/к ЭБУ самое простое, наверное, что делал за последнее время) можно у меня на канале в плейлисте "Программирование", а также на моем гитхаб аккаунте, где есть открытый для всех исходный код.
Upd. Если же Вас интересовало мое мнение о проекте Дуюнова, то оно такое же, как и о проекте Юницкого. Т.е. никакое😂
@@VadRov оо друг!))
Отлично пояснил, ничего сложного и правда)
А можно немного теории про ЭБУ ну хотя бы ВАЗ Приора что какоя микросхема что делает и транзисторы хотя бы в общем плане развития!!!!!!
Есть видео на канале о блоке из этого ролика. Там есть общее устройство.
до сих пор с ужасом вспоминаю как в pascal под дос использовал вставки ассемблера для работы с мышью...
Это знакомо. В 90-x встраивал ассемблер в программы на C для ускорения рутинных операций. Сейчас компиляторы умнее, но иногда с ассемблером всё равно веселее программы работают.
GOOD JOB👍
Работа мастера-мое почтение. Только, ты заплатмл, а тебе еще и рекламы в блок напихали.
😉
Да я так каждую пятницу делаю
Всего то, я думал там сложно всё. 😂
Хорош ,👍
Ты можешь пугать те кто в этом не понимает. Твоими словами очень хорошо цену набивать
Не суди людей по себе и прочитай описание к ролику.
@@VadRov я сужу по себе. Также людям кошмары нагоняю . Так больше платят .
@@qadoqados4354 , значит, ты вообще не понял о чем этот ролик. И, видно, описание даже не помогло. 🤦♂
Да действительно проще простого , но Мы же легких путей не ищем , нам бы з..тся ...
пойдем пытаться заставить эбу двигателем управлять .
Круутоооооой!
🖐️. Тебе то же у дачи🤝
И действительно просто! 😂 это как мне 1 заказчик написал. Нужно устройство, которое будет рулить транспортным потоком с распознавание и т.д., срок 1 месяц. И добавил что у него проект горит.
Есть ли возможность создать ЭБУ со своей прошивкой, написанной на другом языке программирования?
Думаю, в наше время все возможно. Было бы желание и возможности. Элементная база достаточно широкая, микроконтроллеров различных завались. Среды разработки (IDE) на выбор. Устройство ЭБУ (схема питания, входные и выходные цепи и т.п.) на первых порах можно "подсматривать" в имеющихся блоках на авто. 1. Рисуем схему, разводим плату, заказываем изготовление платы, заказываем детали, паяем тестовый образец (а лучше несколько), пишем первую программу. Устраняем недостатки в разводке (они будут, скорее всего). Дальше настройка параметров для конкретного двигателя. Корректировка параметров и всей программы, корректировка схемы платы. Возможно, обнаружится пара ушатанных моторов...Несколько циклов возврата на цифру 1.... Дел-то на несколько месяцев (а, может, лет) всего. 🙂
@@VadRov Спасибо за оперативный развернутый ответ. Всё это сложно, но возможно. Помимо времени ещё денег сожрёт данная разработка) У Автоконцернов этим занимаются целое подразделение КБ, которые получают зараплату. Здесь же даже тяжело представить во что это выльется.
А смысл в этом? Есть готовый ЭБУ (ЭСУД) со всей обвязкой. Независимые разработчики пишут код управления двигателем (например, под те же Лады), получают за это вознаграждение. Писать под МК можно не только на Си или С++, но и на TinyGo (диалекте Golang для встраиваемых систем). Там многопоточность есть.
К какому МК присматриваетесь?
Писал я на ассемблер эти программы, блоки саморобный делал, но загрузчик писать я манал. Через программатор программу записывал в МК. Тайны в этом особой нет, и порогу написать не проблема если насобачился, но вот значения констант основных меня замахало. Их переписывать постоянно задолбался. Но на серию было бы норм.
Там надо не несколько сот страниц текста изучить, скорее несколько тысяч.
Когда СТМ32 уже мало)
Делай так два раза в день, и двигатель болеть не будет!
Моя бабушка тоже так делает в паузах между пирожками... Программирует ЭБУ. Заказов гора ! Сначала все во дворе принесли свои эбу , потом весь рвйон подтянулся , потом весь город. Да че уж там , скоро весь мир завалит заказами. Готовимся , расширяемся.
Ну, и правильно. Пусть машины отдохнут, а воздух станет чище. Бабушка молодец 🙂
Нужно больше роликов. Больше электроники больше ассемблера. Писал что нибудь на голом x86?
В 90-х в универе баловался. Серьезного ничего не писал. В основном встраивал ассемблер в программы на C для рутинных процедур, критичных к требованиям по времени исполнения. Тогда компиляторы были не такие продвинутые, как сейчас.
Нет связи с датчиком температуры, аварийный режим.)
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
Приветствую. Это, наверное, зависит от программного обеспечения. Включение вентилятора - это, думается, "побочное незапрограммированное умышленно явление" (а, может, и сознательно допущенное). На физическом уровне в ЭБУ есть порты ввода-вывода, а в электронной схеме авто есть реле вентилятора, которое может быть с нормально замкнутыми либо нормально разомкнутыми контактами. Порты управляют этими реле, через которые запитывается вентилятор. Если при инициализации м/к ЭБУ записать неверное значение в этот самый порт (например, 1 вместо 0 либо наоборот в зависимости от типа реле), то, соответственно, и будет "беспричинно" вращаться вентилятор.
Ассемблер забыл упамянуть, что его ещё выучить надо, что бы на нем написать программы для микроконтроллера, загрузчика.
Главное рассказать с тяжёлым и уставшим голосом то, что делаешь с лёгкостью) ты или хороший программист, разобрался в этой теле и хорошо все сделаешь или не лезь в такую сложную тему, от которой зависят жизни людей.
Когда люди начнут анализировать то, что смотрят? Какой программой прошит ЭБУ из видео? Программой, которая общается с компьютером и управляет скоростью вращения вентилятором. Т.е. программой, которая никак не связана с управлением двигателем. Смысл короткого ролика показать, что для ЭБУ можно писать свои программы и программировать его ими. Причем, это не обязательно программа управления двигателем. Именно программа определяет, чем будет являться ЭБУ: устройством для воспроизведения музыки или устройством для управления двигателем либо иным каким-либо устройством (на что хватит фантазии).
Upd.: забыл добавить по поводу голоса. Вы разве не поняли, что это ирония про легкость. Иронизировал, как мог. Я же не актер, а только учусь 🙂
Здравствуйте, почему именно этот mcu выбрали ? Или вы не с нуля паяли а готовый от Сименса взяли ? У него дофига ножек 100шт и всего-лишь 8бит , дороже наверное дешёвых stm
Давным-давно по случаю раздобыл за сущие копейки на разборках несколько таких рабочих ЭБУ от инжекторных и карбюраторных версий 406 двигателя. Грубо говоря, валялись под рукой... Ничего не паялось. Микроконтроллер, естественно, дороже (да, еще найди оригинал), чем те же stm8 или stm32 начального уровня. В общем, валялись блоки... Дай, думаю прошью. Чисто "спортивный" интерес для умеющего кодить. Развлечение, грубо говоря.
Можно ли вместо заводского ЭБУ поставить ардуинку или расбери? Мощности у них хватит (у расбери точно хаатит), програмируются они проще, мтоят недорого
При большом желании и наличии навыков все возможно. Одного желания не хватит 😉
Всё так просто, а я думал к Вам обратиться.
По этому вопросу к чип-тюнерам. Их много в любом регионе.
Надо его запрограммировать ставить лайк на канале
Все возможно. Для этого ему нужен выход в интернет. Либо через компьютер, либо через тот же esp32. ЭБУ - это, по сути, тот же компьютер со своими интерфейсными шинами для связи (lin, can, например) с внешними устройствами.
Программа реализуется очень просто, по нескольким видам:
1) по прерываниям;
2) по циклическому опросу датчиков;
3) соединение по одному (DATA+) или 2 проводам (DATA+ и DATA-), присвоение каждому датчику индивидуальный код.
Надо подумать над открытием конструкторского бюро. Одному мне столько информации и идей не переварить. 😉
Что ты чёрт возьми несёшь, по каким прерываниям?) Учи матчасть!
ну а херли нет-то... подписался :)
Очень просто.
В ардуино почти то же самое!)))
Не могу я в этом Ардуино IDE разобраться. Сколько раз пытался нервы не выдерживают 😉
Да, без проблем. Пару сотен страниц за неделю прочту😂
Сказано не прочесть, а ИЗУЧИТЬ
Было бы классно если бы появился умелец который бы приспособил ЭБУ например М 240 для бензиновых и дизельных двигателей. И возможностью управления и калибровки через смартфон
Вопрос не в умельцах, вопрос в деньгах.
Я в свое время с нуля написал и отладил свой софт, добавил несколько моделей управления (ДАД,ДМРВ) с паралельной работой в зависимости от режима работы, плюсом управление АКПП, управление электронным дросселем для микаса (у него плата расчитана на это), впрыск газа.
И много других плюшек.
Делал для своего Баргузина, ушло с отладкой софта лет 5.
Только кому это нужно было ? )
Даже поднимал свой сайт для онлайн конфигурирования и сборки прошивок, и калибровки.
Впоследствии прикрыл его до лучших времен )
Данный блок позволяет управлять 8 форсунками, 4 катушками, 1 электронным дросселем, и изменяемой геометрией впускного коллектора.
Что вам мешает использовать всякие Январь-Спорт, Микас-Спорт или много других заводских переделок ? )
Я одну ночь с ардуино морочился, все получилось, но не моё
С ардуинкой люди тоже самое делают, но там много проще
Ты крут
Легко !
Изи, проще паренной репы, вечером займусь
такая подробная инструкция что теперь каждый сможет с лёгкостью перепрограммировать свой ЭБУ. Лишь бы видео не стало вирусным как с микроджеком 3,5 и айфоном 🤣🤣🤣
Это точно. Вот, думаю, надо было заретушировать некоторые моменты в ролике и не так подробно излагать алгоритм, а то встанет завтра в пробках половина авто из-за перепрограммированных ЭБУ. Вместо управления двигателем начнут играть музыку из Марио в динамик сигнализации и в такт музыке управлять всеми исполнительными устройствами 😂
От Волги ЭБУ? Только что в таком IGBT на катушку зажигания менял.
Именно оттуда, с нее родимой.🙂