- 3-скоростной двигатель вентилятора переменного тока
- Анализ проекта
- ИК-декодер
- GreenPAK Дизайн
- Скорость MUX
- Таймер
- Полученные результаты
- Заключение
Однофазные двигатели переменного тока обычно используются в предметах домашнего обихода, таких как вентиляторы, и их скорость можно легко контролировать, используя несколько дискретных обмоток для заданных скоростей. В этой статье мы создаем цифровой контроллер, который позволяет пользователям управлять такими функциями, как скорость двигателя и время работы. Эта статья также включает схему инфракрасного приемника, которая поддерживает протокол NEC, где двигателем можно управлять с помощью кнопок или сигнала, принимаемого инфракрасным передатчиком.
Для этого используется микросхема GreenPAK ™ SLG46620 в качестве основного контроллера, отвечающего за эти разнообразные функции: мультиплексную схему для активации одной скорости (из трех скоростей), трехпериодные таймеры обратного отсчета и инфракрасный декодер для приема сигнала внешний инфракрасный сигнал, который извлекает и выполняет нужную команду.
Если мы посмотрим на функции схемы, мы заметим, что одновременно используются несколько дискретных функций: мультиплексирование, синхронизация и ИК-декодирование. Производители часто используют множество ИС для построения электронной схемы из-за отсутствия доступного уникального решения в рамках одной ИС. Использование микросхемы GreenPAK IC позволяет производителям использовать одну микросхему для включения многих желаемых функций и, следовательно, снизить стоимость системы и надзор за производством.
Система со всеми ее функциями проверена на правильность работы. Окончательная схема может потребовать специальных модификаций или дополнительных элементов, адаптированных к выбранному двигателю.
Чтобы проверить, что система работает нормально, тестовые примеры для входных данных были сгенерированы с помощью эмулятора конструктора GreenPAK. Эмуляция проверяет различные тестовые примеры для выходов, и подтверждается функциональность ИК-декодера. Окончательная конструкция также проверяется на реальном двигателе для подтверждения.
3-скоростной двигатель вентилятора переменного тока
Трехскоростные двигатели переменного тока - это однофазные двигатели, работающие от переменного тока. Они часто используются в самых разнообразных бытовых машинах, таких как вентиляторы различных типов (настенные, настольные, ящичные). По сравнению с двигателем постоянного тока, управление скоростью в двигателе переменного тока относительно сложно, поскольку частота подаваемого тока должна изменяться, чтобы изменить скорость двигателя. Такие устройства, как вентиляторы и холодильные машины, обычно не требуют мелкой детализации скорости, но требуют дискретных шагов, таких как низкая, средняя и высокая скорость. Для этих применений двигатели вентиляторов переменного тока имеют несколько встроенных катушек, рассчитанных на несколько скоростей, при этом переключение с одной скорости на другую осуществляется путем подачи питания на катушку с желаемой скоростью.
Двигатель, который мы используем в этом проекте, представляет собой трехскоростной двигатель переменного тока с 5 проводами: 3 провода для управления скоростью, 2 провода для питания и пусковой конденсатор, как показано на рисунке 2 ниже. Некоторые производители используют стандартные провода с цветовой кодировкой для идентификации функций. Техническое описание двигателя покажет информацию о конкретном двигателе для идентификации проводов.
Анализ проекта
В этой статье GreenPAK IC настроен на выполнение заданной команды, полученной от источника, такого как ИК-передатчик или внешняя кнопка, для обозначения одной из трех команд:
Вкл / Выкл: система включается или выключается при каждой интерпретации этой команды. Состояние включения / выключения будет меняться на обратное с каждым нарастающим фронтом команды включения / выключения.
Таймер: таймер работает на 30, 60 и 120 минут. При четвертом импульсе таймер выключается, и период таймера возвращается к исходному состоянию синхронизации.
Скорость: управляет скоростью двигателя, последовательно повторяя активированный выход с проводов выбора скорости двигателя (1,2,3).
ИК-декодер
Схема ИК-декодера предназначена для приема сигналов от внешнего ИК-передатчика и активации требуемой команды. Мы приняли протокол NEC из-за его популярности среди производителей. Протокол NEC использует «импульсное расстояние» для кодирования каждого бита; для передачи каждого импульса требуется 562,5 мкс с использованием сигнала несущей частоты 38 кГц. Для передачи сигнала логической 1 требуется 2,25 мс, а для передачи сигнала логического 0 - 1,125 мс. На рисунке 3 показана передача последовательности импульсов согласно протоколу NEC. Он состоит из пакета AGC длительностью 9 мс, затем пространства 4,5 мс, затем 8-битного адреса и, наконец, 8-битной команды. Обратите внимание, что адрес и команда передаются дважды; второй раз - это дополнение до 1 (все биты инвертированы) в качестве четности, чтобы гарантировать правильность полученного сообщения.LSB передается первым в сообщении.
GreenPAK Дизайн
Дизайн ИС был построен в бесплатном программном обеспечении GreenPAK Designer на основе графического интерфейса. Полный файл дизайна можно найти здесь.
Соответствующие биты полученного сообщения извлекаются в несколько этапов. Для начала, начало сообщения определяется из пакета AGC длительностью 9 мс с использованием CNT2 и 2-битного LUT1. Если это было обнаружено, то через CNT6 и 2L2 указывается пространство 4,5 мс. Если заголовок правильный, выход DFF0 устанавливается в высокий уровень, чтобы разрешить прием адреса. Блоки CNT9, 3L0, 3L3 и P DLY0 используются для извлечения тактовых импульсов из принятого сообщения. Значение бита берется на переднем фронте сигнала IR_CLK, 0,845 мсек от переднего фронта IR_IN.
Затем интерпретированный адрес сравнивается с адресом, хранящимся в PGEN с использованием 2LUT0. 2LUT0 - это вентиль XOR, а PGEN хранит инвертированный адрес. Каждый бит PGEN последовательно сравнивается с входящим сигналом, и результат каждого сравнения сохраняется в DFF2 вместе с нарастающим фронтом IR-CLK.
В случае, если в адресе была обнаружена какая-либо ошибка, 3-битный выход защелки LUT5 SR изменяется на High, чтобы предотвратить сравнение остальной части сообщения (команды). Если полученный адрес совпадает с адресом, хранящимся в PGEN, вторая половина сообщения (команда и инвертированная команда) направляется в SPI, чтобы желаемая команда могла быть прочитана и выполнена. CNT5 и DFF5 используются для указания конца адреса и начала команды, где «Данные счетчика» CNT5 равны 18:16 импульсам для адреса в дополнение к первым двум импульсам (9 мс, 4,5 мс).
Если полный адрес, включая заголовок, был правильно получен и сохранен в IC (в PGEN), выход 3L3 OR Gate выдает сигнал Low на вывод nCSB SPI для активации. Следовательно, SPI начинает получать команду.
Микросхема SLG46620 имеет 4 внутренних регистра длиной 8 бит, что позволяет хранить четыре различных команды. DCMP1 используется для сравнения полученной команды с внутренними регистрами, и разработан 2-битный двоичный счетчик, выходы A1A0 которого подключены к MTRX SEL # 0 и # 1 DCMP1 для последовательного и непрерывного сравнения полученной команды со всеми регистрами.
Декодер с защелкой был построен с использованием DFF6, DFF7, DFF8 и 2L5, 2L6, 2L7. Конструкция работает следующим образом; если A1A0 = 00 , выход SPI сравнивается с регистром 3. Если оба значения равны, DCMP1 выдает сигнал высокого уровня на своем выходе EQ. Поскольку A1A0 = 00 , это активирует 2L5, и DFF6, следовательно, выдает сигнал высокого уровня, указывающий, что сигнал включения / выключения был получен. Аналогично, для остальных управляющих сигналов CNT7 и CNT8 настроены как «Оба фронта задержки», чтобы генерировать временную задержку и позволить DCMP1 изменить состояние своего выхода до того, как значение выхода будет удерживаться DFF.
Значение команды включения / выключения сохраняется в регистре 3, команда таймера - в регистре 2, а команда скорости - в регистре 1.
Скорость MUX
Для переключения скоростей был построен 2-битный двоичный счетчик, входной импульс которого принимается внешней кнопкой, подключенной к выводу 4, или от ИК-сигнала скорости через P10 от компаратора команд. В начальном состоянии Q1Q0 = 11 , и при подаче импульса на вход счетчика из 3-битного LUT6, Q1Q0 последовательно становится 10, 01, а затем состояние 00. 3-битный LUT7 использовался для пропуска состояний 00, учитывая, что для выбранного двигателя доступны только три скорости. Сигнал включения / выключения должен быть высоким, чтобы активировать процесс управления. Следовательно, если сигнал включения / выключения низкий, активированный выход отключается, и двигатель выключается, как показано на рисунке 6.
Таймер
Реализован 3-х периодный таймер (30 мин, 60 мин, 120 мин). Для создания структуры управления 2-битный двоичный счетчик принимает импульсы от внешней кнопки таймера, подключенной к выводу 13, и от сигнала ИК-таймера. Счетчик использует Pipe Delay1, где Out0 PD num равно 1, а Out1 PD num равно 2, путем выбора инвертированной полярности для Out1. В исходном состоянии Out1 , Out0 = 10 таймер отключен. После этого, подавая импульс на вход CK для Pipe Delay1, состояние выхода последовательно изменяется на 11,01,00, инвертируя CNT / DLY в каждое активированное состояние. CNT0, CNT3, CNT4 были настроены для работы в режиме «Задержки нарастающего фронта», вход которых исходит от выхода CNT1, который настроен на подачу импульса каждые 10 секунд.
Чтобы иметь задержку 30 минут:
30 x 60 = 1800 секунд ÷ 10 секундные интервалы = 180 бит
Следовательно, данные счетчика для CNT4 равны 180, CNT3 - 360, а CNT0 - 720. По истечении времени задержки импульс высокого уровня передается через 3L14 на 3L11, вызывая отключение системы. Таймеры сбрасываются, если система выключается внешней кнопкой, подключенной к контакту 12, или сигналом IR_ON / OFF.
* Вы можете использовать симистор или твердотельное реле вместо электромеханического реле, если хотите использовать электронный переключатель.
* Для кнопок использован аппаратный дебаунтер (конденсатор, резистор).
Полученные результаты
В качестве первого шага в оценке проекта использовался программный симулятор GreenPAK. На входах были созданы виртуальные кнопки и контролировались внешние светодиоды напротив выходов на плате разработки. Инструмент Signal Wizard использовался для генерации сигнала, аналогичного формату NEC, для отладки.
Был сгенерирован сигнал с шаблоном 0x00FF5FA0, где 0x00FF - это адрес, соответствующий инвертированному адресу, хранящемуся в PGEN, а 0x5FA0 - это команда, соответствующая инвертированной команде в регистре 3 DCMP для управления функцией включения / выключения. Система в исходном состоянии находится в состоянии ВЫКЛ, но после подачи сигнала отметим, что система включается. Если в адресе был изменен один бит и сигнал был применен повторно, мы замечаем, что ничего не происходит (несовместимый адрес).
После однократного запуска мастера сигналов (с действующей командой включения / выключения):
Заключение
В этой статье рассматривается конфигурация ИС GreenPAK, предназначенная для управления трехскоростным двигателем переменного тока. Он включает в себя несколько функций, таких как изменение скорости, создание трехпериодного таймера и создание ИК-декодера, совместимого с протоколом NEC. GreenPAK продемонстрировал эффективность при интеграции нескольких функций, все в недорогом ИС небольшой площади.