Перейти к содержанию

Sheleh

Members
  • Постов

    27
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    Более 20 лет

Посетители профиля

1 195 просмотров профиля

Достижения Sheleh

Новичок

Новичок (1/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме
  • 10 лет  на форуме

Последние значки

4

Репутация

  1. @22580 , у меня CA18 тоже изначально был карбюраторный и зажигание с центробежным регулятором и вакуумным корректором, в общем классическая схема. Потом я заметил что на тоетах, точнее именно на 3S-FE до 94 кажись года стоял впрыск с точно таким же простым датчиком, всего 4 импульса на 2 оборота коленвала. Так я прикрутил на ниссан комп от тоеты, вместе с тоетовским дадом, датчиками температуры, клапаном ХХ и ДПДЗ. Да, и из трамблера выкинул механические регуляторы. Родные форсунки от 3S не подошли, заливало конкретно. Подобрал другие форсы, меньшей производительностью (от эскудика), и видимо неплохо угадал. Так уже больше года ездил вынашивая план по созданию своего ЭБУ, потому-что настройки не идеальные, а тоетовский во-первых не настроишь, все зашито намертво в ПЗУ процессора. Там стоит расширенный аналог мотороловского 6801. Их чипуют - переводят в режим работы с внешней памятью, а занятые ноги как то эмулируют, и все это при помощи FPGA. Вариант интересный, но секретный и узконаправленный. Во-вторых из одновременного впрыска таким образом фазированный не получить. А фазированный гораздо лучше для газа, из-за того что впрыски длиннее. Сей час планы собранную железку подключить к имеющемуся компу, так что бы можно было поэтапно внедрять необходимые функции, а не с нуля реализовывать все и сразу. Примерный план такой: 1. Подать на INT0 сигнал с выхода на инжекторы со своего ЭБУ. Подключить форсунки раздельно уже к своей плате. Запустить без пересчета - пришло прерывание - открыл/закрыл форсунки. 2. Запустить простую математику. Импульсы с ЭБУ измерять и пересчитывать в фазированные. Нужен ДФ. 3. Если все хорошо. То ввести объемную коррекцию. Отладить ее он-лайн редактирование. 4. Проделать тоже самое с зажиганием. 5. Реализовать ХХ и прочие управления. Только после всего этого можно будет задуматься, о том, что бы выкинуть штатный комп. По поводу платы. Спасибо за комплимент ). Да узкие места есть, но как показывает практика они хорошо протравливаются. Поэтому стараюсь где только можно делать дорожки пошире, тонкие могут исчезнуть. Совсем без узких мест не обойтись, но на крайний случай есть острое шило. И мультиметр в режиме прозвонки. Да и исходник платы нате пожалуйста. Предложите свое видение. @DJ_DыM , прошивка своя, в разработке. Пока работает в протеусе. Умеет выдавать фазированные впрыск и зажигание по сигналу 4-1. Значение длительности впрыска и УОЗ берет из таблиц 16х16. Других коррекций пока нет, как и связи с ПК. Софт так же еще в стадии наработок.
  2. @22580 , немного изменил плату(injectorMega16.lay6). А то была уж очень размашистой. Плюс сделал ее таким образом, что бы можно было по максимуму задействовать ноги контроллера. Планы по функциональности расширились. Данный девайс можно будет использовать как: 1. Субкомпьютер или функциональный расширитель имеющейся ЭСУД. Например, если уже стоит старый с одновременным или попарным впрыском, то можно будет его преобразовать в фазированный, выкинуть трамблер поставив катушки. Ну и с он-лайн настройкой карт. Только в этом режиме в картах будут хранится не абсолютные значения, а относительные. Может даже получится (если это кому-нибудь будет нужно) реализовать функционал для перевод атмосферы на турбо. 2. Контроллер ГБО. 3. Самостоятельная ЭСУД. Завтра буду травить, собирать, и начинать испытания на реальном авто. Хотя нет. Сначала на столе с осциллографом, а уже потом на авто.
  3. @22580 , да нету в газе ничего сложного. Любой может дома в гараже поставить. Либо готовый новый комплект, либо б/у, что обходится значительно дешевле. В своем блоке я планирую изначальную поддержку как бензина так и газа с мгновенным переходом между настройками. Т.е. уже отпадает потребность в одном из самых дорогих компонентов ГБО-контроллере. И собственно стоимость сводится практически к двум деталям - подходящий баллон и газовый редуктор, ну и форсунки. На жигули не более 100 баксов. Дела продвигаются. Но пока в симуляторе. Но думаю уже очень скоро таки система заведет свой первый ДВС. https://www.drive2.ru/l/456991943071629809/ Она уже сей час способна завести, но еще много чего не хватает, что бы полноценно ехать. По поводу помощи. Сможете плату собрать? Вот эту injector8535.lay6
  4. @22580 , ну карб я бы в первую очередь убрал, что бы двигателю легче дышалось. А не проще найти инжекторный коллектор? По поводу "зажигания", оно таки вам надо? Собирать чью то конструкцию, автор которой даже про лазерный утюг не в курсе. Еще и без возможности полноценно настраивать уоз. Я понимаю, что автор применил мега прием разработчика - супер-коррекцию в виде человека. Но-походу вам так и придется самостоятельно постоянно подкручивать этот резистор в зависимости от самых разнообразных факторов. Дождитесь мою игрушку. И зажигание и впрыск в одной консткрукции. Плюс еще и LPG! Проект открытый, детали копеешные. Бензин кстати удобнее делать ввиде моно-впрыска, ибо он нужен будет лишь для запуска и до АГЗС доехать, а вот газ очень легко ставить как распределенный. В таком случае вообще можно карб оставить, пущай бензин мешает, как умеет. Проще поставить газовый балон и редуктор, чем переделывать карбюраторную систему в инжекторную.
  5. @sr86 , да нашел. Благодарю за наводку. В этом проекте меня интересует только кан, точнее k-line. Подсмотрю реализацию. Посмотрел внимательнее. Сам проект какой то странный. Много кода при минимуме функций. Впрыск одновременный. Зажигания нет.
  6. @hc13nx2 , в общем почитал я за расширенный 51 по периферии проц января. Он так то нифигово там расширен. AVR нервно курит. А мои попытки перенести код на 8052 вероятно обречены на провал. Уж очень мало там RAM всего 256байт. Половина очень необходимых переменных уже не помещается. Здесь только на чистом ассемблере если писать, и по какой-то совсем упрощенной логике. А вот AVR 8535 наоборот радует. Тут 512байт ОЗУ, запас пока есть. Сам код программы подходит к 65% объема Flash. В оставшиеся 35 надо уместить управление ХХ и обмен данными с ПК, а вот коррекция по лямбде уже вероятно не поместится. Но тут можно взять Atmega16 с такой же архитектурой и распиновкой, и карты перенести в RAM( 1кб ). А значит можно реализовать автонастройку карт силами самого контроллера, как сделано у этого товарища - https://www.drive2.ru/users/avtoelektron/#blog
  7. @sr86, по компиляторам: ну возможно GCC не так уж и плох (всяко лучше arduino'вского), но тем нее мнее BASCOM совсем не хуже. Кстати, он изначально разрабатывался для архитектуры 8051. Как заявляют разработчики он процентов на 30-40 уступает чистому ассемблеру по размеру прошивки. На сколько я знаю, ситуациия с GCC ничем не лучше. Лишь у IAR значительно лучше. Подожди. Ты хочешь сказать, что Январь работает на 8051? Я живу в Бурятии, и тачки на январе для нас тут редкость. В основном одни жапанцЫ. Поэтому не силен в архитектуре западных (по отношению к Сибири) ЭСУД. Так что "бесплатность" такого блока у нас отсутствует. Вообще январь днем с огнем не сыщешь. Зато какой нибудь тоетовский на разборе можно за рублей 500 взять, если не GTE конечно.
  8. Ура, получилось! В школе по математике я был далеко не отличником. Я даже среднеспециальное не закончил. Хотя мне говорили, хочешь быть программистом, дружи с матиматикой. Fuck U asshole!!! Даже не верится, что сам разобрался с интерполяцией. Не ну конечно, любой отличик бы наверное справился бы с этим за 15 мин... Хотя очень сомневаюсь, что современным отличникам это по зубам. при чем даже без использования чисел с плавающей запятой. (Если задействовать, хотя бы одну такую переменную, то код прошивки сразу вырастает процентов на 10. ) Теперь коэффициент VE изменяется плавно от 1 до 255. С дискретностью 1. В ms это будет 0,08ms По поводу чтения из флеш. В BASCOM это производится коммандой Lookup. Она медленее обычного присваивания из переменной в RAM. Но медленее она всего лишь в 2,2 раза, что на самом деле тоже очень быстро. И держать большие объемы данных в ОЗУ имеет смысл лишь для полноценно-онлайновной настройки. Но тогда нужны будут чипы большей размерности. Но моя цель была попытаться использовать самый дешевый из возможных. Я конечно еще много чего не реализовал, но хотя бы появилась уверенность, что полноценный код таки можно уместить в 8кб. Весь код интерполяции плюс расчет временных задержек выполняется за 0.4 ms. И это без использования ассемблера. Так же в процессе реализации я пришел к выводу, что BASCOM - это супер-компилятор, ни чем не уступающий аналогичным решениям на С. Конечно лучшим решением для ядра AVR считается IAR, так как они учавствовали в разработке архитектуры ядра. BASCOM на мой взгляд занимает твердое второе место. А вот GCC я бы поставил на 3-е, есть статья на хабре, где они сравниваются. Исходя из вышеописанного становится реалистичнее идея засунуть полноценный алгоритм ЭСУД в древнейший чип на архитектуре Intel 8051. Конечно сам 8051 обладает лишь 4кБ памяти, а вот 8052 с 8кБ уже вполне подходит под наши задачи. Просто у меня их огромная куча, да и стоимость их на али не больше 100р за шт. И это за полноценных 40 ног! Вы только представьте, по себестоимости ЭБУ менее 500р, где большую часть бюджета - это транзисторы.
  9. Для интерполяции необходимо запрашивать сразу 4 соседних значения из таблицы. Т.е. 4 для топлива, и 4 для угла. Остальные поправки (от температур) можно обновлять реже. Если таблицу оставляю во флеш-памяти, то как это отразится на скорости. Понятно, что запись в Флеш медленая по причине сложности алгоритма, но нигде не сказано про скорость чтения. Я не знаток в архитектуре микроконтроллеров, но что мне подсказывает, что это не должно быть так критично. Вот на PC код программы сначала грузится в оперативу, а на МК, я так понял исполняется прямо из флеш. Значит флешка то достаточно быстрая? Или я не прав, и применяются каки-нибудь хитрости, типа кэширования. Надо попробывать сделать цикличное чтение с подсчетом итераций за промежуток времени.
  10. @hc13nx2 , а как вы сделали сам расчет длительности впрыска? Я имею ввиду, допустим я делаю карту 16х16. Если просто брать значения из таблицы, то получается дикая дискретность. Надо же как то с определнной линейностью интерполировать между соседними значениями таблицы. Если просто брать значения из таблицы, то явно же будут подергивания при переходе между ячейками.
  11. что бы уложиться в 1 Byte RPM = 47685 / Interspace (константу делю на количество тиков между прерываниями с ДПКВ) Получается 10000об/мин = 255. Соответственно 1000=25, 500=12. Т.е. с дискретностью в ~ 40 оборотов.
  12. @hc13nx2 , да, я так и планировал. У меня для прошивки и для настроки один и тот же шнурок. Таблица в процессе настроки сохранится на компе. Сделаю в программе настройки кнопку "записать". При нажатии на которую будет модифицироваться часть прошивки, где статически лежат данные, и зашиваться в МК в фоне. Можно даже на ходу перепрошивать, если едешь накатом. Или вообще не использовать оперативу, хранить во флеш, а дистанционно переписывать только необходимую область. Только я не знаю, можно ли averdud'у задать конкретный диапазон программируемой памяти. Будет быстрее, чем переписывать память целиком, но проц всеравно будет сбрасываться. Неудобно конечно. Пардон. Думаю об одном, пишу другое. Я это и имел ввиду.
×
×
  • Создать...