Привет всем! Хочу поделиться своей новой радостью: я уже 8 дней катаюсь на самодельном ФУОЗе.
А дело было так:
У меня самодельное двухканальное электронное зажигание (два датчика два коммутатора, две бобины),
ездию на нем уже 4 года. Захотелось ФУОЗ. После юзанья мануала стало ясно что для этого нужен процессор. Остановил свой выбор на микроконтроллере ATmega8 производства Atmel.
Отдельным пунктом хочу остановиться на программировании данного процессора. Господа администраторы сайта в частности и люди понимающие в программировании в общем, я торжественно снимаю перед вами шляпу, вы владеете великим искусством! Я так говорю потому что по профессии сам инженер конструктор угольных комбайнов и знаком с программированием на уровне лабораторной работы по информатике на 3 курсе, и я чуть не сломал себе моск, пока мой mega8 замигал светодиодом. В этом деле мне помогли две программы: Algorithm Builder 5.42 и Proteus 7.0. (в особенности мануал, прилагаемый к инсталляции Algorithm Builder 5.42, в котором все разжевано до буквы)
Вооружившись всем этим я приступил. Результатом была программа, которая работала так: после подачи питания две ноги микросхемы были настроены на выход, две ноги на вход. К тем что на вход подсоединяем датчики холла через транзисторы, к тем что на выход коммутаторы через транзисторы. После этого происходит постоянный опрос входов по замкнутому циклу с частотой 10000000 раз в секунду (кварц 10 МГц.). Как только сектор входит в датчик холла на одном из входов появляется сигнал, программа переходит в подпрограмму где подает питание на один из выходов и включает катушку какогото цилиндра, обнуляет счетный регистр таймера 1 и запускает сам таймер счетчик 1 с предделителем на 64, дожидается выхода сектора, как только он выйдет сигнал исчезает и число до которого досчитал счетчик копируется в двойной регистр X. (так измеряется частота вращения коленвала в данный конкретный момент, по длине импульса). Затем программа добавляет к значению Х регистр r2 (величину отставания, ниже рассмотрим откуда она берется) и ждет когда счетчик досчитает до величины Х, как только это произойдет процессор выключает катушку (происходит искра), выключает таймер счетчик 1, вычитает из Х - r2 (Х становиться таким как был до прибавления) и приступает к следующей, самой важной части: в зависимости от величины регистра X (длины импульса) вычисляет размер отставания для следующей вспышки и помещает его в регистр r2. Затем снова переходит в режим опроса входов. Как только сектор входит во второй датчик холла сигнал появляется на втором входе, программа снова включает уже вторую катушку, обнуляет регистр таймера 1, включает таймер 1 и ждет окончания импульса, по выходу сектора копирует число до которого успел досчитать счетчик в регистр X и прибавляет к нему r2, ожидая пока таймер досчитает до величины X (величина длины импульса с добавлением отставания момента зажигания от момента выхода сектора), как только он досчитает выключает катушку (искра), вычисляет величину отставания для следующей вспышке в зависимости от длинны импульса предыдущей.
Программа выглядит так:
На этом закончим программирование и перейдем к железу.
Запитываем процессор от сети мотоцикла через крен 7805 (у него питание 5в.) и добавляем конденсатор для подавления помех.
Выставляем зажигание обычным способом на 3,2 мм. до верхней мертвой точки (максимальное).
Берем Excel и проводим там некислый расчет, в котором переводим частоты вращения в число тактов 16ти разрядного счетчика и назначаем приращение. Чем выше будет частота вращения двигателя, тем быстрее сектор будет проскакивать, тем до меньшего числа успеет досчитать счетчик. (следует учесть что процессор считает в 16тиричной системе исчисления).
Из таблицы видно что диапазон частот от 750 об/мин до 5000 об/мин делиться на 18 зон разного опережения. Также видно что при 5000 об/мин опережение 3,2 мм до ВМТ, при 3000 об/мин – 2,8 мм., при 1000 об/мин - 2,4 мм.
Еще один момент: в программе заложено что если частота вращения ниже 750 об/мин (заводим ногой) то отставания нет и поэтому заводимся мы на 3,2. Сделано это потому что когда заводим процесс очень нестабилен и вся система расчет частоты вращения будет сходить с ума.
В качестве корпуса отлично подошел реле регулятор от ЗИЛа. Поместил этот девайс я под сиденье, он там отлично поместился.
РЕЗУЛЬТАТЫ:
Они были не больше не меньше такими как и ожидались: на самых низах мотор тянет как на очень познем зажигании (мощность большая но какжеться что вот вот обороты увеличатся и станет никакой), на средине как на среднем зажигании (спокойный ровный гул набора мощности), на высоких легко крутиться и жужжит.
По ощущениям разница огромна, суммарно тяга возросла где-то на 20%, и как особенность на всем диапазоне вращении звук выхлопа хлопающий басистый как когда сгорание топлива происходит полностью, с максимальной энергоотдачей.
Работа двигателя стала намного мягче, исчезла детонация. Лучше стал тянуть на бугры.
И (я не могу этого не добавить) теперь у меня в гараже стоит Ява 634 с бортовым компьютером!
В заключение хочу сказать что буду очень рад если это все кому-нибудь пригодиться. Вышлю на имейл все необходимые материалы и расскажу как делать.
Всем! Всем! Всем!
Вот ссылка:
http://ifolder.ru/19320860
В ней лежит две системы ФУОЗ.Продолжение темы:
ФУОЗ своими руками.-1:
ФУОЗ своими руками.ФУОЗ своими руками.-2:
ФУОЗ своими руками. - 2ФУОЗ своими руками.-3:
ФУОЗ своими руками. - 3ФУОЗ своими руками.-4:
ФУОЗ своими руками. - 4ФУОЗ своими руками.-5:
ФУОЗ своими руками. - 5ФУОЗ своими руками.-6:
ФУОЗ своими руками. - 6Читаем и впечатляемся!!!