Имитатор индуктивного датчика системы зажигания мотоцикла

07.03.2022

Эта статья была мной ранее (22 ноября 2019 года) опубликована на канале Разумный мир в Яндекс.Дзен. Однако, последние изменения в Дзен привели к необходимости переноса статей на другие ресурсы. Статья публикуется с небольшими изменениями.

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

Возможно, часть статьи окажется интересной мотоциклистам, а часть электронщикам.

История вопроса

Я далек от мира мотоциклов. Но у меня есть коллеги и знакомые мотоциклисты. Сразу отмечу, что коллеги и знакомые совсем не обязательно являются специалистами в областях электроники и программирования. И вот не так давно один знакомый обратился ко мне с просьбой сделать какой-нибудь простой имитатор индуктивного датчика для системы зажигания мотоциклов. Я удивился, что же тут сложного? Наверняка хватит самого простого генератора импульсов. Как оказалось, не все так просто. Поэтому ко мне и обратились. Но давайте обо всем по порядку.

Пациент

Имитатор был нужен для диагностики и ремонта систем зажигания мотоциклов. В идеале, самых разных мотоциклов, чем больше, тем лучше. Но для начала они хотели разобраться с одним конкретным мотоциклом - Yamaha Virago. Более точное название модели просто не знаю. Но он был довольно старым, лет 20-30, с их слов. И у этого мотоцикла был старый же вариант системы зажигания, с одним индуктивным датчиком. В этом и была проблема. Новый блок зажигания найти было можно, но он был новой модификации, с двумя индуктивными датчиками, и не подходил для замены старой модификации.

Ситуация проясняется

Я попросил показать мне блок зажигания этого мотоцикла. Вот он, вид изнутри. Фотография сделана знакомыми

Фото блока зажигания после вскрытия

Видно, что блок кто то уже ремонтировал, так транзистор КТ819 (внизу справа) установлен явно не на заводе изготовителе. Кто его поставил, неизвестно. Говорят, так было сразу. Хорошо видно микроконтроллер MH63B01V1P, никакой информации по которому найти не удалось. Скорее всего это какая то заказная микросхема. Она много где упоминается в обсуждениях блоков зажигания, в том числе, автомобилей, но кроме фотографий и названия больше ничего нет. Ниже микроконтроллера виден субмодуль выполненный на керамической подложке.

Знакомые хотели сами разобраться с ремонтом блока. Но им был нужен имитатор датчика, что бы можно было работать на столе вдали от мотоцикла.

Как все это устроено

Как работают систем зажигания, думаю, известно почти всем. Однако, для мотоциклов (по крайне мере, для части из них) есть некоторые особенности в их построении. Для тех, кто раньше не сталкивался (как и я до этого случая) с подобными системами, нужно кратко пояснить, как там все устроено и работает. Для иллюстрации буду использовать тот самый Yamaha Virago. На других мотоциклах с подобной системой зажигания внешний вид и некоторые детали могут отличаться, но сам принцип останется тем же самым.

Датчик системы зажигания индуктивный. Представляет из себя катушку с магнитным сердечником. Намагничен или сам сердечник, или внутри датчика расположен постоянный магнит. На самом деле, это довольно стандартное исполнение подобных индуктивных датчиков. Индуктивность датчика не замерялась. Сопротивление обмотки порядка 200 Ом.

На роторе генератора, изготовленном из алюминиевого сплава, есть две накладки из железа (стали). Вот так это выглядит в реальности. Фото сделано знакомыми

Идуктивный датчик системы зажигания

Сам ротор генератора жестко крепится на коленвале. При вращении ротора во время работы двигателя эти накладки проходят под датчиком вызывая изменение магнитного поля в его сердечнике. А это, в свою очередь, приводит к возникновению ЭДС в катушке датчика.

Схематически это можно представить так. Направление вращения я показал условно, оно не столь важно в данном случае.

Идуктивный датчик системы зажигания

В новом варианте, который я упоминал ранее, накладка на роторе одна, но установлено два датчика разнесенных на некоторый угол.

Как все это работает

Работает все это довольно просто. На выводах датчика формируется импульс напряжения во время прохождения края накладки под сердечником. Вот так, упрощенно, выглядит сигнал с датчика при прохождении накладки

Сигнал с датчика зажигания

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

Осциллограмма реального сигнала

Амплитуда как положительных, так и отрицательных импульсов порядка 4В, в среднем. Если нарисовать упрощенную временную диаграмму, То получится примерно так

Временная диаграмма сигнала

Хорошо видно, что импульсы идут парами. На каждый оборот коленвала приходится по две пары импульсов, так как накладки две. Интервал 4 мс соответствует небольшому расстоянию между накладками. 40 мс это время прохождения накладки через датчик. А один оборот коленвала занимает 200 мс. Усилитель-формирователь в блоке зажигания формирует из импульсов датчика прямоугольные импульсы, которые соответствуют прохождению накладок под датчиком. Далее, импульсы поступают на микроконтроллер, который распределяет их по транзисторным ключам коммутирующим катушки зажигания

Работа усилителя-формирователя

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

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

Имитатор

Вот теперь можно переходить собственно к поставленной задаче - имитации работы датчика системы зажигания. Для обратившегося ко мне знакомого основную сложность представляли именно двухполярные импульсы и их парность. Но на самом деле тут все довольно просто. Точное соблюдение временных интервалов не столь существенно для проверки и ремонта блоков зажигания. Но примерные временные соотношения соблюдать смысл имеет. Будем имитировать поведение максимально близкое к наблюдаемому на осциллограмме. Нет, никаких механических имитаторов не будет, хотя, со слов знакомого, такие делают. И никаких индуктивных элементов тоже не будет. Мы воспользуемся обычной дифференцирующей цепочкой из конденсатора и резистора. Это настолько банально, что даже неудобно об этом писать...

Формирование импульса RC-цепью

Резистор 200 Ом соответствует сопротивлению обмотки датчика. На тот случай, если это будет иметь значение для блока зажигания (на тот момент схему блока зажигания я еще не разрисовывал). Емкость конденсатора 4.7 мкФ позволяет получить длительность импульса примерно соответствующую осциллограмме снятой на мотоцикле. Амплитуда прямоугольного импульса 5 В, это многовато, но это мы поправим.

У нас должно быть два прямоугольных импульса длительностью 40 мс с паузой около 4 мс между ними. Пауза между парами импульсов должна быть порядка 120 мс (200-40-4-40). Это можно сделать используя таймеры NE555 или одновибраторы, но получится громоздко. Поэтому я решил использовать простенький микроконтроллер PIC10F200. Он дешевый и в удобном корпусе SOT23-6. И эти микроконтроллеры у меня есть в большом количестве, остались от одного старого проекта.

Те, кто читает мои статьи на канале Разумный мир Яндекс.Дзен, уже наверняка задумались. Где то они уже что то подобное слышали. Да, именно об этом имитаторе я упоминал в статье Ошибки допускают все. Исключений не бывает

Схема имитатора получилась очень простой

Принципиальная схема имитатора

Здесь резистор R1 немного снижает амплитуду импульсов. А микросхема NC7WZ04P6X в удобном корпусе SC70-6 это просто быстрый сдвоенный инвертор с выходным током до 50 мА (не более 100 мА в целом на микросхему). Она обеспечивает развязку выхода имитатора от микроконтроллера. Конденсатор С5 использовался керамический, но можно взять и обычных электролитический (полярный). В этом случае его положительный вывод подключают к выходу микросхемы. Микроконтроллер формирует, программно, на выводе GP2 импульсную последовательность

Выходной сигнал микроконтроллера

временные параметры которой уже упоминались ранее. Микросхема DD2 инвертирует этот сигнал и на выходе имитатора получаем такой сигнал (фото с экрана осциллографа)

Выходной сигнал имитатора

Извиняюсь за качество, фото делалось телефоном для отправки знакомому по WhatsApp. Сейчас имитатор уже не у меня, поэтому сохранить качественную копию экрана в файл уже не могу.

Да, форма импульсов немного отличается отличается от оригинала, но это не важно, в данном случае. И, как показала проверка, усилитель-формирователь в блоке зажигания корректно формировал прямоугольные импульсы из сигнала с имитатора. Программа для микроконтроллера, без какой либо оптимизации, состоит всего из 40 команд, память данных не используется. Причем примерно половина программы занимается предварительной настройкой микроконтроллера. Программа настолько проста, что я не привожу ее текст. Но если на форуме будут просьбы, то текст выложу.

У микроконтроллера остается неиспользуемыми 3 вывода, что позволяет реализовать 8 различных последовательностей импульсов, для разных систем зажигания разных мотоциклов. Свободной памяти команд для этого достаточно. Если же использовать другой микроконтроллер, то количество вариантов можно значительно увеличить. А микроконтроллер можно использовать практически любой.

А если нет такой микросхемы сдвоенного инвертора? Не беда. Можно использовать почти любые микросхемы инверторов. Необходимая амплитуда тока выходного каскада составляет всего 25 мА. Но лучше не использовать микросхемы ТТЛ логики. Можно заменить эту микросхему и парой транзисторов, например, BC847/BC857 или даже КТ315/КТ361 включив их по всем известной схеме выходного каскада УНЧ. При этом резистор 33 Ом ставить не нужно. Только нужно учесть, что такой выходной каскад не будет инвертировать сигнал с выхода микроконтроллера. Поэтому нужно сделать это изменив программу. Схема получится такой

Принципиальная схема имитатора

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

Заключение

Как я и говорил в начале статьи, все настолько просто, очевидно и известно...

Имитатор не предназначен для разработки блоков зажигания мотоциклов. Только для их быстрой проверки и ремонта. Имитируется сигнал с датчика при прокрутке двигателя стартером. Поэтому частота импульсов не регулируется. Хотя сделать это возможно, просто задачи такой не стояло. Некоторые ограничения накладывает то, что длительность импульсов формируется RC цепочкой. Но это цена простоты конструкции. Да и эта длительность будет, в большинстве случаев, примерно такой же.

Ни схема, ни программа, ни печатная плата не являются секретными. Если кому то нужно, выложу и текст программы (и HEX файл прошивки), и Gerber файлы для изготовления печатной платы. Имитатор был собран в единственном экземпляре, иного и не предполагалось. Хоть я и сильно сомневаюсь, но если кого то этот имитатор очень заинтересует, то могу выслать уже собранную плату с запрограммированным микроконтроллером. Даже с параметрами импульсов, которые вам нужны. Или запрограммированный микроконтроллер.

Да, забыл сказать... Микроконтроллеру в блоке зажигания, тому самому заказному, не повезло. У него выгорел порт управляющий выходными ключами работающими на катушки зажигания. Так что блок не восстановить. Есть пара идей, что можно сделать. Но пока никаких подробностей нет. Одну из идей знакомый обещал проверить.


Вы можете обсудить данную статью или задать вопросы автору на форуме