Как стиральная машина управляет двигателем. Часть I — подключение двигателя и алгоритм стабилизации
Данная вступительная статья рассчитана на самый начальный уровень, «продвинутых» в области электроники читателей сможет заинтересовать следующая, где я доберусь до анализа схемотехники реальных машин
Давно позади стены альма матер, но мир сегодня меняется так быстро, что надо всегда бежать, даже если всего лишь хочешь стоять на месте. В области разработки электронной техники эта бессмертная фраза Алисы имеет наверное самую большую актуальность. В последние годы у меня появилось новое хобби — ремонт бытовой электронной техники. Ремонтирую не ради денег, чисто для себя и родственников, то что ранее выкидывал не задумываясь и заменял на новое.
Электронная начинка современных бытовых приборов, особенно если речь идёт не о наколенной сборке в мастерской дядюшки Ли, а известных брендах, представляет собой чудеса оптимизации. Занимаясь ремонтом, я попутно подсматриваю достойные внимания технические решения, улыбаюсь замечая промахи проектировщиков. Временами их бывает крайне сложно объяснить чем то иным, кроме как требованиями маркетологов вносить в конструкцию элементы «планового устаревания».
Погода на дворе не очень, очередной прототип отправляется на опытную эксплуатацию, почему бы не рассказать о чём то интересном? Давно я не писал на Хабр!
Почему двигатель, почему стиральные машины?
Ну хотя бы потому, что движки от стиральных машин отлично подходят для многих самоделок, а добыть их проще простого. Можно извлечь из отслужившей свой срок собственной стиральной машины, а можно купить на Авито за смешные деньги! Для тех кто предпочитает один раз увидеть, чем десять прочитать, бонусом к статье послужат сопроводительные видео с моего канала.
Таходатчик. Что за зверь и зачем нужен?
В большинстве современных стиральных машин трудятся асинхронные двигатели переменного тока, регулировкой напряжения на двигателе занимается симистор, а направление вращения переключают с помощью реле. Понятно, что для того, чтобы устанавливать и поддерживать стабильную скорость вращения, необходимо как минимум определять эту скорость. Вот для этого и служит таходатчик.
В простейшем случае он представляет из себя двигатель наоборот — генератор переменного напряжения, частота которого пропорционально изменяется в зависимости скорости вращения. Результат короткого вращения вала рукой виден на осциллограмме заставки. Изменяется, кстати, и амплитуда, что создаёт проблемы при обработке сигнала. Не будем углубляться в эту тему, при желании, о моих экспериментах с ним можете ознакомиться в видео по ссылке в конце статьи.
Подсоединяем двигатель к колодке
Эта статья ознакомительная, до реальной схемотехники мы доберёмся в следующей, а пока будем использовать функциональные либо сильно упрощённые схемы.
Ниже именно такая, содержащая разобранный на части движок, подсоединённый к колодке стиральной машины.
В каждый момент времени в работе участвуют две обмотки. На металлической основе мотора намотана обмотка статора. С ней по очереди взаимодействуют обмотки ротора. Для того, чтобы ротор постоянно вращался эти обмотки необходимо последовательно переключать. Происходит это за счёт серии закреплённых на вращающимся валу контактов. Напряжение на них передаётся посредством скользящих ответных контактов, так называемых щёток
У такого подхода существуют как плюсы, так и минусы. С одной стороны двигатель всеяден — может работать как от переменного, так и от постоянного тока, с другой скользящие механические контакты — не самая надёжная штука и для устройств непрерывного цикла подобные движки не подходят, а вот для бытовых приборов, включаемых время от времени, типа стиральных машинок или шуруповёртов, сгодятся вполне.
А что же за колодкой?
Добавим к нашей схеме элементы, находящиеся за пределами колодки. Тиристор и реле.
Очень кратко, буквально в двух словах, опишу её работу. В схеме задействованы целых три реле с контактами на переключение. Два из них К2 и К3 используются для изменения направления протекания тока через ротор и, как следствие, изменения его направления вращения. Реле К3 устанавливается только на продвинутых стиральных машинах с повышенными оборотами двигателя. Оно работает в паре со статором, имеющим отвод от основной обмотки. За счёт этого можно дополнительно регулировать мощность, а значит и скорость оборотов. Подробнее вышеописанный процесс рассмотрен в другом моём видео.
Включением двигателя и регулировкой скорости его вращения занимается симистор.
В действие вступает микроконтроллер
Управляет симистором конечно же микроконтроллер. Используя обратную связь и фазоимпульсное управление, он умудряется не просто устанавливать заданную скорость вращения барабана в очень широких пределах, но и удерживает её при изменении нагрузки на вал в сотни раз!
Удивительно, что несмотря на огромное количество датчиков и исполнительных механизмов для управления всеми процессами, происходящими в стиральной машине используется не продвинутый 32 битный ARM, а скромный трудяга — медленный дешёвенький 8 битник, оперативной памяти у которого в разы меньше, чем у Синклера образца конца восьмидесятых прошлого столетия — каких нибудь 2, ну максимум 4 килобайта. По сегодняшним меркам, это просто НИЧТО. Я уже не говорю о тактовой частоте в 8 мегагерц, которая типична для такого старичка — сегодня она вряд ли поражает чьё-то воображение. Но одно достижение за ним всё таки числится — по количеству выводов он сумел обойти сороконожку!
Алгоритм работы
Чтобы регулировать величину оборотов барабана, микроконтроллеру необходимо, как минимум, её определить. Для этого он подсчитывает количество оборотов двигателя за единицу времени с помощью закреплённого на вале тахометра.
Глядя на рисунок нетрудно понять, что сигнал тахогенератора в чистом виде совершенно не годиться в качестве входного и нам просто необходим формирователь импульсов, чтобы привести его к удобоваримой форме. Подробно работу и схемотехнику этого узла разберём в следующий раз, а сейчас прошу поверить мне на слово, что благодаря формирователю на входе микроконтроллера, появляются красивые импульсы с крутыми фронтами и без намёков на дребезг. Всё бы хорошо, но встаёт вопрос: «Каким образом столь слабое и медленное вычислительное ядро микроконтроллера успевает подсчитывать несущиеся с внушительной скоростью импульсы?»
А никаким!
Этим скучным занятием в микроконтроллере занимается прилежный счетовод Пан Ватруба. Ну, а если без шуток, то его роль выполняет встроенный таймер. Таймер современного микроконтроллера — мастер на все руки и подсчёт количества импульсов, поступающих на его вход за единицу времени, с последующим сохранением в специальном регистре, пожалуй самая простая из операций, на которую он способен. Главное, что при этом вообще не задействуются ресурсы вычислительного ядра. Микроконтроллер просто считывает значение из регистра в любой удобный для него момент, ну скажем 50 или всего 10 раз в секунду и, по мере необходимости, использует в дальнейших расчётах.
Тиристорный регулятор
Прошу извинить, уж слишком мало места оставляет Habr для полезной информации, поэтому текст на графике не виден. На этой и аналогичной картинках читать его надо следующим образом:
Входное напряжение от электросети
Управляющий импульс
Напряжение на нагрузке
ОК. Информацию о скорости вращения мы получили и теперь изменяя мощность, подаваемую на двигатель, можем регулировать частоту его оборотов, а значит и скорость вращения барабана с бельём. В современных бюджетных стиральных машинах, это чаще всего делается посредством фазоимпульсного метода, а в качестве силового элемента выступает симистор. Он подаёт напряжение на двигатель в виде импульсов, строго синхронизированных с началом каждой полуволны сетевого напряжения и заданной длительности. Немалая инерция вращающейся части двигателя — статора и ещё большая тяжёлого барабана с бельём, отлично сглаживают импульсный характер крутящего момента. Порт микроконтроллера выступает как бы в роли ну очень быстрого выключателя, подавая на управляющий электрод симистора короткие отрицательные импульсы, обозначенные на диаграмме красной стрелочкой.
Этого достаточно, чтобы в тиристоре запустился лавинообразный процесс и сопротивление между его силовыми электродами упало почти до нуля. В результате, как это показано на нижнем графике, на обмотках двигателя появляется напряжение. Продержится оно вплоть до момента исчезновения входного.
В соответствии с выбранной программой стирки и её текущего этапа, микроконтроллер получает команду раскрутить двигатель до требуемых оборотов, а для поддержания скорости на необходимом уровне запускается механизм достижения и стабилизации заданного параметра, в данном случае оборотов двигателя, под названием ПИД.
Но вернёмся к нашему микроконтроллеру. Для формирования короткого импульса, с заданной задержкой от начала полупериода, он использует уже второй свой таймер. Для этого таймер тоже занимается подсчётом импульсов, но уже не от внешнего источника, а внутреннего генератора самого микроконтроллера, частота которого стабилизирована кварцевым резонатором.
Второй таймер работает, в так называемом, режиме PWM — формирования короткого импульса включения тиристора с заданной задержкой, относительно момента перехода напряжения через ноль. Длительность задержки может меняться от нуля до одного полупериода сетевого напряжения. Для российской сети с частотой 50 Гц это значение составляет 10 миллисекунд.
Для точного определения нулевого напряжения служит специальная схема, которая так и называется — «детектор нуля». Схемотехника этого узла также весьма любопытна, мы рассмотрим её в следующий раз, если тема вызовет интерес у читателей. Пока же отмечу только, что в момент перехода напряжения питания из положительного в отрицательное, на выходе детектора появляется логическая единица, а в момент перехода в отрицательное — логический ноль. И именно при изменении логического уровня, запускается правый на рисунке таймер. Он отсчитывает заданную выдержку и подаёт короткий импульс на управляющий электрод симистора. Тот открывается и подаёт напряжение уже на двигатель. Важно! Закрывается симистор автоматически по достижению переменным напряжением нуля. По этой причине использование его в большинстве случаев ограничено цепями переменного тока. Таким образом, не смотря на то, что наш двигатель способен работать и на постоянном токе, в паре с тиристорным регулятором придётся ограничиться переменным.
Движок обесточивается и начинается новый цикл работы.
Стабилизация заданной скорости вращения
Остаётся выяснить главное — каким образом работает стабилизация. Допустим наш двигатель вращается с нужной частотой и, вдруг, нагрузка на вал уменьшилась. Такое может произойти например, когда в процессе отжима вес белья уменьшился. Барабан в этом случае начинает разгоняться и, как следствие, увеличится частота вращения тахогенератора, а значит и импульсов поступающих с формирователя на входе таймера 1.
Заметив это, микроконтроллер увеличит задержку подачи управляющего импульса на симистор. Симистор откроется позже и на двигатель поступит меньшая мощность, его вращающий момент уменьшается и скорость барабана снижается до заданной в программе, ну, а частота импульсов тахогенератора приходит в норму. Об этом свидетельствует нижний график рисунка. На нижней диаграмме графика заполненным красным цветом показано насколько уменьшится время подачи напряжения на двигатель. Мощность, поступающая на двигатель уменьшится ещё серьёзней — при изменении амплитуды она изменяется квадратично.
Несложно представить себе и другую ситуацию. В машинку, на этапе полоскания, клапан добавил водички, выросла нагрузка на вал и приходящие с формирователя импульсы уменьшили свою частоту.
В ответ микроконтроллер уменьшает длительность выдержки таймера Т2. Семистор включается раньше, а значит остаётся открытым ДОЛЬШЕ, и мощность на двигателе повышается. Частота оборотов приходит в норму.
В заключении отмечу, что описал типичный пример действия обратной связи. Работает она не мгновенно и стабилизация скорости происходит за несколько итераций, при этом возможен даже запуск небольшого колебательного процесса, амплитуда которого, при правильных настройках ПИД, быстро затухает.
Ссылки на мои видео по материалам которых была подготовлена статья, для тех, кто предпочитает смотреть, да и разрешение там побольше
«Как работает двигатель стиральной машины? Устройство. Диагностика. Тахогенератор.»
«Управление двигателем стиральной машины. Зачем нужны симистор и реле, где они стоят в плате управления»
«Как микроконтроллер управляет двигателем? Алгоритм. На примере стиральной машины»