Всем любителям мото-техники представляю новый проект. Началось все с того что имеется мотоцикл китайского производства Lifan, с двигателем 162fmj 150сс. И оказалось, этот двигатель вовсе не имеет никакой системы опережения, как и большинство его китайских собратьев. Поскольку для котолюба, идти в магазин и покупать готовенькое стыдно, да и денег маловато, было принято решение сварганить велосипед сходу. Месяц поисков и штудирования теории вылились в пластике и текстолите. На данном двигателе применена электронная система зажигания с накоплением энергии в конденсаторе AC-CDI, датчиком служит катушка на статоре магнето.
В оригинале все же применили некоторый механизм опережения, правда достаточно примитивный. С завода стоит "умный" аналоговый модуль, который срабатывает на низких, оборотах от второго негативного(уоз 5°), импульса датчика магнето, и на высоких, от первого позитивного(уоз 20°).
При этом, как показал осциллограф, переключение между высокими и низкими происходит примерно на 3500 об/мин.
Это не могло радовать, более того, при испытаниях штатного CDI выяснилось, что он как раз ис-за такой "умной" компоновки, на отрез отказывался активироваться импульсом, без двойной полярности. Прибавилась проблема менять модуль CDI, не покупать же его. Вот и собирал модуль ФУОЗ в комплекте с CDI, дабы не увешивать еще кучу плат. Большинство ФУОЗ на микроконтроллерах идентичны, не стал исключением и этот экземпляр. Изначально ставил себе задачу сделать проще и дешевле. Формирователь угла опережения работает от штатного индуктивного датчика двигателя, это упрощает монтаж, и по сути содержит всего один новый провод, питание +12В. Сперва входной импульс мерил транзисторной связкой, но немного погодя, в дань моде, остановился на оптронном входе, вот схема устройства:
Немного по плате: входной сигнал, точнее его позитивная часть(для моего двигателя это 20°), через диод и ограничительный резистор попадает на оптронный датчик, с него на ножку 2 МК(PortD0), сопротивление резистора подбиралось экспериментально, для уверенного срабатывания на низких оборотах. С выхода 23 МК (PortC0) сигнал "искра" проходит через пару транзисторов, и попадает на вход CDI, который построен по известной популярной схеме. Транзисторы нужны как буфер между МК, и так же повышают сигнал с ТТЛ уровня, до напряжения питания аккумулятора, что улучшает надежность срабатывания тиристора коммутатора. МК Atmega8, в схеме применен кварц 4МГц. На схеме не показан разъем программатора USBASP, распиновка стандартная.
Программа писалась в ассемблере, AVR Studio 4. В коде задействованы счетчик 16-бит, переменные, и ОЗУ для хранения таблиц опережения. Коротко о алгоритме работы: работает на запаздывание, кварц обеспечивает срабатывание импульсов счетчика 16-бит. При поступлении импульса фиксируется счет, по нему определяются текущие обороты двигателя. По значению оборотов определяются табличные данные угла опережения, далее идет расчет реальной задержки(умножается % от оборотов на величину УОЗ), и обнуление счетчика. При достижении счетчиком значения задержки выводится импульс на ножку "искра". В алгоритме учтен режим завода двигателя, при переполнении счетчика и поступлении "первого" импульса, расчет производится по нулевому адресу УОЗ, в исходниках там записан угол +5°, для наилучшей "заводимости". Так же при выходе на некоторую "скорость" вращения алгоритм выходит на работу без задержки, режим максимальные обороты, максимальный УОЗ. Небольшой момент по программе, в коде указанна не чистая величина задержки, а величина количества задержек. Реальная задержка рассчитывается как:"количество задержек умноженное на 1.4°, минус угол датчика". Так же, для облегчения настройки, сделано переключение таблиц задержек, производится путем подачи тумблером(припаяны проводками к ножкам МК), низкого уровня на входы 27, 28(PortC5, PortC4). При этом отсутствие низкого уровня активирует таблицу один, низкий на PortC5 включает вторую, и низкий на PortC4 третью таблицы. Прошивка, схема и исходники прилагаются.
В конечном счете получилось достаточно компактное устройство, немного больше оригинального коммутатора. На некоторой стадии разработки к устройству был подключен ЖКИ HD1602, для контроля параметров работы и настройки, позднее выпилил за ненадобностью. Доводка состояла в подборе номиналов резисторов CDI для надежного срабатывания на низких оборотах и при заводе мотоцикла. Сильно порадовал тест на проблемное питание. Например что делать если в пути аккумулятор приказал долго жить. Ведь МК нужно питание для работы, штатный коммутатор работал оффлайн от бортовой сети. На практике, даже с отключенной клеммой аккумулятора, питания с магнето было достаточно, чтобы включилась плата ФУОЗ, и произвела запуск двигателя, даже без особого усилия на кик стартере. В данный момент устройство еще находится на обкатке, дорабатываются таблицы, с оптимальными значениями, для двигателя 162fmj 150сс. Прирост мощности от установки ФУОЗ не большой, не особо ощущается(в моем случае из-за малого объема двигателя), но заводится мотоцикл стал в разы лучше. Так же по просьбе трудящихся планируется сделать программу, для редактирования таблиц УОЗ, без перекомпиляции исходников.
_____
Отдельное спасибо
товарищам с вк, хоть они и не узнали о моем существовании, но информации со страницы было достаточно, для доводки устройства. Так же спасибо тов. Arwood за дельные советы и замечания.
- Вложения
-
- FUOZ.rar
- Схема в SL6
- (13.84 KiB) Скачиваний: 2479
-
- CDI.rar
- Исходники в AVRStudio4, ассемблер, +hex
- (9.96 KiB) Скачиваний: 2307
-
- AC-CDI.rar
- Схема в протеус 7
- (17.13 KiB) Скачиваний: 2357
Последний раз редактировалось
Flash.#13 Чт июл 02, 2015 14:46:40, всего редактировалось 2 раз(а).