MOTO.com.ua
events
0
Події
Погода: Київ
03.12, 20:07
32
0 °С
Вітер: 0 м./с., Пд-З
НовиниФорумОголошенняЖурналКаталогПривалКалендар
Реєстрація Вхід
?
Увійти
Допоможіть Армії, наближайте нашу Перемогу!
Форум
Шукати

Электронное опережение зажигания. Мысли, проекты, решения.

Переглядів: 938021, модератор: ed13hell
04.11.2007 р.
answerview
Показати повідомлення
Начинаем обсуждение способов решить проблему управления Углом Опережения Зажигания (УОЗ).
Ушествие Второе. Окончательное.
Змінено: 05.11.2007 р., VadimCrimea
like
good
bad
shockingly
1••3456789••110
15.11.2007 р. відповів для Leon  
answerview
Вот такие, к примеру:
Ушествие Второе. Окончательное.
Прикріплені зображеннявідкрити у галереї
like
good
bad
shockingly
15.11.2007 р. відповів для cml  
answerview
Между углом открытия дросселя и нагрузкой нет табличной связи. Датчик разряжения тоже накладно. Можно воспользоваться трёхмерной таблицой БЦН, но для каждого мотора она разная, а подогнать её очень тяжело. Вопрос о текущей нагрузке остаётся открытым.
Наверно всётаки придётся лепить датчик разряжения. Пульсации можно убрать програмно IMHO.
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
Змінено: 15.11.2007 р., El
like
good
bad
shockingly
15.11.2007 р. відповів для killer258  
answerview
PAL - мой первый мопед  17_wink . Он тоже без вариатора. Для тех, кто незнает, табуретка клёвая, вес меньше 50кг, а размеры позволяют легко маневрировать в пробках, даже в лифт заходит! Он и сейчас у меня в гараже стоит. После того, как на него поставил батарейную зажигалку с опережением, тоже винтил до 10000, скорость поднялась с 48 до 62. Мало кто верил. Родное опережение там 15 гр. , мой контроллер давал регулируемое опережение 1-3 миллисекунды (можно выставлять кнопочкой), в градусах на 8000 больше 50. http://kievavtoelektrik.narod.ru/podelki/scuter/scut.html
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
like
good
bad
shockingly
16.11.2007 р. відповів для El  
answerview
я же написал ОТНОШЕНИЕ между углом и оборотами. оно показывает количество смеси поступающей в двигатель.
маленький угол, большие обороты - малая нагрузка, большой угол, малые обороты - большая нагрузка. зависимость вакуума от нагрузки имеет ту же физическую суть.
а то что подгонять таблицы под каждый мотор прийдётся - так тут только об этом и речь.
like
good
bad
shockingly
16.11.2007 р. відповів для cml  
answerview
Дело в том, что разряжение в задроссельном пространстве даёт нам довольно точную картину о наполнении цилиндра смеси (чем больше смеси в цилиндре, тем позже опережение). Через дроссель тяжело вычислить наполнение смесью, потому-что есть ещё много неизвестных (коэф. сопротивления впуска, волновые процессы). Отношение между углом и оборотами, чтоб вычислить количество смеси, это и есть БЦН, трёхмерная таблица, индивидуальная под каждый мотор. БЦН прописать можно только на специальном нагрузочном стенде.
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
Змінено: 16.11.2007 р., El
like
good
bad
shockingly
16.11.2007 р. відповів для El  
answerview
вообще говоря, наша задача немного облегчается по сравнению с тем, как это обстоит в автомобилях.
там у центробежного  механического регулятора с его пружинами и грузиками характеристика пропорциональная и не может сформировать загибы вначале и в конце характеристики, вызванные тем,  что положение дросс  заслонки  на низших и высших оборотах существенно различается, и это за него исправляет тот самый вакуумный корректор, потому он и называется корректор.
У нас же микропроцессор, и график он берёт из таблицы, и в ней уже учтено то, что на низких оборотах угол не опускается до нуля, а на оборотах более 6000 перестаёт быстро расти ,
то есть то, что в машине исправлял вакуумный корретор.
Так вот, я думаю, наш вакуумник на скутере(мотоцикле, снегоходе) должен будет вмешиваться в работу мотора только на средних оборотах, так как именно здесь возможна куча вариантов, когда в зависимости от условий езды одни и те же обороты будут при различных  положениях дроссельной заслонки, вплоть до полного открытия при желании резко ускоритсься или при езде по вскопанному полю  15_badgrin

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

Я в качестве эксперимента ездил
с оборотами 5-7 тыс и выведенными кнопками "-3","-6"на руле, вычитающими из угла опережения.
и сравнивал , с какой силой седло давит в задницу
при мгновенной открутке ручки газа  до конца на 5-7 тыс об (у меня это область макс крутящего момента), без нажатой кнопки, и с одной из нажатых кнопок. Разница достаточно заметная, но не в разы, поэтому я считаю,здесь можно ограничиться небольшой точностью. Думаю, поставить на ручке газа флажок, который будет перекрывать 3 оптопары одну за другой по очереди  при открутке на половину, три четверти и 100% ,
каждая оптопара будет вычитать по 3 градуса
из табличного угла.
like
good
bad
shockingly
16.11.2007 р. відповів для killer258  
answerview
я вот только всё это пробовал на как уже говорилось, безвариаторном скутере. А бут ли  ньюансы если то же самое поставить на вариаторный?
Увеличение макс оборотов не превышает 15% от того, что было, я думаю это не страшно, хотя мне кажется,вариатор должен  быть подстроен на это.

И ещё одну возможность очень легко  реализовать-
ограничение оборотов.При включении этого режима роцессор запрещает искрообразование, скажем, на оборотах выше 5000. при этом рост оборотов останавливается на этой отметке и далее не вообще зависит от  поворота ручки газа, хоть загазуйся.
Я ездил- довольно прикольно, удовольствия от езды никакого, чем-то напоминает старые Карпаты.
При этом  звук из выхлопухи идёт своеобразный, как если бы обогащённая смесь или позднее зажигание, двиг строчит, как велосипедный мотор Д6  
 08_lol

Этото режим очень полезен при обкатке нового скутера, или после ремонта цпг, или если кому дал покататься.
А если  гаишники вдруг начнут  бороться с тюнингом, останавливать, ставить на стенд,проверять макс скорость , - то эта кнопка просто незаменима, превращает скутер в довольно вялый мопедик.
like
good
bad
shockingly
16.11.2007 р. відповів для El  
answerview
вопросец по схемке... шо в комут то понятно, а точнее куда в коммут?
папа,а правда что от форумов тупеют?
- гы,сынок,лол!
like
good
bad
shockingly
17.11.2007 р. відповів для mokriy  
answerview
по схеме. по идее, на ту ногу коммутатора, куда ранее шёл провод от индуктивного датчика. Вот только на коллктор транзистора надо бы бросить резистор с питания...
Хотя, с другой стороны, автор говорил, что переделал зажигание на батарейное. Вообще говоря, коммутатор можно сделать самому. схема есть рабочая на тиристоре. пробовал. работает. Можно даже собрать как одно целое с цифровым регулятором. Получится спортивный коммутатор с изменяющимся углом.


Вот здесь вот почитайте, кто не был. Информация к размышлению.

http://forum.ixbt.com/topic.cgi?id=48:5576-9
like
good
bad
shockingly
17.11.2007 р. відповів для killer258  
answerview
а ещё вот здесь. готовый проект. какой-то норвежец делал  для модели самолёта, там стоял бензиновый моторчик. она была радиоуправляемая и летала над домами и горами, с видеокамерой на борту, прикольно.
так вот, там тоже сделано то что мы делаем.

Я испытывал. недостаток в том, что даже при неизменных оборотах угол зажигания слегка дрожит с размахом 2-3 градуса, видимо, из-за несбалансированности алгоритма.

http://home.online.no/~jon-mj/cdi_ignition.htm


Вообще, очень важный момент в программе- это кусок, где содержимое 2байтного счётчика периода коленвала  переводится в номер таблицы.
Ибо получается неравномерная таблица. на малых оборотах она слишком подробная, соседние значения отличааются на единицы и десятки оборотов/мин,
а последние столбцы, наоборот, идут через несколько тыс об/мин.

в идеале, конечно, поделить некое число на период коленвала, и получится равномерная шкала с шагом в 100 об/мин везде и вначале, и в конце.
Да вот беда, программа деления 3байтной константы на 2 байтное число займёт около 800 циклов процессора (=800 мксек=0.8 мсек при тактовой 4мгц). за это время на 10 тыс об вал успеет повернуться градусов на 15, да и на средних оборотах это многовато. и повышение тактовой частоты полностью проблему не решит.
like
good
bad
shockingly
17.11.2007 р. відповів для killer258  
answerview
А зачем двухбайтное? ПМСМ можно обойтись восьмибитным таймером-счетчиком (ТС). Максимальный период у нас - 40мс (1500/мин) минимальный - около 7 мс (9000/мин) заполняя эти периоды частотой около 3 кгц получим точность измерения частоты в верхней части диапазона - менее 5% (4,3%)  то есть система сможет различать например, частоты 8629, 9000 и 9385/мин. Учитывая, что в верхней части диапазона не будет большой разницы между оптимальными УОЗ для разных оборотов, эта дискретность будет практически незаметной. С понижением частоты, разрешающая способность системы будет возрастать (около 2% на 4000/мин). На очень низких частотах (менее 800/мин) когда таймер будет переполняться, его значение  можно принять равным максимальному (255). Там система уже не сможет изменять угол, так нам этого и не надо.
Восьмибитное значение ТС уже можно без всякой обработки использовать как табличный указатель. При таком простом алгоритме в памяти процессора останется места достаточно для нескольких таблиц, оптимизированных для разных положений дроссельной заслонки (переключение между таблицами - от АЦП, связанного с ДПДЗ или датчиком разрежения).
При некоторой обработке значения ТС, объем таблиц можно значительно сократить.
Значение взятое из таблицы (возможно - двухбайтное) заряжаем в 16-ти битный ТС, который собственно, и отсчитывает задержку.
Примерно так я мыслю себе свою систему. 08_lol

PS Это примерные прикидки. Если где ошибся - извиняйте и укажите - буду признателен. 08_lol
Ушествие Второе. Окончательное.
like
good
bad
shockingly
17.11.2007 р. відповів для Leon  
answerview
согласен, что восьмибитное значение ТС уже можно без всякой обработки использовать как табличный указатель. У меня так вначале и было сделано.
Но теперь я в качестве этих 8 бит испльзую старший  байт  двухбайтового счётчика. А младший приходится использовать потому, что у меня в таблице  записаны не величины этого счётчика, а углы, чтоб легче было
видеть ход кривой, а проц пересчитывает их в значения таймера для конкретных оборотов и при этом требуется операция деления полученного значения на 360, чтоб определить цену одного градуса в единицах таймера  для данного периода коленвала, а затем умножить цену на число градусов из таблицы и полученный результат подкинуть всё тому же таймеру для отсчёта.
при этом  без младшего байта ошибки округления будут заметными. и проявляются они в том,
что пределах одного интервала таблицы процессор высчитывает для задержки один и тот же временной интервал,но для левого и правого краёв интервала это будут реально немного разные углы, и что худо, на правом конце реальный угол  будет на 5-10 градусов меньше чем на левом (если 1 байт определяет таблицу).
Для тех, кто не совсем понял-Выглядит это так:
допустим, хотим сформировать  линейно растущий угол, а в результате получаем в целом растущую  слева направо  лесенку, но у которой каждая ступенька имеет наклон вправо вниз градусов на 5-10.  Как у ленина- 2 шага вперёд, один назад.
Это проявляется если мы ставим угол раньше, чем нужно (отрицательный импульс),а остальное вычитаем задержкой.

Правда, в случае если мы используем положительный импульс и формируем опереж 10 град как запаздывание на 350,
то этот же эффект работаем наоборот, в нашу пользу, ступеньки лестницы растут от левого края  к правому, и что прикольно, в большинстве мест почти настолько, насколько и так нужно, то есть лесенка превращается чуть ли не в растущую прямую.При определённом квантовании (выборе значений прескалера таймера и частоте кварца, при 8 битном таймере)
like
good
bad
shockingly
17.11.2007 р. відповів для killer258  
answerview
Хотя, может я и в правду, перемудрил. Видимо, стоит вписать в таблицу именно готовые времена, чтоб избавить проц от математики..хотя при корректироке таблицы удобнее переписывать градусы чем вычислять каждый раз соответствующие им времена таймера.
Идея была красива тем, что сказал процессору-20 град, и он это сделает на любых оборотах вплоть до самых низких, пока хватает емкости счётчика. а ВОТ ДАЛЬШЕ всё равно рост  угла до непредсказуемых значений (зубчатый венец стартера не поломается от встречного удара на 300 об/мин ?)
like
good
bad
shockingly
17.11.2007 р. відповів для killer258  
answerview
Почему рост? При переполнении ТС8 происходит прерывание (по событию переполнения), в обработчике которого ТС останавливается, а указатель таблицы получает фиксированное значение 255 (очередной взвод и запуск ТС произойдет только по сигналу с датчика в начале следующего цикла). Соответственно, ТС16 получает максимальное значение задержки. Однако, пусть алгоритм будет построен таким образом, что на оборотах ниже 4000/мин отсчет задержки ведется от текущего (а не предыдущего, как на более высоких оборотах) импульса датчика. Это значит, что момент искрообразования всегда будет происходить в корректном диапазоне углов.
По крайней мере, мне так кажется...  08_lol   Может, и ошибся где...

PS Только что подумалось: А не могло ли, имеющее место отсутствие приращения оборотов в верхней части диапазона, быть следствием недостаточной производительности карбюратора? С более производительным карбюратором система не тестировалась?

PPS Описанные выше датчики разрежения имеют достаточно высокое быстродействие: 1 мС при изменении давления от 10% до 90%. Это позволяет делать замер в определенный момент времени. А именно, когда лепестковый клапан закрыт, ТВС во впускном устройстве относительно неподвижна, и не имеет места эффект Бернулли.
...А может быть это и не самый удачный момент для замера давления во впускном коллекторе...
(Интересно, что в списке приложений для которых этот датчик разработан, помимо авиационных цифровых высотомеров, где я с ними впервые и столкнулся, указаны и поршневые ДВС).
Ушествие Второе. Окончательное.
Змінено: 17.11.2007 р., Leon
like
good
bad
shockingly
17.11.2007 р. відповів для Leon  
answerview
У меня есть бредовая идея. Заключается она в магниторезистивном датчике. Магнит ставится на ось колена, датчик напротив него. В конечном итоге датчик показывает положение коленвала в градусах. Можно попращаться с задержками на таймере, прога работает по градусам. Выбор датчиков на рынке небольшой, я взял на пробу hmc1052. Но есть недостаток, который я немогу победить, датчик видит магнитное поле, но невидит полярность магнита. Получается за один оборот магнита вокруг своей оси, датчик выдаёт два треугольника. 02_sad
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
like
good
bad
shockingly
18.11.2007 р. відповів для El  
answerview
Можно попробовать расположить рядом с датчиком неподвижный магнит с полем, более сильным, чем поле магнита на роторе. Так, чтобы это более сильное поле было промодулировано вращающимся полем. Только с повторяемостью будет некоторая проблема, из-за разброса характеристик магнитов.

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

Для однозначного определения положения КВ, достаточно двух подобных датчиков, разнесенных по квадратуре.

PS А еще существуют валкодеры - устройства для измерения угла поворота валов. Они бывают относительные - выдающие некоторое количество импульсов за оборот, и абсолютные - выдающие непосредственно код угла поворота.

03_biggrin Но это ПМСМ уже перебор...
Ушествие Второе. Окончательное.
Змінено: 18.11.2007 р., Leon
like
good
bad
shockingly
18.11.2007 р. відповів для Leon  
answerview
В инете надыбал датчик kmr 360, меряет полный оборот поля. Для нас он ещё недоступен. 13_evil Готовые датчики с магнитом подобного плана , очень дорогие, наверно делают для космических технологий.
Насчёт индуктивности, неплохо придумал, +1. Вместо эксцентрика моно обычную шайбу с сдвинутой осью, можно даже отдельный микроконтроллер на датчик поцепить, пусть меряет индуктивность и направление, а выдача - угол колена. Интересно, какова точность такого датчика? Погодные условия могут повлиять на индуктивность?
А если сразу переменную ёмкость поцепить, как на старых приёмниках в тракте настройки частоты?
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
Змінено: 18.11.2007 р., El
like
good
bad
shockingly
18.11.2007 р. відповів для El  
answerview
удивительное дело, маленькую катушечку закреплённую возле зубчатого венца считаете гемором но при этом готовы разрабатывать сложные, нетиповые датчики магнитного поля с отдельным микроконтроллером итд.
которые наверняка будут сложны в повторении и потребуют калибровки на каждом конкретном экземпляре мото, а возможно и после каждой разборки-сборки системы.
кстати, если есть датчик который выдаёт два треугольника на оборот в чём сложность использовать для синхронизации штатный датчик системы зажигания?
ещё вопрос: если готовы ставить второй микроконтроллер, почему бы его не использовать чисто для математики? меряет период вращения КВ и вычисляет значение мкс/градус в реальном масштабе времени.
like
good
bad
shockingly
18.11.2007 р. відповів для cml  
answerview
Ничего удивительного, лично я хочу победить неравномерность вращения коленвала. Математически нельзя высчитать на микроконтроллере ускорение коленвала в реальном времени с помощью одного родного датчика. Может я ошибаюсь, и кто-то может решить эту проблему? Думаю нет, потому-что не зря делают зубчастые венцы синхронизации на колено(60-2 к примеру). Про идею синхронизации от звезды я тоже думал. В этом случае требуется два датчика, такая система применялась на автомобилях (один датчик напротив зубчатого венца маховика, второй датчик ловит штифт полного оборота), из-за некоторых особенностей такого исполнения, система так и не получила широкого распростроения.
Есть мысли по поводу индуктивно-ферритового датчика Леона, в программе можно прописать автокалибровку по максимальной и минимальной амплитуде индукции, автокалибровка  17_wink . Датчик пожно использовать один. Леон, меня интерисует метод, который может быстро и точно измерять индукцию. Родной индуктивный датчик можно применить?
[url=sdelal.net]http://industrialniy.users.photofile.ru/photo/industrialniy/115116213/135197751.gif
like
good
bad
shockingly
18.11.2007 р. відповів для cml  
answerview
Да нет, никто не считает твое предложение менее значимым, чем другие. Просто твое уже было озвучено, а эти еще нет. От твоего, предложение Эла отличается тем, что теоретически, позволяет получать данные о положении КВ мгновенно и в любой момент времени. Даже при остановленном двигателе. К тому же в аналоговой форме. Может быть для кого нибудь, эти мысли будут полезными.
Что касается меня, то думаю, что для моей минималистской задачи, вполне хватит и одного штатного датчика.  08_lol
Ушествие Второе. Окончательное.
like
good
bad
shockingly
1••3456789••110
Тюль купить недорого в Украине
купить телефон в Одессе со склада, Украина
купить инсталляцию для унитаза в Одессе, магазин сантехники
© 2001-2024, MOTO.com.ua - все про мотоцикли та скутери!   Зворотній зв'язок   Про нас   Реклама на сайті   Магазин