Page 1 of 1

Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 12:17 am
by acab
Как мне кажется, тут должно быть два режима управления(работы) дросселем и холостым ходом.

1. Электрический дроссель с двумя потенциометрами и автоматическим управлением холостым ходом + управление всё педалью с одним(двумя) потенциометрами.
  • * electronic_throttle.c <- управление дросселем на основе показаний о положении дроссельной заслонки tps.c.
Необходимо считывать два потенциометра педали акселератора, два потенциометра положения дроссельной заслонки. В мозгах Bosch с каждой пары показаний делают одну "виртуальную", для расчётов дальнейших. Управление положением через PID.

2. Механический дроссель с одним(двумя) потенциометрами и клапаном холостого хода.
  • * idle_thread.c <- подпрограмма работы холостого хода
    * idle_controller.c <- алгоритм работы клапана холостого хода
    * tps.c <- обработка событий по поводу потенциометров на дросселе
Тут как бы проблем особо не составит. Получаем минимум и максимум показания положения дросселя, а то и двух потенциометров (для выявления ошибки). Рулим холостым ходом при закрытом дросселе и вырубаем руление когда дроссель открыт больше к примеру 1%.

Предлогайте свои идеи.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 12:35 am
by AndreyB
Идея номер один: не валить разные темы в одну ветку.

я тут вижу
1) управление приводом дросселя
2) двойной датчик положения ДРОССЕЛЯ
3) что-то еще и о холостом ходе
4) двойной датчки положения ПЕДАЛИ

Это очень нехорошо, что у нас тут ЧЕТЫРЕ темы свалены в одну кучу. Предлагаю начать с ОДНОЙ темы - двойной датчик положения ДРОССЕЛЯ на базе потенциомметров. Чтоб понять, что проблемы нужно УПРОЩАТЬ, а не УСЛОЖНЯТЬ - намекну нежно, что на галанте датчик положения дросселя - НЕ потенциометр. См. тему про железо.

Итак, идём и удаляем из первого сообщения три лишние темы и оставляем одну. И эту одну тему нужно качественно раскрыть - а именно: как именно мы из ДВУХ значений сделаем ОДНО значение? Понятно, что мы их усредним - это если оба датчика РАБОТАЮТ. Но остался нюанс - всё это замутили ради надёжности детекции ошибки. Т.е. самое важное - это алгорим, КАК мы поймём - какой из датчиков врёт? Очень обидно, что этот самый важный вопрос нихрена не раскрыт.
Предлагаю например как вариант слетить, что один датчик меняет показания - а второй постоянно показывает одно и то же. Тот, который стоит на месте - врёт. Автору предлагаю уточнить некоторые крайние случаи этого алгоритма, например - старт машины без нажатия на педаль, что делать? :)

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 12:54 am
by acab
Можно интерполировать 2 датчика 0-100% с точностью к примеру до 0.1%, если показания относительно равны до 1% погрешности к примеру - то использовать любой из датчиков относительно положения звёзд :)

Грех может быть при условии что датчики окажутся не линейные...

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 1:08 am
by AndreyB
acab wrote:Грех может быть при условии что датчики окажутся не линейные...
Ну это можно будет достаточно просто проверить - дроссели у меня есть на столе. Чтоб было более линейно - нужно будет работать не с напряжением, а именно с сопротивлением в делителе. Сопротивление я надеюсь линейно. Если сопротивление линейно - напряжение кажется НЕ линейно? Или я гоню?

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 7:35 am
by frig
Один датчик положения отлично сейчас калибруется в tuner studio родной приблудой. Легко и просто. Как собираетесь калибровать второй датчик?
Зачем мы сейчас обсуждаем электродроссель в то время, как он даже близко еще не нужен, будет нужен не скоро и будет нужен ДАЛЕКО не всем?

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 8:03 am
by Mister Kotleta
Сопротивление может линейно зависеть от угла. А вот пропускная способность дросселя будет с косинусной зависимостью при этом.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Fri Dec 20, 2013 12:25 pm
by AndreyB
frig wrote:Зачем мы сейчас обсуждаем электродроссель в то время, как он даже близко еще не нужен, будет нужен не скоро и будет нужен ДАЛЕКО не всем?
Есть такая проблема :( Молодые бойцы очень хотят сделать что-то КРУТОЕ! Не хватает мудрости понять, что намного круче сделать что-то ПОЛЕЗНОЕ :(

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:11 am
by AndreyB
Так, а кстати - по поводу дросселя, даже одиночного. Мы сейчас вычисляем положение линейной интерполяцией по НАПРЯЖЕНИЮ. А ведь если там потенциометр - то напряжение кажется нифига не линейно? Получается нам нужно добавить в логику еще и параметры сопротивления.

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

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:20 am
by acab
Чёрт его знает.
У меня есть пару дросселей, всё на них достаточно линейно :)

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:24 am
by AndreyB
acab wrote:Чёрт его знает.
У меня есть пару дросселей, всё на них достаточно линейно :)
Очень может быть, что я банально гоню.

У тебя есть двойной TPS для экспериментов на столе?

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:26 am
by acab
russian wrote: Очень может быть, что я банально гоню.

У тебя есть двойной TPS для экспериментов на столе?
Мой электрический есть. Но надо в гараж.

Я когда его ковырял - он был вроде линейный. Только первый потенциометр был грубо говоря от 300 до 900 ADC, а второй от 700 до 150, чтото такое, в общем они обратны)))

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:30 am
by AndreyB
Твой электронный на машине? Просто как-то хочется не только компилящийся, но и реально протестированный на настоящем железе код. Написать код - 20% работы, а вот проверить и найти нюансы - это 80%

Я написал todo в tps.c - но как-то хотелось бы именно проверенный на реальном дросселе код.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 12:40 am
by acab
russian wrote:Твой электронный на машине? Просто как-то хочется не только компилящийся, но и реально протестированный на настоящем железе код. Написать код - 20% работы, а вот проверить и найти нюансы - это 80%

Я написал todo в tps.c - но как-то хотелось бы именно проверенный на реальном дросселе код.
Не, он просто лежит :)
А что именно проерять?

Снять показания?

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 1:13 am
by AndreyB
Если просто лежит - неси его домой и пиши код, который будет проверять синхронность двух датчиков :)

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 1:14 am
by acab
russian wrote:Если просто лежит - неси его домой и пиши код, который будет проверять синхронность двух датчиков :)
Ты бы лучше всётаки задумался, о распиновке мозга и оглашения списка куда что пихать)!

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Dec 22, 2013 5:58 am
by Sergey89
russian wrote:Так, а кстати - по поводу дросселя, даже одиночного. Мы сейчас вычисляем положение линейной интерполяцией по НАПРЯЖЕНИЮ. А ведь если там потенциометр - то напряжение кажется нифига не линейно? Получается нам нужно добавить в логику еще и параметры сопротивления.

Просто если нам нужна линейная логика для двойного, значит нужно её ставить и в одинарный для консистентности?
В случае потенциометра показания линейны. Нужно знать две точки: напряжение полного закрытия и напряжение полного открытия. Дальше линейной интерполяцией переводишь в проценты. В случае сдвоенного датчика у тебя будет два набора точек. Когда ты переведёшь показания датчиков в проценты они должны будут совпадать при движении заслонки.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Mon Dec 30, 2013 9:32 pm
by acab
вот так вот

Re: Модуль дроссельной заслонки и холостого хода

Posted: Mon Dec 30, 2013 9:34 pm
by AndreyB
acab wrote:вот так вот
40.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Tue May 06, 2014 10:19 pm
by Ecucrack
Sergey89 wrote: В случае потенциометра показания линейны. Нужно знать две точки: напряжение полного закрытия и напряжение полного открытия.
А что мешает сделать так - при первом включении запоминаем текущие показания датчиков. А затем, управляя ШИМом(эсли электрозаслонка) просто "дёргаем" её в обе стороны до упора. Данные с TPS1 и TPS2 пишем куда больше нравится (RAM, EPROM). На выходе получим крайние точки, и зависимость показаний обоих TPS при линейном изменении выхода ШИМ.

PS это в теории. Но на заводских блоках такое наблюдал частенько.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Tue May 06, 2014 10:45 pm
by AndreyB
То, что ты описываешь - это уже такая попытка само-настройки. Однажды это будет полезно, это будут прикольные мелкие удобства - но сейчас бы просто выжить :) Прямо сейчас всё еще нет кода управления электронным дросселем.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Tue May 06, 2014 11:14 pm
by Ecucrack
russian wrote:То, что ты описываешь - это уже такая попытка само-настройки. Однажды это будет полезно, это будут прикольные мелкие удобства - но сейчас бы просто выжить :) Прямо сейчас всё еще нет кода управления электронным дросселем.
Эх. свой дискавери я купил 2 года назад.. и C++ тоже понемногу читал.. Но вся беда в том - что я ремонтник. Хардварник. И 7лет опыта заточены под авторемонт.
Есть предложение: от меня дроссель и TLEшка..+ дискавери(но не такой как у Вас) + макетка сразу с драйвером питания (выдеру из блока марелли.. он всёравно на запчасти.. там драйвер форсунок сгорел). А от Вас посильные пинки в нужном направлении по части кода.
Мышление моё больше заточено под алгоритмический принцип построения программ с использованием подпрограмм - обработчиков (ну на бейсике я писал в молодости..), так что если согласны - помогу по мере времени и сил. Но получается что это будет проект с совсем другой элементарной базой. И техусловия для него тоже будут другими.

Re: Модуль дроссельной заслонки и холостого хода

Posted: Tue May 06, 2014 11:27 pm
by AndreyB
Ecucrack wrote:дискавери (но не такой как у Вас)
не такой - а какой? в этом может быть проблема - код придётся писать отдельно, потом напильником код интегрировать в rusEfi код - неудобно :(

Re: Описание текущей архитектуры

Posted: Mon Dec 22, 2014 1:43 pm
by pathfinder
Кстати а как реализовано в прошивке то что при резком сбросе педали газа надо на ХХ двигатель выхватывать чтоб он не заглох. Обычно на современных авто реализована программа ПИД регулятора на ХХ, которая стабилизирует в зависимости от нагрузки обороты двигателя. Т.е. такое ощущение будет что прёт на низах, а на самом деле это работает ПИД регулятор :). Так вот если этого не сделать, а использовать одни таблицы сколько и где прыскать. То со временем все настройки уйдут (проверенно) и авто будет глохнуть на ХХ и обороты будут плавать. Обычно это происходить от того что форсунки со временем срабатываются и те милисекунды открытия которые прописаны в таблицах уже не то. Да и топливо разное, и условия разные. Поэтому на хх пид регулятор это необходимость).

Re: Описание текущей архитектуры

Posted: Mon Dec 22, 2014 1:46 pm
by AndreyB
pathfinder wrote:Кстати а как реализовано в прошивке то что при резком сбросе педали газа надо на ХХ двигатель выхватывать чтоб он не заглох.
Примерно ПИД и реализован :)

Re: Модуль дроссельной заслонки и холостого хода

Posted: Thu Jan 14, 2016 9:46 am
by Aquinax
А как быть мне с двумя электронными дросселями? BMW M70

Re: Модуль дроссельной заслонки и холостого хода

Posted: Thu Jan 14, 2016 12:30 pm
by AndreyB
Aquinax wrote:А как быть мне с двумя электронными дросселями? BMW M70
Для начала можно ими управлять одинаково :)

Re: Модуль дроссельной заслонки и холостого хода

Posted: Tue Mar 08, 2016 1:25 pm
by AndreyB
В английской теме кстати есть какие-то результаты: http://rusefi.com/forum/viewtopic.php?f=5&t=592

[video][/video]

[video][/video]

Re: Модуль дроссельной заслонки и холостого хода

Posted: Wed Mar 09, 2016 12:57 pm
by AndreyB
Железо ДПДЗ отпочковалось в http://rusefi.com/forum/viewtopic.php?f=8&t=997

Re: Модуль дроссельной заслонки и холостого хода

Posted: Sun Jul 10, 2016 8:20 pm
by ukr823f
Два датчика только для надёжности. Есть Main и Sub датчики. Вот при работе если - на 15-20% грубо говоря есть различие в показаниях между этими датчиками - мозг уходит в аварийный режим. Дроссель открывается на 15% чтобы были повышенные обороты, и вы могли добраться до места замены датчиков\ремонта. А так либо усредняйте между двумя датчиками показания, либо используйте один датчик как MAIN,а по второму просто контролируйте его (на предмет умирания дросселя\педали). Алгоритм что для педали что для дросселя одинков.

В мозге рисуете таблицу - положение педали газа\нагрузка на мотор. Значения таблицы - положение дросселя в процентах. Проценты открытия дросселя на основе вольтажа (с дпдз) вычисляются элементарно. На основе ПИД-регулятора устанавливаем дроссель в нужные положения.

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

Все настройки храняться постоянно в памяти ЭБУ до момента сброса клеемы аккума (так как на ЭБУ идёт постоянние питание как раз для хранения калибровочных таблиц и коррекций). То что после сброса клеемы заслонка самокалибруется при первом включении это 100%

Такой алгоритм работы на ЭБУ субару.

По педали всё просто 0.5В - это минимальное положение педали которое равно 0% нажатия, 3.3В - максимальное напряжение которое равно 100% открытия. То есть если напряжение даже выше 3.3В (например 3.6В -это по АЦП если считать - так как питание ДПДЗ - 5В как и всех остальных датчиков) То ничего страшного, просто знаем что дроссель надо открытым на 100% держать. Ход педали по крайней мере на субаре ограничен механически. То есть без упора педаль выдаёт от 0.5 до 4.7 вольт помойму, а механически она ограничена стопором под педалью, и напряжение на выходе ДПДЗ педалей не поднимается выше 3.4 Вольт.