ARDUINO Блок опережения зажигания ДВС

ukr100

✩✩✩✩✩✩✩
5 Окт 2023
10
0
@user314, разрешите предложить пару моментов для оптимизации кода?
1. Можно объявить структуру и сразу ее инициализировать, примерно так:
А не затруднит вас пожалуйста объединить это всё в общий скетч, а то с написанием кода пока всё плохо...
 

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Если я,правильно понял,то вход,и выход-(первая,и вторая строка),надо в скетче прописывать свои пины,что имеются в ардуино нано.

@user314,Сделаю для своего варианта D2-(будет вход от оптодатчика),D3-(будет выход из ардуино нано на вход ВАЗ-овского коммутатора зажигания.
 

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@user314,Если я,правильно понял,то вход,и выход-(первая,и вторая строка),надо в скетче прописывать свои пины,что имеются в ардуино нано.
Да.

Ещё убедитесь сначала на стандартной схеме датчик-коммутатор, что искра образуется в моменте перехода "1"->"0" на датчике, иначе работать не будет, скетч для обратной ситуации я пока удалил, так как там выяснилось куча несоответствий.
 
  • Лойс +1
Реакции: UJV 5901

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Здравствуйте!!!,многоуважаемый!!!,Ваш скетч,я попробовал,правда пока не на мотороллере,я всё-таки решил скетч проверить на столе,на стенде,смотрел осциллографом импульсы,в общем осциллограф показал что опережение имеется,от 700 оборотов и до 4200 оборотов,далее просто обороты моторчик от магнитофона не набирает,это его максимум,моторчик от магнитофона вращает шторку-модулятор,шторка-модулятор ровно 60 градусов,шторка-модулятор вращается над оптопарой оптодатчика.Функция в Вашем скетче одной секунды отключения катушки зажигания,тоже работает как надо!!!.Импульсы правильные,работа Вашего скетча хорошая,как будет на мотороллере работать,пока сказать не могу,но начало положено.К коммутатору от ВАЗ 2108, ардуино нано ещё я пока не подключал,так как ещё я не понял как к нему подключить,напрямую или через резистор-(дабы не вывести из строя ардуино нано).Выводы ардуино нано D2 и D3,которые я задал в Вашем скетче,работают как надо!!!,D2-это вход от оптодатчика,D3-это выход на коммутатор ВАЗ 2108.На выводе D3,я смотрел выходные импульсы осциллографом.Ещё раз,Вам большое спасибо!!!.С уважением.
 

Газзель!!!

✩✩✩✩✩✩✩
22 Авг 2022
28
1
ДД! отличный проект!
я не знаком конкретно с вашим мотором но есть несколько общих пожеланий.
1. однозначно выкидывайте прерыватель механиечский, не придумывайте и не ищите там в механике простоты. возмите любой Датчик Холла, ваще любой, + виниловый магнитик на холодильник. отрежте ножницами от магнитика нужный размер и примотайте его изолентой к любому торчащему вращающемуся отрезку коленвала. дело секунд.невесомый, неизнашываемый, без дребезга совсем- смело сокращайте код, можете отрезать магнит какой угодно длины, хоть 1 градус, хоть 360 ( по умолчанию в автомотостроении во всем мире исползуется скважность 30/70) и наклеить его на любой УОЗ, хоть в ВМТ, хоть за 90градусов. только помните что на 4 тактном коленвал вращается ровно в 2 чаще быстрее чем распредвал и трамблер, тость на трамблер нужно наклеить 2 кусочка через 180 градусов. далее подключаете ДХ вместо GPIO к входу компараторов и получаете мощный инструмент настройки. Если наклеить отрезок 180 градусов, то всегда будем знать какая пара цилиндров на сжатии, если учтете программно и фронт и спад.
у нас магниты на холодильник кидают как рекламу в ящик бесплатно. в туристических лавках они по 100 руб, в ашане дикси по 10р. ДХ если не найдете, например от кулера, то новый в магазе 20-100руб+кондер на питание рубля 2.
если совсем ничего нет, то идете на помойку металолом и ищете там примерно 10 летний холодильник. у него датчик дверцы на ДХ, а главное внутри резинового уплотнителя дверей сйчас тоже стоит полоска винила! она намного толще (прим 2,5мм) сувенирного магнитика (0,5мм), а значит намного сильнее магнитит и зазор можно увеличить с 1мм до 3мм. поэтому лучше напрячся и вместо сувенироного магнита поискать рекламу на борт автомобиля, например магнитыне шашечки, и отрезат от них пару мм. также эти полоски используют в застежках липучах на одежде. кроме того эти ленты можно взять из сальников подшибника с АБС, или из репера ДПКВ. скорее всего в стиралках есть. если уж совсем никак то в леруа, магазинах магнитов, леонардо и где угодно 1метр ленты фирменого 3М стоит 500руб, хватит на дестяки моторов.
не сомневайтесь ни сколько ни долю секунды, избаляйтесь от прерывателя, какиебы помехи вы не подавили, точное положение коленвала и фазу прерывателем отловить невозможно физически, вы щас арудиной отлавливаете то что механически изначально гуляет.
Важное пояснение! виниловыые магниты полосатые, тоесть у них северные и южные полюсы - это чередующиеся полоски на всю длинну, примерно толщиной 2мм. тость если отрезаете сектор- то в длину, причем желателно чтоб и южный и севреный полюс захватились. если вдруг удумаете делать самодельный репер -то в ширину получите с сувенирного магнита 28 полосок, тость 14 зубов простым ДХ или 28зубов если продвинутым.
поэтому нужно также короткое пояснение по видам цифровых дискретных ДХ:
а.униполярный - замыкает на землю при приближении южного полюса и размыкает без магнита в воздухе и/или на северном полюсе.
б. биполярный - замыкает на землю при приближении южного полюса и размыкает только на северном полюсе, в воздухе без магнита оставлять нельзя.
в. омниполярный - замыкает на землю при приближениии любого полюса и размыкает в воздухе без магнита.

соответсвенно 90% ДХ это униполярные, достаточно одного отрезка магнита, и поймать ДХ над южной полоской. биполярный (Latch) самый помехо защищенный, на 146%, если только молния в него не ударит, можно еще диференциалный ДХ за 500р взять против молнии, но нужно чередовать кусочки повернутых задом на перед магнитов. омниполярный самый простой. например чуствительный 7Гаусс омниполярный SM351RT/ SM353R/ SM451RT/ SM453RT дает зазор 4мм, это любой самый раздолбаный и восьмерящий вал можно использовать, но и болше всего помех словит.

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

2. если у кого плохо работает коммутатор то я уже писал, общий стандарт это скважности на входе 70-30. в реалии коммутаторы срабатывают и по намного более короткому ипульсу, но всеже не от искры, несколько милисекунд сигнал нужно подержать. Например при 6000обмин=100герц, один оборот за 0,01 сек. соответвенно скважность сигнала получается 0,003секунды.

3. датчик нагрузки в виде датчика давления воздуха ДАД на 2 тактниках и на 1-2 цилиндрах сильно пульсирует, лучше заменить его на потенциометр дроселя.
 
  • Лойс +1
Реакции: BOT_Zilla

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@UJV 5901,

Проверьте ещё один скетч, там решена проблема первых импульсов, первые5 импульсов просто повторяют данные с датчика (их количество устанавливается константой SKIP), у меня теперь двагатель заводится с полтычка.
 
  • Лойс +1
Реакции: UJV 5901

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@Газзель!!!,

Спасибо за развёрнутый ответ. Вот тут я уже перешёл на оптодатчик. Оптодатчик был выбран из соображения, что генератор обладает сильным магнитным полем, проверять я конечно же не стал, но решил сразу использовать оптодатчик.

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

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

Мотор двухтактный совковый, так что никаких ДАД там нет, хотя было бы интересно, как можно приделать его к карбюратору К65 и нужно ли это вообще? Однако, "умники" заявляют, что на двухтактных моторах и ФУОЗ бесполезен, но я считаю, что это либо люди которые что-то неправильно сделали, либо вообще не пробовали.

Даже "жопомер" сразу отмечает резвость мотора при прочих равных условиях при подъёме на гору.

Когда я делал ФУОЗ, то делал его с мыслью, что он ничего не даст, и если ничего не даст, то перейду на фиксированное опережение. И был удивлён! Поэтому решил продолжить, отказом от прерывателя и продолжением совершенствования скетча.
 
  • Лойс +1
Реакции: UJV 5901

Газзель!!!

✩✩✩✩✩✩✩
22 Авг 2022
28
1
ДД!

у меня 4т4ц, поэтому не подскажу, факт что ДАД для 2т в инете ругают и переходят на потенциометр, так называемый Alpha-N. можно почитать на форуме secu-3

Нащет опто датчика, почти все их ругают по всем характеристикам, медленные, Т нестабильные, фронты плавают. но моя мысль другая, главное что для оптодатчика нужноизготваливать шторку, кронштейн и главное место куда крепить, а магнитовинил можно в любой комбинации примотать где удобно.
против магнитынх помех борьба простая, не использовать чутвительный датчик тиаа АРМ- ГМР, а на холл эффект, там стандартные на 50-100 гаусс норм, но тогда уменшается зазор с магнитом, гдето до 1мм. у датчика внутри уже гистериз на магнитное поле, тость он может внутри магнитного поля работать, реагирует на уровень изменения, а помеху в проводке можно гистеризом на входе компараторов атмеги настроить. или отказаться от халявности, купить дифференциальный ДХ за тыщу, но его нужно чуть точнее выставля, там зона движения магнита на переключения около2мм. хотя ничто не мешает сесть Вам на шею и попросить сделать в скече поддержку подключения 2 халявных ДХ, тогда независимо от помех сигнал будет по последователности переключения ДХ, тк помеха одинаково действет на 2 ДХ одновременно.
ну и общие вопросы помех, почему никто не пользыет готовую арудину- вопрос правильной земли, соединение земель, разделение земли и плюса питания от датчиков, разводка стабилитрона, герметизация кварца, защита портов от замыкания, нерешаемая проблема со штекрами, экран проводки от датчика нужно соединять на общую цепь схемы, что в ардуине негде. кстати рябь может быть и от провода. хотябы бутерброт с шилд он, как на RUS EFI

оч жду продолжение проекта для 4ц с поддержой магнита но коленвале 180градусов, чтоб выкинуть трамблер. такой поддержки щас ни у кого нет. я сам собрался на PIC сделать в итоге вместо этого углубился в подробности, ушел в дебри и застрял. я нашел на PIC 16F1619 или 1615 готовую аппаратную поддержку угловых датчиков, включая поддержку пропущеных зубов. они есть в виде ардуино распаяные Curiosity Development Board типа dm164xxx, на ассембле можно былобы тоже в 100 строк уложиться но пока думал, они в свзи с известными событиями подорожали в 5 раз, вот я и бросил... смотрю на Вас и завидую, удачи!
 

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@Газзель!!!,
Насчёт гистерезиса вы правильно подметили, именно его нет в моём оптодатчике. Попытки приделать компаратор lm393 ни к чему не привели, компаратор от бортовой 12 вольт сгорает после нескольких искроподач. От пяти вольт схема усложняется стабилизатором и всё равно что-то не то, хреново работает. Не стал разбираться, чем проще схема - тем лучше.

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

Я пока незнаю, с чем столкнусь при проэктировке для 4Т, у меня его нет и неизвестно будет ли, но подозреваю, что если вешать датчик на К/В и так же считать обороты, то отличий не будет (это я сейчас про мотоциклетный двигатель, про автомобильный вообще незнаю). Просто подавать искру перед каждым ВМТ, как это делают в CDI зажигании на 4Т скутерах, а то что он там в режиме рабочего хода - так вроде пофиг же?

Касательно ДХ, как-то я посмотрел на них, и решил что оптодатчики мне ближе по радиолюбительской практике, чем ДХ. А вот два ДХ датчика для помехостойкости, возможно это тема.

Ну, а про ардуину, я уже давно от них отъехал, потому что есть esp8266, стоят копейки, да, у них ограниченные аппаратные возможности, по типу отсутствия портов с ШИМ, но мне это вообще не нужно было за всё время использования в различных самоделках. В довесок есть WIFI и возможность соединять устройства между собой по воздуху, по началу я даже Serial Port считывал путём подключения с телефона к вафле.
 
Изменено:

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
Сейчас почитал про эти ДАДы и CO-потенциометры, на 2Т двигателе это надо чтобы имелась возможность электронно регулировать винт качества смеси, потом обязательно нужен династенд и газоанализатор чтобы всё это настроить, короче говоря это пока что мимо меня. Вот это уже на мой взгляд оверхед усложнение ради стабильности холостого хода, 2Т техника и так создана быть простой, чтобы её так усложнять.

Вот для меня представляет интерес датчик детонации, или в простейшем случае датчик вибрации, чтобы взлянуть на числа, с другой стороны ukr100 говорил где-то, что на 2Т двигателях слишком большая вибрация, чтобы её измерить в относительных числах, но мне всё равно хотелось бы взглянуть.
 
Изменено:

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Здравствуйте!,спасибо!,Вам большое!.Есть вопрос к Вам,оптодатчик у меня импульсы прямоугольные практически ровные выдаёт,такие-же импульсы и на выходе ардуино нано,но есть одно но,с выхода ардуино нано,прямоугольные импульсы приобретают иголки,в верх и низ-(они "выстреливают"),эти иголки от 0.5-3 Вольт,иголки хаотичные,частые,на выходе оптодатчика иголок вообще нет,импульсы проверял цифровым осциллографом,я подумал что может блок питания линейный он подключен в сеть 220 Вольт,такие иголки создаёт на выходе ардуино нано.И тогда я решил всю схему оптодатчик и ардуино нано,к аккумулятору подключить,чтобы исключить иголки,но ардуино нано менее чем за одну минуту раскалилась,как"сковорода на печке",запах гари появился,я пальцами схватился за ардуино нано,и сразу же пальцы обжог,тогда я быстренько,отключил ардуино нано от аккумулятора,дал остыть ардуино нано,провёл измерения радиоэлементов в ардуино нано,в общем,стабилизатор пятивольтовый вышел из строя,микроконтроллер тоже вышел из строя,микросхема 340-вая,тоже,светодиоды на плате ардуино нано тоже перегорели,кое какая обвязка уцелела,в общем ардуино нано "умерла"безвозвратно.На клеммах аккумулятора было напряжение 12.81 Вольт,это напряжение было подано на VIN ардуино нано,за день до этого,минут 25 ардуино нано работала при ровно 12.00 Вольтах,от блока питания,и ардуино нано не перегорела,а вот при 12.81 Вольт от аккумулятора,увы не выдержала,менее чем за минуту перегорела,причём я даже не успел осциллограф подключить на выход ардуино нано,чтобы импульсы проверить,точнее проверить исчезли ли иголки в импульсах.Ардуино нано,раньше сгорела,чем я успел подключить осциллограф.Вот как то так.С уважением.
 

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@UJV 5901,
Вообще не рекомендую подавать на VIN больше 9 вольт. Касательно иголок точно сказать не могу, у меня на осциллографе они появляются когда паяльник Т100 включен в сеть :LOL: В остальном не замечал

На тестах я запитываю плату от power bank через USB разъём
 
  • Лойс +1
Реакции: UJV 5901

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Паяльник на тот момент у меня не был полностью обесточен,и других приборов подключено не было,если эти иголки не будут негативно влиять на работу двигателя,то пусть себе там будут присутствовать.Да,Вы полностью правы,что больше 9-ти Вольт на VIN не стоит подавать,просто в сети интернет информация присутствует,что можно на VIN ардуино нано подавать от 6-20 Вольт,это на ОЗОН-е продают ардуино нано,и пишут параметры входного напряжения,так что,я на это понадеялся,и прогадал.С уважением.
 

Газзель!!!

✩✩✩✩✩✩✩
22 Авг 2022
28
1
lm393 обычно и используют, включая ДХ и индуктивные датчики. но его хоть мимниально но всеравно нужно обесить расыпухой, развести по рефренцу, разместить на общеей плате с общим питанием с атмегой, сильно близко к ножке а не на датчике, и тп и тд. поэтому лучше внутрений компаратор. но если замкнет то погорит чегонить.
трамблер крутится через колено либо шестеренкой или цепю, погрешность в 1градус на трамблере ранва 2 градусам на колене, это только внути трамблера. а еще каждое звено цепи, и каждая шестеренка, у них тоже люфт, статический и динамический. когда на выключеном моторе высталяешь метки и крутишь рукой колено, то цепь натягивается и все люфты выбираются, как мотор начинает крутится, то все эти люфты пляшут, поэтому уже лет 20 все авто, включая жигули, имеют точный датчик толко на колене. датчик детонации должен еще учитывать люфты во вкладышах. допустим нам удалось удалить все люфты, наприм если прерываетль прям на коленвале прикрутить (скорее всего у Вас так на 2т 1ц), то механический прерыватель никак не даст точное положение коленвала. не потому что он искрит или помехи, просто механически эта конструкция по законам физики не может быть точной, пружинка, вес, температура, износ.

но дело даже не в этом, преимущество даже не программе или свойстве сигнала, а то что магнит и ДХ будут работать сразу на изоленте! я раритетами увекаюсь, часто продавец требует срочно вывезти с парковки авто с разоренным моторм и не разрешает работать, там трамблера часто ваще нет, например потому что внутри мотора слизало звездочку и его нечем крутить, и требуется капиталка. в этом случае можно принести ссобой в кармане двойную катушку и арудуину и маленьктй акку, мгновенно наклеить изолентой магнит и езжай, ни с опто, ни с индуктивным так не получится. мне это было б важно, да и много кому, потому что 99% народа не хотят переходить на электронику именно иза необходимости в слесарных токраных работах, да еще мотор портить. магнитовинил решает эту проблему. собсно винил последние лет 15 и так используется всеми, от мерса до ситроена, ну кроме фв и японок, бутилкаучук, акрилвинил и тп, только там репер из 120 магнитных полей и требует точности. более того, эти м винилы плавают в масле внутри мотора.

для 4ц действительно все тоже самое, только крутящийся трамблер сдвигет бегунок к нужному цилиндру . если оставить тармблер, то можно использовать Ваш код прям щас. но вся ценность в том чтоб избавится от трамблера и получить точную и мощную искру от прямого соединения катушки со свечой. для этого просто учитывается, что когда 1и 4 цилиндры наверху в ВМТ, то 2и3 цилиндры внизу в нмт. соответвенно если приклеить в центр коленвала магнит, то он крутится и поочереди - когда 1и4 поршень идет вверх а 2и3 вниз замыкает дх, а когда 1и4 идуут вниз а 2и3 вверх, то размыкает ДХ. таким образом и по началу и по окончанию сигнала мы имеем точку отсчета для УОЗ+знаем какая пара цилиндров поджигается. но для этого нужна программная поддержка получения сигнал и по фронту и по спаду. почему никто так не делал и нет поодержки у других разработчиков? потому что приклеить магнит на колено просто негде, кроме того у железного магнита свои свойства и к железному колену его тоже не прикрепить. а когда появился винил, все уже перешли на 60-2. поэтому например у меня на мерсе 98года на маховике приклеен маленкий магнитик сбоку на наружнем радиусе маховика, и он дает только короткий импульс для начала отсчета, нужно ловит и обрбатывать сигнал, считать помехи и тп. с винилом тупо есть фронт и сад, всё! для 3 и 6 цилиндров так не получится, только для 2-4-8ц, иначе нужно немного усложнить конструкцию.

про Датчик Детонации. на старых моторах он совсем бесполезен и даже вреден. вспомните, одно время продавались коммутаторы типа силыч и тп, где максимальный уоз уменьшался пока не продадут стуки, а датчик вешали на алюминевый коллектор. сколько моторов тогда прогорело или тупо износилось. например у меня мерс 79 года, они уже сделали на моторе отливки по ребру цилиндра для датчика, но стали их ставить только через 10 лет силно модернизировав мотор. модернизация состоит из двух частей, наружний шум всего мотора и внутренний звуковой шум от днища поршня. наружний шум это гидрики, цепь, материал крепежа, например выхлопной, резиновые сайленты навесного, гидроподушки мотора и тп и тд. внутрений шум это прежде всего шкив с резиновым демпфером, переход с клинового на полиручейковый ремень, разработка натяжителя с демпфером, и даже кардан. можно переделать весь мотор , но вот они еще переделали форму камеры сгорания и поршни, это как поменять? далее на заводе с многомиленным оборудованием на конкретной модели мотора выжеляются шумы детонации и ложные, без этого датчик будет показывать кучу шумов, но что из них детонация не отличите.
для ардуинщиков с датчиком детонации еще проще, это условно микрофон, и подключить его нарямую к ардуине невозможно никаким скетчем. датчик подключается через специализированную микросхему, которая выдает комбинацию сигналов для дальнейшей программной обработки. чип мало того что дорогаой, так его еще сильно распаять нада. собственно все. надеюсь убедил и не будете тратить время и силы на детонацию. подключите его через компаратор к усилку и в нашниках настройте один раз мотор, потом выкинтье его и все. но и тут проблема, качество датчиков в магазе сегодня болшая проблемма, вплоть просто до фейка, пустого корпуса с замкнутым проводом. а уж материал болта для крепления датчика уже всем простили. детонацию не нужно допускать, а не слушать. когда вы услышали детонаицию, то она уже случилась. поэтому это предохранитель. ну подумайте, какой алгоритм для детонации? ну услышали вы его, далее изменили уоз, сохранили в епром, сразу или на второй раз, и далее при каждом новом пуске мотора после прогрева, отсутсвии ошибок будете проверять после прогрева+10км, есть ли детонация на разгоне? нет ее= вернули УОЗ обратно, а она опять проскочила. в итоге мотор будет всегда задушен а причина детонации так и останется. так вот не вдаваясь во все подробности, есть основные причины детонации, ранний уоз и бедная смесь, ну или неправильная смесь, с грязным воздухом и тп. если уоз раний, то алгоритм его уменшит. а вот если смесь бедная, то уоз нужно сильно увеличивать, а алгоритм то причину не унает. а если бракованые свечи каленые, то изменение УОЗ не поможет, и никогда не поймете, че происходит при вмешателстве алгоритма.
лучше пустить силы на трехпозиционный концевик дросселя. закрытый дроссель замкнут на земле 0, полностью открытый замкнут на подтяжку+, в промежутке High-Z. Два варианта реализации. Простой это через свободный АДЦ, на него вешается делитель напряжения, когда концевик разомкнут в воздухе, на АДЦ будет 2,5вольт, соответвенно концевик замкнут на землю то 0вольт, когда замкнут на поддтяжку то 5вольт. вот только чтоб получить 5 вольт на делителе при подтяже , надо подумать хорошо, тк если земля между клеммой акку и ардуиной с делителем будет разная, то по логике худшем случае разница потенциалов может быть 12-2,5вольта, = 9,5 вольт. поэтому от акку нужно давать не все 12в а тоже через делитель и тоже чистую землю. но проблема в жизни что бортовое напряжение пляшет от 10 до 14,5вольт, а бывает что и от 9 до 17. Соответственно алгоритм должен брать диапазон напряжения от 2,5 до некой границы, нужно посчитать. можно использовать вход компаратора, он по идее должен много выдерживать, но его жалко на это тратить. Далее если разработчик входит во вкус, что портов АДЦ становится не хватать. Поэтому вижу сложный способ. использовать обычный дискретный GPIO и постоянно опрашивать концевик. скорость переключения не так важна, если делать это раз в полсекунды, мотор это не заметит. Тогда алгоритм такой, сравнивать бит в регистре порта и регистре защелки. примерно так, отключаем подтяжку, записываем в 1или 0 по очереди, и читаем его, теперь в ключаем подтяжку и повторяем. если бит меняется подтяжкой, то значит HighZ. Если бит не меняется чего бы с ним неделали, значит на нем есть сигнал. получаем 3 положения дроселя с одного входа. вот что былобы полезно придумать вместо детонации.
Удачи, еще раз спасибо автору!

зы, прочитал себя, ужас сколько ошибок. извините, много настрочил в попыхах
 
Изменено:

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314, Здравствуйте!!!,вот фотография,импульсы с выхода оптодатчика,соответственно эти-же импульсы на входе ардуино нано.С уважением.

@user314,Вот фотографии импульсов с выхода ардуино нано,в ардуино нано "залил"Ваш самый новый скетч Вашего ФУОЗ-а.Вот про эти импульсные "иголки",я Вам сообщал ранее.Ардуино нано уже другая исправная-(была у меня запасная).Питание на схему оптодатчика и ардуино нано,подал от аккумулятора 12-ти Вольтового,на оптодатчик пошло напряжение 12,81 Вольт,на ардуино нано,пошло ровно 5.00 Вольт,через КРЕН5А.С уважением.2024-11-29_13-15-58.png2024-11-29_13-19-38.png2024-11-29_13-24-16.png2024-11-29_13-23-47.png2024-11-29_13-22-58.png2024-11-29_13-15-58.png2024-11-29_13-19-38.png2024-11-29_13-24-16.png2024-11-29_13-23-47.png2024-11-29_13-22-58.png
 

Вложения

Изменено:

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@UJV 5901, у меня такого не наблюдается на esp. Есть одна плата arduino nano, попозже проверю

@UJV 5901,

IMG_20241129_172641_.jpg

У меня что на входе, что на выходе, одинаково. Это я подаю меандр с генератора сигналов.
 
  • Лойс +1
Реакции: UJV 5901

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Здравствуйте!,спасибо!,Вам большое!,за Ваш ответ!.Вчера я,собрал стенд,чтобы проверить стробоскопом,как опережение работает,выяснил что,опережение,выходит во все не опережение,а запаздывание,точнее сказать,при увеличении оборотов,шторка-модулятор под свечением стробоскопа уходит в позднее зажигание,чем выше обороты,тем позднее получается зажигание,а должно быть с точностью наоборот,должно быть опережение,а не запаздывание зажигания.Ещё одно заметил,то что на малых оборотах,шторка-модулятор чётко перекрывает половину оптопары оптодатчика,но стоит увеличить не много обороты,то шторка-модулятор резко скачком перемещается на 15 градусов в позднее зажигание,и при дальнейшем увеличении оборотов,шторка-модулятор перемещается еще больше в позднее зажигание,на максимальных оборотах позднее зажигание достигает примерно 33 градусов,проверял всё тем-же моторчиком от магнитофона,и стробоскопом.В общем если сказать проще,то Ваш,и мой двигатель,имеют левое вращение крыльчатки-(это против часовой стрелки),при автоматическом регулировании опережения зажигания,шторка-модулятор при увеличении оборотов двигателя,должна перемещаться в право,то есть по часовой стрелке,таким образом достигается опережение зажигания,и это всё должно происходить до ВМТ-(Верхней Мёртвой Точки),а с самой новой-последней прошивкой,работа ФУОЗ-а происходит наоборот,после ВМТ,и не опережает,а наоборот ещё позднее зажигание делает,с увеличением оборотов,и шторка-модулятор перемещается по ходу вращения крыльчатки,то есть в лево.Я,сначала осциллографом смотрел импульсы,и увидел что импульсы,при увеличении оборотов вместо того чтобы становится в mS короче чем на выходе с оптодатчика,импульсы становятся длиннее,это на выходе с ардуино,на выходе оптодатчика,импульсы как и положено сокращались-естественно без опережения,ФУОЗ должен был сокращать выходные импульсы быстрее чем это делает оптодатчик,таким образом достигается опережение зажигания,я понял что такая работа ФУОЗ-а не должна быть,и поэтому собрал стенд и стробоскопом проверил что на самом деле творится с опережением,оказалось,что осциллограф был прав.Вот как то так.С уважением.
 
Изменено:

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@UJV 5901,
Я ориентируюсь на осциллограммы, а не на стробоскоп. Выше я показал как это работает (к сожалению дисплей осциллографа повреждён), красный луч это вход, жёлтый луч это выход, отключение выхода происходит задолго до отключения входа. Здесь полномочия скетча как говорится "ВСЁ, окончены." Всё остальное зависит от вашего датчика и того, как реализуется его входная/выходная логика. Лучше повесьте один луч на вход, а второй луч на выход и покажите осциллограммы.

Так же, Я ПРОШУ ОБРАТИТЬ ОСОБОЕ ВНИМАНИЕ, что я не использую тот скетч, который у вас, у меня логика всего устройтва создана для управления IGBT транзистором, который управляет катушкой зажигания, а не коммутатором, поэтому я не могу до конца понимать как это сделано у вас. Я точно могу ручаться только за скетчи из этого поста, которые написаны специально для самодельного коммутатора и самодельного датчика, не более.

Скетчи из вот этого поста, являются лишь моими догадками о вашей конфигурации и если вы покажете осциллограммы, то возможно, понять что нужно изменить станет проще.
 
Изменено:
  • Лойс +1
Реакции: UJV 5901

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Да,у Вас правильная осциллограмма,так как другой скетч применён,вижу у Вас так-же иголочки присутствуют на осциллограмме,что на входе,что на выходе,у меня только на выходе ардуино нано,с оптодатчика,иголок нет совсем,но это ладно,как видимо,эти иголки не влияют на работу опережения зажигания,про них пока забудем.У меня осциллограф одноканальный,карманный FNIRSI 1C 15,в нём можно конечно "заморозку"изображения импульсов сделать,но я замеры делал так,сначала ко входу ардуино нано подключаю щуп осциллографа,записываю длительность импульса входного,далее щуп перекидываю на выход ардуино нано,и длительность выходного импульса записываю,итак на разных частотах вращения шторки-модулятора,таким образом я увидел что идёт не опережение,а на оборот запаздывание зажигания.Предыдущий скетч что был залит мною в ардуино нано-(которая вышла из строя) импульсы показывал так что видно было,что присутствует,именно опережение,а не запаздывание зажигания,но тот предыдущий скетч я пока ещё не проверял стробоскопом,постараюсь завтра проверить,и если что,то предыдущий скетч оставлю.Сейчас предыдущий скетч "залью"в запасную ардуино нано.С уважением.

@user314,Вот этот скетч,я использовал,вот он и показал что идёт запаздывание,а не опережение зажигания.АРДУИНО ФУОЗ.30 НОЯБРЯ..png
 

user314

★✩✩✩✩✩✩
26 Апр 2022
46
42
@UJV 5901,
Чтобы понять, что происходит, нужно сравнивать вход и выход.
Максимум, что можно с этим сделать, это менять строки 110, 111, 124,125,139,147 и 151 именно в этих строках происходит обработка датчика и подача сигнала на выход. Строки 110 и 124 отвечают за то, в каком логическом положении находится датчик, а всё остальное перечисленное это про то когда включать/выключать катушку.

Но это всё блуждания во тьме.

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

1:
C++:
void setup() {
  pinMode(1, OUTPUT);
  pinMode(0, INPUT);
}

void loop() {
  digitalWrite(1, !digitalRead(0));
}
2:
C++:
void setup() {
  pinMode(1, OUTPUT);
  pinMode(0, INPUT);
}

void loop() {
  digitalWrite(1, digitalRead(0));
}
Если логика инверсная, то правильную картину покажет первый скетч, если прямая, то второй. Как-то так.
 
  • Лойс +1
Реакции: UJV 5901

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Здравствуйте!,спасибо Вам большое!!!,за Ваш ответ!!!.Вот скриншот скетча который я вчера вечером "залил" в ардуино нано,вот этот скетч работает правильно,опережение идёт в нужном,и правильном направлении,проверил я вчера вечером стробоскопом,но есть одно но,из за "бешенного"шквала помех от высоковольтной части системы зажигания,ардуино нано,работает с "бешенными" перебоями,искра в свече зажигания проскакивает с перебоями,хаотично,и с пропусками-(то есть искра просто временами кратковременно пропадает),поэтому мне не удалось выяснить насколько чётко работает ФУОЗ,но а так видно что шторка-модулятор с увеличением оборотов перемещается в сторону опережения,просто ардуино нано у меня длинными проводками подсоединена,эти проводки как антенны,шквал электромагнитных помех,от высоковольтной части системы зажигания принимают,поэтому своеобразная"каша"получается,в работе системы зажигания,в общем,всё необходимо экранировать,и далее смотреть,как работает ФУОЗ,на самом деле.С уважением.2024-12-01_13-34-50.png
 

UJV 5901

✩✩✩✩✩✩✩
25 Мар 2024
19
0
@user314,Экранирование произвёл,помехи полностью ушли,зажигание заработало нормально,без пропусков,и без хаотичной работы зажигания.Экранирование произвёл,высоковольтной части системы зажигания.Экранирование ардуино нано,и оптодатчика,и их соединительных проводов,я не произвёл пока,но и без такого дополнительного экранирования проводов оптодатчика и ардуино нано,система зажигания работает как надо,вот только стробоскопом уже не проверить,экранировка не даёт этого сделать.Но я,ещё раз проверил осциллографом,импульсы на входе ардуино нано,и на её выходе,импульсы опережения имеются,импульсы довольно нормальные,иголочки на выходных импульсах так же имеются,они ни куда не ушли,но я думаю они на работу ни как не скажутся.В общем,надо будет проверять ФУОЗ,на реальном двигателе.С уважением.