Ремонт бытовой техники. Микроволновки, грили, холодильники, стиральные машины и прочая.
Ответить

[Решено] Холодильник Delfa SBS 482. Чёрточки на индикаторе

Вс фев 12, 2023 15:28:24

Это больше будет не прямая инструкция, а повествование.
После скачака напряжения на индикаторе вместо температуры в холодильном отделении появились две черты. При этом морозильное отделение работает нормально, а в холодильном тепло. В интернете чего только не писали - и датчики, и вентиляторы, и разгерметизация, и платы менять. Мысленно подготовился жить без холодильника. Заметил, что в основном обвиняют индикаторную плату. Даже нашёл одну в продаже, для которой в описании так и указано: "для тех у кго чёрточки на индикаторе". Решил попробовать отремонтировать, а в крайнем случае заменить МК на индикаторной плате на другой со своей программой.
Проверил все датчики, проверил нет ли наморози, проверил вентиляторы. Исследовал как работает холодильная камера: есть один компрессор и он работает на морозилку; в морозилке стоит вентилятор, который подаёт воздух в морозильное и золодильное отделение; температура воздуха в холодильном отделении регулируется при помощи заслонки, которая управляется шаговым двигателем. При рассматриваемой неисправности заслонка закрывается и более не открывается, сколько бы не работал компрессор.
Извлёк платы - их две - и обнаружил, что они работают как вместе, так и по отдельности. Ни ошибок, ни аварийных отключений - просто включаются и работают по-своему. В обоих установлены МК Renesas разных моделей с одной особенностью - через протокол программатора их можно только записывать, а если через протокол отладки их попробовать их прочитать, то загрузчик стирает сохранённую микропрограмму. Ладно, перед такими кардинальными действиями исследуем протокол - подумал я. Инициатором обмена выступает индикаторная плата, а силовая только отвечает. При разных температурах в морозилке запрос выглядит так:
Код:
-15: 0xF5  0x37 0x23 0x00 0x08 0x00 0x00 0x57
-16: 0xF5  0x37 0x22 0x00 0x08 0x00 0x00 0x56
-17: 0xF5  0x37 0x21 0x00 0x08 0x00 0x00 0x55
-18: 0xF5  0x37 0x20 0x00 0x08 0x00 0x00 0x54
-19: 0xF5  0x37 0x1F 0x00 0x08 0x00 0x00 0x53
-23: 0xF5  0x37 0x1B 0x00 0x08 0x00 0x00 0x4F


Потом повозился с силовой платой: надо узнать - где какие датчики передаются.
1. После включения отвечает:
0xF5 0x32 0x00 0x32 0x00 0x32 0x00 0x00 0x00 0x00 0x00 0x8B

Через 1.3 с щёлкает реле и плата начинает отвечать так:
0xF5 0x31 0x00 0x32 0x00 0x32 0x41 0x02 0x00 0x00 0x00 0xCD

2. Воздействия на разъёмах.
CON5
"RT. SNR"
При замыкании никаких изменений.

CON7
"F. SNR"
При замыкании никаких изменений.
"FD. SNR"
При замыкании никаких изменений.
"F. DOOR"
При замыкании меняется на:
0xF5 0x31 0x00 0x32 0x00 0x32 0x61 0x02 0x00 0x00 0x00 0xED

CON6
"R. DOOR"
При замыкании меняется на:
0xF5 0x31 0x00 0x32 0x00 0x32 0x51 0x02 0x00 0x00 0x00 0xDD
"R. SNR1"
При замыкании никаких изменений.
"R. SNR2"
а) При замыкании никаких изменений.
б) Удерживаем в замкнутом состоянии. Где-то через полминуты
выключилось реле. Размыкаем контакт и минут через 15 реле снова
включается. Повторить это не удалось. Перезапуск не помог, а
также удерживание в замкнутом состоянии "R. SNR1" или "RT. SNR".

Режим нештатный и плата ничего не передаёт. Тупик. Что делать? Надо считывать как-то микропрограмму из индикаторной платы. Почитал, что есть такая методика - "броски в питании". По этой методике мы ждём определённого момента в программе и делаем просадку в цепи питания, из-за этого неверно считывается содержимое ОЗУ и программа может пойти по нужному нам направлению. Подготовил необходимое оборудование (аж целую "ардуину") и ... Лень сказала мне: "а давай на всякий случай схему индикаторной платы составим". "Ну, давай", - ответил я. Начал зарисовывать и обнаружил перемычку "S0" возле МК, которая подключена только к МК. А это похоже на задатчик режима работы. Выпаиваю, включаю плату и тишина - ни пакетов, ни индикации. Впаиваю назад, плата запускается и две чёрточки всё на том же месте. Тут мне пришло в голову зажать кнопку установки температуры холодильной камеры. Спустя несколько секунд произошёл пилинь-пилинь и на индикаторе появилась температура холодильной камеры, а пакет запроса стал выглядеть так:
Код:
0xF5  0x38 0x22 0x00 0x00 0x00 0x00 0x4F

Теперь мы знаем, что:
2-й байт - температура в холодильнике;
3-й байт - температура в морозилке;
5-й байт - флаг "0x08" - отключить холодильную камеру.

Собрал холодильник, включил, заслонка закрывается. Ладно, подождём. Через полчаса-час заслонка открылась. Ну и отлично.
Вот так случайно починил. Почему случайно? Нарушена чистота эксперимента: я навернякала "тыкал" и удерживал кнопки по-всякому, но это не записано. В инструкции также не указано, что так можно включать и отключать холодильную камеру. Мои домыслы следующие. В используемом МК есть дополнительная область Dataflash и там скорей всего хранятся сведения о работе холодильника. Эта область была перезаписана при нештатной работе микропрограммы.
Ответить