برای پروژهای که وضعیت و دور موتورهای فن را ثبت و مانیتور کند، میتوانید از برد توسعه ESP8266 WEMOS با حافظه 32M بهره ببرید. در این پروژه، ESP8266 WEMOS به عنوان یک دستگاه IOT عمل میکند که اطلاعات وضعیت فنها را جمعآوری کرده و به یک پلتفرم ابری ارسال میکند تا بتوان این اطلاعات را به طور زنده مانیتور کرد و در صورت نیاز آنها را ذخیره و آنالیز کرد.
مراحل پروژه
اتصال سنسورها:
موتورهای فن و هال افکت سنسور:
موتورهای فن:
این موتورها باید قابلیت کنترل سرعت و دوران را داشته باشند. معمولاً از موتورهای DC با قابلیت کنترل PWM استفاده میشود.
هال افکت سنسور:
این سنسورها برای اندازهگیری دور موتورها با استفاده از تغییرات میدان مغناطیسی که توسط مغناطیسی استاتور موتور ایجاد میشود، استفاده میشود.
اتصال هال افکت سنسور به ESP8266:
هال افکت سنسورها عموماً دارای دو پایه خروجی هستند که تغییرات میدان مغناطیسی را از آنها خوانده و به برد کنترلی میفرستند. این اتصال میتواند از طریق پایههای GPIO برد ESP8266 WEMOS انجام شود.
برنامهنویسی ESP8266:
با استفاده از Arduino IDE یا PlatformIO، یک کد برای ESP8266 بنویسید که اطلاعات خوانده شده از هال افکت سنسورها را پردازش کرده و بر اساس آنها، سرعت و دوران موتورهای فن را کنترل کند.
- نمونه کدی که برای این پروژه میتواند استفاده شود به شکل زیر است:
ارسال دادهها به پلتفرم ابری:
پس از بارگذاری کد بر روی ESP8266، مطمئن شوید که تمام اتصالات صحیح است.
ارتباط ESP8266 با شبکه WiFi برقرار شده باشد و ESP8266 توانایی ارتباط با MQTT broker را داشته باشد.
با استفاده از هال افکت سنسورها، موتورها را تست کنید و مطمئن شوید که وضعیت آنها به درستی در MQTT topic منتشر میشود.
فواید این پروژه:
این پروژه به شما امکان میدهد تا وضعیت و سرعت موتورهای فن را از راه دور مانیتور کنید و از طریق شبکه اینترنت آنها را کنترل کنید، که برای کاربردهای مختلف در زمینه IOT و هوشمندسازی محیطهای کاری و صنعتی از جمله سیستمهای خنک کننده و اتوماسیون مناسب است.
در مقاله زیر می توانید اطلاعات بیشتری در مورد ماژول های ESP8266 اطلاعات بیشتری کسب کنید.
مراحل پروژه
اتصال سنسورها:
موتورهای فن و هال افکت سنسور:
موتورهای فن:
این موتورها باید قابلیت کنترل سرعت و دوران را داشته باشند. معمولاً از موتورهای DC با قابلیت کنترل PWM استفاده میشود.
هال افکت سنسور:
این سنسورها برای اندازهگیری دور موتورها با استفاده از تغییرات میدان مغناطیسی که توسط مغناطیسی استاتور موتور ایجاد میشود، استفاده میشود.
اتصال هال افکت سنسور به ESP8266:
هال افکت سنسورها عموماً دارای دو پایه خروجی هستند که تغییرات میدان مغناطیسی را از آنها خوانده و به برد کنترلی میفرستند. این اتصال میتواند از طریق پایههای GPIO برد ESP8266 WEMOS انجام شود.
برنامهنویسی ESP8266:
با استفاده از Arduino IDE یا PlatformIO، یک کد برای ESP8266 بنویسید که اطلاعات خوانده شده از هال افکت سنسورها را پردازش کرده و بر اساس آنها، سرعت و دوران موتورهای فن را کنترل کند.
- نمونه کدی که برای این پروژه میتواند استفاده شود به شکل زیر است:
کد:
#include <ESP8266WiFi.h> #include <PubSubClient.h> // WiFi credentials const char* ssid = "your_wifi_ssid"; const char* password = "your_wifi_password"; // MQTT broker configuration const char* mqtt_server = "mqtt_server_ip"; const char* mqtt_username = "mqtt_username"; const char* mqtt_password = "mqtt_password"; const int mqtt_port = 1883; const char* mqtt_topic = "fan_motors/status"; // Pins for Hall Effect sensors const int hallSensorPin1 = D1; // Hall effect sensor pin 1 const int hallSensorPin2 = D2; // Hall effect sensor pin 2 // Motor control pins const int fan1Pin = D5; // Example pin for fan motor 1 const int fan2Pin = D6; // Example pin for fan motor 2 // Initialize a WiFiClient and a PubSubClient WiFiClient espClient; PubSubClient client(espClient); void setup_wifi() { delay(10); // Connect to Wi-Fi network with SSID and password Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected to the MQTT broker while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (client.connect("ESP8266Client", mqtt_username, mqtt_password)) { Serial.println("connected"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, mqtt_port); // Initialize motor control pins pinMode(fan1Pin, OUTPUT); pinMode(fan2Pin, OUTPUT); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); // Read Hall effect sensor values int sensorValue1 = digitalRead(hallSensorPin1); int sensorValue2 = digitalRead(hallSensorPin2); // Example: Control fan motors based on sensor readings if (sensorValue1 == HIGH) { analogWrite(fan1Pin, 255); // Motor 1 on full speed } else { analogWrite(fan1Pin, 0); // Motor 1 off } if (sensorValue2 == HIGH) { analogWrite(fan2Pin, 255); // Motor 2 on full speed } else { analogWrite(fan2Pin, 0); // Motor 2 off } // Example: Publish sensor values to MQTT topic char msg[50]; snprintf(msg, 50, "Sensor 1: %d, Sensor 2: %d", sensorValue1, sensorValue2); client.publish(mqtt_topic, msg); delay(1000); // Adjust delay as needed }
ارسال دادهها به پلتفرم ابری:
- پیکربندی ESP8266 WEMOS برای ارسال دادههای اندازهگیری شده به پلتفرم ابری مانند ThingSpeak، Blynk، Firebase یا MQTT broker.
- استفاده از پنل کنترل پلتفرم ابری برای مانیتور کردن دادههای ارسال شده.
- تنظیم نمودارها و گزارشها برای نمایش دور و وضعیت موتورهای فن به صورت زنده و تاریخچهای.
پس از بارگذاری کد بر روی ESP8266، مطمئن شوید که تمام اتصالات صحیح است.
ارتباط ESP8266 با شبکه WiFi برقرار شده باشد و ESP8266 توانایی ارتباط با MQTT broker را داشته باشد.
با استفاده از هال افکت سنسورها، موتورها را تست کنید و مطمئن شوید که وضعیت آنها به درستی در MQTT topic منتشر میشود.
فواید این پروژه:
- مانیتورینگ بهینه: امکان مانیتور کردن وضعیت و دور موتورهای فن به صورت زنده و از راه دور.
- آنالیز دقیق: بررسی دقیق دادههای اندازهگیری شده برای تحلیل و بهینهسازی شرایط کاری موتورهای فن.
- کنترل از راه دور: امکان کنترل و تنظیم دستگاهها مبتنی بر دادههای اندازهگیری شده.
این پروژه به شما امکان میدهد تا وضعیت و سرعت موتورهای فن را از راه دور مانیتور کنید و از طریق شبکه اینترنت آنها را کنترل کنید، که برای کاربردهای مختلف در زمینه IOT و هوشمندسازی محیطهای کاری و صنعتی از جمله سیستمهای خنک کننده و اتوماسیون مناسب است.
در مقاله زیر می توانید اطلاعات بیشتری در مورد ماژول های ESP8266 اطلاعات بیشتری کسب کنید.
دیدگاه