Прошивка блока управления холодильника

Как перепрошить плату холодильника.

Как перепрошить плату холодильника.

Хоодильник некорректно начал выполнять режимы охлаждения. Одной из причин может стать выход из строя платы управления. Рассмотрим как плата управления программируется.

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

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

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

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

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

Хороший стиль программирования микроконтроллеров подразумевает структурное программирование. Это не формальные слова. Как известно можно писать красивые, структурные программы на ассемблере, а можно и на C++ такого нагородить.

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

Если взять, к примеру, мою программу контролера для холодильников Плате. Как ее сделать по такому принципу? Как с помощью простых последовательных операций выполнить все необходимые действия? Эта программа написана на ассемблере PIC контроллера. Она выполняет множество параллельных операций:

С периодом 10 мс опрашивает три кнопки, обеспечивает цифровую фильтрацию сигналов кнопок, устранения дребезга.

Каждые 2 мс регенерирует данные светодиодных семисегментных индикаторов и светодиодов.

Формирует сигналы управления и считывает данные с двух датчиков температуры с интерфейсом 1-wire. Необходимо каждые 100 мкс формировать новый бит чтения или записи для каждого датчика.

Каждые 100 мкс считывает аналоговые значения выходного тока, выходного напряжения, напряжения питания.

Усредняет значения выходных тока и напряжения за 10 мс, вычисляет мощность на Платье.

Постоянно работает сложная система регуляторов:

стабилизация тока, напряжения, мощности на элементе Пельтье;

ПИД (пропорционально интегрально дифференциальный) регулятор температуры.

Обрабатываются защитные функции, проверка целостности данных.

Обеспечивает чтение и запись внутреннего EEPROM.

Ну и, конечно, общее управление системой, логика работы.

Все эти операции надо выполнять циклически с разными периодами циклов. И ничего нельзя пропускать или приостанавливать. Такую программу невозможно реализовать простой последовательностью действий.

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

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

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

Читайте также:  Почему трещит котел при нагреве

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

В каждом уроке я буду стремиться к созданию завершенного модуля, который можно использовать в будущих проектах. Идеальный вариант это создание подобия операционной системы, в которой используются драйверы (функции) всех внешних аппаратных средств. Мне удалось создать такую систему на PIC контроллерах для управления сложным фасовочным оборудованием. Она включает в себя среду для выполнения параллельных задач и драйверы для работы, датчиками, кнопками, дисплеем и т.п. Надеюсь получится и на Ардуино.

Общие сведения об Ардуино.

Ардуино (Arduino) это название аппаратно-программных средств для создания простых электронных систем автоматики и робототехники. Система имеет полностью открытую архитектуру и ориентирована на непрофессиональных пользователей.

Программная часть Ардуино состоит из интегрированной программной среды (IDE), позволяющей писать, компилировать программы, а также загружать их в аппаратуру.

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

Благодаря простоте разработке устройств система Ардуино получила крайне широкое распространение. В одном Яндексе до 150 тысяч запросов ”Ардуино” в месяц. Несмотря на простоту разработки проектов, используя Ардуино, могут быть созданы достаточно сложные системы, особенно после появления высокопроизводительных вариантов контроллеров.

В платах Ардуино используются микроконтроллеры Atmel AVR с прошитым в них загрузчиком. С помощью загрузчика записывается программа в микроконтроллер из персонального компьютера без применения аппаратных программаторов.

Для программировании Ардуино используется язык C/C++, с некоторыми особенностями.

Существует громадное число клонов аппаратной части Ардуино. Большинство из них являются полными аналогами фирменных Ардуино, часто не уступающими по качеству.

Как перепрошить плату холодильника.

Как перепрошить плату холодильника.

Хоодильник некорректно начал выполнять режимы охлаждения. Одной из причин может стать выход из строя платы управления. Рассмотрим как плата управления программируется.

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

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

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

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

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

Хороший стиль программирования микроконтроллеров подразумевает структурное программирование. Это не формальные слова. Как известно можно писать красивые, структурные программы на ассемблере, а можно и на C++ такого нагородить.

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

Читайте также:  Failed to initialize renderer your display

Если взять, к примеру, мою программу контролера для холодильников Плате. Как ее сделать по такому принципу? Как с помощью простых последовательных операций выполнить все необходимые действия? Эта программа написана на ассемблере PIC контроллера. Она выполняет множество параллельных операций:

С периодом 10 мс опрашивает три кнопки, обеспечивает цифровую фильтрацию сигналов кнопок, устранения дребезга.

Каждые 2 мс регенерирует данные светодиодных семисегментных индикаторов и светодиодов.

Формирует сигналы управления и считывает данные с двух датчиков температуры с интерфейсом 1-wire. Необходимо каждые 100 мкс формировать новый бит чтения или записи для каждого датчика.

Каждые 100 мкс считывает аналоговые значения выходного тока, выходного напряжения, напряжения питания.

Усредняет значения выходных тока и напряжения за 10 мс, вычисляет мощность на Платье.

Постоянно работает сложная система регуляторов:

стабилизация тока, напряжения, мощности на элементе Пельтье;

ПИД (пропорционально интегрально дифференциальный) регулятор температуры.

Обрабатываются защитные функции, проверка целостности данных.

Обеспечивает чтение и запись внутреннего EEPROM.

Ну и, конечно, общее управление системой, логика работы.

Все эти операции надо выполнять циклически с разными периодами циклов. И ничего нельзя пропускать или приостанавливать. Такую программу невозможно реализовать простой последовательностью действий.

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

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

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

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

В каждом уроке я буду стремиться к созданию завершенного модуля, который можно использовать в будущих проектах. Идеальный вариант это создание подобия операционной системы, в которой используются драйверы (функции) всех внешних аппаратных средств. Мне удалось создать такую систему на PIC контроллерах для управления сложным фасовочным оборудованием. Она включает в себя среду для выполнения параллельных задач и драйверы для работы, датчиками, кнопками, дисплеем и т.п. Надеюсь получится и на Ардуино.

Общие сведения об Ардуино.

Ардуино (Arduino) это название аппаратно-программных средств для создания простых электронных систем автоматики и робототехники. Система имеет полностью открытую архитектуру и ориентирована на непрофессиональных пользователей.

Программная часть Ардуино состоит из интегрированной программной среды (IDE), позволяющей писать, компилировать программы, а также загружать их в аппаратуру.

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

Благодаря простоте разработке устройств система Ардуино получила крайне широкое распространение. В одном Яндексе до 150 тысяч запросов ”Ардуино” в месяц. Несмотря на простоту разработки проектов, используя Ардуино, могут быть созданы достаточно сложные системы, особенно после появления высокопроизводительных вариантов контроллеров.

В платах Ардуино используются микроконтроллеры Atmel AVR с прошитым в них загрузчиком. С помощью загрузчика записывается программа в микроконтроллер из персонального компьютера без применения аппаратных программаторов.

Читайте также:  Kms auto windows 7 ultimate 64 bit

Для программировании Ардуино используется язык C/C++, с некоторыми особенностями.

Существует громадное число клонов аппаратной части Ардуино. Большинство из них являются полными аналогами фирменных Ардуино, часто не уступающими по качеству.

Современные холодильники уже давно стали непростыми устройствами. Производители, в погоне за продажами, стараются как можно больше «навернуть» свои аппараты. Одним из ярких моментов улучшения-усложнения обычного бытового холодильника — это установка модуля управления с цифровыми индикаторами температуры, датчиками NTC и кучей всяких ненужных моментов.

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

Шлейф или жгут двери.

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

Демонтаж и монтаж процессора.

Один из самых часто встречаемых процессоров, установленных на холодильники концерна Indesit или Whirlpool, как их называть сейчас не понятно, это микроконтроллер семейства HCS08, ****GB60A. Они встречаются также и на стиральных машинах и получили прозвище «кормильцы», так как мастера с низкой квалификацией заменить или прошить их не могут. Особых знаний для этого не нужно, так как нет SS кодов, блокировок и т. д., несколько несложных движений и ваш процессор прошит, но для начала необходимо подготовить прошивку.

Поиск и подготовка прошивки.

Для подбора прошивки или конфигурационных данных мы будем использовать сервис сайта bineep.ru. Данный сайт позволяет искать прошивку по штрихкоду, алгоритм анализа и база совершенствуются практически ежедневно. Конечно, скачать прошивку можно без регистрации, денег, смс и прочего.. Укажем там все наши данные с бирки холодильника, расположенной в нижней части холодильного отделения.
После того как мы скачали config, нам нужно его сконвертировать. Прошивка процессора состоит из SW – software версия софта или прошивки и FW – firmware версия конфигурационных данных, настроек под конкретную модель. Версия SW написана на модуле управления или на его пластиковой коробке, версию FW мы уже подобрали, объединяем эти два компонента с помощью онлайн конвертера на том же сайте bineep.ru и получает файл в формате S19.

Настройки программатора и внутрисхемное программирование.

После того как мы подготовили наш файл прошивки, мы запускаем программу HCS08 programmer и подключаем наш программатор. В окне девайса должен определиться наш программатор, если этого не произошло, смотрим драйвера и не забываем про отсутствие цифровой подписи на драйвере, о чем мы говорили в одной из прошлых статей. Напряжение выставляем на программаторе 3.3 вольта или выбираем в программе, далее переходим к следующей вкладке и нажимаем кнопку target. Если id процессора не определился, значит проблема в подключении или в самом процессоре. Проверяем, что процессор определился правильно, выбираем прошивку, нажимаем программирование и ждем завершения.
Удачи в ремонте!

Оцените статью
ПК Знаток
Добавить комментарий

Adblock
detector