Страница 1 из 1

Коммутатор мотоцикла на ATMega8.

Добавлено: Ср июн 19, 2013 14:06:19
GhostAnton
Доброго времени суток.

Так сказать введение в курс дела: На мотоциклах и максискутерах стоят коммутаторы - они управляют опережением зажигания на различных оборотах. Стоимость оригинальных запчастей оставляет желать лучшего и доходит до сумм в 150евро да еще и доставка в другую страну и так далее. Ко мне обратился друг с просьбой помочь отремонтировать его скутер с минимальными вложениями (умер коммутатор, замена на китайские от мало-кубатурных мопедов удается, но мотор себя ведет далеко не идеально на них). У другого знакомого есть такой-же скутер с рабочим коммутатором.

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

Способ замера опережения зажигания у меня следующий:
1) на INT0 подаю импульсы с датчика холла, меряю количество тиков контроллера между следующим импульсом с датчика, (F=Fcpu/Tcnt) вычисляю частоту Герц, обнуляю счетчик (начинаю считать с 0). На всякий случай настроено прерывание по переполнению, однако на практике и при исследованиях в протеусе выяснилось что переполнение происходит только в случае если частота больше 8мГц (частота на которой работает сам контроллер) т.е. в моем случае 10000 об/мин, больше эти моторы не развивают, в реальных условиях при заведенном моторе оборотов менее 600 не будет, так что ниже этих оборотов опережение зажигания измерять нет необходимости и воспроизводить тоже. Дискретность измерения оборотов 60 об/мин, это даже слишком, в реальных условиях необходимы 100 и 1000 измерения.
2) на INT1 подаю импульсы снятые с катушки зажигания (т.е. снятые после коммутатора) ,если сигнал появился то считываю что в данный момент натикал счетчик таймера, это и есть опережение которое я ищу.

Вопрос в следующем, не могу определиться с алгоритмом накопления результатов и с алгоритмом воспроизведения используя тотже таймер и только 1 прерываени int0 вместо 2-х

И еще при работе прерываний по спадающему фронту почему-то погрешность у меня, а по нарастающему не работает вообще, может я что не так в схеме сделал. При моделировании в протеусе все работает идеально, на практике же показало, что если использовать TIM0 с прерываниями по переполнению то прибор в железе еще показывает временами частоту, после перевода на TIM1 протеус показывает более хорошую картину, а в реальном железе не работает, прерывание не срабатывает или что, не получается разобраться. Уже и так и сяк переделывал и по разным фронтам, в протеусе работает, в железе не работает корректно. Схему перепроверял, все правильно собрано. Думал вначале помехи, но стоит подтяжка на 4,7к к +5В.

Помогите пожалуйста.

Коммутатор.rar
(129.33 КБ) 250 скачиваний

Re: Коммутатор мотоцикла на ATMega8.

Добавлено: Чт июн 20, 2013 08:10:21
ibiza11
тему в другой раздел надо. На форуме есть АвтоМотоВело. Обратитесь к модераторам, чтобы туда перенесли. Там больше народа приближенного к этой тематике.

Re: Коммутатор мотоцикла на ATMega8.

Добавлено: Чт июн 20, 2013 08:24:10
ploop
Перенесено.

Re: Коммутатор мотоцикла на ATMega8.

Добавлено: Чт июн 20, 2013 14:22:14
GhostAnton
В общем просмотрев много обвязок снятия импульсов и пришел и сделал заключение, что мой блок работает не корректно, у меня 2 варианта схем на которых я остановился, одна схема имеет стабилитрон на напряжение 90в и конденсатором, а другая без стабилитрона и конденсатора, изначально обратил внимание, что второй вариант в протеусе отрабатывает лучше чем первый, но первый по напряжению более защищен, в итоге собрал я и второй вариант, в железе еще не проверил, но у меня складывается впечатление что на втором варианте все будет работать нормально, как Вы думаете с точки зрения электроники?

Схему прилагаю.
часть схемы.PNG
(78.32 КБ) 697 скачиваний


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

Re: Коммутатор мотоцикла на ATMega8.

Добавлено: Пт июн 21, 2013 22:28:30
GhostAnton
Сегодня передалал алгоритмы снова, сделал 2 варианта работы подсчета частоты, первый вариант на TIM0 и второй вариант на TIM1, надоело каждый раз прошивать чип, теперь буду делать 2 варианта одновременно с переключением по кнопке, так будет проще проверять и видно будет сразу какой из вариантов более точный и приемлемый, соответственно добавил кнопку в схему и еще добавил подтяжку для кнопки ресет на питание на всякий случай, в железе еще не проверял, но думаю завтра попробовать.

вот последний вариант на сегодняшний день:
Коммутатор.rar
(147.61 КБ) 242 скачивания