Автор Тема: Коммутатор на Arduino  (Прочитано 7477 раз)

0 Пользователей и 1 Гость просматривают эту тему.

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Коммутатор на Arduino
« : Июля 15, 2020, 01:26:39 pm »
Здравствуйте други. Выкладываю схему самодельного коммутатора и прошивку под Arduino Nano для однодатчиковой Virago 400. В коммутатор зашита следующая характеристика угла опережения зажигания: ровная прямая в пределах с 1500 до 5750 оборотов двигателя, от 0 до 25 градусов, дальше с ростом оборотов остаются 25 градусов. Плюсом идут 8 градусов опережения,  которое заложено производителем ( расположении накладок на роторе ) , т.е. имеем опережение от 8 градусов до 33 относительно ВМТ.
Небольшое пояснение:
На роторе генератора установлены две накладки.

При вращении ротора и прохождении накладок через индукционный датчик имеем на выходе датчика следующую картинку: при входе накладки в датчик видим положительный импульс, при выходе отрицательный.


Положительный импульс открывает транзистор Т1, который зажигает оптопару, а та подтягивает ногу d3 микроконтроллера к земле (ноги d3 и d2 настроены на цифровой вход с подтяжкой на +5 через резистор 10 Ком). Отрицательный импульс открывает транзистор T2 и шевелит ногой d2 микроконтроллера. Далее программно по разнице времени между импульсами определяется какая именно накладка (переднего или заднего цилиндра) вошла в датчик,  и в определенное время в зависимости от оборотов двигателя подаются импульсы на ноги d10 и d11 микроконтроллера. При подаче на d11 логического 0, оптопара закрыта, транзистор Т3 закрыт, на базе Т5 положительный потенциал, транзистор Т5 открывается, и на катушку переднего цилиндра подается напряжение для её  насыщается. При выводе на d11 логической 1 (+5в), оптопара зажигается, открывает транзистор T3, на базе T5 появляется 0, Т5 закрывается, с катушки снимается напряжение, происходит искровой разряд на свече переднего цилиндра. Аналогично для заднего цилиндра и ноги d10.



PS: огромное спасибо участнику этого форума под ником screep. Его советы и наработки значительно облегчили мне разработку данного устройства. Во вложении схема и рабочий скетч для Arduino IDE. В проекте не реализованы такие функции штатного коммутатора, как управление релюхой бензонасоса и датчиком боковой подножки. Проект реализовывался, как запасной коммутатор, поэтому все делалось максимально просто и быстро, поэтому тапками прошу не закидывать, критика и конструктивные предложения приветствуются. Если нужны дополнительные пояснения, спрашивайте тут. На коммерческой основе собирать данный девайс не планирую.

[вложение удалено за давностью]

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Re: Коммутатор на Arduino
« Ответ #1 : Июля 15, 2020, 01:43:49 pm »
Не грузятся картинки, прошу модератора подправить 2 и 3 ссылки на изображения в первом посте.


Антон усы

  • Старожил
  • *****
  • Сообщений: 2258
  • Чебоксары
    • SEROW 225, ORION 125 A с коляской
    • Просмотр профиля
    • Мой канал в ютюбе
  • в седле с: 2007
Re: Коммутатор на Arduino
« Ответ #2 : Июля 16, 2020, 09:09:23 am »
Крутяк!!! Как в работе себя показал?
Индурист

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Re: Коммутатор на Arduino
« Ответ #3 : Июля 16, 2020, 11:09:08 am »
Крутяк!!! Как в работе себя показал?
Работает хорошо. Надо бы еще тест на максималку и на разгон сделать ну и погонять подольше. В целом результатом доволен, очень много времени потратил на отлавливание глюков и помех.

screep

  • Бывалый
  • ***
  • Сообщений: 169
    • Yamaha XV400, Kinlon JL150
    • Просмотр профиля
  • в седле с: 2012
Re: Коммутатор на Arduino
« Ответ #4 : Июля 16, 2020, 01:41:23 pm »
Да... а Скрип тем временем свой "шаттл" всё никак не доведет до ума ...
(но ничо так, дорогу осилит идущий. такой у меня "путь самурая" . )
ты таки входной (-ые) каскад(-ы) проще обыграл (но с "потерей ног") но ничо так. главное, что работает.
поздравлям!
даччик подножки можно забадяжить - поставить релюху, и коротить вход.
бензонасос - в ранних версиях вираг я видел эл. схему, так там он включен ч-з релюху, катуха которой подключена просто к одному из выводов катух. да или вообще, сделать его постоянно включенным, всё равно он , нагнав давление , выключается.
Reach out & touch faith!(c)
...я проснулся среди ночи, и понял, что - всё...(с)

screep

  • Бывалый
  • ***
  • Сообщений: 169
    • Yamaha XV400, Kinlon JL150
    • Просмотр профиля
  • в седле с: 2012
Re: Коммутатор на Arduino
« Ответ #5 : Июля 16, 2020, 03:52:14 pm »
...или тупо таймером на 555 эту релюху дёргать.
Reach out & touch faith!(c)
...я проснулся среди ночи, и понял, что - всё...(с)

Kirill12

  • Новичок
  • *
  • Сообщений: 115
  • Москва
    • XV 750 Virago 86 год
    • Просмотр профиля
  • в седле с: 2010
Re: Коммутатор на Arduino
« Ответ #6 : Июля 16, 2020, 09:33:22 pm »
Привет!

Великое дело делаешь!
Очень нравится мне, что на ардуино (я - профессиональный разработчик, если что), потому как это удобно, доступно и просто для повторения.
Код у тебя суровый, но работает, и хорошо ;)

Я одно время страдал с двухдатчиковой 750 своей, но потом подогнали мне рабочий коммутатор, и я успокоился 8)

Эх, попробовать чтоли доделать свой коммутатор на досуге...

Kirill12

  • Новичок
  • *
  • Сообщений: 115
  • Москва
    • XV 750 Virago 86 год
    • Просмотр профиля
  • в седле с: 2010
Re: Коммутатор на Arduino
« Ответ #7 : Июля 16, 2020, 09:38:18 pm »
Я, кстати, по схематике могу порекомендовать сходить на SECU-3 и посмотреть, как у них сделана фильтрация питания и выходные каскады. Там прелесть в том, что схема проверена и хорошо обкатана. Не будет глюков трудноуловимых от помех и наводок.
Я не настаиваю, просто предлагаю ;)

screep

  • Бывалый
  • ***
  • Сообщений: 169
    • Yamaha XV400, Kinlon JL150
    • Просмотр профиля
  • в седле с: 2012
Re: Коммутатор на Arduino
« Ответ #8 : Июля 17, 2020, 06:37:58 am »
с 2-датчиковой там еще проще, чем с однодатчиковой будет.
Reach out & touch faith!(c)
...я проснулся среди ночи, и понял, что - всё...(с)

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Re: Коммутатор на Arduino
« Ответ #9 : Июля 17, 2020, 07:18:27 am »
Привет!

Великое дело делаешь!
Очень нравится мне, что на ардуино (я - профессиональный разработчик, если что), потому как это удобно, доступно и просто для повторения.
Код у тебя суровый, но работает, и хорошо ;)

Я одно время страдал с двухдатчиковой 750 своей, но потом подогнали мне рабочий коммутатор, и я успокоился 8)

Эх, попробовать чтоли доделать свой коммутатор на досуге...

На счет кода, согласен. Сначала делал через прерывания, поэтому и прицепил входной каскад на ноги d2 и d3. Прерывания срабатывали при смене высокого уровня на низкий. В процессе отлавливания глюков отказался от прерываний, да так и оставил, можно все вернуть обратно, код будет красивее (а глюки были из-за малой емкости кондеров во входном каскаде, стояли по 1 мкФ, были ложные срабатывания, поставил 10 мкФ и все стало нормально).

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Re: Коммутатор на Arduino
« Ответ #10 : Января 29, 2021, 10:18:00 am »
Продолжаю тему, но уже для 1100 вираги двухдатчиковой 1990 года выпуска. На роторе здесь всего одна нашлепка и размер у неё почти в 2 раза меньше, чем на 400-ке. В родных мозгах каждый датчик обрабатывается своим микроконтроллером, поэтому в старых мозгах 2 микроконтроллера, а начиная с 1991 года уже идет один датчик и один микроконтроллер. Датчики запараллелил и подключил к схеме (та которая  делалась на 400-ку), и снял такую диаграмму.

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

Darkwalker

  • Administrators
  • Старожил
  • *****
  • Сообщений: 7217
    • XV400; XV750
    • Просмотр профиля
  • в седле с: 2004
Re: Коммутатор на Arduino
« Ответ #11 : Марта 26, 2021, 07:23:21 pm »
Серьезная работа.
Я использую универсальный блок зажигания который от компа шьется, через свою программку. Полезная штука, все опережения откорректированы по ощущениям, что придало бодрости ведру.
Графики на все большие вираги есть в мануале кстати.
Нет Справедливости. Есть только Я.

morium

  • Новичок
  • *
  • Сообщений: 143
    • пересел с XV400 1991 на XV1100 1990
    • Просмотр профиля
  • в седле с: 2000
Re: Коммутатор на Arduino
« Ответ #12 : Марта 29, 2021, 10:31:06 am »
Серьезная работа.
Я использую универсальный блок зажигания который от компа шьется, через свою программку. Полезная штука, все опережения откорректированы по ощущениям, что придало бодрости ведру.
Графики на все большие вираги есть в мануале кстати.

Графиков не нашел, пролистал весь мануал. Настраивал ориентируясь на метки на роторе, подключив стробоскоп. Постарался сделать аналогично родному коммутатору. Кривая в родных мозгах очень крутая, где-то на 3500-4000 выходит на максимальное опережение в 30-35 градусов. После запуска работает хорошо, но вот заводится хуже, чем на родных мозгах. Надо посмотреть, может во время пуска на родном коммутаторе идет запаздывание зажигания относительно предустановленных 8 градусов.

kommissar

  • Старожил
  • *****
  • Сообщений: 2015
    • кастом 535.Вентурлёт XVZ 1300
    • Просмотр профиля
Re: Коммутатор на Arduino
« Ответ #13 : Марта 31, 2021, 07:35:41 am »
((Обычно ямаха графики печатает в самом конце мануала.)) На сколько я понимаю в физике процесса происходящего в ДВС , Я могу смело утверждать, что опережение зажигания постоянно абсолютно на всех двигателях, не зависимо от "тактности" , объёма и навороченности газораспределения ( кол-во клапанов и Т.Д.). И зависит только от оборотов двигателя. Так-как СКОРОСТЬ ГОРЕНИЯ бензовоздушной смеси в правильной ( цикл Карно) пропорции является константой. (Это понятно, что бедная и богатая смесь горит медленнее, чем "правильная") а по этому, "ГРАФИК" опережения можно брать от любого ДВС ( при условии, что этот график ПРАВИЛЬНЫЙ и ПОДРОБНЫЙ). Лень искать в мануалах на вираги, но могу предоставить тот, что под рукой. Это Сервисный от Венчура Ройаля. На графике две зависимости. одна собственно опережение, а вторая коррекция от датчика разряжения. На нем  четко написано, что начальный угол опережения на 1000 об/мин равен 5 градусам. Короче вот:

После пятидесяти жизнь только начинается.Наливай по 50 !!!

kommissar

  • Старожил
  • *****
  • Сообщений: 2015
    • кастом 535.Вентурлёт XVZ 1300
    • Просмотр профиля
Re: Коммутатор на Arduino
« Ответ #14 : Марта 31, 2021, 07:57:22 am »
Вот тут более понятно:

После пятидесяти жизнь только начинается.Наливай по 50 !!!