Page 2 of 4

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 8:26 pm
by denisvak
Просто прежде чем писать кучу умных слов и их сочетаний, стоит в первую очередь их переварить самому... :) и уж тем более внимательно читать что пишут другие, а то вы сарказм от стёба отличить не можете, про дельные вопросы тем более промолчу. Вам их задали с избытком....учитывая что вы написали в первых постах этого топика.....тишина...но ура, зато теперь разобрались с фазностью датчика, хотя это уже где-то на этом форуме разобрали по косточкам.

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 8:38 pm
by Voitila
denisvak wrote:Просто прежде чем писать кучу умных слов и их сочетаний, стоит в первую очередь их переварить самому... :) и уж тем более внимательно читать что пишут другие, а то вы сарказм от стёба отличить не можете, про дельные вопросы тем более промолчу. Вам их задали с избытком....учитывая что вы написали в первых постах этого топика.....тишина...но ура, зато теперь разобрались с фазностью датчика, хотя это уже где-то на этом форуме разобрали по косточкам.
Ну и славно.. :)

Re: ECar - универсальный ECU

Posted: Fri Jul 03, 2015 11:33 pm
by Maxi
denisvak wrote:и получаешь косяк если вдруг перепутали полярность ДПКВ....посмотрите осциллограмму после преобразования сигнала и поймете почему...
не получаешь косяк.
если вдруг перепутали полярность дпкв нормальная система просто не заводится!

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 5:18 am
by Maxi
Не вижу смысла мерить ускорение на каждом зубе. Если нужен вклад цилиндров достаточно померить по 4 сегмента 180пкв связанные с рабочими ходами.. И даже за этим надо ставить очень серьезную статистику. на одном зубе будут только шумы от дифференцирования.

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 7:04 am
by Voitila
Maxi wrote:Не вижу смысла мерить ускорение на каждом зубе. Если нужен вклад цилиндров достаточно померить по 4 сегмента 180пкв связанные с рабочими ходами.. И даже за этим надо ставить очень серьезную статистику. на одном зубе будут только шумы от дифференцирования.
Статистику собираю на 4 сегментах до ВМТ, и на 8 после. А на каждом зубе мерится в фоне. Мерится и мерится.. Ничего ж не стоит..

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 8:25 am
by Maxi
допуски на неравномерность фронта у нас ни как у боша. колесо криво нарезано и бьет. поэтому каждый зуб мерить никакого смысла нет.
я мерию через 3 зуба чтоб не видеть дырку - но это тоже плохо потому что после дырки регулировка порога компаратора на лм1815 уходит.

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 8:59 am
by Voitila
Maxi wrote:я мерию через 3 зуба чтоб не видеть дырку - но это тоже плохо потому что после дырки регулировка порога компаратора на лм1815 уходит.
Т.е. после дырки, период замеряется с ошибкой в минус? Я наблюдал такой момент, на равномерном вращении, на втором зубе период несколько выбивается из ряда ожидаемых значений.. Это значит компаратор на дырке расколбашивает, получается..

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 1:26 pm
by Maxi
естественно он же адаптивный и точка определения перехода через 0 смещена. ошибка еще и крутизной фронта определяется. поэтому смысла гонятся за каждым зубом вообще нет. к тому же на нормальной машине есть еще и чудовищные рывки при переключении трансмиссии и изменения нагрузки при демпфировании - и все это тоже идет на шкив КВ.

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 1:38 pm
by AndreyB
Voitila wrote: Вы тоже думаете, что я слишком крут? Простите и вы меня.. :)
Мужики... Ну что за атмосфера.. Какая то болезненно обидчивая.. Озлобленность что ли какая то.. Мыж просто общаемся, обсуждаем офигенно интересные вещи. Смотрите, сколько интересных людей собралось в одном месте. Каждый что то делает, что то получается. Какая концентрация творческой энергии.. Пусть она будет позитивной.
Всем мир. Извиняйте, если кого-то ненароком обидел.
Давай попробуем заново :) Я пытался попросить тебя поделиться твоим опытом и добавить немного конкретных цифр. Будет здорово, если ты сможешь поделиться своим опытом и расскажешь немного конкретных цифр.
А можно вот всё это в девять раз подробнее? :) Графики, цифры, аналитику и личные выводы :)
например насколько различается мгновенная скорость в рамках одного оборота по твоим замерам? какая она в зависимости от чего - какие конкретно цифры ты наблюдал, к каким цифрам стремился и так далее?
детали КАК сделать предлагаю сейчас опустить, мне лично сейчас интересно ЧТО можно сделать - какие замеры внутри оборота как можно привязать к какой стратегии управления УОЗ.

Re: ECar - универсальный ECU

Posted: Sat Jul 04, 2015 7:40 pm
by Voitila
russian wrote:Давай попробуем заново :) Я пытался попросить тебя поделиться твоим опытом и добавить немного конкретных цифр. Будет здорово, если ты сможешь поделиться своим опытом и расскажешь немного конкретных цифр.
детали КАК сделать предлагаю сейчас опустить, мне лично сейчас интересно ЧТО можно сделать - какие замеры внутри оборота как можно привязать к какой стратегии управления УОЗ.
Ок. Я завсегда за мир.. Жму руку.. :-)
Вобщем, если измерить сумму межзубных периодов, до вмт и сумму после, (я измеряю по 8 до, по 8 после), а потом вторую сумму разделить на первую, то можно получить некий коэффициент. Я называю его фактор нагрузки, по сути так оно и есть.
Когда у вас хх к примеру, т.е. вращение кв достаточно равномерно, это число болтается в пределах 1. Когда к кв начинает прикладываться нагрузка, фактор начинает расти, от 1 и до 1,2 приблизительно, зависит от движка. При пропусках искры, фактор наоборот стремится к 0,9.
Потом мне пришла в голову мысль, что учитывая этот фактор, можно как то корректировать уоз. Я долго шаманил с кодом, честно, даже не помню уже всех перипетий (3 года назад это было), но в конечном итоге, получилось следующее. Я взял формулу расчета уоз от оборотов на хх, и прямо на лету рассчитывал угол для каждого цилиндра. Т.е. угол от оборотов есть. Теперь надо было как то учесть нагрузку.
Был такой проект, зажигание Михайлова. Реализация достаточно сомнительная, не знаю, не сталкивался, не буду комментировать. Но сама идея мне показалась интересной. Я решил попробовать адаптивно подстраивать уоз под нагрузку. А поскольку снимать нагрузку с кв я уже умел, то решил попробовать увязать это дело в работающую систему.
При увеличении фактора нагрузки с кв, я плавно уменьшал уоз, и по мере устаканивания фактора, возвращал его также плавно к расчетному от rpm.
В конечном итоге, получилась очень интересная работа на низах. Я трогался на разогретой машине с третьей передачи, заезжал на бордюр почти без подгазовки, плавненько катился в пробке на эстакаде в горку, на одном сцеплении. Очень, такое, интересное ощущение инжектора, на карбюраторной машине. Потом я это дело немного забросил, занимался другими проектами. Там можно было много чего еще пооптимизировать.
Так и ездит она до сих пор, на формуле (без таблиц), и с двумя датчиками, дпкв и дтож :-) :-)
Если у кого есть желание, приезжайте в гости, прокатимся.. :-)

Re: ECar - универсальный ECU

Posted: Mon Jul 06, 2015 8:03 am
by Maxi
Интересный случай но никакой адаптивности в нем нет.
Это просто другой метод определения нагрузки но управление то по сути идет по модели с прямой связью.

Re: ECar - универсальный ECU

Posted: Mon Jul 06, 2015 10:57 am
by Voitila
Maxi wrote:Интересный случай но никакой адаптивности в нем нет.
Это просто другой метод определения нагрузки но управление то по сути идет по модели с прямой связью.
Не, адаптивности нет. В общем да, метод определения нагрузки, с дополнительными возможностями анализа движения поршня, в окрестностях вмт.

Re: ECar - универсальный ECU

Posted: Mon Jul 06, 2015 9:35 pm
by AndreyB
Voitila wrote: Когда у вас хх к примеру, т.е. вращение кв достаточно равномерно, это число болтается в пределах 1. Когда к кв начинает прикладываться нагрузка, фактор начинает расти, от 1 и до 1,2 приблизительно, зависит от движка. При пропусках искры, фактор наоборот стремится к 0,9.
спасибо!

Re: ECar - универсальный ECU

Posted: Mon Jul 06, 2015 10:23 pm
by denisvak
Поэксперементируем над этим :) Спасибо.

Re: ECar - универсальный ECU

Posted: Tue Jul 07, 2015 7:08 pm
by Maxi
Да надо попролбовать мне тоже интересно что с этого можно вытянуть...

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 5:15 pm
by denisvak
Сделал сегодня подобный опыт. 0.99-1 других цыфирь я не увидел, брал время пролета 8ми зубов до ВМТ и 8 после. И вообще ему было без разницы какая там нагрузка и обороты. Но это на роторном моторе.

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 8:33 pm
by Voitila
denisvak wrote:Сделал сегодня подобный опыт. 0.99-1 других цыфирь я не увидел, брал время пролета 8ми зубов до ВМТ и 8 после. И вообще ему было без разницы какая там нагрузка и обороты. Но это на роторном моторе.
На 1000 rpm, таймер кранковый сколько период натикивает? Шкив 60-2?
И точки входа в эти два измерения тоже надо подбирать. Глянул в код, у меня 1вход сдвинут до ВМТ на 7 зубов (т.е. период имерения заканчивается за 7 зубов до ВМТ). 2 вход начинается с ВМТ. А лучше логи снять позубно, и посмотреть, что конкретно на вашем движке творится в окресностях ВМТ.

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 8:48 pm
by denisvak
при 1000 натикивает 2800.
Да, допишу завтра поиграю ещё :)

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 9:33 pm
by Voitila
denisvak wrote:при 1000 натикивает 2800.
Да, допишу завтра поиграю ещё :)
У меня на 1000 rpm - 36000 тиков. И соотношение 1,05 - 1,075, это уже приличная такая величина, рабочая. 1,2 это практически экстремальный максимум. Еще видимо от мощности движка зависит. Может быть, чем менее мощный движок, тем больше его колбасит после искры, и тем больше он замедляется на подходе к ВМТ. И от количества цилиндров тоже наверное зависит... Много разных факторов, получается.. Вобщем с логов надо начинать, и анализировать. Моторы все разные.
З.Ы. Интересно было бы статистику по разным моторам посмотреть.

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 9:43 pm
by denisvak
И? ;)

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 9:50 pm
by Voitila
denisvak wrote:И? ;)
Уточни контекст..

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 9:54 pm
by Voitila
denisvak wrote:Сделал сегодня подобный опыт. 0.99-1 других цыфирь я не увидел, брал время пролета 8ми зубов до ВМТ и 8 после. И вообще ему было без разницы какая там нагрузка и обороты. Но это на роторном моторе.
Время пролета.. Периоды суммировал, т.е., каждого из восьми зубов? Так?

Re: ECar - универсальный ECU

Posted: Wed Jul 08, 2015 10:33 pm
by denisvak
У меня на 1000 rpm - 36000 тиков.
И что с того? пускай будет хоть 100000....много толку от этого?
Периоды суммировал, т.е., каждого из восьми зубов? Так?
зачем суммировать? отвлекать процессор...зубья ловятся по захвату таймера и в регистре захвата все что нам нужно.
в прерывании по захвату....
1)пришел 20-8 зуб запомнили значение регистра захвата
2)пришел 20зуб отняли регистр захвата от того что запомнили в п1 получили "время" пролета 8ми зубов до ВМТ. И опять запомнили регистр захвата
3)пришел 20+8 зуб отняли регистр захвата от того что запомнили в п2 получили "время" пролета 8ми зубов после ВМТ. поставили флаг что можно считать
в основном цикле.....
видим флаг, считаем что нужно и сбрасываем флаг.



можно в прерывании просто запоминать значение регистра захвата, а считать все уже в основном цикле....

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 8:15 am
by Voitila
denisvak wrote:
У меня на 1000 rpm - 36000 тиков.
И что с того? пускай будет хоть 100000....много толку от этого?
Периоды суммировал, т.е., каждого из восьми зубов? Так?
зачем суммировать? отвлекать процессор...зубья ловятся по захвату таймера и в регистре захвата все что нам нужно.
в прерывании по захвату....
1)пришел 20-8 зуб запомнили значение регистра захвата
2)пришел 20зуб отняли регистр захвата от того что запомнили в п1 получили "время" пролета 8ми зубов до ВМТ. И опять запомнили регистр захвата
3)пришел 20+8 зуб отняли регистр захвата от того что запомнили в п2 получили "время" пролета 8ми зубов после ВМТ. поставили флаг что можно считать
в основном цикле.....
видим флаг, считаем что нужно и сбрасываем флаг.



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

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 2:55 pm
by AndreyB
Voitila wrote: В stm32 есть возможность соединять таймера каскадно. У стма на офф сайте даже где то был даташит, в котором подробно расписывалось, как работать с таймерами, если нужно делать захват больших периодов. Я посмотрю, может у меня где то завалялся этот документ. Но это все гуглится легко, и в общем даташите по 32 серии тоже достаточно подробно расписано..
А на тему магии таймеров кстати. Мой подход - я читаю из Cycle Count Register, который CYCCNT. В этом случае у меня происходит прерывание с максимальным приоритетом, и период и разрядность таймера мне в таком случае не важны - я просто считываю счётчик тиков процессора. У меня из этого счётчика сделан 64-битный абсолютный отсчёт времени от старта процессора.

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 4:04 pm
by Maxi
russian wrote:А на тему магии таймеров кстати. Мой подход - я читаю из Cycle Count Register, который CYCCNT. В этом случае у меня происходит прерывание с максимальным приоритетом, и период и разрядность таймера мне в таком случае не важны - я просто считываю счётчик тиков процессора. У меня из этого счётчика сделан 64-битный абсолютный отсчёт времени от старта процессора.
По сравнению с магией аппаратного захвата на фронте сигнала специально для этого предназначенным модулем - это в любом случае Амояк-Акопянство получается...

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

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 4:32 pm
by Voitila
Maxi wrote:
russian wrote:А на тему магии таймеров кстати. Мой подход - я читаю из Cycle Count Register, который CYCCNT. В этом случае у меня происходит прерывание с максимальным приоритетом, и период и разрядность таймера мне в таком случае не важны - я просто считываю счётчик тиков процессора. У меня из этого счётчика сделан 64-битный абсолютный отсчёт времени от старта процессора.
По сравнению с магией аппаратного захвата на фронте сигнала специально для этого предназначенным модулем - это в любом случае Амояк-Акопянство получается...

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

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 4:41 pm
by AndreyB
Voitila wrote:+1 я тоже подозреваю, что это мягко говоря, не перспективный подход..
так давайте же скорее делиться объективными аргументами :)

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 7:29 pm
by puff
в голову приходит только один: в переменной какого типа считаются тики, и что происходит при переполнении этой переменной?

Re: ECar - универсальный ECU

Posted: Thu Jul 09, 2015 8:25 pm
by denisvak
У меня таймер тупо тикает и я не забиваю себе голову его переполнениями и т.д. т.к. я из текущего регистра захвата(по приходу зуба) вычитаю предыдущее и получаю всегда интервал "времени" который мне интересен. Соответственно следить там за какими-то переполнениями основного таймера мне не нужно. Таймер самой большой разрядности в 32бита используется для этого, с делителем в 30. Не трудно посчитать что даже на 10тыс оборотах полет зуба в 6гр. составить 280тиков таймера. ИМХО этого более чем с головой. Зажигание все рулится от того же таймера, по оставшимся двум канала+ четвертый уже не помню для чего.