Ремонт WABCO Electronic Level Control (ELC). Scania.

_config.yml
Из-за некорректно проведенной процедуры калибровки повторная калибровка стала невозможна с помощью имеющихся средств, а именно диагностического оборудования SDP3.

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

Данные по блоку:

| WABCO 115 34/07       | CONTROL UNIT ELC  |
| 051872  446 170 216 0 | SCANIA            |
| ECAS 6x2/BUS          | PART NO.: 1851677 |
| 24V e1 032063         | HW NO.: 1759698   |
|                       | 6870              | 

В чем проблема?

После ремонта тягача потребовалась настройка уровня подвески. Это делается в SDP3 за 5 шагов:

  1. Перейти в режим калибровки и согласиться на её проведение;
  2. Установить ходовой уровень (средний) подвески;
  3. Установить максимальный уровень подвески;
  4. Установить минимальный уровень подвески;
  5. Рассчитать калибровочное значение и записать его в EEPROM.

На этапе 1 в EEPROM удаляется значение предыдущей калибровки. Если после этого процесс прервется или завершится с ошибкой, то возникнет описываемая проблема. На этапах 2-4 в EEPROM записываются показания с датчиков уровня подвески: один передний и один задний. На этапе 5, на основании полученных значений, производится расчет нового калибровочного коэффициента (тот, что был удален на этапе 1).

Если подвеска имеет какие-то неисправности, либо есть неисправность датчиков, либо нарушен порядок действий на этапах 2-4, то на этапе 5 будет рассчитан некорректный коэффициент, имеющий отрицательное значение. Он будет сохранен в EEPROM, и после этого повторная калибровка становится невозможной, по крайней мере через то же самое меню в SDP3.

На фото представлено окно, на котором можно увидеть неисправность. Вместо значений “-36” и “-34” мм отображается “-300” (вроде был) и шкала имеет красный фон. Слева, возле текстового описания, отображается по одному знаку вопроса. В логах диагностики фиксируется ошибка по блоку ELC. Если отключить датчик уровня, то возле знака вопроса появляется еще какой-то значок, вроде желтый треугольник.

config.yml

Значение не изменяется при изменении уровня подвески, и это может вызвать подозрения на датчики уровня. В моём случае был нарушен регламент проведения процедуры калибровки. На этапе 3 был установлен минимальный уровень, и этот же минимальный уровень был записан на этапе 4. (об это ниже)

Как решить?

Нужно изменить значение калибровки на корректное. Это позволит снова войти в режим калибровки в программе SDP3.

На основании анализа дампов EEPROM и экспериментов с режимом калибровки была получена нужная информация.

Ниже показаны первые 128 байт из 2 КБ. (используется AT93C86). Дамп рабочий.

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000000   00 86 0B 56 13 F8 0C EA  15 05 0F 64 19 00 7D 00    † V ш к   d  } 
00000010   7D C4 86 24 77 00 7D EB  06 12 CE 03 16 05 CF 0C   }Д†$w }л  О   П 
00000020   9A 15 B4 0E 14 19 00 7D  00 7D C4 86 24 77 00 7D   љ ґ    } }Д†$w }
00000030   D4 06 0C 17 FF FF 2C 1A  68 02 9C 19 FF FF B4 02   Ф   яя, h њ яяґ 
00000040   FF FF 27 06 FF FF 0E 05  FF FF 4B 05 8B 06 5D 04   яя' яя  яяK ‹ ] 
00000050   96 04 00 00 00 00 02 05  D7 04 BE 03 4B 04 EE 02   –       Ч ѕ K о 
00000060   CE 04 72 24 18 05 10 27  F3 05 54 2E 37 03 CB 03   О r$   'у T.7 Л 
00000070   B8 24 13 04 10 27 38 05  22 2E 86 02 00 00 00 00   ё$   '8 ".†     

Данные по адресам 0x4E…0x5F относятся к калибровке подвески. Формат int16, little-endian.

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000040                                              5D 04   яя' яя  яяK ‹ ] 
00000050   96 04 00 00 00 00 02 05  D7 04 BE 03 4B 04 EE 02   –       Ч ѕ K о 

Запишу в столбец и переверну байты.

Addr hex dec Описание
0x4E 045D 1117 Ходовой уровень датчик 1
0x50 0496 1174 Ходовой уровень датчик 2
0x52 0000 0000 Не используется
0x54 0000 0000 Не используется
0x56 0502 1282 Верхний уровень датчик 1
0x58 04D7 1239 Верхний уровень датчик 2
0x5A 03BE 0958 Нижний уровень датчик 1
0x5C 044B 1099 Нижний уровень датчик 2
0x5E 02EE 0750 Калибровочное значение

(Датчик 1 - вероятно это передний, 2 - задний. Отдельно я это не проверял. )

Значение по адресу 0x5E-0x5F = 0x02EE. Положительное. Это данные из успешно откалиброванной подвески.

Теперь данные из дампа с которым пришел блок. Дамп не рабочий.

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00000040                                              A4 04                 ¤ 
00000050   92 04 00 00 00 00 F4 03  48 04 F4 03 48 04 3A FC   ’     ô H ô H :ü

Запишу в столбец и переверну байты.

Addr hex dec Описание
0x4E 04A4 1188 Ходовой уровень датчик 1
0x50 0492 1170 Ходовой уровень датчик 2
0x52 0000 0000 Не используется
0x54 0000 0000 Не используется
0x56 03F4 1012 Верхний уровень датчик 1
0x58 0448 1096 Верхний уровень датчик 2
0x5A 03F4 1012 Нижний уровень датчик 1
0x5C 0448 1096 Нижний уровень датчик 2
0x5E FC3A -966 Калибровочное значение

Значение по адресам 0x5E, 0x5F = 0xFC3A. Старший бит равен 1, число отрицательное. Записано в дополнительном коде. По модулю это будет 0x3C6 или 966 в десятичной системе. То есть, как-то совпадает с рабочим значением, только вот знак минус.

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

Рекомендации по ремонту

  1. Считать EEPROM;
  2. Сохранить копию оригинала;
  3. Посмотреть что по адресу 0x5F. Если значение 0xF в старшей тетраде, или старший бит установлен, то “отремонтировать” EEPROM с помощью значений из рабочего дампа. Переписать только калибровочный коэффициент или все 18 байт;
  4. Провести повторную калибровку;
  5. В случае неудачи, понаблюдать за значениями уровней датчиков:
    • Они должны иметь такой же диапазон занчений как в рабочем дампе 900…1500 (dec);
    • Должно сохраняться неравенство между ходовым уровнем, верхним, нижним;
  6. Если значения уровней не в указанном диапазоне (900…1500) или не различаются (различаются на малую величину), то проверить работоспособность датчиков;

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

Может быть что после прошивки EEPROM с непонятными, но корректными значениями, на шкале уровней подвески будут значения не соответсвующие дейтсивтельности. Например, на горизонтально поднятой подвеске будет “200” мм перед и “-150” мм зад. После успешной калибровки это пройдет.

Микросхему EEPROM можно найти здесь: _config.yml

А это обратная сторона платы. _config.yml

Автоматчиески установился ходовой уровень. Все в порядке. _config.yml

Если у вас остались вопросы или вы хотите предложить отремонтировать подобное оборудование - пишите

29.01.2025