Вечер добрый.
Я конечно считаю, что рано все это всплыло и «сыровато» совсем, но что же теперь уж…
Не кидайте очень большие «тапочки» в теоретика из 90"ых" ну или в того, который «бредит», но мне показалось, что получилось без дополнительного датчика "вытянуть" нагрузку одноцилиндрового 4Т двигателя на принципах анализа интервалов Т1 и Т2 - см. картинку «ДАД.png». На ней сигнал датчика Холла на двигателе. Красная молния - начало рабочего такта, синяя молния - начало такта выхлопа. Искра формируется и там и там, только одна в сжатую смесь, а другая в выхлопные газы.
Очевидно, что Т2 короче, чем Т1, ну или они равны! У двигателя, работающего "в натяг" на примыкающих интервалах рабочего такта и такта выхлопа длина импульса приблизительно одинаковая (T1~T2). Мое предположение, что это и есть максимум нагрузки, и никакой УОЗ уже ничего не поправит без дополнительного бензина в цилиндре – то есть добавить энергию придется. Если энергия сгорания больше, чем надо для движения массы по дороге с учетом и инерции и прочего, то разность между Т1 и Т2 увеличивается - коррекция УОЗ нужна в меньшей степени. Отмечу, что следует рассматривать как единую систему – масса, инерция, асфальт, энергия сгорания топлива. Человеку на мотике ни как не почувствовать эти изменения Т1 и Т2, поскольку интервалы малы во времени.
Это не фантазии, ну или не всё тут фантазии! Данные выводы сделаны на основании анализа логов (параметров) на работающем двигателе при движении в одного, вдвоем, с горки (незначительную), в горку (незначительную). Человек ноутбук с собой возил...а программа логи писала... Файл с логами прилагается «ДАД2.ods». Там же результат работы «в теории» предлагаемого алгоритма «на скорую руку» (32 точки буфера, Уmax=3 градуса):
1. Частота вращения оценивается не по последнему такту, а по среднему между двумя тактами и это важно! ~(T1+T2)/2 (Это сделано в прошивке как опция).
2. Модуль разницы между T1 и T2 (их оценка в тактах таймера конечно), ограниченный числом 255, записывается в длинный (32, 64 или 128) кольцевой буфер на каждом такте двигателя. Таким образом, появляется постоянная времени, зависящая от оборотов - чем больше обороты, тем она меньше.
3. Основная программа постоянно (асинхронно к тактам двигателя) усредняет буфер и формирует константу A=255-Средняя разность, ограниченная числом 255. Понятно, что переменная А изменяется относительно медленно.
4. Из текущего УОЗ, рассчитанного для заданных оборотах (по средним п.1) и по активной таблице на текущий момент времени, вычитается медленно изменяющийся угол величиной = Уmax * A / 256. То есть все время вычитается угол от 0 до Уmax градусов - 256 значений линейно зависящих о средней разности интервалов Т1 и Т2. Понятно, что Умах может быть в принципе другим. Может быть введен какой нибудь коэффициентик или смещение. Тут копать- не перекопать.
Диностенда конечно у меня нет, и мопеда кстати тоже, но коллега сделал выезд и утверждает, что получилась "бешеная табуретка" (32 точки буфера, Уmax=3 градуса максимальное «упозднение»). На блоке зажигания был добавлена перемычка - выключатель этого виртуального «ДАД» и коллега повторял заезд при включенной системе и выключенной. В этой связи очень признателен товарищу fcftdbx и выражаю ему свою благодарность за все эти эксперименты .
В прочем, может это и бред, я не моторист... Формула «на скорую руку» и может можно лучше придумать. А может эти выводы кого подтолкнут к какому-нибудь следующему шагу в эту сторону в своих разработках. Ну а если нет, так нет.
Если кто напишет, что это очередной бред - ругаться не буду, но только аргументируйте. У меня кроме мнения уважаемого товарища fcftdbx нет аргументов, а я ему верю. Мне лично на водном транспорте это не нужно, да и двигатель там двухцилиндровый и 2Т и вода не асфальт – там свои законы движения.
- Вложения
-
- ДАД 2.zip
- (188.28 KiB) Скачиваний: 282
-
- ДАД.png
- (8.03 KiB) Скачиваний: 261