Это видео недоступно.
Сожалеем об этом.

Электронный блок управления двигателем ЭБУ Микас заиграл мелодию Биперная музыка на SAF-C509L

Поделиться
HTML-код
  • Опубликовано: 3 янв 2024
  • Электронный блок управления двигателем ЭБУ Микас заиграл мелодию на Новый год.
    В раннем видео я рассказывал о возможности написания программы для электронного блока управления (ЭБУ) двигателем, чтобы использовать его не только в автомобиле. И тогда я поставил перед собой задачу поморгать светодиодом. Задача была перевыполнена. Блок запел биперной музыкой! 😜 В качестве демки на ассемблере A51 был написан 4-х канальный биперный проигрыватель трекерной музыки. Программа была скомпилирована и загружена через UART в XRAM память микроконтроллера SAF-C509L.
    От вас, друзья, требуется обратная связь. 👍 Хотелось бы узнать, на чем остановиться подробнее в следующем видео, посвященном этому проекту.
    Демка в видео воспроизводится неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.c...
    Идея (алгоритм) для проигрывателя биперной трекерной музыки и музыкальная композиция (блок данных):
    nanobeep3 - 54 byte beeper engine for ZX Spectrum
    ;;; by utz 11'2022 * irrlichtproject.de
    github.com/utz...
    #эбу
    #бипер
    #ассемблер A51
    #C509L
    #Микас
    #микроконтроллер

Комментарии • 67

  • @VadRov
    @VadRov  7 месяцев назад +5

    Электронный блок управления двигателем ЭБУ Микас заиграл мелодию на Новый год. На видео ЭБУ "поет" через канал для первой форсунки (0 пин порта 4).
    В видео музыку он воспроизводит неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
    В раннем видео ruclips.net/video/5rHiRrdr2Kw/видео.html я рассказывал о возможности написания программы для электронного блока управления (ЭБУ) двигателем, чтобы использовать его не только в автомобиле. И тогда я поставил перед собой задачу поморгать светодиодом. Задача была перевыполнена. Блок запел биперной музыкой! 😜 В качестве демки на ассемблере A51 был написан 4-х канальный биперный проигрыватель трекерной музыки. Программа была скомпилирована и загружена через UART в XRAM память микроконтроллера SAF-C509L. От вас, друзья, требуется обратная связь. 👍 Хотелось бы узнать, на чем остановиться подробнее в следующем видео, посвященном этому проекту.
    Идея (алгоритм) для проигрывателя биперной трекерной музыки и музыкальная композиция (блок данных):
    nanobeep3 - 54 byte beeper engine for ZX Spectrum
    ;;; by utz 11'2022 * irrlichtproject.de
    github.com/utz82/ZX-Spectrum-1-Bit-Routines/tree/master/nanobeep3

  • @yl923
    @yl923 7 месяцев назад +3

    Что это? Похоронный марш двигателя?😂

    • @VadRov
      @VadRov  7 месяцев назад +2

      И правда, похоже, при наличии воображения, что двигатель поет перед смертью 😂По моей задумке изначально предполагалось музыку из Марио на 4 голоса забацать, но потом изменил "на марш". Хотя, Марио готов был 😉

  • @tree-service
    @tree-service 7 месяцев назад +1

    Занятно.
    Прикладное что -нить хотелось бы.
    Что делать подробно неизвестно, поскольку вряд ли это частая работа для кого-то, сложности много, денег наверняка мало, и масштабируемости тоже мало:(

    • @VadRov
      @VadRov  7 месяцев назад

      Из пользы, какую можно извлечь, то тут можно внедрить во флеш (по свободным адресам и "повесить" соответствующее прерывание-обработчик) подпрограмму для онлайн настройки калибровки. Не знаю, есть ли подобная модификация ПО для этих (Микас 7.1, 7.2 и подобных) блоков, но если есть, то стоит это ПО, наверное, недешево. Я бы, наверное, за неделю (но это не точно) с "перекурами" такую задачу решил (ПО клиент-сервер), но браться точно не буду. 🙂А для управления каким-нибудь устройством (автоматизацией какого-либо процесса) с подходящими характеристиками для каналов имеющихся на плате драйверов ПО написать несложно. Залить свою прошивку (с использованием самописного ПО) вообще, как оказалось, дело простое.

  • @alibasav
    @alibasav 7 месяцев назад +1

    у меня есть синтезатор ямаха можно её переделать под эбу двигатель 3s-ge ?

    • @VadRov
      @VadRov  7 месяцев назад +3

      😉Если синтезатор не жалко, то все возможно. 😂

  • @oneshotgame7349
    @oneshotgame7349 6 месяцев назад

    Вау, рулил мотором теперь поет ахахах ты красавчик! Шаришь сильно! Так и поевляються спорт софт и спорт эбу! Продолжай в том же духе!

  • @user-mj8lk4fo3s
    @user-mj8lk4fo3s 6 месяцев назад

    Пора переходить на ELM-327, там разные процессоры основной чип PIC18. По МИКАС-7 надо рисовать куда-чего, так будет понятней

  • @openFrimeTv
    @openFrimeTv 7 месяцев назад +3

    интересное видео) но сложно для простых смертных)

    • @VadRov
      @VadRov  7 месяцев назад

      Как я понимаю простых смертных 😉

    • @user-gq4nl4yr6w
      @user-gq4nl4yr6w 6 месяцев назад

      @@VadRov если у вас есть понимание как заставить январь 5.1 работать с 6 и 8 цилиндровыми двс было бы очень круто. Я думаю многим было бы интересно

    • @VadRov
      @VadRov  6 месяцев назад

      @@user-gq4nl4yr6w , поиск в интернете говорит, что такое уже давно сделано. Наверняка, кто-нибудь предлагает доработку блока и соответствующую прошивку. Схему я посмотрел на Январь 5.1. Резервные выходы там с портов м/к есть (необходима пайка дополнительных элементов). Изначально этот блок не проектировался с расчетом на 6 и 8 цилиндров в отличие от Микас 7.1, где, судя по схеме, предполагалось использование под 6 и 8 цилиндровые двигатели (выходы под доп. форсунки и на ключи катушек зажигания - необходима пайка отсутствующих и дополнительных элементов). И по классике почему-то каждый считает, что его проблема будет многим (практически всем) интересна. Но решать ее предлагается мне 😉

  • @elektrik50hz07
    @elektrik50hz07 21 день назад

    Доброго дня. Вопрос не по теме. Весной установил на карбюраторную классику зажигание с карбюраторной газели на базе эбу микас 7.1 243.3763 000-01. В память флеш герез комбилоадер залил двухрежемную прошивку(набор калибровок) т.к. у меня два вида топлива(газ-бензин). Память еепром не трогал. С калибровками чуть подразобрался,мотор поехал лучше. Понимаю так,что в еепром залита программа,которая управляет мотором,используя данные калибровок из флеш памяти.
    На данный момент непонятно,когда используются калибровки экономичного режима,а когда мощностного. Отсюда вопрос. Что посоветуете изучить для понимания этого вопроса.(хочу изучить работу программы) Ассемберов,как я понял несколько. И какими программами посоветуете пользоваться?

    • @VadRov
      @VadRov  21 день назад

      Приветствую. Проясним немного. Во флэш записана программа управления двигателем. Это, так называемое ПЗУ микроконтроллера. Там же находятся калибровки для конкретного двигателя и конфигурация (комплектация): кондиционер, количество цилиндров, управление вентилятором и т.д.. В EEPROM же могут находится служебные параметры: VIN, модель двигателя, номер прошивки, пробег (опционально), поправка угла опережения зажигания, коэффициент коррекции СО, коэффициент коррекции топливоподачи ... и некоторые другие параметры (зарезервированные ячейки памяти). Двухрежимная прошивка предполагает наличие по сути двух аналогичных программ управления двигателем, но с разными калибровками. Переключение между прошивками осуществляется "на-лету", так, что микроконтроллер не замечает "подмены" (стек и регистры ЦПУ м/к не "портится"). Я не ЧИП-тюнер, а немного программист. Со своей стороны могу посоветовать изучать для программирования данного м/к официальную документацию на данный микроконтроллер. Для написания программ можно использовать, как я отмечал в видео по данной тематике, среду разработки Keil.

    • @elektrik50hz07
      @elektrik50hz07 21 день назад

      @@VadRov Понятно. Погуглю. в этом направлении.Хочется разобраться самому. Чем больше пытаюсь разобраться в работе ЭБУ, тем больше вопросов появляется. Думаю это нормально. Сегодня набрёл на ваш канал. Для себя нашел ещё один ответ. С первым ЭБУ у меня с наступлением лета и жары появилась проблема. Когда корпус блока становился тёплым,вторая прошивка переставала работать. Купил другой блок,с ним работает машина адекватно. Думаю,причина в микросхеме флеш памяти или соседней,которая работает с флеш. Зимой времени будет больше. Попробую перепаять.

  • @user-cb9xt2rz7c
    @user-cb9xt2rz7c 7 месяцев назад +1

    Здравствуйте, очень занимательный эксперемент 👍 с какого вы города? Есть желание по сотрудничать, я занимаюсь ремонтом спецтехники (экскаваторы, бульдозеры, погрузчики) в которой все больше и больше электроники, а понимающих людей все меньше. Как с вами связаться можно?.

    • @VadRov
      @VadRov  7 месяцев назад

      Здравствуйте. Я не занимаюсь ремонтом чужой электроники. По крайней мере, в ближайшей перспективе точно не планирую.

  • @HNN_CBEPXCNCTEM_CCCP_NM._COBbl
    @HNN_CBEPXCNCTEM_CCCP_NM._COBbl 3 месяца назад

    Не ЭБУ, а мозги-и-и-и!!! :)

    • @VadRov
      @VadRov  2 месяца назад

      Не... "Мозги" - это жаргонизм. 😉 Все-таки, по-научному, ЭБУ.

  • @astrelcoff
    @astrelcoff 7 месяцев назад

    Хотелось бы посмотреть на С прошивку, которая управляет биперами (или чем там она управляет со стороны музыки) с подробным объяснением алгоритма! Я восхищен! Лайк!

    • @VadRov
      @VadRov  7 месяцев назад +1

      Андрей, исходный код проигрывателя биперной музыки для блока написан на ассемблере. Идея не моя, а таких замечательных людей, как Shiru и utz. Я просто переписал код utz - nanobeep3 (с некоторым своим видением и реалиями другого ядра) с z80 на 8051, одновременно расширив число каналов с 2 до 4-х. Но на практике лучше за 3 канала не выходить - ноты точно не передать. Да, и далек я от этого.
      Upd: на Си написать надо попробовать, но, скорее, вряд ли. Компилятор там навертит не весть что. И будет лепить к коду свои "заготовки" при обращении с указателем данных DPTR.

    • @astrelcoff
      @astrelcoff 7 месяцев назад

      @@VadRov я далек от программирования! Только калибрую блоки управления под двигатели завода! На фото играет блок похожий на Январь 5.1 или 150.6337 или я ошибаюсь? Я работаю с М230.E3, но только на уровне пользователя! Настраиваю калибровочные таблицы! А к уровню софта доступа не имею! Поэтому и интересуюсь.

    • @VadRov
      @VadRov  7 месяцев назад +1

      @@astrelcoff , это блок Микас 7.1 ("древний", с управляющим микроконтроллером SAF-C509L ). По алгоритмам и пояснению исходного кода будет следующее видео из этой тематики.

    • @astrelcoff
      @astrelcoff 7 месяцев назад

      @@VadRov Обязательно посмотрю! Спасибо за редкое видео/знание/умение/скилл! PS Я вспомнил где Микас 7.1 встречал...! На ранних ГАЗелях с двигателем ЗМЗ.

    • @VadRov
      @VadRov  7 месяцев назад +1

      @@astrelcoff, все правильно. Я их набрал с разборок с Волг и Газелей. До сих пор популярны у корчестроителей.

  • @MsMaksim666
    @MsMaksim666 7 месяцев назад

    Блок этот скорее всего с ГАЗели может быть с Волги, машины с которыми люди имеют секс. Поэтому на нем нужно запускать музыку из псковского порно, прямо на все каналы форсунок

  • @alexshu1609
    @alexshu1609 7 месяцев назад

    0) Открываем даташит с указанием где его взять
    1) общий обзор МК его архитектура что на борту, как происходит общение его внутренностей, Как у него с переферией - обобщенно то что узнали в даташите . Ну или так чем он отличается от STM32(с этой бядой мы боль-мень знакомы)
    2) что за отдельный прошивальщик и как это связано с особенностью МК его архитектурой (железная схемотехника , алгоритм работы загрузки ) - обобщенно с упором на тонкие моменты по вашему мнению, а детали и нюансы можно и в даташите почитать
    3) Код-ревю по прошивальщику . Код-ревю по программе для МК.

    • @VadRov
      @VadRov  7 месяцев назад

      Про отличие от stm32 могу сейчас ответить. Отличается по уровню развития технологий на несколько десятков лет (40, может? ). 🙂

    • @VasyaPupkinus
      @VasyaPupkinus 7 месяцев назад

      @@VadRov Здравствуйте. Как вы думаете, зачем они ставят такое древнее барахло ? Они очень надёжные или их просто дохренилиард выпустили и их можно грести мешками ? Там ещё вроде отдельная память на доп микрухе , тоже удорожание изделия.

    • @VasyaPupkinus
      @VasyaPupkinus 7 месяцев назад

      Посмотрел обзор блоков Январь, с 2007 года там уже STMки ставят

    • @VadRov
      @VadRov  7 месяцев назад +1

      @@VasyaPupkinus , сейчас, наверное, уже такие м/к (saf-c509l) не ставят, наверное, больше 10 лет (но это не точно). А что касается архитектуры, то архитектура 8051 весьма успешная. Лицензирование копеечное, производство дешевое. Так сказать, технологии проверенные временем. Плюс получила развитие. В рассматриваемом м/к один машинный цикл осуществляется за 6 тактов генератора (16 МHz), а сейчас уже за 1 такт при частотах за 100 - 200 МГц, плюс сейчас все инструкции (или почти все) исполняются за 1 цикл в современных ядрах, а раньше - от 1 до 4 (деление и умножение). Кстати, мне было приятно сравнить производительность этого ядра на частоте 2,(6) MHz и Z80 на частоте 3.5 MHz. Так вот, код здесь, как правило, больше, но скорость выполнения однотипных программ до 2.5 раз (на разных задачах без математических операций деления и умножения) быстрее, а в математических задачах - еще быстрее. При пробном переносе программ со Спектрума приходилось искусственно вносить задержки в код для согласования времени исполнения. Самая приятная фича - несколько банков регистров и 8 16-разрядных переключаемых регистров-указателей данных. Можно фактически полностью отказаться от операций со стеком, как это бывает с Z80 "при нехватке" регистров, быстрый доступ к памяти. Из недостатка - стек может быть только во внутренней памяти ядра в границах 0-255 байт, т.е. он восьмиразрядный. Трюков со стеком, как в Z-80, здесь не провернуть. Вернее, провернуть, но только во внутренней памяти, ограниченной 256 байтами.

    • @slonbeskonechen8310
      @slonbeskonechen8310 6 месяцев назад

      @@VasyaPupkinus Где посмотреть этот обзор? Какие там STMки?

  • @vsosacordeev
    @vsosacordeev 7 месяцев назад

    Прикольно, хотелось бы посматреть как написать загрузчик, под камень ! как без документации узнать по какому адрессу процесор стучится, как оживает!

    • @VadRov
      @VadRov  7 месяцев назад

      Без документации долго (бессонные ночи, осциллограф и т.п.). Быстро только в том случае, если есть дилерский "шнурок". Тогда просто "слушаем" обмен, делаем логи типа запрос/ответ. Потом долго эти логи анализируем и пишем свое ПО.

    • @vsosacordeev
      @vsosacordeev 7 месяцев назад

      Да но это если память внешняя, что если память внутряняя, джетаги я так пологаю есть не у всех камней, как интересно выйти из этого тупика?
      @@VadRov

    • @VadRov
      @VadRov  7 месяцев назад

      @@vsosacordeev , "камень" современный имеет интерфейс для программирования и отладки. Не важно, какого вида у него флеш: internal или external. При старте ядра все равно запускается начальный загрузчик встроенный на заводе. А дальше уже этот загрузчик решает, как поступить: запустить код с флеш или загрузить ПО в эту флеш. С 80-х годов принципы не изменились. Изменились только технологии. Например, защита от неавторизованного скачивания прошивки, доступа к загрузчику и т.п. Раньше все решалось просто - специальным маркерным кодом во флеш. Если его не было, то управление на себя брало internal ROM, если был, то управление передавалось программе пользователя из External flash. И там можно было прописать свой алгоритм обновления прошивки, известный только ее автору (по крайней мере, в это хотелось верить). Сейчас все сложнее, ключи, шифровальщики и т.п. и т.д. Пусть этим занимаются те, кому за это платят.😉

    • @vsosacordeev
      @vsosacordeev 7 месяцев назад

      Интересный вы человек, однако! Возник ещё вопрос, винбондовсиие флеш по spi и sd card вчём отличие по протоколу доступа, если не считать эмуляцию файловой системы. можно к примеру на прямую к адрессам в sd , как на винбонде оброщаться? @@VadRov

    • @VadRov
      @VadRov  7 месяцев назад

      ​@@vsosacordeev , адресация в картах может быть, как побайтная - для SD, так и посекторная для карт SDHC. Зависит, как Вы понимаете, от типа карты. Разница в работе с этими картами состоит в том, что они по разному инициализируются, и им по разному передают адрес блока данных для операций чтения/записи (в том смысле, что адрес этот в зависимости от типа карты формируется по разному). Отличий в работе кардинальных со spi flash нет (это по моему мнению, даже при том, что там своя система команд и т.п.). Файловой системе до лампочки где она: на карте или spi flash,, поскольку она работает с этими устройствами через низкоуровневые драйвера, написать которые головная боль программиста, т.е. Ваша 🙂
      .

  • @jerzybialy7951
    @jerzybialy7951 7 месяцев назад

    Имееш 4 канала управления форсунками и 2 катушками , выведи на канал форсунок лампочки чтоб моргали в такт музыки и 2 канала звука.

    • @VadRov
      @VadRov  7 месяцев назад

      Там больше лампочек можно навесить: есть еще канал лампы неисправности, канал реле бензонасоса, канал для реле электровентилятора, кондиционера, главного реле и т.д. В общем, целую дискотеку можно устроить 😂

  • @user-rd8jk9hi4b
    @user-rd8jk9hi4b 7 месяцев назад

    Интересно узнать про микроконтроллер.

    • @VadRov
      @VadRov  7 месяцев назад

      Архитектура, периферия, система команд?

    • @user-rd8jk9hi4b
      @user-rd8jk9hi4b 7 месяцев назад

      @@VadRov Я думаю так: вот допустим есть какая-то отладочная плата с таким микроконтроллером, и как это всё дело начать программировать, среда разработки, datasheet'ы, программатор и т.д

    • @user-ul5ds9uv8u
      @user-ul5ds9uv8u 7 месяцев назад

      ​@@user-rd8jk9hi4b, найдите курс программирования, например, Arduino или stm32, и просто повторяйте за автором. Если втянетесь, дело пойдет. Мой первый контроллер - это PIC16, сам на себя удивляюсь, как я его завел 14 лет назад. С тех пор чего я только не программировал.

    • @wz3xn9os3s
      @wz3xn9os3s 6 месяцев назад

      Гугли Infineon

    • @slonbeskonechen8310
      @slonbeskonechen8310 6 месяцев назад

      @@VadRov Скорее узнать: среда разработки? KEIL? программатор/отладчик?

  • @openFrimeTv
    @openFrimeTv 7 месяцев назад

    а вот обратная связь: как человеку разобраться с новым контролером. где искать в чем его программировать, где брать документацию, как это искать. и как вообще понимать новую техническую литературу?) так как все говорят читай литературу, но без каких то основ она бесполезна..

    • @VadRov
      @VadRov  7 месяцев назад +1

      С новым контроллером... Идем на сайт изготовителя MCU (infineon.com в данном случае). Скачиваем оттуда все доки, в т.ч., errata. Выясняем, что там за ядро. в данном случае c-500, основано на intel-8051, он же msc-51. По ядру определяем компилятор, который его поддерживает. В данном случае ПО - это макроассемблер A51, расширение компилятора языка С до С51. Собственно, то и другое поддерживает Keil. Есть и другое ПО. Читать документацию сложно, если не носитель того самого языка. Технический язык еще сложнее (особенно, если изучал технический немецкий). Гугл не всегда правильно передает. Некоторые вещи эмпирически приходится воспринимать. Основы надо наколачивать. С миру по нитке, нищему рубаха. 😉 С Новым годом!

    • @openFrimeTv
      @openFrimeTv 7 месяцев назад

      @@VadRov блин, ну может спустя время я научусь так же. спасибо)

    • @VadRov
      @VadRov  7 месяцев назад

      @@openFrimeTv , да, не надо Вам так же. Надо лучше. Все еще впереди.🙂

    • @dailrus
      @dailrus 7 месяцев назад

      Лучше начинать с плат для разработки, а не проприетарных устройств конечно)

    • @VadRov
      @VadRov  7 месяцев назад

      @@dailrus, да, начинающим здесь будет очень сложно разобраться. Но с точки зрения безопасности устройства, здесь есть защита от коротких замыканий, например, на выходах под форсунки и т.п. 🙂 Хорошие там драйвера установлены. Держат до 3 ампер нагрузки на канал, по-моему. Я динамики последовательно соединенные к выводам форсунки подключал. Звук орал так, что... "мама дорогая...." Никакой усилитель не нужен.😉

  • @alexshu1609
    @alexshu1609 7 месяцев назад

    Может стоило по UART какой ни будь wav проиграть?

    • @VadRov
      @VadRov  7 месяцев назад

      Это слишком просто. Учитывая то, что во встроенном начальном загрузчике (512 байт) есть процедуры считывания блоков и передачи байта по UART. Первые мои тесты, кстати, именно с UART были связаны, т.к. программировать без отладчика незнакомый "камень" просто нереально. Но.. вот об этом в следующем видео. Кстати, спасибо за правильные вопросы. Ставлю себе заметки. 👍

    • @VadRov
      @VadRov  7 месяцев назад +1

      Алекс, в этом видео музыка воспроизводится неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp

  • @byOmLaw
    @byOmLaw 7 месяцев назад

    Круто

    • @VadRov
      @VadRov  7 месяцев назад

      В видео музыку он воспроизводит неправильно. Нашел ошибку. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
      Так веселее играет. 🙂

  • @HNN_CBEPXCNCTEM_CCCP_NM._COBbl
    @HNN_CBEPXCNCTEM_CCCP_NM._COBbl 3 месяца назад

    А таким способом можно сыграть обычную четырёхканальную трекерную музыку, вот типа такого? ruclips.net/video/Hkw7l8IgM4g/видео.html :)
    Или только какие-то специально написанные мелодии?

    • @VadRov
      @VadRov  3 месяца назад +1

      На этом микроконтроллере без музыкального сопроцессора такое не воспроизвести, да, и памяти не хватит. 🙂 На stm32f4 и выше, думаю, можно с неплохим качеством.

    • @HNN_CBEPXCNCTEM_CCCP_NM._COBbl
      @HNN_CBEPXCNCTEM_CCCP_NM._COBbl 3 месяца назад

      @@VadRov Понятно :)

  • @Gravitorrr
    @Gravitorrr 7 месяцев назад

    Маньяк

    • @VadRov
      @VadRov  7 месяцев назад +1

      Если только в хорошем смысле (если такой смысл применим с слову "маньяк" ) 😉