Русский
Русский
English
Статистика
Реклама

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг

Всем привет! Предупреждаю заранее, данный проект не является сколь-либо экономически выгодным. За время, затраченное на эту работу, можно было заработать на несколько таких новых посудомоек. Целью данного поста является демонстрация примера разработки ПО для небольшой автоматики в кустарных условиях (аналогичных производственным). Если из этой идеи получится что-то стоящее, то исходные коды проекта я потом выложу. Писать код буду в реальном времени по мере возможности. Конкретно в данном посте мы изучим устройство этой машины, подготовим платформу, и загрузим первую тестовую программу.

Итак, попала ко мне в руки вышедшая из строя посудомоечная машина. Было выяснено, что её агрегаты (соленоиды, насосы и т.д.) находятся в исправном состоянии. Вышел из строя сам контроллер, где находится программа для управления этими приборами. Что, скажу я вам, весьма серьёзная ситуация - ведь без этого контроллера большая и дорогостоящая машина подлежит отправке на помойку. В интернете я уже видел подобные проекты, но они были сделаны как-то халтурно, не уверен, что они вообще работали. Для написания подобного ПО в производственных условиях программисту уже должны быть даны технические параметры всех приборов и назначение выводов. Но у нас нет ни оригинального контроллера, ни исходников. Поэтому нет никаких шансов восстановить заводское ПО. В таком случае, будем писать своё. Но для начала необходимо изучить, что собой представляет машина - ведь у нас нет практически никаких данных, все провода для нас отличаются только цветом. Первым делом, выпаиваем старый, вышедший из строя контроллер:

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Далее, мы видим на плате микросхему ULN2003 (моя называется иначе, но 2003 в названии сути не меняет). Подпаяем к прибору специальную платку (состоит из резисторов и блока переключателей):

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Итак, из даташита мы знаем, что микросхема ULN2003 имеет семь входов и семь выходов с инвертированием сигнала. Сделано это для удобства подключения к реле - при подаче логической единицы 5В на вход микросхемы, выход подтягивается к земле и в катушках реле начинает течь ток. Мощный прибор, подключенный к реле, включается в работу.

Для определения этих самых приборов плату устанавливаем на машину, после чего щелкаем переключателями по очереди. Методом проб переключателей было выяснено, что каждый из 7 выходных пинов выполняет свою функцию:

1. Запуск центробежного насоса (ЦН) на большой скорости
2. Запуск ЦН на малой скорости (половинная загрузка?)
3. Открытие входного клапана (залив воды)

4. Открытие дозатора моющего средства
5. Включение соленоида, находящегося в баке с солью
6. Включение сливной помпы
7. Включение ТЭНа для нагрева воды.

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

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Выявленные опытным путём выводы соответствуют указанным на схеме (выходы - внизу прямоугольника). Однако, также полно внесистемных обозначений. Например, что такое FM? ISS? Это всё пришлось выяснять опытным путём. В результате, спустя некоторое время, схема выглядела уже так:

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Входы расположены следующим образом:

1. RE - вход терморезистора (на 9,7КОм), установленного в баке с водой. Он контролирует температуру воды, нагреваемой ТЭНом. Константа зависимости сопротивления от нагрева для него неизвестна (утеряна в заводской прошивке), её предстоит выяснять опытным путём в следующих постах. Пока опустим его. Вход аналоговый.
2. FM - Fluid Meter. Датчик воды. Представляет собой геркон с магнитом, который размыкается при заполнении бака. Вход цифровой.
3. IAQS - датчик (микрик) аквастопа. При его активации включается режим аварии и отключаются все приборы. Вход цифровой. Его мы тоже пока опустим.
4. +5V и ISS. Питание датчика соли. Он выполнен на компраторе LM339, вход цифровой.
5. ISB - неизвестный переключатель, находящийся в дозаторе моющего средства. Его расположение выяснять не стал, для тестового запуска он пока не нужен. Вход также цифровой и опустим его.
6. DOOR - датчик двери (замок). Работает аналогично IAQS.

P1 - пресловутый прессостат, но он в данной машине к модулю не подключается, а работает независимо.

Итого, имеем 4 на данный момент важных входа:
1. RE - его реализуем позже через полумостовую схему измерения
2. FM - проверяется через подтяжку линии к 5В через резистор 10K на плюс питания и 2K к самой линии.
3. ISS - аналогичным образом
4. DOOR/IAQS (их пока можно объединить) - аналогичным образом.

От себя также добавлю 2 кнопки (питание и служебная кнопка), и 6 выводов для работы дисплея 1602 (включен в полубайтном параллельном режиме).

Таким образом, мы определили, что к выбираемому контроллеру для данной машинки предъявляются следующие требования:

1. Наличие 14 и более I/O портов для всех агрегатов (выходной регистр, входы, также для подключения дисплея 1602, которого не было в оригинальной схеме)

2. Наличие на борту таймеров (непосредственно для работы отсчёта времени)

3. Наличие АЦП (для обработки показаний термодатчика)

4. Возможность подключения кварцевого генератора для обеспечения стабильности схемы

Собственно, ничего серьёзного. Подойдёт контроллер ATMEGA8 (но т.к. он уже сильно устарел, заменим на любимый китайцами и ардуинщиками ATMEGA328, они полностью совместимы). Скажу сразу, Arduino в данном проекте мы не используем, пишем на чистом AVR.

Когда контроллер выбран, настало время подготовить плату и приборы для отладки. Начнём с того, что подготовим тестовый стенд для ИМС. Запаяем её и некоторые DuPont пины.

Было / стало:

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Далее, подготовим аппаратные имитаторы агрегатов машинки. Кто-то скажет, что отладить можно было и в электронном виде, на что я скажу да, можно. Но часто бывает, что в симуляторе не выявляются некоторые косяки, такие как дребезг кнопок, наводки и т.д., т.к. условия там слишком приближены к идеальным. Плюс ко всему, прибор не очень громоздкий, так что можно изготовить "набор для отладки". Состоит он из платы с микросхемой ULN2003, имитирующей работу нашего модуля и агрегатов (но вместо них установлены светодиоды). Второй модуль состоит из 2 кнопок и 3 переключателей, имитирующих наши важные датчики, также, туда будет установлен терморезистор

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Для оптимизации схемы некоторые доработки выполнялись "на соплях" прямо на дисплейном модуле:

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Вот так вся эта отладочная установка смотрится после сборки. Выходной регистр назначен на порт D (используется 7 выводов из 8), дисплей - на порт B (6 выводов), входной регистр - на порт C (неполный, 6 выводов):

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Подписаны светодиоды, имитирующие приборы и все кнопки с переключателями. В таком виде схему можно отлаживать. Предусмотрено внутрисхемное программирование, сразу накинут кварц на 6 МГц (какой нашел, потом, возможно, поменяю). Для испытания на машинке достаточно будет отпаять с модуля блок переключателей, и установить туда также DuPont штыри, к которым будем подключать макетную плату легко и просто без изменений в схеме. В дальнейшем по завершению испытаний отладочные платы убираются.

Теперь создадим проект под эту схему. Сразу же инициализирую git-репозиторий. Пока что лишь маленькая программка "бегущие огни" на задержках для проверки правильности проводки.

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Тут уже вылезли косяки: как выяснилось, две абсолютно новые непаянные ATMEGA328P, лежавшие у меня несколько лет, тупо отказались прошиваться. Судя по всему, вышли из строя от лежания. Такой подлянки я от них не ожидал - ведь стоят сейчас достаточно крупных денег. Пришлось перепаивать три раза сам контроллер с переходника, в итоге выдрал из какой-то ардуины более-менее рабочий. После чего плата завелась. Судя по всему, для решения дефицита комплектующих придется где-то раздербанить немного ардуинов.

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

Пишем свой софт для посудомоечной машины ч. 1. Реверс-инжиниринг Электроника, Техника, Avr, Автоматика, Длиннопост, Посудомоечная машина, Самоделки

Дальнейшие задачи по этому устройству, в основном, программные и заключаются в следующем (будем выполнять во второй части поста):

1. Инициализировать аппаратный таймер, отмеряющий время работы конкретного агрегата
2. Инициализировать дисплей для вывода тестовой информации о состоянии машины
3. Написать тестовую программу, которая позволит залить воду в бак машинки, прогнать её насосом без нагревания в течение 5 минут, после чего слить воду.

В дальнейшем:
- Инициализировать АЦП для корректной работы термодатчика и ТЭНа (какое мытьё посуды без нагрева воды)
- Реализовать функцию паузы / аварийного слива
- Реализовать открытие отсека моющего средства в программе
- Индикация отсутствия соли (вывести с датчика на дисплей)
- Реализовать аквастоп/остановку по замку

Более сложные заморочки, такие как выбор программы под разную посуду, подгонка времени и напора воды под конкретное моющее средство пока реализовывать не планирую, ибо эти фичи, как правило, нужны уже конечному потребителю (да и то не всегда). Для минимальной же работоспособности прибора сойдут и ранее перечисленные функции. Подключение модуля и первые натурные испытания 7-минутной тестовой программы также в следующем посте. Пока что наше изделие ещё не переросло уровень "Ардуина щелкает, светодиодами мигает", но это всё в скором времени поправимо.

А пока всё, с вами был Kekovsky, спасибо всем кто дочитал (если кому-то это интересно). Своё мнение по поводу проекта пишите в комментариях.

Атмосфера Питерской парадной
Показать полностью
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Я занимаюсь вопросами эффективного обращения с отходами, ресурсосбережения и рационального природопользования. Я начинал свою работу в агроинженерном НИИ в Санкт-Петербурге, где участвовал в 12 российских и международных проектах по агроинженерной и экологической тематике.
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Проводим серию опытов с различными видами отходов и убеждаемся, что оборудование работает. Попутно защищаем кандидатскую диссертацию по этой теме. Возвращаемся к железу. Взвешиваем недостатки, придумываем решение. Надо делать проще и надежнее. Путь известен идем в Фонд содействия инновациям.
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Импортозамещение без мам, пап и кредитов: личный опыт Оборудование, Ниокр, Личный опыт, Импортозамещение, Идея, Полезное, Видео, Вертикальное видео, Без звука, Длиннопост, Отходы, Модернизация
Показать полностью 17 2
Хороший продавец Комментарии, Комментарии на Пикабу, Скриншот, Продавец, Проценты, Жадность
Показать полностью 1
Мы такие! Скриншот, Комментарии на Пикабу, Мат, Юмор
Все просто
Отличная притча Картинка с текстом, Грустный юмор, Анекдот, Жизненно, Притча, Религия, Повтор
Отличная притча Картинка с текстом, Грустный юмор, Анекдот, Жизненно, Притча, Религия, Повтор
Отличная притча Картинка с текстом, Грустный юмор, Анекдот, Жизненно, Притча, Религия, Повтор
Показать полностью 2
Самая уральская фотография Юмор, Twitter, Скриншот, Горка, Урал
Показать полностью 1
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Неловко вышло Раскадровка, Актеры и актрисы, Знаменитости, Интервью, Карл Урбан, Джон Чо, Длиннопост
Показать полностью 9
Полезные советы на Пикабу Скриншот, Комментарии на Пикабу, Комментарии, Черный юмор, Мат
Показать полностью 1
Яжемамка у взрослой девушки Комментарии, Комментарии на Пикабу, Скриншот, Мама, Беременность, Дети, Родители и дети
Показать полностью 1
Санкции по самому больному
Источник: ktonanovenkogo.ru
К списку статей
Опубликовано: 02.07.2022 06:40:47
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

[моё]

Электроника

Техника

Avr

Автоматика

Длиннопост

Посудомоечная машина

Самоделки

[моё]

Работа

Собеседование

Служба безопасности

Мат

Текст

Кровать

Кража

Возврат

Парадная

Яндекс

Обман клиентов

Яндекс афиша

Жалоба

Текст

Короткопост

Кавказцы

Национализм

Беспредел

Шпана

Видео

Мат

Негатив

Русофобия

Сургут

Новости

[моё]

Оборудование

Ниокр

Личный опыт

Импортозамещение

Идея

Полезное

Видео

Вертикальное видео

Без звука

Длиннопост

Отходы

Модернизация

Комментарии

Комментарии на пикабу

Скриншот

Продавец

Проценты

Жадность

Доброта

Девушки

Добрые дела

Дождь

Видео

Вертикальное видео

Скриншот

Комментарии на пикабу

Мат

Юмор

Любовь

Повтор

Отношения

Дети

Текст

Короткопост

[моё]

Еда

Фастфуд

Алкоголь

Кулинария

Сэндвич

Закуска

Кот

Асмр

Видео

Вертикальное видео

Гениально

Скриншот

Юмор

Картинка с текстом

Грустный юмор

Анекдот

Жизненно

Притча

Религия

Повтор

Юмор

Twitter

Скриншот

Горка

Урал

[моё]

Пикабу

Совет

Благодарность

Текст

Ложь

Юмор

Ответ на пост

Мат

[моё]

Юмор

Истории из жизни

Текст

Макароны

Своими руками

Рукоделие с процессом

Бамбук

Зонт

Азиаты

Вертикальное видео

Tiktok

Видео

Раскадровка

Актеры и актрисы

Знаменитости

Интервью

Карл урбан

Джон чо

Длиннопост

Скриншот

Комментарии на пикабу

Комментарии

Черный юмор

Мат

Комментарии

Комментарии на пикабу

Скриншот

Мама

Беременность

Дети

Родители и дети

Скриншот

Политика

Санкции

Zewa

Туалетная бумага

Юмор

Сергей лукьяненко

Последние комментарии

  • Имя: Шеронова Наталья
    08.09.2021 | 00:08
    Отдельное спасибо за баобаб :) Подробнее..
  • Имя: 13
    16.06.2021 | 16:37
    Неожиданно увидеть свое фото и ссылку на левый источник ... Я размещал это фото на пикабу. Подробнее..
© 2006-2024, shop-archive.ru