- Работа на базиран на IoT регулатор на таванни вентилатори
- Материали, необходими за верига за контрол на скоростта на вентилатора на променлив ток
- Управляваща верига на регулатора на променлив ток
- Дизайн на печатни платки за IoT контролиран регулатор на тавана
- Настройване на акаунт във Firebase
- Код на Arduino за управление на регулатора на вентилатора с NodeMCU
- Изграждане на приложението Fan Regulator с MIT App Inventor
- Тестване на схемата за сензорен сензор, базирана на ESP32
- Допълнителни подобрения
В тази статия изграждаме верига за регулиране на вентилатора за променлив ток, която е в състояние да контролира скоростта на вентилатора, като ограничава потока на тока към вентилатора. Терминът AC таван регулатор на вентилатора е залък, затова оттук нататък просто ще го наричаме регулатор на вентилатора. А фен регулатор схема е ключов компонент, който се използва за увеличаване или намаляване на скоростта на AC вентилатор / мотор в зависимост от нуждите. Преди няколко години имате избор между конвенционален резистивен тип регулатор на вентилатора или електронен регулатор, но в днешно време всичко това беше заменено от веригата на електронния вентилатор.
В предишна статия ви показахме как можете да изградите верига за регулиране на ъгъла на променлив ток с Arduino, който е в състояние да контролира яркостта на крушката с нажежаема жичка и също така да контролира скоростта на вентилатора, така че да го увеличите в тази статия ще изградим базирана на IoT верига за регулиране на таванния вентилатор на тавана. Която ще може да контролира скоростта на вашия тавански вентилатор с помощта на приложение за Android.
Работа на базиран на IoT регулатор на таванни вентилатори
Схемата на регулатора на вентилатора е проста схема, която може да контролира скоростта на таванния вентилатор на променлив ток чрез промяна на фазовия ъгъл на синусоидалната вълна на променлив ток или с прости думи прецизен контрол на TRIAC. Тъй като споменах всички основни работи на веригата на регулатора на променлив ток в AC фазовия ъглов контрол с 555 таймер и ШИМ, ние ще се концентрираме върху действителното изграждане на веригата. И отново, ако искате да научите повече по темата, моля, проверете и статията за AC Light Dimmer с помощта на Arduino и TRIAC Project.
Основната блок-схема по-горе показва как всъщност работи веригата. Както казах по-рано, ние ще генерираме PWM сигнал с помощта на Firebase IoT и NodeMCU, след това PWM сигналът ще бъде предаден през нискочестотния филтър, който ще контролира портата на MOSFET, след което 555 таймер ще управлява действителният TRIAC с помощта на оптрон.
В този случай приложението за Android променя стойността в firebaseDB и ESP непрекъснато проверява за промени, които се случват с тази DB, ако се случи някаква промяна, която се изтегли надолу и стойността се преобразува в PWM сигнал
Материали, необходими за верига за контрол на скоростта на вентилатора на променлив ток
Изображението по-долу показва материала, използван за изграждането на тази верига, тъй като тя е направена с много общи компоненти, трябва да можете да намерите всички изброени материали в местния магазин за хоби.
Също така изброих компонентите в таблица по-долу с вид и количество, тъй като е демонстрационен проект, използвам един канал за това. Но веригата може лесно да се мащабира според изискването.
- Винтова клема 5,04 мм конектор - 2
- Конектор за мъжки заглавие 2,54 мм - 1
- 56K, 1W резистор - 2
- 1N4007 Диод - 4
- 0.1uF, 25V кондензатор - 2
- AMS1117 Регулатор на напрежение - 1
- 1000uF, 25V кондензатор - 1
- DC захранващ жак - 1
- 1K резистор - 1
- 470R резистор - 2
- 47R резистор - 2
- 82 K резистори - 1
- 10 K резистори - 5
- PC817 Оптрон - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- IRF9540 MOSFET - 1
- 3.3uF кондензатор - 1
- Свързване на проводници - 5
- 0.1uF, 1KV кондензатор - 1
- ESP8266 (ESP-12E) Микроконтролер - 1
Управляваща верига на регулатора на променлив ток
Схемата за веригата на IoT регулатор на вентилатора е показана по-долу, тази схема е много проста и използва общи компоненти за постигане на контрол на фазовия ъгъл.
Тази схема се състои от много внимателно проектирани компоненти. Ще мина през всеки един и ще обясня всеки блок.
ESP8266 (ESP-12E) Wi-Fi чип:
Това е първата част от нашата верига и това е частта, в която сме променили много неща, други части остават абсолютно същите, т.е. ако сте следвали предишната статия.
В този раздел извадихме щифтове Enable, Reset и GPIO0, също така извадихме GPIO15 и Ground Pin, които се препоръчват от листа с данни на чипа. Що се отнася до програмирането, ние сме поставили 3-пинов хедър, излагащ TX, RX и заземяващия щифт, чрез който можем да програмираме чипа много лесно. Също така сме поставили тактилен превключвател, за да поставим GPIO0 на земята, това е необходима стъпка, за да поставим ESP в режим на програмиране. Избрахме пина GPIO14 като изход, през който се генерира ШИМ сигнала.
Забележка! По време на програмирането трябва да натиснем бутона и да захранваме устройството с жака за постоянен ток.
Верига за откриване на нулево пресичане:
Първо, в нашия списък е схемата за откриване на нулеви пресичания, направена с два 56K, 1W резистори във връзка с четири диода 1n4007 и оптрон PC817. И тази верига е отговорна за предоставянето на сигнал за преминаване на нула към 555 IC таймер. Също така сме залепили фазата и неутралния сигнал, за да го използваме по-нататък в раздела TRIAC.
AMS1117-3.3V Регулатор на напрежение:
Регулаторът на напрежение AMS1117 се използва за захранване на веригата, веригата е отговорна за осигуряване на захранване на цялата верига. Освен това използвахме два кондензатора 1000uF и кондензатор 0.1uF като разединителен кондензатор за IC AMS1117-3.3.
Управляваща верига с таймер NE555:
Горното изображение показва веригата за управление на таймера 555, 555 е конфигуриран в моностабилна конфигурация, така че когато спусъчен сигнал от веригата за откриване на пресичане на нула удари спусъка, таймерът 555 започва да зарежда кондензатора с помощта на резистор (като цяло), но нашата схема има MOSFET вместо резистор и чрез управление на порта на MOSFET, ние контролираме тока, който отива към кондензатора, затова контролираме времето за зареждане, следователно контролираме изхода на 555 таймера.
TRIAC и веригата TRIAC-Driver:
TRIAC действа като главен превключвател, който всъщност се включва и изключва, като по този начин контролира изхода на променливотоковия сигнал. Задвижвайки TRIAC с помощта на MOC3021 Opto-Triac задвижване, той не само задвижва TRIAC, но също така осигурява оптична изолация, кондензатор с високо напрежение 0.01uF 2KV, а резисторът 47R образува снубер верига, която предпазва нашата верига от пикове с високо напрежение, които се появяват, когато е свързан към индуктивен товар, Несинусоидалният характер на включения променлив сигнал е отговорен за пиковете. Освен това той отговаря за проблемите с фактора на мощността, но това е тема за друга статия.
Нискочестотен филтър и P-канален MOSFET (действащ като резистор във веригата):
Резисторът 82K и кондензаторът 3.3uF образуват нискочестотния филтър, който е отговорен за изглаждането на високочестотния ШИМ сигнал, генериран от Arduino. Както бе споменато по-горе, P-Channel MOSFET действа като променлив резистор, който контролира времето за зареждане на кондензатора. Контролът върху него е ШИМ сигналът, който се изглажда от нискочестотния филтър.
Дизайн на печатни платки за IoT контролиран регулатор на тавана
Печатната платка за нашата верига за регулиране на тавана на IoT е проектирана в едностранна платка. Използвал съм софтуер за проектиране на печатни платки Eagle, за да проектирам моята печатна платка, но можете да използвате всеки софтуер за проектиране по ваш избор. 2D изображението на моя дизайн на дъска е показано по-долу.
Използва се достатъчно запълване на земята, за да се направят правилни връзки на земята между всички компоненти. Входът от 3,3 V DC и входът за променлив ток 220 волта се запълват от лявата страна, а изходът се намира от дясната страна на печатната платка. Пълният файл за дизайн на Eagle заедно с Gerber може да бъде изтеглен от линка по-долу.
- Дизайн на печатни платки, GERBER и PDF файлове за верига на таванния вентилатор
Ръчно изработени печатни платки:
За удобство направих ръчно изработената версия на печатната платка и тя е показана по-долу.
С това нашият хардуер е готов според нашата електрическа схема, сега трябва да подготвим нашето приложение за Android и Google firebase.
Настройване на акаунт във Firebase
За следващата стъпка трябва да настроим акаунт във firebase. Цялата комуникация ще премине през акаунта на firebase. За да настроите акаунт във firebase, отидете на уебсайта на Firebase и кликнете върху „започнете“.
След като щракнете, трябва да влезете с вашия акаунт в Google и
след като влезете, трябва да създадете проект, като кликнете върху бутона за създаване на проект.
Това ще ви пренасочи към страница, която прилича на изображението по-горе. Въведете името на вашия проект и щракнете върху продължи.
Отново щракнете върху продължи.
След като го направите, трябва да се съгласите с някои условия, като щракнете върху квадратчето, след това трябва да щракнете върху бутона за създаване на проект.
Ако сте направили всичко правилно, след известно време ще получите съобщение като това. След като приключите, вашата конзола на firebase трябва да изглежда като изображението по-долу.
Сега трябва да съберем две неща от тук. За да направите това, трябва да кликнете върху името на проекта, който току-що сте създали. За мен това е CelingFanRegulator, след като кликнете върху него, ще получите табло, подобно на изображението по-долу.
Кликнете върху настройките, след това настройките на проекта, страницата, която ще получите, ще изглежда като изображенията по-долу.
Кликнете върху акаунт на услуга -> секретна база данни.
Копирайте тайната на базата данни и я запазете някъде за по-късна употреба.
След това кликнете върху базата данни в реално време и копирайте URL адреса. също го запазете за по-късна употреба.
И това е всичко, има нещата от страна на firebase.
Код на Arduino за управление на регулатора на вентилатора с NodeMCU
Един прост код на Arduino се грижи за комуникацията между firebase и модула ESP-12E, обяснението на веригата и кода е дадено по-долу. Първо, ние определяме всички необходими необходими библиотеки, можете да изтеглите следните библиотеки от дадените връзки Arduino JSON библиотека и библиотека FirebaseArduino
#include
Ще използваме библиотеката FirebaseArduino, за да установим комуникация с firebase.
// Задайте тези да стартират примери. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "your SSID" #defASS WIFIF # passVide
След това дефинирахме хоста на firebase, firebase auth, който бяхме запазили по-рано, когато създавахме акаунта във firebase. След това дефинирахме SSID и паролата на нашия рутер.
String Resivedata; #define PWM_PIN 14;
След това дефинирахме променлива тип низ, Resivedata, където ще се съхраняват всички данни, и също така дефинирахме PWM_PIN, където ще получим PWM изхода.
След това, в раздела void setup () , ние правим необходимото,
Serial.begin (9600); pinMode (PWM_PIN, OUTPUT); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print ("свързване"); докато (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 () , която маркира края на функцията за настройка. В раздела void loop () ,
Resivedata = Firebase.getString ("Променлива / Стойност"); Serial.println (Resivedata); analogWrite (PWM_PIN, карта (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); забавяне (100);
Ние наричаме getString () функция с променлива / Value, където данните се съхраняват в firebase, пример би било като отдолу- на изображението
След това отпечатваме стойността само за отстраняване на грешки. След това използваме функцията map за картографиране на стойността, използва се 80, тъй като в диапазона от 0 - 80, ние сме в състояние да контролираме точно портата на MOSFET и RC нискочестотният филтър е донякъде отговорен за тази стойност. В този диапазон веригата за управление на фазовия ъгъл работи точно, можете да извикате стойността като хардуерно-софтуерно сладко място. Ако правите този проект и се сблъсквате с проблеми, трябва да си поиграете със стойността и да определите резултатите сами.
И след това използваме функцията analogWrite () за подаване на данни и активиране на ШИМ, след това използваме функцията Serial.println () отново само за преглед на резултата и накрая използваме функция за забавяне, за да намалим hit-count към firebase API, което завършва нашата програма.
Изграждане на приложението Fan Regulator с MIT App Inventor
С помощта на AppInventor ще направим приложение за Android, което ще комуникира с firebase и има правомощието да променя данните, които се съхраняват в базата данни на firebase.
За да направите това, отидете на уебсайта на appInventors, влезте с вашия акаунт в Google и приемете условията. След като го направите, ще ви бъде представен екран, който прилича на изображението по-долу.
Кликнете върху иконата за стартиране на нов проект и му дайте име и натиснете OK, след като го направите, ще ви бъде показан екран като изображението по-долу.
След като там трябва първо да поставите два етикета, където това е да поставите плъзгача малко надолу, след това трябва да изтеглите някои модули и те са модулът FirebaseDB и уеб-модулът.
Модулът firebaseDB комуникира с firebase, уеб модулът се използва за h andle Http заявка. Което изглежда като изображението по-долу.
След като приключите, трябва да издърпате плъзгача и етикет, който нарекохме PWM, ако в този момент се обърквате, можете да разгледате някои други уроци относно създаването на приложение с изобретател на приложения.
След като приключим с процеса, щракнете върху иконата на DB на firebase и поставете маркера на firebase и URL адреса на firebase, които сме запазили при създаването на акаунта във firebase.
Сега приключихме с секцията за проектиране и трябва да настроим блоковата секция. За да направите това, трябва да щракнете върху бутона за блокиране в горния десен ъгъл до дизайнера.
След като щракнете върху плъзгача и ще ви бъде представен дълъг списък с модули, издърпайте първия модул и задръжте мишката върху бутона за позиция на палеца, ще бъдете посрещнати с още два модула, издърпайте и двата. Ще ги използваме по-късно.
Сега приложете thumbposition променлива, ние го закръглят и получаваме стойността на палеца позиция. След това кликваме върху firebasedb и изваждаме стойността на маркера FirebaseDB.storeValue, за да съхраним, модулираме и прикачим към долната част на стойността на позицията на палеца.
След като приключим, изваждаме празно текстово поле, като щракваме върху текстовия блок и го прикачваме с маркера, това е етикетът, който сме задали в IDE на Arduino за четене и запис на данните в firebase. Сега прикачете променливата на стойността на палеца към стойността, която ще съхранявате. Ако сте направили всичко правилно, като преместите плъзгача, ще можете да промените стойностите в firebaseDB.
- .Aia (запазен файл) и.apk (компилиран файл)
Което бележи края на нашия процес на създаване на приложения. Снимка на приложението за Android, което току-що създадохме, е показано по-долу.
Тестване на схемата за сензорен сензор, базирана на ESP32
За да тествам веригата, свързах крушка с нажежаема жичка, успоредна на вентилатора на тавана, и захранвах веригата с 5V DC адаптер, както можете да видите на горната снимка, плъзгачът на приложението е настроен на ниско ниво, затова крушката свети при ниска яркост. И вентилаторът също се върти бавно.
Допълнителни подобрения
За тази демонстрация схемата е направена на ръчно изработена печатна платка, но веригата може лесно да бъде изградена върху печатни платки с добро качество, в моите експерименти размерът на печатната платка е наистина малко поради размера на компонента, но в производствена среда може да се намали чрез използване на евтини SMD компоненти, открих, че използването на таймер 7555 вместо таймер 555 увеличава значително контрола, освен това се увеличава и стабилността на веригата.