Uzun bir aradan sonra Arduino endüstriyel uygulamaları ile karşınızdayız! Bu projede Arduino ile yardımcı sargılı asenkron motor sürme sistemini inceleyeceğiz. Asıl amacımız sürgülü bahçe kapısı açma kapama otomasyonu yaparak Arduino’nun sanayi seviyesinde kullanımını göstermek.
| Sıra | Malzeme | Adet | Fonksiyon |
|---|---|---|---|
| 1 | Arduino Uno R3 | 1 | Ana kontrolcü |
| 2 | RF 433 MHz Alıcı ve Kumandası | 1 | Kablosuz kontrol |
| 3 | Kontaktör | 4 | Motor anahtarlama |
| 4 | Röle Modülü | 4 | Kontaktör sürme |
| 5 | 12 Volt Trafo | 1 | Sistem voltajı |
| 6 | Sigorta | 2 | Güvenlik koruması |
| 7 | Bir Faz Yardımcı Sargılı Asenkron Motor | 1 | Güç aktarımı |
| 8 | Jumper Kablo ve Güç Kabloları | – | Bağlantılar |
| 9 | Breadboard/Delikli Plaket | 1 | Montaj tahtası |
433 MHz RF kiti bir verici modül ve bir alıcı modülden oluşmaktadır. İletişim mesafesi 20-200 metredir.
Teknik Özellikler:
RF 433 MHz Alıcı --> Arduino Uno
VCC --> 5V
GND --> GND
DATA --> Digital Pin 2
Arduino ile yüksek güçte alıcıları kontrol etmek röle ile mümkündür. Röle küçük güçlü elektromanyetik anahtarlama elemanıdır.
Sistem Mimarisi:
| Röle No | Arduino Pin | Kontaktör No | Motor Fonksiyonu |
|---|---|---|---|
| Röle 1 | Digital 3 | K1 | İleri Yön |
| Röle 2 | Digital 4 | K2 | Geri Yön |
| Röle 3 | Digital 5 | K3 | Yardımcı Sargı |
| Röle 4 | Digital 6 | K4 | Ana Güç |
Arduino ile Yardımcı Sargılı Asenkron Motor Sürme (Sürgülü Bahçe Kapısı Açma Kapama) sisteminde motor kontağı çok önemlidir.
Motor Bağlantı Şeması:
İleri Yön Çalışma:
1. K4 (Ana Güç) - Aktif
2. K3 (Yardımcı Sargı) - Aktif
3. K1 (İleri Yön) - Aktif
4. K2 (Geri Yön) - Pasif
Geri Yön Çalışma:
1. K4 (Ana Güç) - Aktif
2. K3 (Yardımcı Sargı) - Aktif
3. K1 (İleri Yön) - Pasif
4. K2 (Geri Yön) - Aktif
RF 433 MHz modülü için VirtualWire kütüphanesini Arduino IDE’ye eklemeniz gerekir.
#include <VirtualWire.h>
// Pin tanımlamaları
#define RF_RX_PIN 2 // RF alıcı data pin
#define RELAY_1 3 // İleri yön röle
#define RELAY_2 4 // Geri yön röle
#define RELAY_3 5 // Yardımcı sargı röle
#define RELAY_4 6 // Ana güç röle
// Değişkenler
String receivedData = "";
bool motorRunning = false;
unsigned long motorStartTime = 0;
const unsigned long MOTOR_TIMEOUT = 30000; // 30 saniye
void setup() {
Serial.begin(9600);
// VirtualWire başlatma
vw_set_ptt_inverted(true);
vw_set_rx_pin(RF_RX_PIN);
vw_setup(2000);
vw_rx_start();
// Röle pinlerini çıkış yap
pinMode(RELAY_1, OUTPUT);
pinMode(RELAY_2, OUTPUT);
pinMode(RELAY_3, OUTPUT);
pinMode(RELAY_4, OUTPUT);
// Başlangıçta tüm röleler kapalı
allRelaysOff();
Serial.println("Arduino Asenkron Motor Kontrol Sistemi Başlatıldı");
}
void loop() {
receiveRFSignal();
checkMotorTimeout();
delay(50);
}
void receiveRFSignal() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) {
receivedData = "";
// Gelen veriyi string'e çevir
for (int i = 0; i < buflen; i++) {
receivedData += char(buf[i]);
}
Serial.println("Gelen Komut: " + receivedData);
processCommand(receivedData);
}
}
void processCommand(String command) {
if (command == "OPEN") {
motorForward();
Serial.println("Kapı Açılıyor...");
}
else if (command == "CLOSE") {
motorReverse();
Serial.println("Kapı Kapanıyor...");
}
else if (command == "STOP") {
motorStop();
Serial.println("Motor Durduruluyor...");
}
}
void motorForward() {
allRelaysOff();
delay(100);
// İleri yön çalıştırma sırası
digitalWrite(RELAY_4, HIGH); // Ana güç
delay(50);
digitalWrite(RELAY_3, HIGH); // Yardımcı sargı
delay(50);
digitalWrite(RELAY_1, HIGH); // İleri yön
motorRunning = true;
motorStartTime = millis();
}
void motorReverse() {
allRelaysOff();
delay(100);
// Geri yön çalıştırma sırası
digitalWrite(RELAY_4, HIGH); // Ana güç
delay(50);
digitalWrite(RELAY_3, HIGH); // Yardımcı sargı
delay(50);
digitalWrite(RELAY_2, HIGH); // Geri yön
motorRunning = true;
motorStartTime = millis();
}
void motorStop() {
allRelaysOff();
motorRunning = false;
Serial.println("Motor Durduruldu");
}
void allRelaysOff() {
digitalWrite(RELAY_1, LOW);
digitalWrite(RELAY_2, LOW);
digitalWrite(RELAY_3, LOW);
digitalWrite(RELAY_4, LOW);
}
void checkMotorTimeout() {
if (motorRunning && (millis() - motorStartTime > MOTOR_TIMEOUT)) {
motorStop();
Serial.println("Motor Timeout - Güvenlik Durdurma");
}
}
// Verici tarafı kodu (RF Kumanda)
#include <VirtualWire.h>
#define OPEN_BUTTON 2
#define CLOSE_BUTTON 3
#define STOP_BUTTON 4
#define RF_TX_PIN 12
void setup() {
vw_set_ptt_inverted(true);
vw_set_tx_pin(RF_TX_PIN);
vw_setup(2000);
pinMode(OPEN_BUTTON, INPUT_PULLUP);
pinMode(CLOSE_BUTTON, INPUT_PULLUP);
pinMode(STOP_BUTTON, INPUT_PULLUP);
}
void loop() {
if (digitalRead(OPEN_BUTTON) == LOW) {
sendCommand("OPEN");
delay(300);
}
if (digitalRead(CLOSE_BUTTON) == LOW) {
sendCommand("CLOSE");
delay(300);
}
if (digitalRead(STOP_BUTTON) == LOW) {
sendCommand("STOP");
delay(300);
}
}
void sendCommand(char* command) {
vw_send((uint8_t*)command, strlen(command));
vw_wait_tx();
}
Bu Arduino endüstriyel proje şu popüler aramalara yanıt veriyor:
// Limit switch entegrasyonu
#define LIMIT_OPEN 7
#define LIMIT_CLOSE 8
void checkLimitSwitches() {
if (digitalRead(LIMIT_OPEN) == LOW && motorRunning) {
motorStop();
Serial.println("Açık Limit - Motor Durduruldu");
}
if (digitalRead(LIMIT_CLOSE) == LOW && motorRunning) {
motorStop();
Serial.println("Kapalı Limit - Motor Durduruldu");
}
}
#include <EEPROM.h>
// Motor çalışma sürelerini EEPROM'a kaydet
void saveMotorRunTime() {
unsigned long totalRunTime = EEPROM.get(0, totalRunTime);
totalRunTime += (millis() - motorStartTime);
EEPROM.put(0, totalRunTime);
}
Arduino ile yardımcı sargılı asenkron motor sürme projesi, Arduino’nun endüstriyel otomasyon alanındaki gücünü göstermektedir. RF 433 MHz kablosuz kontrol sistemi ile bahçe kapısı otomasyonu hem ekonomik hem de güvenilir bir çözüm sunmaktadır.
✅ Düşük Maliyet: PLC sistemlerine göre uygun fiyat ✅ Kolay Programlama: Arduino IDE kullanımı ✅ Genişletilebilirlik: Ek sensör ve modül desteği ✅ Uzaktan Kontrol: RF 433 MHz menzil avantajı ✅ Güvenlik: Çoklu koruma sistemleri
Bu Arduino sanayide kullanımı projesi ile Arduino ile yüksek güçte alıcıları kontrol etmek röle ile mümkündür prensibini başarıyla uygulamış oluyoruz.
Arduino asenkron motor sürme konusunda daha detaylı bilgi ve videolu anlatım için Youtube kanalımızı takip etmeyi unutmayın!
🔖 Etiketler: Arduino Uno, Asenkron Motor, RF 433 MHz, Kontaktör, Röle, Bahçe Kapısı, Endüstriyel Otomasyon, Motor Kontrolü, VirtualWire, Yardımcı Sargılı Motor
