Volkswagen Transporter T4 (Лучший друг)

Установка панели приборов Venator. Часть 5.

Я їжджу на Volkswagen Passat B5
Харків, Україна

Всем доброго времени суток. Наконец ко мне пришел миг счастья — свободные выходные. Пролетят они как миг, но думаю отдохнуть успею. А заодно и написать об прошедших изысканиях на тему установки панели приборов. Эту часть я пишу уже очень долго. Хотелось её сделать максимально содержательной, чтоб уже дождаться покупки дисплея и на следующей части закончить повествование. Но все время требовалось вносить коррективы в черновик, а тут и новая версия Венатора 3 лайт вышла и с совершенно новым скетчем.

В прошлой части я описал как начинались изыскания по поводу блока сбора данных. Все вроде началось хорошо. Но всегда есть НО! В машине есть два типа подключения датчиков.

Дело в том, что рисуя скетч, я еще не смотрел на схему. Думал, что все по очереди слепится. Ну и естественно забыл об этих двух типах подключения. Очень зря я так думал. Когда заморочился схемами — понял, сколько придется еще раз менять скетч, подгоняя его под нужды автомобиля.
Я уже описывал датчики ранее, но не вдавался какой полярности они. А их бывает два типа.
И так первый тип. Это когда от плюса батареи через датчик (выключатель, переключатель) идет питание на индикатор и на массу. То есть датчик включает или выключает +12В (грубо говоря), а масса на индикаторе постоянна.
На стареньких Т4 к этому типу относятся:
1) Сигналы Спидометра
2) Сигналы Тахометра
3) Индикация поворотов и аварийной сигнализации
4) Индикация включения габаритов
5) Индикация включения дальнего (ближнего) света фар.
6) Индикация включения свечей накала
7) Напряжение бортовой сети
8) Индикация включения вентиляторов радиатора
9) Индикация включения противотуманных фар
10) Индикация включения стопов
К счастью в этом списке все подключается к шилду как есть.
Что же касается второго типа, то тут От плюса батареи питание сразу идет на индикатор, но масса подключена через датчик (выключатель, переключатель). То есть датчик подключает массу, а +12В (грубо говоря и сильно округляя) на индикаторе постоянно.
К этому типу относятся:
1) Температура охлаждающей жидкости
2) Уровень топлива
3) Низкий уровень охлаждающей жидкости
4) Индикация низкого и высокого давления масла
5) Индикация включения ручного тормоза
6) Индикация открытия дверей
7) Индикация пристегивания ремня безопасности.
Такие датчики подключаются немного по другой схеме.

Шилд немного подготовлен к подключению такого типа датчиков. Однако только немного. На нем есть контактные площадки для пайки резисторов для подтяжки к +5В. Однако мне такая идея не понравилась и я +5В откусил, а на обратную сторону подключил +12В (с генератора +14.4В). Так же пришлось своим единственным паяльником с широким жалом перепаивать SMD резисторы на новое место, а вместо них ставить перемычки (резисторы с маркировкой 0). Размер их для покупки на рынке 1206 вроде. Стоят копейки. Вот так получился шилд после моих изысканий.

И так нужно убрать резисторы 100кОм (маркировка 104) с насиженного места, и переместить их на те самые подготовленные контактные площадки. Резисторы 47кОм (маркировка 473) остаются на своих местах, а вместо 100кОмных, нагло передвинутых, вставить перемычки (маркировка 0). Не думал, что это так сложно будет, но справился. Глаза боятся, а руки делают.
Вот схемки вариантов подключения входов к Ардуино:

Теперь меняем в скетче входы, которые будут соответствовать новой распайке. То есть В1, В3, В5, В7, В9, В11, В13, В15, В17, В19, В21 и В23 мы отдаем под второй тип. При этом В9, В11, В13, В15, В17, В19, В21 и В23 могут быть и аналоговыми и цифровыми, В1, В3, В5 и В7 — только цифровыми.
Отдельно карта входов такого шилда с распределенным функционалом:

А теперь пошла часть с изменениями под новые версии.
Вот так это будет выглядеть в обновленном скетче:

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

Теперь перейдем к самому скетчу. При тестах, у меня тахометр, спидометр, количество топлива и температура охлаждающей жидкости отображались не верно. Да в принципе при покупке авто температуру не показывало (был оборван провод на разъеме датчика), а тахометра не поставили с завода (древний потому что), так что потерял лишь скорость и уровень топлива (было бы что терять, белка Фред все равно до 100км/ч разгоняет машину только с горки при попутном ветре за 3 дня). По сути все аналоговые датчики безбожно врали. Оно и не удивительно. Потому под окончание тестов я замучил Frud'a вопросами и кое что для себя выяснил.
Во первых это тот факт, что по умолчанию в скетче для скорости считается 6 импульсов от датчика за 1 оборот. На Т4 же устанавливали датчики с 7 импульсами. Вот что написано в T4Wiki:
Signalform
Der Geber liefert pro Radumdrehung ca. 7 Impulse. Das resultierende Signal ein recht akzeptables, weitgehend symmetrisches Rechtecksignal mit einer Amplitude von ca. 9 Volt (mindestens 5 Volt).
Это означает.: Датчик подает около 7 импульсов на оборот колеса. Результирующий сигнал является довольно приемлемым, в основном симметричным прямоугольным сигналом с амплитудой около 9 вольт (не менее 5 вольт).
Не буду приводить текст, однако так же ниже написано, что возможно есть второй вариант датчиков скорости, используемый на старых дизельных Т4 без блока управления двигателем.
Остаётся вопрос какой же датчик купил я? Однако об этом в следующей части (оставим интригу).
При датчике с 7 импульсами и стандартном размере колеса (195/70 R15), где длинна окружности поверхности катания примерно 2 метра, скорость в км/ч равна частоте в Гц.
Остается поправить эту цифру в скетче.
Во вторых это собственно про цифры в скетче.
В скетче есть строки:
void spd(){ //измеряем частоту на входе спидометра по прерыванию
if(!st){micros_sp = micros();}
else {sp = (sp_mult/(micros() — micros_sp));}
st = !st;
sz = 30;
}
void tah(){ //измеряем частоту на входе тахометра по прерыванию
if(!tt){micros_th = micros();}
else {th = (48666.68/(micros() — micros_th));}
tt = !tt;
tz = 10;
}
А немного выше еще строка:
sp_mult = 3600000/sp_sens; //вычисление коэфф. пересчета частоты в скорость
Последняя строка выполняется всего 1 раз при старте Ардуино. В ней вычисляется дальнейший коэффициент пересчета частоты в скорость. Это переменная sp_mult. Состоит она из цифры 3600000, разделенной на установленное в начале количество импульсов на оборот колеса, то есть на переменную sp_sens.

Кусочки озаглавленные словом void выполняются при срабатывании прерывания. Сложная штука. По проще говоря срабатывает при получении импульса с датчика. Так вот получает импульс, высчитывает
sp = sp_mult/разница_времени_импульсов
th = 48666.68/разница_времени_импульсов
Немного поясню откуда берется цифра:
Для спидометра (пока на стадии выяснения, пользуемся корректировкой в программе):
1 об/мин = 1/60 об/сек = (7*(1/60))*1000000 = 816666.67
Хотя по формуле в скетче выходит немного другая цифра:
3600000/7 = 514285,71
Данный вопрос выясняется и в этом месте будет корректироваться.
Для тахометра:
1 об/мин = 1/60 об/сек = 2.92*(1/60) = 0.4866667 Гц
Переводим в микросекунды 0.04866667*1000000 = 48666.67
Число 2.92 это соотношение валов генератора и коленвала. Известно, что один оборот генератора выдает лишь 1 импульс (вывод на пин W идет с одной обмотки, а всего их 3 обмотки соединеных звездой).
Так на приборных панелях с тахометром на самом тахометре и пишут diesel х2.92
Если кому нужно то я стырил у SanekBorisovich Вот прямо тут вот эти данные:
"для корректной и правильной работы тахометра должно быть свое передаточное.
1X, ABL I=1:2,52
1X, ABL I=1:2,99 (широкий ремень)
AAB I=1:2,92
"
Для прочих двигателей придется искать в интернете. И да, владельцам течиков с датчиками положения коленвала этот коэффициент равен количеству импульсов на оборот коленвала.
Ниже расположил уже почти финальную версию скетча в картинках.
Скачать описанную версию программы и скетч, в котором еще не выставлены пины входов можно Вот в этой записи блога Frud'a.

Ссылки на конкретно мои версии программы и скетча, а так же на дополнительную программу для работы через USB оставлю в последней части и тут после написания последней части.

Опубліковано: 17 березня 2018р. 19:21
0 0 0

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.