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

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить
GhostAnton
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн ноя 21, 2011 19:07:28

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

Сообщение 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 КБ) 251 скачивание
Последний раз редактировалось GhostAnton Чт июн 20, 2013 09:37:14, всего редактировалось 1 раз.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

тему в другой раздел надо. На форуме есть АвтоМотоВело. Обратитесь к модераторам, чтобы туда перенесли. Там больше народа приближенного к этой тематике.
Ставим плюсы: )
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

Перенесено.
GhostAnton
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн ноя 21, 2011 19:07:28

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

Сообщение GhostAnton »

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

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


Все таки наверное помехи или наводки, как лучше настроить свободные порты чтоб не было помех и куда кинуть сопротивления от этих ног, на + или - (в зависимости от настройки портов), подскажите пожалуйста.
GhostAnton
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн ноя 21, 2011 19:07:28

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

Сообщение GhostAnton »

Сегодня передалал алгоритмы снова, сделал 2 варианта работы подсчета частоты, первый вариант на TIM0 и второй вариант на TIM1, надоело каждый раз прошивать чип, теперь буду делать 2 варианта одновременно с переключением по кнопке, так будет проще проверять и видно будет сразу какой из вариантов более точный и приемлемый, соответственно добавил кнопку в схему и еще добавил подтяжку для кнопки ресет на питание на всякий случай, в железе еще не проверял, но думаю завтра попробовать.

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

Вернуться в «АвтоМотоВело»