Оказался у меня старенький холодильный агрегат на принципе Пельтье.

Как оказалось их производит какой-то один производитель делая "слегка" внешний вид по одному принципу. вот аналогичный холодильник но уже под брендом Waeco.

Они полные братья как я понимаю - решетка, задняя крышка, внутренности камеры, 4 кнопки, 3х разрядный 7ми сегментный дисплей. Наверняка если бы была фотография со снятой задней крышкой то плата печатная полностью совпадала.

Так вот возвращаясь к оказавшемуся у меня в руках экземпляру Climadiff. у него три проблемы

  1. шум большой вентилятора
  2. не сохраняет состояние вкл\выкл после сброса питания
  3. перестал запоминать настройку температуры камеры

Вскрытие задней крышки показало:

  • отсутствие достаточной площади прорезей для вентиляции и обдува радиатора элемента Пельтье
  • 60мм 12В вентилятор не очень много покрывает площади радиатора но работает всегда на максимальных оборотах
  • AT24C чип памяти убит
  • применяется 8битный МК фирмы ELAN - EM78P458 на который мне не удалось найти компилятора и понимания как считать и записать программный код

Исправить самую первую проблему довольно просто.

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

Во-вторых заменяем вентиль на 120мм. К сожалежнию тихого в запасах не нашлось поэтому поставил обычный. У попавшего под руку вентилятора был штатно зацеплен термодатчик для повышения оборотов при нагреве (NTC-резистор на 10кОм). Датчик я подцепил параллельно включенному в схему переменному резистору, дав таким образом возможность "задавать" руками в небольших пределах. Номиналы были подобраны так что-бы обеспечивать при минимальной скорости хороший обдув теплообменника Пельтье элемента. А при максимальных оборотах - повышать КПД всего холодильника увеличивая скорость обдува.

Оставшиеся две проблемые решать довольно сложно. Если чип памяти заменяется легко, то решить проблему невосстановления состояния после подачи питания без прошивки - невозможно. А фирма производившая МК уже "того".

Значит пойдем суровым путем - изготовим точную копию (идентичную натуральной) печатной платы устройства и зацепим за имеющийся в доступности МК. Плата здесь .

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

Судя по кол-ву контактов дисплея (8штук) там в запененной области нечто типа сдвигового регистра которым нам предстоит управлять. Сначала тыкаемся туда осликом и нюхаем что вообще происходит. Посмотрев на сигналы стало очевидным - нужно подключать анализатор сигналов. Цепляем его и получаем осцилограммы сигналов. Прикидываем тайминги сигналов и назначения контактов. Задаем температуру в 5 градусов и смотрим что формируется на выходе МК для каждого разряда из трех.

undefined

undefined

undefined

Выбирая разные режимы кнопками (температуру и вкл\выкл) и наблюдая за осцилограммами - еще больше убеждаемся в первоначальной мысли.

Ок, нужно проверить идею. Пишем кусок кода. под рукой в этот раз оказался "оверкильный" для этой задачи МК atmega328 на 8мгц.

Закидываем скетч и пробуем идею цепляясь только за дисплей. Разряды начинают светится. Дисплей работает! Прекрасно, идем дальше. Выясняем что 4 кнопки зацеплены за резисторный делитель. Значит понадобится АЦП. Жаль, хотелось сэкономить и погружаться в полный сон когда питание с кнопки выключено. Ну ладно. Оригинальная схема тоже не была энергоэффективной. все кушало даже в выключеном состоянии и не мало.

Теперь цепляемся логическим анализатором к пинам шины I2C. тут-то мы и выясняем, вероятную, причину быстрого подыхания памяти AT24C - МК после включения холодильника зачем-то начинает туда бесконечно писать. вероятнее всего ошибка которую в далеком 2002 году не заметили...

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

Из выводов которые совершенно непонятными для меня остались это нечто промаркированное M+ M-. первое преположение что это мотор вентилятора - неверным было. Вентиляторов всего два в устройстве. промаркированы на плате FAN1 и FAN2. один внутри камеры, другой извне камеры. Оба обдувают по сути две стороны элемента Пельтье. Кстати, сам элемент потребляет 4.1Ампера.

Рисуем новую плату полностью совпадающую размером со старой. Попутно в принципиальной схеме усовершенствуем систему запитки силового реле включающего вентилятор обдува и элемент Пельтье. "энергоэкономичный" способ. через RC-цепочку времязадающую даем импульс для замыкания контактов реле и дальше сбрасываем напряжение удержания до 6-7ми вольт. В остальном схему не меняем.

По окончании дописываем остальную часть прошивки (обработку клавиш, работу с вентилятором, обработку АЦП от термистора). Особое внимание тут - работа с температурой. Нам надо фильтровать и сглаживать значения получаемые с АЦП, иначе мы "задергаем" реле. Принятая схема тут идентична старой и общим принципам в индустрии +-1 градус от "заданного" пользователем значения температуры. Ну и попутно решается две последних проблемы. Мы "помним" заданную температуру и режим вкл\выкл при потере питания.

Попутно, сверяя получаемую холодильной камерой температуру с той что выдавала оригинальная схема выясняем интересную особенность - температура выводимая дисплеем оригинальной схемой не очень точно коррелирует с фактической! Разница порой доходит до 2 Градусов. Жаль, не понять: это из-за прошедших годов или так было изначально всегда? Помимо этого, похоже, что вентилятор обдувая внутреннюю камеру холодильника и элемент Пельтье "не добивает" до двери холодильника и там температура еще больше отличается от "глубин". Тепловизор фиксирует эту разницу.

Как итог у холодильного шкафа началась новая жизнь.