[info] Текущий прогресс по прошивке.

Про байтики и логику ЭБУ
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

russian wrote:Ууууууууууууффффф, вроде бы отладил

Image

5 микросекунд максимум дрожжания, который я вижу - програмно получается генерить 2КГц, каждый может попробовать частоты выше - см. PwmTester.cpp
А я не пойму - а зачем это все?
зачем генерировать сигналы с разными частотами? если нужно фактически 4-6-8 сигналов сдвинутых друг относительно друга по фазе на 720/число цилиндров градусов с произвольным заданием длительности каждого - вот в них уже интересно будет померить дрожание...
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Maxi wrote:А я не пойму - а зачем это все?
Это принцип "разделяй и властвуй", который активно применяется в программировании. Сначала сложная задача делится на несколько более простых задач, более простые задачи решаются и отлаживаются отдельно, потом из блоков собирается сложная программа. Понятно, что везде есть нюансы - но в целом принцип всё равно полезный.

Я тестирую планировщик выполнения задач отдельно от логики, которая будет решать какие собственно задачи нужно будет выполнять. Есть надежда, что если генерировать 10 сигналов высокой частоты - ошибки проявят себя с большей вероятностью и быстрее. Оттестирую на 10ти быстрых сигналах - буду уверен, что на трёх-то медленных сигналах оно точно будет работать.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

russian wrote:
Maxi wrote:А я не пойму - а зачем это все?
Это принцип "разделяй и властвуй", который активно применяется в программировании. Сначала сложная задача делится на несколько более простых задач, более простые задачи решаются и отлаживаются отдельно, потом из блоков собирается сложная программа. Понятно, что везде есть нюансы - но в целом принцип всё равно полезный.

Я тестирую планировщик выполнения задач отдельно от логики, которая будет решать какие собственно задачи нужно будет выполнять. Есть надежда, что если генерировать 10 сигналов высокой частоты - ошибки проявят себя с большей вероятностью и быстрее. Оттестирую на 10ти быстрых сигналах - буду уверен, что на трёх-то медленных сигналах оно точно будет работать.
а по моему решаемая задача вообще никакого отношения к реальной задаче не имеет.
Кстати вчера прикинул - 5мс кстати не достаточно точно.
Attachments
inj_accuracy.xls
(14 KiB) Downloaded 413 times
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Текущий прогресс по прошивке.

Post by mivaol »

Maxi wrote:
russian wrote:
Maxi wrote:А я не пойму - а зачем это все?
Это принцип "разделяй и властвуй", который активно применяется в программировании. Сначала сложная задача делится на несколько более простых задач, более простые задачи решаются и отлаживаются отдельно, потом из блоков собирается сложная программа. Понятно, что везде есть нюансы - но в целом принцип всё равно полезный.

Я тестирую планировщик выполнения задач отдельно от логики, которая будет решать какие собственно задачи нужно будет выполнять. Есть надежда, что если генерировать 10 сигналов высокой частоты - ошибки проявят себя с большей вероятностью и быстрее. Оттестирую на 10ти быстрых сигналах - буду уверен, что на трёх-то медленных сигналах оно точно будет работать.
а по моему решаемая задача вообще никакого отношения к реальной задаче не имеет.
Кстати вчера прикинул - 5мс кстати не достаточно точно.
Для 1000сс на холостом всего один процент этож круто!
Это я к тому на сколько точно определен лаг для такой форсунки при напряжении между точек квантования? Неужто точнее 6мкс?
12 кг в час это как я понимаю для стокового овощного мотора, если на моторе 1000сс то перекрытия не дадут поддерживать цикловой расход на одном уровне он будет плавать ведь так, потому и поднимают холостые?
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

mivaol wrote:Для 1000сс на холостом всего один процент этож круто!
Это я к тому на сколько точно определен лаг для такой форсунки при напряжении между точек квантования? Неужто точнее 6мкс?
А вот это как раз значения не имеет.
лаг аддитивен.
Любая ошибка имеющая аддитивную или дифференциальную природу по факту компенсируется поскольку все остальные коррекции многомерны относительно производимой подачи.
проблемы с лагом начнутся если он будет иметь очень значительную мультипликативную ошибку и только при изменении напряжения БС.
12 кг в час это как я понимаю для стокового овощного мотора, если на моторе 1000сс то перекрытия не дадут поддерживать цикловой расход на одном уровне он будет плавать ведь так, потому и поднимают холостые?
расход можно вбить любой. обороты любые. произодительность и дискерт времени тоже...
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Начал писать speed_density.cpp

никто не хочет забить дефолтовую таблицу VE 16x16? Синтексис наполнения таблицы значениями можно увидеть в ford_aspire.cpp
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: Текущий прогресс по прошивке.

Post by rus084 »

а как это делается?
точнее откуда должны браться значения?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Уточнение про то, что я имею ввиду под дефолтофой таблицей:

Да, теоретически дефолтофая таблица - это везде 1.
Практически есть мнение, что можно начинать с 0.8 везде, будет лучше чем 1 везде.
А еще есть мнение, что для начала можно поставить полную таблицу от какого-нить типичного двигателя, и это будет еще лучше, чем 0.8 - и настраивать уже оттуда. Вот собственно в этом и вопрос - вбить какую-нить дефолтовую таблицу.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

я вообще не очень понимаю почему таблица должна быть внутри кода.
Код это код отдельно - калибровки это калибровки отдельно. Какая у них может быть связь?

Еще посмотрел speed_dencity.cpp

(Vol * VE * MAP) / (AFR * injectorFlowRate * GAS_R * tCharge);

1) Я не вижу в этой формуле есть ли в машине обратная магистраль или ее нету? (таких вопросов сотня).
2) это чистейший подгон под ответ - системы подгона под ответ сделаны давным давно и очередной клон не нужен. Я с самого начала говорил - хотите что то дельное переходите на физмодели. На физмоделях этот модуль декомпозицируется минимум в ПЯТЬ раздельных модулей вычисляющих 5 промежуточных значений!
3) понятиями идеальный газ оперируют только в книжках по термодинамике.Т.е. в книжке такую формулу можно написать и бумага стерпит. В реальных двигателях зависимости типа правил идеального газа никогда не выполняются - потому что двигатель не является замкнутой термодинамической системой да и еще по нескольким причинам. Нельзя так вот тупо взять и умножить на универсальную газовую постоянную. Так же в модели температуры заряда тоже не все так просто и нельзя тупо взять и умножить на абсолютную температуру.
4) да и если tcharge - абсолютна. то coolant и aitemp - абсолютны. Так никто не делает - так люди не понимают. В жизни люди не оперируют абсолютными температурами.
5) AFR - массовое соотношение (безразмерное). Vol - объем (размерность?). injectorFlowRate - в каких единицах массовых или объемных? (размерность?) хотя достаточно AFR&Vol - т.е. в формуле идет жонглирование фундаментально разными понятиями "объем" и "масса"...

(в схеме подгона под ответ приведение размерностей заменяется коэффициентом подгона под ответ - разговор об универсальных газовых постоянных при этом не имеет смысла)...
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Maxi wrote:я вообще не очень понимаю почему таблица должна быть внутри кода.
Код это код отдельно - калибровки это калибровки отдельно. Какая у них может быть связь?
в код зашивается только таблица по-умолчанию, чтоб при первом старте было с чего начинать. есть мнение, что таблицы VE выглядят достаточно похоже и начинать с хоть какой-то будет сильно лучше, чем начинать с таблицы забитой единицами
Maxi wrote: Еще посмотрел speed_dencity.cpp

(Vol * VE * MAP) / (AFR * injectorFlowRate * GAS_R * tCharge);

1) Я не вижу в этой формуле есть ли в машине обратная магистраль или ее нету? (таких вопросов сотня).
в этой формуле обратная магистраль в машине есть. если обратной магистрали нет, то injectorFlowRate будет корректироваться в зависимости от MAP
Maxi wrote: 2) это чистейший подгон под ответ - системы подгона под ответ сделаны давным давно и очередной клон не нужен. Я с самого начала говорил - хотите что то дельное переходите на физмодели. На физмоделях этот модуль декомпозицируется минимум в ПЯТЬ раздельных модулей вычисляющих 5 промежуточных значений!
3) понятиями идеальный газ оперируют только в книжках по термодинамике.Т.е. в книжке такую формулу можно написать и бумага стерпит. В реальных двигателях зависимости типа правил идеального газа никогда не выполняются - потому что двигатель не является замкнутой термодинамической системой да и еще по нескольким причинам. Нельзя так вот тупо взять и умножить на универсальную газовую постоянную. Так же в модели температуры заряда тоже не все так просто и нельзя тупо взять и умножить на абсолютную температуру.
4) да и если tcharge - абсолютна. то coolant и aitemp - абсолютны. Так никто не делает - так люди не понимают. В жизни люди не оперируют абсолютными температурами.
5) AFR - массовое соотношение (безразмерное). Vol - объем (размерность?). injectorFlowRate - в каких единицах массовых или объемных? (размерность?) хотя достаточно AFR&Vol - т.е. в формуле идет жонглирование фундаментально разными понятиями "объем" и "масса"...

(в схеме подгона под ответ приведение размерностей заменяется коэффициентом подгона под ответ - разговор об универсальных газовых постоянных при этом не имеет смысла)...
Это любимый народными массами SD. Для начала нужно сделать его, и сделать это всё юзабельным. Потом будет место для более умных моделей.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Текущий прогресс по прошивке.

Post by mivaol »

Интересно а сам Макси на какой системе построил бы эбу и по какой модели? и вообще это нужно?
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

mivaol wrote:Интересно а сам Макси на какой системе построил бы эбу и по какой модели? и вообще это нужно?
У самого Макси с ЭБУ все нормально (пока на ближайшие лет 5).

а вообще конечно - 5вольт проц автомобильный и физмодели.
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: Текущий прогресс по прошивке.

Post by rus084 »

я создал поток с циклом в коде rusefi:
while (true) {
palSetPad(getHwPort(GPIOB_9), getHwPin(GPIOB_9));
chThdSleepMilliseconds(1);
palClearPad(getHwPort(GPIOB_9), getHwPin(GPIOB_9));
chThdSleepMilliseconds(1);
}
пин подключил к динамику и услышал жужжание кроме писка , я сначала подумал что это наводки . я заземлил блок питания , они не исчезли .
потом я решил генерировать 1гц сигнал , он получился без гула .
сейчас подключил к звуковой карте компа и увидел такое :
дискавери.png
дискавери.png (3.14 KiB) Viewed 20295 times
дискавери.png
дискавери.png (3.55 KiB) Viewed 20293 times
откуда такая неравномерность задержек ?
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

Re: Текущий прогресс по прошивке.

Post by denisvak »

как откуда :) с ОСИ
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Собрались блин бобры скептики. Тут три страницы было на тему того, что мы перестали пользоваться разогнанным таймером операционной системы, и перешли на свой личный более точный и более лёгкий таймер - http://sourceforge.net/p/rusefi/tickets/24/

Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Текущий прогресс по прошивке.

Post by puff »

чего-то не понял, rus084 собирал из старых исходников?
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: Текущий прогресс по прошивке.

Post by rus084 »

исходники самые свежие были .
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Текущий прогресс по прошивке.

Post by puff »

значит на функцию chThdSleepMilliseconds для формирования фиксированных задержек полагаться нельзя…
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp
Пример генерации ЖИМ нашим API - idle_thread.cpp и PwmTester.cpp

может так будет заметнее?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Текущий прогресс по прошивке.

Post by puff »

прям как в симпсонах :D
но ведь одно другому не мешает. полагаться на ту функцию chthdsleepmilliseconds для точных пауз не стоит.
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Текущий прогресс по прошивке.

Post by Maxi »

Окей окей - надо это крупными буквами написать в коментариях
User avatar
rus084
contributor
contributor
Posts: 678
Joined: Sun Dec 01, 2013 1:40 pm
Location: Russia , Stavropol

Re: Текущий прогресс по прошивке.

Post by rus084 »

у меня получилось запустить мой графический дисплей , его удобно разместить на приборной панели .
пока оно работает через программный spi , что очень медленно .
пока я пытаюсь наладить аппаратный интерфейс .
Attachments
IMG_20140605_233907.jpg
IMG_20140605_233907.jpg (207.23 KiB) Viewed 20591 times
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Починил несколько багов - добавил отладочный метод явной проверки невыхода за пределы стека.

Завтра буду делать http://sourceforge.net/p/rusefi/tickets/18/
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Текущий прогресс по прошивке.

Post by puff »

круто. про второе - если вдруг получится :-) - наверное надо бы предусмотреть какой-то понятный вывод на экранчике - хоть черточку условную поставить - чтобы понимать, какой порт и где. или по нажатию кнопки происходит переинициализация и софт сам найдет порт?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Сделал первую версию контроля режима порта: управляется удерживанием голубой кнопки во время перезагрузки прошивки.
Просто перезагрузка - консоль на USB, TunerStudio на UART
Перезагрузка с удержанием голубой кнопки - TunerStudio на USB, консоль на UART

Хорошая идея отображать статус на экранчике! Жду, когда приедут вещи - экранчик мой сейчас где-то в грузовике бороздит просторы...
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

Добавил поддержку комманд 'pageActivate' и 'pageChunkWrite' в Tuner Studio интеграцию - кажется стало меньше тормозить. Завтра еще надёжностью интеграции буду заниматься.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

russian wrote:Добавил поддержку комманд 'pageActivate' и 'pageChunkWrite' в Tuner Studio интеграцию - кажется стало меньше тормозить. Завтра дальше надёжностью интеграции буду заниматься.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Текущий прогресс по прошивке.

Post by acab »

russian wrote:Сделал первую версию контроля режима порта: управляется удерживанием голубой кнопки во время перезагрузки прошивки.
Просто перезагрузка - консоль на USB, TunerStudio на UART
Перезагрузка с удержанием голубой кнопки - TunerStudio на USB, консоль на UART

Хорошая идея отображать статус на экранчике! Жду, когда приедут вещи - экранчик мой сейчас где-то в грузовике бороздит просторы...
программная реализация есть этого?
а то у меня нет кнопочки)
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Текущий прогресс по прошивке.

Post by puff »

имхо проще перемычкой нужные пины замыкать, чем городить программную реализацию (к тому же как потом из тс переходить обратно в девконсоль?)
а виртуально освободившееся время лучше потратить на изучение глюков из соседней темы
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Текущий прогресс по прошивке.

Post by AndreyB »

puff wrote:имхо проще перемычкой нужные пины замыкать
Да, именно так. Заземляем PA0.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Post Reply