virago.ru

Гараж => Ремонт, Замена и "Кастомайзинг" => Тема начата: morium от Июля 15, 2020, 01:26:39 pm

Название: Коммутатор на Arduino
Отправлено: morium от Июля 15, 2020, 01:26:39 pm
Здравствуйте други. Выкладываю схему самодельного коммутатора и прошивку под Arduino Nano для однодатчиковой Virago 400. В коммутатор зашита следующая характеристика угла опережения зажигания: ровная прямая в пределах с 1500 до 5750 оборотов двигателя, от 0 до 25 градусов, дальше с ростом оборотов остаются 25 градусов. Плюсом идут 8 градусов опережения,  которое заложено производителем ( расположении накладок на роторе ) , т.е. имеем опережение от 8 градусов до 33 относительно ВМТ.
Небольшое пояснение:
На роторе генератора установлены две накладки.
(https://c.radikal.ru/c28/2007/fd/5fbc37ae80d8.jpg)
При вращении ротора и прохождении накладок через индукционный датчик имеем на выходе датчика следующую картинку: при входе накладки в датчик видим положительный импульс, при выходе отрицательный.
(https://d.radikal.ru/d43/2007/43/2826244e51c4.jpg)

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

(https://d.radikal.ru/d23/2007/26/48c8d1bb9756.jpg)

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

[вложение удалено за давностью]
Название: Re: Коммутатор на Arduino
Отправлено: morium от Июля 15, 2020, 01:43:49 pm
Не грузятся картинки, прошу модератора подправить 2 и 3 ссылки на изображения в первом посте.
(https://b.radikal.ru/b23/2007/a9/8b4eac517deb.jpg)
(https://a.radikal.ru/a12/2007/5d/cf0f5aad9279.jpg)
Название: Re: Коммутатор на Arduino
Отправлено: Антон усы от Июля 16, 2020, 09:09:23 am
Крутяк!!! Как в работе себя показал?
Название: Re: Коммутатор на Arduino
Отправлено: morium от Июля 16, 2020, 11:09:08 am
Крутяк!!! Как в работе себя показал?
Работает хорошо. Надо бы еще тест на максималку и на разгон сделать ну и погонять подольше. В целом результатом доволен, очень много времени потратил на отлавливание глюков и помех.
Название: Re: Коммутатор на Arduino
Отправлено: screep от Июля 16, 2020, 01:41:23 pm
Да... а Скрип тем временем свой "шаттл" всё никак не доведет до ума ...
(но ничо так, дорогу осилит идущий. такой у меня "путь самурая" . )
ты таки входной (-ые) каскад(-ы) проще обыграл (но с "потерей ног") но ничо так. главное, что работает.
поздравлям!
даччик подножки можно забадяжить - поставить релюху, и коротить вход.
бензонасос - в ранних версиях вираг я видел эл. схему, так там он включен ч-з релюху, катуха которой подключена просто к одному из выводов катух. да или вообще, сделать его постоянно включенным, всё равно он , нагнав давление , выключается.
Название: Re: Коммутатор на Arduino
Отправлено: screep от Июля 16, 2020, 03:52:14 pm
...или тупо таймером на 555 эту релюху дёргать.
Название: Re: Коммутатор на Arduino
Отправлено: Kirill12 от Июля 16, 2020, 09:33:22 pm
Привет!

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

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

Эх, попробовать чтоли доделать свой коммутатор на досуге...
Название: Re: Коммутатор на Arduino
Отправлено: Kirill12 от Июля 16, 2020, 09:38:18 pm
Я, кстати, по схематике могу порекомендовать сходить на SECU-3 и посмотреть, как у них сделана фильтрация питания и выходные каскады. Там прелесть в том, что схема проверена и хорошо обкатана. Не будет глюков трудноуловимых от помех и наводок.
Я не настаиваю, просто предлагаю ;)
Название: Re: Коммутатор на Arduino
Отправлено: screep от Июля 17, 2020, 06:37:58 am
с 2-датчиковой там еще проще, чем с однодатчиковой будет.
Название: Re: Коммутатор на Arduino
Отправлено: morium от Июля 17, 2020, 07:18:27 am
Привет!

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

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

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

На счет кода, согласен. Сначала делал через прерывания, поэтому и прицепил входной каскад на ноги d2 и d3. Прерывания срабатывали при смене высокого уровня на низкий. В процессе отлавливания глюков отказался от прерываний, да так и оставил, можно все вернуть обратно, код будет красивее (а глюки были из-за малой емкости кондеров во входном каскаде, стояли по 1 мкФ, были ложные срабатывания, поставил 10 мкФ и все стало нормально).
Название: Re: Коммутатор на Arduino
Отправлено: morium от Января 29, 2021, 10:18:00 am
Продолжаю тему, но уже для 1100 вираги двухдатчиковой 1990 года выпуска. На роторе здесь всего одна нашлепка и размер у неё почти в 2 раза меньше, чем на 400-ке. В родных мозгах каждый датчик обрабатывается своим микроконтроллером, поэтому в старых мозгах 2 микроконтроллера, а начиная с 1991 года уже идет один датчик и один микроконтроллер. Датчики запараллелил и подключил к схеме (та которая  делалась на 400-ку), и снял такую диаграмму.
(https://d.radikal.ru/d23/2101/d5/641f7c235804.jpg)
Импульсы синего графика - это вход нашлепки в датчик, красные - выход из датчика. Т.е. по изображению слева - направо видим вход - выход нашлепки в первый датчик, затем вход - выход нашлепки во второй датчик, затем оборот вала и все повторяется.
Остается подправить код программы под новые углы.
Название: Re: Коммутатор на Arduino
Отправлено: Darkwalker от Марта 26, 2021, 07:23:21 pm
Серьезная работа.
Я использую универсальный блок зажигания который от компа шьется, через свою программку. Полезная штука, все опережения откорректированы по ощущениям, что придало бодрости ведру.
Графики на все большие вираги есть в мануале кстати.
Название: Re: Коммутатор на Arduino
Отправлено: morium от Марта 29, 2021, 10:31:06 am
Серьезная работа.
Я использую универсальный блок зажигания который от компа шьется, через свою программку. Полезная штука, все опережения откорректированы по ощущениям, что придало бодрости ведру.
Графики на все большие вираги есть в мануале кстати.

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

(http://i.{piccy}.info/i9/8937f0bcf659df51c0d5d8a3a747d6ce/1617168131/117838/1423266/36301Screenshot_44.png) (http://{piccy}.info/view3/14268849/65a164c3b6f220799f55159fa3e7d363/)(http://i.{piccy}.info/a3/2021-03-31-05-22/i9-14268849/687x457-r/i.gif) (http://i.{piccy}.info/a3c/2021-03-31-05-22/i9-14268849/687x457-r)
Название: Re: Коммутатор на Arduino
Отправлено: kommissar от Марта 31, 2021, 07:57:22 am
Вот тут более понятно:

(http://i.{piccy}.info/i9/cd9b7307a50c779627e1e3e6d955a634/1617169644/29136/1423266/Screenshot_45_500.jpg) (http://{piccy}.info/view3/14268860/d1c456331d59196f63227c4270cd770e/)(http://i.{piccy}.info/a3/2021-03-31-05-47/i9-14268860/500x286-r/i.gif) (http://i.{piccy}.info/a3c/2021-03-31-05-47/i9-14268860/500x286-r)
Название: Re: Коммутатор на Arduino
Отправлено: kommissar от Марта 31, 2021, 08:23:07 am
А вот в Ройал Стар Венчур, я графика не нашел. только табличка:

(http://i.{piccy}.info/i9/c3b118af2f938af2d10fce4e6b12075e/1617171206/19014/1423266/Screenshot_47_500.jpg) (http://{piccy}.info/view3/14268876/5243f4c1888a2529baf1619e2e2ef0f0/)(http://i.{piccy}.info/a3/2021-03-31-06-13/i9-14268876/500x142-r/i.gif) (http://i.{piccy}.info/a3c/2021-03-31-06-13/i9-14268876/500x142-r)
Название: Re: Коммутатор на Arduino
Отправлено: morium от Июня 18, 2021, 04:00:04 pm
Начались ходовые испытания самодельного коммутатора на 1100. Первый выезд в город на работу и довольно-таки приятные ощущения от работы двигателя. Мотор прекрасно крутится до красной зоны, провалов нет, пропусков зажигания нет. График УОЗ настроил по нижнему графику, boost sensor пока не подключал, надо обкататься без него. В диапазоне 1000-2000 чувствуется нехватка опережения, нужно кривую УОЗ сделать покруче. Думаю с 1500 до 3000 сделать подъем с 8 градусов до 25 или 30, а дальше к 8000 оборотов до 40 или 48.

Что порадовало на данный момент - стабильность работы. Пока никаких зависаний, пропусков, провалов, чиханий и прочей хрени... А кривую УОЗ уже экспериментальным путем подгоню.
Очень важный момент - время подзаряда катушек не должно опускаться ниже 4 мс, с 3мс уже начинаются пропуски. В то же время, я старался не превышать время заряда больше 12 мс, дабы не перегревать катушки и не сжечь транзисторы. В такой конфигурации ни катушки, ни транзисторы не греются.


(http://i.{piccy}.info/i9/8937f0bcf659df51c0d5d8a3a747d6ce/1617168131/117838/1423266/36301Screenshot_44.png)