При определённых условиях включать навесное оборудование для ДВС.

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

Всем привет)

Вот такая задача. При определённых оборотах включать систему, причём при 1 числе оборотов (например 1700) включать высоковольтное реле, а при 2 числе оборотов (например 3000) включать второе реле. Но так же должна быть система защиты; если температура не достигла минимум 50С система не должна включатся даже при достижении нужных оборотов. Обороты собираюсь брать с дпкв (датчик положения коленчатого вала)(вроде как является аналоговым), а температуру с датчика DS18B20 (повешу на какой нибудь патрубок).

Нарыл вот такой скетч для оборотов:

unsigned long lastflash;
int RPM;

void setup() {
	Serial.begin(9600);  //открыть порт
	attachInterrupt(0,sens,RISING); //подключить прерывание на 2 пин при повышении сигнала
	pinMode(3, OUTPUT);   //3 пин как выход
	digitalWrite(3, HIGH);  //подать 5 вольт на 3 пин
}
void sens() {
	RPM=60/((float)(micros()-lastflash)/1000000);  //расчет
	lastflash=micros();  //запомнить время последнего оборота
}

void loop() {
	if ((micros()-lastflash)>1000000){ //если сигнала нет больше секунды
		RPM=0;  //считаем что RPM 0
	}
	Serial.println(RPM);   //вывод в порт
	delay(50);  //задержка для стабильности 

}

Понимаю только половину из всего написаного.

Я не давно заинтересовался arduino и поэтому прошу помощи в программировании и советы как лучше сделать!!!

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Изучай умные книшки. Хорошо будешь изучать - через год сделаешь свою приблуду. 

b707
Offline
Зарегистрирован: 26.05.2017

Если датчик оборотов аналоговый, этот скетч не подойдет

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:
Если датчик оборотов аналоговый, этот скетч не подойдет
А правила чего не соблюдаем?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Alek_Nowman пишет:
прошу ... советы
Совет №1. Прежде, чем постить на любой форум, всегда изучайте правила этого форума. Обычно они расположены в специальных разделах для новичков. Без этого вероятность получить какую-либо помощь крайне мала.

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Чё за движок? Какое напряжение на ДПКВ?

 Есть вариант номер 2. Температуру ты снимешь тут проблем нет. 

Получить текущие обороты можно, на легальных основаниях :)))  Если прочесть об этом из мозгов, на тех же основаниях как передается по протоколу RS232, для БК.  Но код там будет большой и страшный :)

  Здесь первая сложность, понять что приходит с ДПКВ.  Я сейчас далеко от гаража  и от тачки, сказать не смогу...

Нужно брать осциллограф и смотреть какой сигнал идет с ДПКВ,  с плюса на ноль просаживает или наоборот... и потом уже смотреть как это можно завести в ардуино и как использовать,  может как ожидание длинны  импульса, может как отработка прерывания...

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

На 3500 что-то дуть должно в движок? В пол силы :)  А на 4000 в полную грудь? :)))

 

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

Да правильно понимаешь, только не дуть, а впрыскивать водометанол)). Хочу потом турбину электронную воткнуть но это уже другая история.))

Вешать собираюсь на инжекторную ниву 18 года.

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

Есть ещё 1 идея, прикрепить датчик холо, но при этом придётся мудрить с креплением.

Но это не особо хочется делать.

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Alek_Nowman пишет:

" датчик холо"

Спасибо. Утащу в свой словарь.

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

DetSimen пишет:

Alek_Nowman пишет:

" датчик холо"

Спасибо. Утащу в свой словарь.

Обращайся 

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

Нашёл вот такую схему преобразователя. На выходе должен выдавать 5 в напряжения.

 

Alek_Nowman
Offline
Зарегистрирован: 07.01.2021

Какой скетч под него будет? 

sadman41
Offline
Зарегистрирован: 19.10.2016

Alek_Nowman пишет:

Какой скетч под него будет? 

Так какой вариант Ваш - "увлекся ардуиной" или "надо собрать вот такую херню и я прочитал про то, что это делают на ардуине" ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Alek_Nowman пишет:

Какой скетч под него будет? 

Какой напишете, такой и будет.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Alek_Nowman пишет:

Какой скетч под него будет? 

"Будет"? Будущее сокрыто от нас пеленой планов и туманом намерений.

MaksVV
Offline
Зарегистрирован: 06.08.2015

ТС, эта информация извлекается из шины K-line . По другому получать информацию - это колхоз. Если очень интересует как это сделать могу здесь слегка консультировать, но исследовать протокол немного придётся

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 Думаю, проще будет обороты брать из ЭБУ, через диагностический порт.  Я всё что-то собирался, даже спецификацию читал... Но дальше дело не пошло...  там обмен по правилам протокола RS232. Если разбираешься, то проблем не возникнет, в противном случае, только читать.... потом делать, потом снова читать...

   Печаль, если требуется городить преобразователь, для получения сигналов с ДПКВ, скажем так на прямую, я думал всё должно быть несколько проще....

Nord_Air
Offline
Зарегистрирован: 15.06.2020

MaksVV пишет:

ТС, эта информация извлекается из шины K-line . По другому получать информацию - это колхоз. 

Блок ЭБУ её же как-то получает? ;)  Ардуинкой её можно получить на тех же основаниях ;)

MaksVV
Offline
Зарегистрирован: 06.08.2015

Nord_Air пишет:
там обмен по правилам протокола RS232.

там UART на физике K-line / LIN  

Nord_Air пишет:
Блок ЭБУ её же как-то получает? ;)  Ардуинкой её можно получить на тех же основаниях ;)

в ЭБУ мильён деталек не просто так ставят, чтобы эти аналоговые датчики обрабатывать. Нафига при работе с ардуиной эти качели с железом, когда все в цифровом виде на шине присутствует? В ЭБУ уже все грамотно железно обработано. 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

MaksVV пишет:

в ЭБУ мильён деталек не просто так ставят, чтобы эти аналоговые датчики обрабатывать.

Ну да, это тебе не по I2C считывать значения, по запиленным библиотекам :)))

 

 

Но если требуются только обороты... грешно не думать об иных реализациях ;)

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

Nord_Air
Offline
Зарегистрирован: 15.06.2020

MaksVV пишет:

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

Из тырнета... При включенном зажигании и неподвижном коленчатом вале…

Ремонт Priora 66-1.jpg

 

…тестер должен зафиксировать

 

напряжение около 2,5 В.

 

 

 

 

 

Белый дым там не пойдет.

 

А температуру лучше измерять датчиками ардуино.

 

 

 

b707
Offline
Зарегистрирован: 26.05.2017

Nord_Air пишет:

Из тырнета... При включенном зажигании и неподвижном коленчатом вале…тестер должен зафиксировать напряжение около 2,5 В.

независимо от положения вала?

 

 

 

 

 

 

 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

b707 пишет:

Nord_Air пишет:

Из тырнета... При включенном зажигании и неподвижном коленчатом вале…тестер должен зафиксировать напряжение около 2,5 В.

независимо от положения вала?

  Мне было интересно с каким напряжением работает датчик,  и соотвецно можно ли его читать с минимальными преобразованиями.

 

 

По теме...  Наверное, наиболее простое решение, это подключиться к ЭБУ.  Но мне идейно более правильным кажется именно запилить преобразователь, (если он потребуется) как указано выше.

 Насколько я помню, при чтении из ЭБУ и  формировании пакета, там дампится область памяти и приходит всё в одном пакете. И угол опережения зажигания и обороты и пр. Возможно...  Если опросы будут слишком частыми, возможно ЭБУ начнет затупливать..  Но конкретно для этой задачи, 1/100 сек будет более чем достаточно.

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

  В любом случае, в первой ревизии, читать надо тупо с ЭБУ. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

Норд айр, эксперт 80 левела. надо слушать его

MaksVV
Offline
Зарегистрирован: 06.08.2015

b707 пишет:
независимо от положения вала?

Там индуктивный датчик. Формирует синус от 0.5в до 200в в зависимости от обортов

Nord_Air
Offline
Зарегистрирован: 15.06.2020

MaksVV пишет:
Норд айр, эксперт 80 левела. надо слушать его

:)))))  Я польщен.... =)))))

  На самом деле,  всё это "мудячьи рыдания"... 

Это всё попытки обойти алгоритмы ЭБУ.

   Я пробовал разные эксперементы на вазовском, движке, из самой первой инжекторной серии, где еще даже  не было обратной связи, по датчику кислорода. Январь 5.1  Добавлял воздуха в обход ДМРВ, в частности... Но всегда упираешься в работу  алгоритмов ЭБУ, о которых ничего не знаешь, и можешь лишь косвенно догадываться... 

 По обратной связи, ЭБУ сразу начнет душить все потуги, что-то лишнее подкинуть в топку. Начнет ссылаться на богатую смесь, если температура необоснованно начинает расти.

 Но тем не менее, "приход" всё таки ощутим :)))

 Задумываясь о теме написания собственного ЭБУ, я столкнулся с тем, что помимо основных датчиков, должен существовать и еще чисто математический, виртуальный датчик-ускорения.  В том или ином виде кода он должен присутствовать в ЭБУ.

 Если представить реализацию ЭБУ в самом тупом виде: датчику положения дроссельной заслонки 1-100% (форсунка X, свеча Y), то каждому положению педали газа будет соответствовать определенная частота и длинна импульсов форсунки и свечи.  Если мы крайне плавно, начнем давить на газ, то двигатель начнет плавно разгоняться и указатель начнет двигаться вверх по таблице. Но если мы топнем в пол, и установим значения для форсунок, из строчки 100%, движок просто захлебнется и встанет.  Это всё должен обрабатывать алгоритм ускорения. Назовем его так... Который будет плавно, но максимально эффективно поднимать обороты. Это некая антипробуксовочная система, на уровне ЭБУ.

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

 

 

 К чему я это....   На мой взгляд, лучше кривой и сутулый, но свой ЭБУД, чем люто,  подкостыленный  и прере-пере-прошитый но оригинальный.

  

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Nord_Air пишет:

Начнет ссылаться на богатую смесь, если температура необоснованно начинает расти.

как-то всё наоборот )))

Nord_Air
Offline
Зарегистрирован: 15.06.2020

ua6em пишет:

Nord_Air пишет:

Начнет ссылаться на богатую смесь, если температура необоснованно начинает расти.

как-то всё наоборот )))

Да нет ;) У тебя в голове что-то наоборот :)))

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Nord_Air пишет:

ua6em пишет:

Nord_Air пишет:

Начнет ссылаться на богатую смесь, если температура необоснованно начинает расти.

как-то всё наоборот )))

Да нет ;) У тебя в голове что-то наоборот :)))

 

я учился в СССР - нас учили что ...

MaksVV
Offline
Зарегистрирован: 06.08.2015

Норд айр, тебе сюда к коллеге инфинити, у вас прям ходы интеллектуальных мыслей одинаковые. 

Nord_Air
Offline
Зарегистрирован: 15.06.2020

ua6em пишет:

Nord_Air пишет:

ua6em пишет:

Nord_Air пишет:

Начнет ссылаться на богатую смесь, если температура необоснованно начинает расти.

как-то всё наоборот )))

Да нет ;) У тебя в голове что-то наоборот :)))

 

я учился в СССР - нас учили что ...

 

 И чё, это аргумент, против чего?...  Я тоже некоторое время еще при СССР учился, и что?

Nord_Air
Offline
Зарегистрирован: 15.06.2020

 сорян, я перепутал...  Да, речь идет о бедной смеси :)