Как стать автором
Обновить

Секретная китайская плата: контроллер стиральной машины

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров40K
Всего голосов 52: ↑51 и ↓1+74
Комментарии60

Комментарии 60

Как будто статья началась на с начала и закончилась не концом. А где та самая плата, о которой идёт речь? Её название, даташит, где она продаётся? И где тот мотор и насос, которым она должна управлять? Где всё это в сборе и в работе?

upd. ах да, на последней секунде видео завертелся какой-то моторчик

Секретная всё-таки.

Плата продаётся на Али - https://alii.pub/6xvku0

Роль насоса и клапана выполняют светодиоды на плате.

Не знаю, реферальная ли ссылка, но она не пашет.

Превратил в обычную:

https://www.aliexpress.com/item/1005005363476549.html

404

Вчера была активна ссылка. Лот называется "Simulated Washing Machine Controller Competition Kit"

Насос это же тоже индуктивная нагрузка, светодиод не может её полноценно имитировать

Светодиоды показывают, как работают алгоритмы стирки: когда открывается заливной клапан, и когда включается сливной насос.

А не надёжнее механический программоаппарат?

В 21 веке он может выйти дороже в производстве - там много ручной работы и масштабирование слабо снизит цену

Электроника надёжнее

Если ТЭН управляется не напрямую контактами командоапарата, а через промежуточное реле/симистор, то нет, механика будет надежнее, особенно при скачках напряжения, когда электроника горит только в путь.

Был такой на "вятка-автомат". Разок пришлось менять - непростой квест среди 100500 проводов преимущественно белого цвета...

А заглянуть в коммандоаппарат не сняв часть проводов - малореально.

Притом цепи управления приводом коммандоаппарата на нём же. И если подгорит эта цепь на участке "залива" - то цикл там и встанет...

Ну и что, отсечка залива по датчику. Вернее даже по двум прессостатам.. Плюс автоперелив в слив, как совсем аварийный режим.

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

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

Что значит «может превысить»? По спецификации ниже допустимого и выше минимального тока выхода, а при его снижении микроконтроллер вообще может работать нестабильно. Странная идея уменьшить ток намного ниже указанного в спецификации минимума без внятного обоснования и тестирования.

Итак, мы получили снижение надёжности устройства. Адекватным решением данной проблемы является увеличение сопротивления резисторов R38 и R40 до 10 килоом.
Тогда ток через каждый из них составит 500 микроампер, что не перегрузит выход микроконтроллера, и при этом вполне достаточно для защиты высокоомного входа каскада с общим коллектором от помех.

Рядом с мощным двигателем переменного тока на 220 вольт? Абсолютно недостаточно. Исходный резистор 1 кОм это как раз минимум для коротких соединений, чтобы защититься от сильных помех. А так получилось, что надуманная проблема решена путем фактического отключения защиты от помех.

После таблицы параметров STC89C52 должна бы быть сноска с напряжением Vol при котором измеряются токи Iol. Предположим, что там 0,8 В. Указанные минимум и максимум тока говорят о разбросе токов нагрузки, при которых Vol не превысит заданный уровень (останется в явном лог. "0"). Ставить меньшую нагрузку - можно невозбранно, т.к. уровень Vol будет всё более и более приближаться к 0 В.

По второму абзацу - соглашусь. Лучше уменьшить последовательные резисторы.

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

Путаница. В данном случае "лог. 0" обеспечивается nMOS транзистором порта STC89C52 с сопротивлением в открытом состоянии несколько десятков Ом. И всё, что не тратится на ток через резистор "подтяжки" - может быть направлено на борьбу с помехами.

Для "лог. 1" - да. Чем меньше резистор "подтяжки", тем больше помехоустойчивость. Но нужно соблюдать баланс между обеспечением "0" и "1".

Для ИМС с симметричным выходным каскадом "подтяжки" к 0 или питанию требуются только для фиксации уровней при переходных процессах включения и выключения прибора и могут иметь большое сопротивление (10+ кОм).

Это вы про «истинный» логический ноль, но на выходе может быть все в диапазоне от нуля до единицы, и трактуйте все эти уровни как хотите. Конечно, если вы твердо уверены, что на выходе всегда будет ноль, то можно не волноваться - но зачем тогда вообще такая схема, если она гарантировано ничего не делает.

… "подтяжки" к 0 или питанию требуются только для фиксации уровней при переходных процессах включения и выключения прибора…

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

Рядом с мощным двигателем переменного тока на 220 вольт? Абсолютно недостаточно. Исходный резистор 1 кОм это как раз минимум для коротких соединений, чтобы защититься от сильных помех.

Не, там хуже дело, товарищ увеличил резистор в 10 раз, но забыл пересчитать напряжение на нем. При токе в 0.5 ма на этом резисторе 10 кОм в базе будет 5 вольт. То есть там по факту ток не 0.5 ма, а скорее всего где-то 0.2 ма, транзистор вытягивает (но не обязан) ток при котором реле все еще включается (но не обязано).

Автор менял резисторы подтяжки, а не те что стоят в базе, так что на работе эмиттерного повторителя это не сильно отразится. Но идея использовать реле, которые гарантировано срабатывают от 4 В, в схеме с общим коллектором и питанием 5 В плохая идея, запас 0,35 В - это малый запас. Правильнее было бы использовать схему с общим эмиттером.

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

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

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

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

Однако транзистор включён неправильно: перепутаны местами коллектор и эмиттер.

А не тип транзистора (NPN)? Тогда получится эмиттерный повторитель.

И постоянно подключенная к источнику питания пищалка.

А это от логики работы P21 зависит. Если он на земле лежит, то писка не будет. Единственно, R44 для эмиттерного повторителя лишний.

Если микроконтроллер будет подавать на базу плюс, то писк будет. А он его подаёт, чтобы держать закрытым PNP транзистор.

А может и не подавать. Да и вообще, странное решение для управления пищалкой брать PNP транзистор с вывернутым включением.

Я бы, кстати, на месте китайцев повторитель бы и поставил. И избавился от двух резисторов - экономия как-никак.

Пищалку лучше на управляемом мультивибраторе делать. В противном случае подвисание контроллера с логическим нулём на ноге может привести к белому дыму из динамика

Конденсатор добавьте и всё. :)

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

Вот динамик через конденсатор и подключите. Тогда подвисание контроллера не будет влиять.

А вы попробуйте. Работает, работает. :) Так ВЧ динамики подключают. Пищалка отлично подойдёт.

ничего не понятно. носки-то куда загружать?

У меня везде с релюшками мосфет 7002,

давно от биполов отказался.

Разумно.

Вот найти бы нечто универсальное для холодильника... А этим платам сто лет в обед, в комплекте на Али ещё и прессостат идёт. Аналоговый

Пускозащитное реле РТК-Х?

Как по мне, раз необходимое рабочее напряжение на реле 5 вольт не выполняется в этой схеме принципиально, то правильным решением могло бы быть просто взять реле с меньшим рабочим напряжением. Помнится РЭС55А были от 3 вольт с обмоткой около 40 ом, наверное и среди новых доступных такие есть. Транзистор до 500 ма, с этой обмоткой справится, при его усилении в базе ему что-то около миллиампера надо, - микроконтроллеру не проблема.

Нужно просто вместо эмиттерного повторителя поставить ключ с ОЭ на npn транзисторе. Тут появляется еще одна ошипка. При сбое программы в МК выводы переведутся в высоко импедансное состояние, и все клапана откроются. Правильно - оставить этот транзистор, но реле перенести в цепь коллектора, и включать логическим 0.

Нужно просто вместо эмиттерного повторителя поставить ключ с ОЭ на npn транзисторе.

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

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

Если транзистор деградирует - у него коеффициент передачи ухудшается. Чтобы его открыть помехой - нужен нормальный электромагнитный импульс. 

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

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

Работал я в такой конторе какое-то-то время.

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

Если не экономить на конденсаторах по питанию, то проблема решаемая.

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

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

Просто интересно стало насколько логическая схема меняется от столкновения с суровой физической реальностью.

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

В этом и прелесть: изучать, понимать и учитывать реальные свойства реальных электронных компонентов в реальном мире, а не только их идеализированных моделей.

Мне одному кажется, что в этот раз китайцы перебдели? Обычно наоборот, не доливают)

R38 и R40 лишние, т.к. эта подтяжка уже есть в самом мк. А даже если подтяжки и нет, всё равно ток базы почти нулевой будет. И если транзистор его усилит в 200 раз, реле не сработают. Если транзисторы стоят рядом с мк, особой чувствительности к помехам не ожидается.

R39 и R41 тоже не нужны, т.к. ток базы в схеме с ОК и так будет ровно таким, как надо. А именно = ток реле / коэфф. усиления транзистора.

И диоды D5 и D6 в схеме с ОК вообще-то тоже лишние. Когда реле выключаются, на базах что-то в районе VCC. Запасённый в катушке ток откроет транзисторы, и они сами ограничат выброс напряжения.

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

Моветон - такой себе аргумент. Что не запрещено даташитом, принципами самой КМОП-технологии, или хотя-бы удобством переносимости - то разрешено.

Тут не законодательство РФ работает, а законы физики. Которые за взятку нарушать не получается. Извиняюсь - лирическое отступление было)

Пускать небольшой ток через защитные диоды, если они есть - вполне штатный режим работы для КМОП. Исключения в КМОПе - аналоговые мультиплексоры типа 74HC4051..53, или входы АЦП мк. Сгорать не сгорают, но начинается джопа с соседними аналоговыми сигналами - открываются паразитные BJT, и все аналоговые сигналы соединяются. Это на пальцах, но подробности пока сам не расковыривал.

Кстати, мк тут без АЦП. Для полноценной имитации стиралки не хватает подогрева воды и единственного и неповторимого аналогового NTC-термодатчика в 10 кОм)

При чём тут "не запрещено datasheet" и "законы физики"? Я как раз и пишу про то, что datasheet на ИМС - требует ограничить ток через защитные диоды на её входах. И, что без диода на катушке реле, напряжение самоиндукции на ней отправит ток именно через защитный диод на порту микроконтроллера.

Про смещение потенциала подложки аналоговых коммутаторов - см. Tech. bulletin 3013 у Microchip.

напряжение самоиндукции на ней отправит ток именно через защитный диод на порту микроконтроллера

Сразу после выключения все токи через транзистор сохраняются. Поэтому он остаётся таким же открытым и ненасыщенным, пока ток катушки не рассосётся.

Почти весь ток катушки в этой схеме отправится также через эмиттер в коллектор. Главное, чтобы транзистор проглотил пиковую мощность - на нём теперь будет падать не 0,6 В, а 5+0,6+0,6. Но не долго.

А через базу в защитный диод мк пойдёт ток, уменьшенный на его коэфф. усиления. Если катушка реле запасла ток 70 мА, то в мк пойдёт всего 0,5 мА. Я думаю, вполне допустимо.

Пожалуй - можно и так.

За своей подозрительностью - упустил, что следом за Б-Э должен открыться весь транзистор.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий