Про программирование HIP9011

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

Re: Про программирование HIP9011

Post by Maxi »

puff wrote:почитал интернет.
1) датчики бывают резонансные (одноконтактные? куда уже встроен полосовой фильтр) и широкополосные (двухконтактные?). какой датчик на вазах (как наиболее доступный в здешних краях - еще предстоит выяснить). я так понимаю, что хип работает с обоими, широкополосные должно быть дешевле, а резонансные по сути будут дублировать часть хиповского функционала.
на вазе широкополосный
2) настройка частоты фильтрации зависит только от диаметра поршня мотора. формула такая:
f(кГц)=900/(Pi * r), r - радиус поршня
называется это якобы Draper's equation.
и да и нет. Возможна ситуация когда работать на основной частоте нельзя по разным причинам.
3) к выбору места установки датчика надо подходить ответственно. подальше от клапанов, цепей, гидрокомпенсаторов - короче, хз где. затяжка осуществляется с каким-то определенным моментом (вроде как смотреть в паспорте на датчик), плюс после того, как датчик настроен - его не рекомендуют откручивать (якобы потребуется перенастраивать заново)
для примитивных систем управления - верно.
4) от оборотов мотора зависят параметры gain и time constant.
зависит от стратегии обработки датчика. общем и целом от оборотов должно зависеть ВСЕ, что там программируется!
попробовал сгенерировал сигнал 6,4кГц, отрезал кусок продолжительностью 0,5мс, послушал и задумался:
1) с какой частотой он по идее может повторяться? частота вращения коленвала? частота вращения коленвала/2? или просто спонтанные щелчки?
2) период волны при частоте 6,4кГц - 156мкс. то есть смысла что-то там интегрировать с time constant меньше 160 нету? или как?
период волны к time constant не имеет ровным счетом никакого отношения как ровным счетом никакого отношения к периоду волны не имеет то что на входе у интегратора. Интегратор это внутренняя схема оценки чтоб не грузить процессор лишними измерениями.

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

Короче суть: априорным заданием аттеньюатора и интегратора и частоты надо получить нормализованный сигнал на выходе для любой априорной длинны и положения окна во всем диапазоне оборотов-нагрузки, с хорошим соотношением сигнал-шум - естественно не выходя из динамического диапазона микросхемы. А далее уже адаптивными поправками к чему либо из этого (опять же не выходя из диапазона) убрать связь от усилия затяжки датчика и посторонних шумов от двигателя на данных частотах.

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

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

Re: Про программирование HIP9011

Post by puff »

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

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

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

истина где-то там :-)
Monster
Posts: 5
Joined: Tue Mar 11, 2014 5:01 pm

Re: Про программирование HIP9011

Post by Monster »

Смысл Тс: на вход интегратора подаем постоянный сигнал = 1В, на выходе эти же 1В будут спустя Тс. Иначе говоря производная.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Про программирование HIP9011

Post by puff »

от такого объяснения еще менее понятно.
1. тогда уж это задержка по времени?
2. как и зачем подавать 1В?
Monster
Posts: 5
Joined: Tue Mar 11, 2014 5:01 pm

Re: Про программирование HIP9011

Post by Monster »

Забей. Или погугли что такое интегратор и каков принцип его работы.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Про программирование HIP9011

Post by puff »

да, блин. темный лес, высшая математика...
Monster
Posts: 5
Joined: Tue Mar 11, 2014 5:01 pm

Re: Про программирование HIP9011

Post by Monster »

Да никакой вышки там нет!
Подаешь 1В в течении заданных Тс=80мкс - через это время на выходе (после остановки накопления) будет 1В, если остановишь интегратор через 3*Тс - на входе будет 3*1=3В. Ну куда ж проще-то?
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Про программирование HIP9011

Post by puff »

да там интегралы по времени какие-то.
я вот тут смотрел:
http://de.ifmo.ru/bk_netra/page.php?tutindex=36&index=11

а что будет через 7*Tc?

и самое главное - как это соотносится с определением детонации?
на входе датчик. на датчике переменное напряжение (импульсы переменного тока). эти импульсы фильтруются полосовым фильтром (типа обрезается всё, что выходит за окресности интересуемой частоты), потом этот отфильтрованный сигнал попадает на вход интегратора.
в доках написано:
Further single processing is obtained by full wave rectification of the filtered signal and applying it to an integrator whose output voltage level is proportional to the knock signal amplitude.
single processing - это что означает? full wave rectification? INT/HOLD задается программно (тот самый Tc?, или как?)

по поднятию INT/HOLD готовимся к АЦП, ждем опускания INT/HOLD. запускаем одноразово АЦП, смотрим, сколько получилось?
и типа если нет детонации, то на выходе интегратора будет, допустим, 1В. а если есть детонация - то, допустим, 3В?
и таких циклов за "окно детонации" надо проводить несколько? плюс еще вне пределах этого окна - чтобы знать уровень белого шума - с чем сравнивать?
Monster
Posts: 5
Joined: Tue Mar 11, 2014 5:01 pm

Re: Про программирование HIP9011

Post by Monster »

Абсолютные показания на выходе с интегратора НЕ ГОВОРЯТ НИ О ЧЕМ!
Пока до того, чтобы они стали полезными данными - как до Луны рачки.
Image
Нормально разложено об интегрировании тут.
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Про программирование HIP9011

Post by Sergey89 »

puff wrote:да там интегралы по времени какие-то.
я вот тут смотрел:
http://de.ifmo.ru/bk_netra/page.php?tutindex=36&index=11

а что будет через 7*Tc?

и самое главное - как это соотносится с определением детонации?
на входе датчик. на датчике переменное напряжение (импульсы переменного тока). эти импульсы фильтруются полосовым фильтром (типа обрезается всё, что выходит за окресности интересуемой частоты), потом этот отфильтрованный сигнал попадает на вход интегратора.
в доках написано:
Further single processing is obtained by full wave rectification of the filtered signal and applying it to an integrator whose output voltage level is proportional to the knock signal amplitude.
single processing - это что означает? full wave rectification? INT/HOLD задается программно (тот самый Tc?, или как?)
Сигнал перед интегратором проходит через выпрямитель (full wave rectification). В интеграторе происходит накопление энергии.
по поднятию INT/HOLD готовимся к АЦП, ждем опускания INT/HOLD. запускаем одноразово АЦП, смотрим, сколько получилось?
Мы сами запускаем и останавливаем процесс интегрирования.
и типа если нет детонации, то на выходе интегратора будет, допустим, 1В. а если есть детонация - то, допустим, 3В?
и таких циклов за "окно детонации" надо проводить несколько? плюс еще вне пределах этого окна - чтобы знать уровень белого шума - с чем сравнивать?
Сравнивать надо со значением в этом же окне, но без детонации.

Вот аппноут от TI на тему определения детонации
Attachments
spra039.pdf
(254.03 KiB) Downloaded 612 times
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Про программирование HIP9011

Post by acab »

Может это полезно будет кому?
Attachments
knock.c
(6.07 KiB) Downloaded 817 times
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Про программирование HIP9011

Post by Maxi »

слишком примитивно. нет адаптации. статичные настройки gain-integrator-filter... один метод дететирования.
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Про программирование HIP9011

Post by acab »

вот кстати на форуме мегасквирта есть простой код, который можно оптимизировать под наши нужды. там ведётся динамический отсев детона и шума на основе положения колена и тд.
тупой вопрос: как мне получить текущий УОЗ ? есть ли функция какая и тд?

https://github.com/spillymon/TPIC/blob/master/TPIC8101_V1_5A
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Про программирование HIP9011

Post by acab »

подключил к ноуту датчик детона, напрямую, как микрофон.

записал звук, понял что всё совсем плохо)))
детон есть, отчётливо слышно...

http://vk.com/doc3900802_320540075
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

я не слышу :( Но я не настоящий сварщик совсем.
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: Про программирование HIP9011

Post by acab »

звук на максимум, либо звуковым анализатором. в районе 6900-7000 герц услышишь звон, хлопки металлические.
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Про программирование HIP9011

Post by acab »

Для наглядности, вот собсно детон здесь жёлтеньким указан)
Attachments
knock.jpg
knock.jpg (512.2 KiB) Viewed 23080 times
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Про программирование HIP9011

Post by acab »

Обновился тестовый код кстати.

https://github.com/spillymon/TPIC/blob/master/TPIC8101_V1_5A
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

acab wrote:Обновился тестовый код кстати.

https://github.com/spillymon/TPIC/blob/master/TPIC8101_V1_5A
Интересная ссылка, спасибо. Написал человеку про наш проектик :)
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: Про программирование HIP9011

Post by acab »

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

Re: Про программирование HIP9011

Post by AndreyB »

Продвинул прошивку на тему HIP вперёд - добавил

Code: Select all

	unsigned int isHip9011Enabled : 1; // bit 6
	brain_pin_e hip9011CsPin;
	brain_pin_e hip9011IntHoldPin;
	brain_pin_e hip9011OutPin;
Кто хочет прислать патч на rusefi.ini? :)
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: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

ага, значит там есть 32 магических значения времени интегрирования - от 40 до 600uS, и моя задача в зависимости от оборотов и желаемого выходного напряжения выставить одно из этих магических значений?

Я хочу ловить сигнал не через АЦП, а просто КМОП логическую единицу ловить на ножке. Верно ли, что 2.2 вольта это тот уровень, который я буду использовать в вычислениях времени интегрирования?
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: Про программирование HIP9011

Post by puff »

чего-то я не пойму. то есть ты по spi задаешь параметры (выбираешь датчик, настраиваешь частоту), а потом с этого HIP9011 снимаешь аналоговый сигнал, который еще предстоит в АЦП на дискавери обработать?
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

puff wrote:то есть ты по spi задаешь параметры (выбираешь датчик, настраиваешь частоту), а потом с этого HIP9011 снимаешь аналоговый сигнал
Да. Но вот обрабатывать аналоговый сигнал обязательно в АЦП мы кажется не обязаны - если нас интересует бинарное значение, то как раз вопрос - можно ли схитрить и учесть желаемый уровень единицы в рассчётах параметра для HIP9011?
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: Про программирование HIP9011

Post by puff »

а почему ты хочешь уйти от adc? экономишь ресурсы? мне думается, тут можно хорошенько наступить на грабли: должно совпасть значение вольтажа, когда дискавери считает единицу единицей (там какое-то отклонение от напряжения питания), плюс хз, хватит ли на выходе hip9011 мощи, чтобы эту единичку обеспечить по току. как я понимаю, в режиме адц чувствительность повыше будет. оно действительно надо?

кстати, каким образом определяется событие детонации (где тот самый порог, псле которого считается, что детонация все же случилась) - до сих пор не ясно. радует, что диаметр поршня (исходя из которого вроде как определяется полоса фильтрации) определяется в настройках мотора. рпм (окно измерений) тже известны. то есть дополнительных настроек вроде как не нужно.

кстати еще один довод в пользу ADC - ведь нужно же не допускать эту детонацию? и АЦП позволяет увидеть момент чуть раньше этого порогового значения, в отличие от логического есть/нет)
Last edited by puff on Fri Dec 05, 2014 9:04 pm, edited 1 time in total.
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

puff wrote:а почему ты хочешь уйти от adc?
АЦП тоже немного шайтан - нужно запускать АЦП конверстю в нужный момент, потом ждать завершения АЦП конверсии... Прочитать значение с пина намного проще - взял и прочитал :)
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: Про программирование HIP9011

Post by Maxi »

Какое "бинарное значение"? че вы несете?!

выход hip ОБЯЗАН быть заведен на АЦП и никак иначе!
мало того опрашивать это АЦП нужно очень точно и синхронно - именно в конце заданного окна детонации.
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

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

Я наивно предположил, что для целей оповещения пользователя о наличии детонации нам достаточно бинарного значение - есть детонация/нет детонации. Выходное напряжение у нас является множителем в формуле
Tс = Tint/(2*Pi*Vout)
Я хотел бы подстваить в эту формулу 2.2вольта, и считывать значение без АЦП. Какие у этого подхода минусы?
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: Про программирование HIP9011

Post by Maxi »

это невозможно хотя бы потому что в эту формулу подставляется ДИСКРЕТНОЕ ВРЕМЯ ИНТЕГРИРОВАНИЯ и ДИСКРЕТНОЕ УСИЛЕНИЕ а VOUT это выход! К тому же с каких пор на входе процессора вдруг оказался компаратор на 2.2 вольта?

вот то что на VOUT будет.
Attachments
det.png
det.png (90.06 KiB) Viewed 20997 times
User avatar
AndreyB
Site Admin
Posts: 14328
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Про программирование HIP9011

Post by AndreyB »

Кажется мы прожолжаем друг друга не понимать.

Верно ли, что в какой-то формуле участвует желаемое выходное напряжение чего-то?
Maxi wrote:К тому же с каких пор на входе процессора вдруг оказался компаратор на 2.2 вольта?
2.2 вольта - это 2/3 от моих 3.3 вольт. Как я понимаю, всё меньше трети от 3.3 - это ноль, всё, что больше двух третей - это единица?
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