- Работа регулятора потолочного вентилятора на основе Интернета вещей
- Материалы, необходимые для цепи управления скоростью вентилятора переменного тока
- Цепь управления регулятором вентилятора переменного тока
- Дизайн печатной платы регулятора потолочного вентилятора, управляемого IoT
- Настройка учетной записи Firebase
- Код Arduino для управления регулятором вентилятора с помощью NodeMCU
- Создание приложения Fan Regulator с помощью MIT App Inventor
- Тестирование цепи датчика касания на базе ESP32
- Дальнейшие улучшения
В этой статье мы создаем схему регулятора вентилятора переменного тока, которая может управлять скоростью вращения вентилятора, ограничивая поток тока к вентилятору. Термин "регулятор потолочного вентилятора переменного тока" звучит довольно сложно, поэтому с этого момента мы будем называть его просто регулятором вентилятора. Схема регулятора вентилятора является важным компонентом, который используется для увеличения или уменьшения скорости из переменного тока вентилятора / двигателя в соответствии с потребностями. Несколько лет назад у вас был выбор между обычным регулятором вентилятора резистивного типа или электронным регулятором, но в настоящее время все это заменено схемой электронного регулятора вентилятора.
В предыдущей статье мы показали вам, как вы можете построить схему управления фазовым углом переменного тока с помощью Arduino, которая могла бы управлять яркостью лампы накаливания, а также управлять скоростью вентилятора, чтобы повысить ее на ступеньку выше. В этой статье мы собираемся создать схему регулятора потолочного вентилятора переменного тока на основе Интернета вещей. Который сможет управлять скоростью вашего потолочного вентилятора с помощью приложения для Android.
Работа регулятора потолочного вентилятора на основе Интернета вещей
Схема регулятора вентилятора - это простая схема, которая может управлять скоростью потолочного вентилятора переменного тока путем изменения фазового угла синусоидальной волны переменного тока или, проще говоря, точного управления TRIAC. Поскольку я упомянул все основные принципы работы схемы регулятора вентилятора переменного тока в статье « Контроль фазового угла переменного тока с таймером 555 и ШИМ», мы сосредоточимся на фактическом построении схемы. И снова, если вы хотите узнать больше по этой теме, пожалуйста, также ознакомьтесь со статьей о AC Light Dimmer с использованием Arduino и TRIAC Project.
На приведенной выше базовой блок-схеме показано, как на самом деле работает схема. Как я уже сказал ранее, мы будем генерировать сигнал ШИМ с помощью Firebase IoT и NodeMCU, затем сигнал ШИМ будет проходить через фильтр нижних частот, который будет управлять затвором полевого МОП-транзистора, после чего таймер 555 будет управлять собственно TRIAC с помощью оптрона.
В этом случае приложение Android изменяет значение в firebaseDB, и ESP постоянно проверяет любые изменения, которые происходят с этой БД, если происходит какое-либо изменение, которое сбрасывается, и значение преобразуется в сигнал PWM.
Материалы, необходимые для цепи управления скоростью вентилятора переменного тока
На изображении ниже показан материал, используемый для создания этой схемы, поскольку он сделан из очень общих компонентов, вы сможете найти все перечисленные материалы в вашем местном магазине для хобби.
Я также перечислил компоненты в таблице ниже с указанием типа и количества, так как это демонстрационный проект, я использую для этого один канал. Но схему можно легко увеличить в соответствии с требованиями.
- Разъем с винтовыми зажимами 5,04 мм - 2
- Штекерный разъем 2,54 мм - 1
- Резистор 56К, 1Вт - 2 шт.
- 1N4007 Диод - 4
- 0,1 мкФ, конденсатор 25 В - 2
- Стабилизатор напряжения AMS1117 - 1
- 1000 мкФ, конденсатор 25 В - 1
- Разъем питания постоянного тока - 1
- Резистор 1 кОм - 1
- 470R Резистор - 2 шт.
- Резистор 47R - 2 шт.
- Резисторы 82 кОм - 1 шт.
- Резисторы 10 кОм - 5
- Оптопара PC817 - 1
- NE7555 IC - 1
- MOC3021 Опто-симисторный привод - 1
- IRF9540 МОП-транзистор - 1
- Конденсатор 3.3uF - 1
- Соединительные провода - 5
- Конденсатор 0,1 мкФ, 1 кВ - 1
- ESP8266 (ESP-12E) Микроконтроллер - 1
Цепь управления регулятором вентилятора переменного тока
Схема для цепи регулятора вентилятора IoT показана ниже, эта схема очень проста и использует общие компоненты для управления фазовым углом.
Эта схема состоит из очень тщательно разработанных компонентов. Я пройдусь по каждому из них и объясню каждый блок.
ESP8266 (ESP-12E) Чип Wi-Fi:
Это первая часть нашей схемы, и в ней мы многое изменили, другие части остались такими же, то есть, если вы следовали предыдущей статье.
В этом разделе мы вытащили контакты Enable, Reset и GPIO0, а также отключили GPIO15 и контакт заземления, которые рекомендуются таблицей данных чипа. Что касается программирования, мы разместили 3-контактный разъем, открывающий TX, RX и контакт заземления, через который мы можем очень легко запрограммировать чип. Кроме того, мы поместили тактильный переключатель, чтобы заземлить GPIO0, это необходимый шаг для перевода ESP в режим программирования. Мы выбрали вывод GPIO14 в качестве выхода, через который генерируется сигнал ШИМ.
Запись! Во время программирования мы должны нажать кнопку и запитать устройство с помощью бочкового гнезда постоянного тока.
Схема обнаружения перехода через ноль:
Во-первых, в нашем списке есть схема обнаружения перехода через ноль, состоящая из двух резисторов 56 кОм, 1 Вт в сочетании с четырьмя диодами 1n4007 и оптопарой PC817. И эта схема отвечает за подачу сигнала пересечения нуля на микросхему таймера 555. Кроме того, мы отсоединили фазу и нейтральный сигнал, чтобы в дальнейшем использовать его в секции TRIAC.
Регулятор напряжения AMS1117-3.3V:
Стабилизатор напряжения AMS1117 используется для питания схемы, схема отвечает за питание всей цепи. Кроме того, мы использовали два конденсатора емкостью 1000 мкФ и конденсатор емкостью 0,1 мкФ в качестве разделительного конденсатора для микросхемы AMS1117-3.3.
Цепь управления с таймером NE555:
На приведенном выше изображении показана схема управления таймером 555, 555 сконфигурирован в моностабильной конфигурации, поэтому, когда сигнал триггера от схемы обнаружения перехода через ноль попадает на триггер, таймер 555 начинает заряжать конденсатор с помощью резистора (в общем), но наша схема имеет полевой МОП-транзистор вместо резистора, и, управляя затвором полевого МОП-транзистора, мы контролируем ток, идущий на конденсатор, поэтому мы контролируем время зарядки, следовательно, мы контролируем выход таймеров 555.
TRIAC и схема драйвера TRIAC:
TRIAC действует как главный выключатель, который фактически включается и выключается, таким образом управляя выходным сигналом переменного тока. Управляя TRIAC с помощью опто-симисторного привода MOC3021, он не только управляет TRIAC, но также обеспечивает оптическую изоляцию, высоковольтный конденсатор 0,01 мкФ 2 кВ и резистор 47R образуют демпферную цепь, которая защищает нашу схему от выбросы высокого напряжения, возникающие при подключении к индуктивной нагрузке. Несинусоидальный характер коммутируемого сигнала переменного тока является причиной всплесков. Кроме того, он отвечает за проблемы с коэффициентом мощности, но это тема для другой статьи.
Фильтр нижних частот и МОП-транзистор с P-каналом (действующий как резистор в цепи):
Резистор 82 кОм и конденсатор 3,3 мкФ образуют фильтр нижних частот, который отвечает за сглаживание высокочастотного сигнала ШИМ, генерируемого Arduino. Как упоминалось ранее, полевой МОП-транзистор с каналом P действует как переменный резистор, который регулирует время зарядки конденсатора. Управляет им сигнал ШИМ, который сглаживается фильтром нижних частот.
Дизайн печатной платы регулятора потолочного вентилятора, управляемого IoT
Печатная плата для нашей схемы регулятора потолочного вентилятора IoT выполнена в виде односторонней платы. Я использовал программное обеспечение Eagle PCB для проектирования своей печатной платы, но вы можете использовать любое программное обеспечение для проектирования по вашему выбору. 2D-изображение моего дизайна платы показано ниже.
Достаточное количество грунта используется для правильного заземления всех компонентов. Вход 3,3 В постоянного тока и вход 220 В переменного тока заполнены с левой стороны, выход расположен с правой стороны печатной платы. Полный файл дизайна для Eagle вместе с Gerber можно скачать по ссылке ниже.
- PCB Design, файлы GERBER и PDF для схемы регулятора потолочного вентилятора
Печатная плата ручной работы:
Для удобства я сделал свою ручную версию печатной платы, и она показана ниже.
С этим наше оборудование готово, как показано на нашей принципиальной схеме, теперь нам нужно подготовить наше приложение для Android и Google Firebase.
Настройка учетной записи Firebase
Для следующего шага нам нужно настроить учетную запись firebase. Все коммуникации будут происходить через учетную запись firebase. Чтобы настроить учетную запись firebase, перейдите на веб-сайт Firebase и нажмите «Начать».
После того, как вы нажмете, вам нужно войти в свою учетную запись Google, и
после входа в систему вам необходимо создать проект, нажав кнопку «Создать проект».
Это перенаправит вас на страницу, которая выглядит как на изображении выше. Введите название вашего проекта и нажмите "Продолжить".
Снова нажмите «Продолжить».
Как только вы это сделаете, вам необходимо согласиться с некоторыми положениями и условиями, установив флажок, затем вам нужно нажать кнопку создания проекта.
Если вы все сделали правильно, через некоторое время вы получите подобное сообщение. После завершения ваша консоль firebase должна выглядеть как на изображении ниже.
Теперь нам нужно собрать две вещи отсюда. Для этого вам нужно нажать на название только что созданного проекта. Для меня это CelingFanRegulator, как только вы нажмете на него, вы получите панель инструментов, аналогичную изображению ниже.
Нажмите «Настройки», а затем «Настройки проекта». Полученная страница будет выглядеть, как на изображениях ниже.
Нажмите на сервисный аккаунт -> секрет базы данных.
Скопируйте секрет базы данных и сохраните его для дальнейшего использования.
Затем щелкните базу данных в реальном времени и скопируйте URL-адрес. также сохраните это для дальнейшего использования.
И это все, что касается огневой базы.
Код Arduino для управления регулятором вентилятора с помощью NodeMCU
Простой код Arduino обеспечивает связь между firebase и модулем ESP-12E, схема и объяснение кода приведены ниже. Во-первых, мы определяем все необходимые библиотеки, вы можете загрузить следующие библиотеки по указанным ссылкам Библиотека Arduino JSON и библиотека FirebaseArduino
#включают
Мы будем использовать библиотеку FirebaseArduino для установления связи с firebase.
// Установите их для запуска примеров. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "ваш SSID" #define WIFI_PASSWIFI_PASS
Затем мы определили хост firebase, firebase auth, который мы ранее сохранили, когда создавали учетную запись firebase. Затем мы определили SSID и пароль нашего роутера.
String Resivedata; #define PWM_PIN 14;
Затем мы определили переменную строкового типа, Resivedata, в которой будут храниться все данные, и мы также определили PWM_PIN, где мы получим вывод PWM.
Далее в разделе void setup () делаем необходимое,
Serial.begin (9600); pinMode (PWM_PIN, ВЫХОД); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print («соединительный»); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); задержка (500); } Serial.println (); Serial.print ("подключен:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString («Переменная / значение», «FirstTestStrig»);
Сначала мы включаем серийный номер, вызывая функцию Serial.begin () . Затем мы установили вывод PWM как OUTPUT. Мы начинаем соединение Wi-Fi с помощью функции WiFi.begin () и передаем SSID и пароль в функцию. Мы проверяем статус подключения в цикле while, и после подключения мы прерываем цикл и продолжаем. Затем мы печатаем связанное сообщение с IP-адресом.
И, наконец, мы начинаем общение с firebase с Firebase.begin () функции и мы передаем FIREBASE_HOST и FIREBASE_AUTH параметры, которые мы определили ранее. И мы устанавливаем строку с помощью функции setString () , которая отмечает конец функции настройки. В аннулируются петли () секции,
Resivedata = Firebase.getString («Переменная / значение»); Serial.println (Resivedata); analogWrite (PWM_PIN, map (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); задержка (100);
Мы вызываем функцию getString () с переменной / значением, где данные хранятся в базе огня, пример будет похож на изображение ниже -
Затем мы печатаем значение только для отладки. Затем мы используем функцию карты для сопоставления значения, 80 используется, потому что в диапазоне от 0 до 80 мы можем точно управлять затвором полевого МОП-транзистора, а RC-фильтр нижних частот в некоторой степени отвечает за это значение. В этом диапазоне схема управления фазовым углом работает точно, это значение можно назвать оптимальным для программного и аппаратного обеспечения. Если вы выполняете этот проект и сталкиваетесь с проблемами, вам нужно поиграть с ценностью и самостоятельно определить результаты.
И после этого мы используем функцию analogWrite () для подачи данных и включения ШИМ, после этого мы снова используем функцию Serial.println (), просто чтобы просмотреть результат, и, наконец, мы используем функцию задержки, чтобы уменьшить счетчик обращений к API Firebase, что завершает нашу программу.
Создание приложения Fan Regulator с помощью MIT App Inventor
С помощью AppInventor мы собираемся создать приложение для Android, которое будет взаимодействовать с firebase и иметь право изменять данные, хранящиеся в базе данных firebase.
Для этого перейдите на веб-сайт appInventors, войдите в свою учетную запись Google и примите условия. Как только вы это сделаете, вам будет представлен экран, похожий на изображение ниже.
Нажмите на значок запуска нового проекта, дайте ему имя и нажмите OK, как только вы это сделаете, вам будет представлен экран, как на изображении ниже.
Оказавшись там, вам нужно сначала поставить две метки, чтобы немного опустить ползунок, затем вам нужно вставить несколько модулей, это модуль FirebaseDB и веб-модуль.
Модуль firebaseDB взаимодействует с firebase, веб-модуль используется для обработки HTTP-запроса. Это похоже на изображение ниже.
Как только это будет сделано, вам нужно потянуть ползунок и метку, которую мы назвали PWM, если вы запутались в данный момент, вы можете проверить некоторые другие руководства по созданию приложения с помощью изобретателя приложения.
После того, как мы закончим процесс, щелкните значок базы данных firebase и введите токен firebase и URL-адрес firebase, которые мы сохранили при создании учетной записи firebase.
Теперь мы закончили с разделом дизайна, и нам нужно настроить раздел блока. Для этого нам нужно нажать кнопку блока в правом верхнем углу рядом с дизайнером.
После нажатия на ползунок, и вам будет представлен длинный список модулей, вытащите первый модуль и наведите указатель мыши на кнопку положения большого пальца, вас встретят еще два модуля, вытащите их оба. Мы собираемся использовать их позже.
Теперь мы присоединяем переменную thumbposition , округляем ее и получаем значение положения большого пальца. Затем мы нажимаем на firebasedb и извлекаем значение тега call FirebaseDB.storeValue для хранения, модуля и прикрепляем его к нижней части значения положения ползунка.
После этого мы вытаскиваем пустое текстовое поле, щелкнув текстовый блок, и присоединяем его к тегу, это тег, который мы установили в среде разработки Arduino для чтения и записи данных в firebase. Теперь прикрепите переменную значения большого пальца к значению для хранения тега. Если вы все сделали правильно, перемещая ползунок, вы сможете изменить значения в firebaseDB.
- .Aia (сохраненный файл) и.apk (скомпилированный файл)
Это знаменует конец нашего процесса создания приложений. Снимок только что созданного приложения для Android показан ниже.
Тестирование цепи датчика касания на базе ESP32
Чтобы проверить схему, я подключил лампу накаливания параллельно потолочному вентилятору, и я запитал схему с помощью адаптера постоянного тока 5 В, как вы можете видеть на картинке выше, ползунок приложения установлен на низкий уровень, поэтому лампочка светится малой яркостью. И вентилятор тоже медленно вращается.
Дальнейшие улучшения
Для этой демонстрации схема сделана на печатной плате ручной работы, но схема может быть легко построена на печатной плате хорошего качества, в моих экспериментах размер печатной платы действительно немного зависит от размера компонента, но в производственной среде он можно уменьшить с помощью дешевых компонентов SMD, я обнаружил, что использование таймера 7555 вместо таймера 555 значительно увеличивает контроль, кроме того, также увеличивается стабильность схемы.