- Gerekli Bileşenler
- Arduino kullanarak AC fan kontrolünün çalışması
- 1. Sıfır Geçiş Dedektörü
- 2. Faz Açısı kontrol Devresi
- 3. Fan Hızını kontrol etmek için potansiyometre
- 4. PWM Sinyal Üretme Birimi
- Devre şeması
- AC fan hızı kontrolü için Arduino programlama
UYARI!! Bu projede tartışılan devre şeması yalnızca eğitim amaçlıdır. 220V AC şebeke voltajı ile çalışmanın aşırı önlem gerektirdiğini ve güvenlik prosedürlerinin takip edilmesi gerektiğini unutmayın. Devre çalışırken bileşenlere veya tellere dokunmayın.
Birçok Arduino tabanlı Ev Otomasyonu projesinde yaptığımız gibi herhangi bir ev aletini bir anahtar kullanarak veya bazı kontrol mekanizmalarını kullanarak açmak veya kapatmak kolaydır. Ancak AC gücünü kısmen kontrol etmemiz gereken birçok uygulama vardır, örneğin Fanın hızını veya bir Lambanın yoğunluğunu kontrol etmek için. Bu durumda PWM tekniği kullanılır, bu yüzden burada Arduino ile AC fan hızını kontrol etmek için Arduino tarafından üretilen PWM'nin nasıl kullanılacağını öğreneceğiz .
Bu projede, TRIAC kullanarak Arduino AC fan hızı kontrolünü göstereceğiz. Burada AC sinyalinin faz kontrol yöntemi, Arduino tarafından üretilen PWM sinyallerini kullanarak AC fan hızını kontrol etmek için kullanılır. Önceki eğitimde, PWM kullanarak DC fan hızını kontrol ettik.
Gerekli Bileşenler
- Arduino UNO
- 4N25 (Sıfır geçiş detektörü)
- 10k Potansiyometre
- MOC3021 0pto-bağlayıcı
- (0-9) V, 500 mA Kademeli Trafo
- BT136 TRIAC
- 230 VAC Aksiyel AC fan
- Bağlantı telleri
- Dirençler
Arduino kullanarak AC fan kontrolünün çalışması
Çalışma dört farklı bölüme ayrılabilir. Aşağıdaki gibidir
1. Sıfır Geçiş Detektörü
2. Faz Açısı Kontrol devresi
3. Fan hız miktarını kontrol etmek için potansiyometre
4. PWM sinyali Oluşturma devresi
1. Sıfır Geçiş Dedektörü
Evimizde aldığımız AC kaynağı 220v AC RMS, 50 HZ'dir. Bu AC sinyali doğası gereği değişiyor ve periyodik olarak polaritesini değiştiriyor. Her döngünün ilk yarısında tek yönde akarak tepe gerilime ulaşır ve ardından sıfıra düşer. Daha sonra bir sonraki yarım döngüde, alternatif yönde (negatif) bir tepe gerilime akar ve sonra tekrar sıfıra gelir. AC Fan hızını kontrol etmek için, her iki yarım döngünün tepe voltajının kesilmesi veya kontrol edilmesi gerekir. Bunun için sinyalin kontrol edileceği / Parçalanacağı sıfır noktasını tespit etmemiz gerekir. Gerilim eğrisinde gerilimin yön değiştirdiği bu noktaya sıfır gerilim geçişi denir.
Aşağıda gösterilen devre, sıfır geçiş noktasını elde etmek için kullanılan sıfır geçiş dedektör devresidir. İlk olarak, 220V AC voltajı bir düşürme transformatörü kullanılarak 9V AC'ye düşürülür ve daha sonra pim 1 ve 2'de bir 4N25 optocoupler'a beslenir. 4N25 optocoupler, anot olarak pin 1 ve pim 2 olarak pim 2 ile dahili bir LED'e sahiptir. katot. Aşağıdaki devreye göre, AC dalgası sıfır geçiş noktasına yaklaştığında, 4N25'in dahili LED'i kapanacak ve sonuç olarak 4N25'in çıkış transistörü de KAPANACAK ve çıkış darbe pimi 5V'a kadar çekilir. Benzer şekilde, sinyal kademeli olarak zirveye yükseldiğindenoktası, daha sonra LED AÇIK konuma gelir ve transistör de çıkış pinine bağlı topraklama pini ile AÇIK hale gelir, bu da bu pini 0V yapar. Bu darbeyi kullanarak sıfır geçiş noktası Arduino kullanılarak tespit edilebilir.
2. Faz Açısı kontrol Devresi
Sıfır geçiş noktasını tespit ettikten sonra, şimdi gücün AÇIK ve KAPALI olacağı zamanlama miktarını kontrol etmeliyiz. Bu PWM sinyali, AC motora giden voltaj miktarına karar verir ve bu da motorun hızını kontrol eder. Burada, bir AC voltaj sinyalini kontrol etmek için bir güç elektroniği anahtarı olduğu için AC voltajını kontrol eden bir BT136 TRIAC kullanılır.
TRIAC, kapı terminalinde düşük enerji sinyali ile tetiklenebilen üç terminalli bir AC anahtarıdır. SCR'lerde yalnızca bir yönde iletir, ancak TRIAC durumunda güç her iki yönde de kontrol edilebilir. TRIAC ve SCR hakkında daha fazla bilgi edinmek için önceki makalelerimizi takip edin.
Yukarıdaki şekilde gösterildiği gibi, TRIAC ona küçük bir kapı darbe sinyali uygulayarak 90 derecelik bir ateşleme açısında tetiklenir. "T1" süresi, kısma gerekliliğine göre verilen gecikme süresidir. Örneğin, bu durumda, ateşleme açısı yüzde 90'dır, dolayısıyla güç çıkışı da yarıya inecek ve dolayısıyla lamba da yarı yoğunlukta yanacaktır.
Burada AC sinyalinin frekansının 50 Hz olduğunu biliyoruz. Yani zaman periyodu 1 / f, yani 20 ms olacaktır. Yarım döngü için bu 10 ms veya 10.000 mikrosaniye olacaktır. Bu nedenle, bir AC lambanın gücünü kontrol etmek için "t1" aralığı 0-10000 mikrosaniye arasında değişebilir.
Optocoupler:
Optocoupler, Optoisolator olarak da bilinir. DC ve AC sinyalleri gibi iki elektrik devresi arasındaki izolasyonu korumak için kullanılır. Temel olarak, kızılötesi ışık yayan bir LED ve onu algılayan fotosensörden oluşur. Burada, bir MOC3021 optocoupler, bir DC sinyali olan mikro denetleyici sinyallerinden AC Fanını kontrol etmek için kullanılır.
TRIAC ve Optocoupler bağlantı şeması:
3. Fan Hızını kontrol etmek için potansiyometre
Burada AC Fan'ın hızını değiştirmek için bir potansiyometre kullanılır. Potansiyometrenin, voltaj bölücü görevi gören ve değişken voltaj çıkışı sağlayan 3 uçlu bir cihaz olduğunu biliyoruz. Bu değişken analog çıkış voltajı, AC fanın hız değerini ayarlamak için Arduino analog giriş terminalinde verilir.
4. PWM Sinyal Üretme Birimi
Son adımda, TRIAC'a hız gereksinimlerine göre bir PWM darbesi verilir, bu da AC sinyalinin AÇIK / KAPALI zamanlamasını değiştirir ve Fan hızını kontrol etmek için değişken bir çıkış sağlar. Burada Arduino, girişi potansiyometreden alan ve AC fanını istenen hızda daha da süren TRIAC ve optocoupler devresine PWM sinyal çıkışı veren PWM darbesini oluşturmak için kullanılır. Arduino kullanarak PWM üretimi hakkında daha fazla bilgiyi burada bulabilirsiniz.
Devre şeması
Bu Arduino tabanlı 230v fan hızı kontrol devresi için devre şeması aşağıda verilmiştir:
Not: Tam devreyi bir breadboard üzerinde yalnızca anlamak amacıyla gösterdim. Doğrudan devre tahtanızda 220V AC besleme kullanmamalısınız, aşağıdaki görselde görebileceğiniz gibi bağlantıları yapmak için noktalı tahta kullandım
AC fan hızı kontrolü için Arduino programlama
Donanım bağlantısından sonra, bir potansiyometre girişi kullanarak AC sinyal AÇMA / KAPAMA zamanlamasını kontrol etmek için bir PWM sinyali oluşturacak olan Arduino için kod yazmamız gerekir. Daha önce birçok projede PWM tekniklerini kullandık.
Bu Arduino AC fan hız kontrol projesinin tam kodu bu projenin altında verilmiştir. Kodun adım adım açıklaması aşağıda verilmiştir.
İlk adımda, kod boyunca kullanılacak olan tüm gerekli değişkenleri bildirin. Burada BT136 TRIAC, Arduino'nun 6. pinine bağlanır. Ve hız_değer değişkeni, hız adımının değerini saklamak için bildirilir.
int TRIAC = 6; int speed_val = 0;
Ardından, kurulum fonksiyonunun içinde, bu pin aracılığıyla PWM çıkışı oluşturulacağından TRIAC pinini çıkış olarak ilan edin. Ardından, sıfır geçişini algılamak için bir kesme yapılandırın. Burada adı verilen bir fonksiyon kullandık attachInterrupt harici kesme olarak Arduino dijital Pin 3 yapılandıracak ve adlandırılmış işlevi arayacak, zero_crossing onun pin herhangi kesmeleri algıladığında.
geçersiz kurulum () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Sonsuz döngünün içinde, A0'a bağlı potansiyometreden analog değeri okuyun ve bunu (10-49) değer aralığına eşleyin.
Bu aralığı bulmak için küçük bir hesaplama yapmalıyız. Daha önce, her yarım döngünün 10.000 mikrosaniyeye eşdeğer olduğu söylendi. Yani burada karartma, keyfi bir değer olan ve değiştirilebilen 50 adımda kontrol edilecektir. Burada minimum adımlar Sıfır değil 10 olarak alınır çünkü 0-9 adımlar yaklaşık olarak aynı güç çıkışını verir ve maksimum adımlar pratik olarak üst limitin (bu durumda 50) alınması tavsiye edilmediğinden 49 olarak alınır.
Daha sonra her adım süresi 10000/50 = 200 mikrosaniye olarak hesaplanabilir. Bu, kodun sonraki bölümünde kullanılacaktır.
boşluk döngü () {int pot = analogRead (A0); int data1 = harita (pot, 0, 1023,10,49); speed_val = veri1; }
Son adımda, kesmeye dayalı sıfır_crossing işlevini yapılandırın. Burada karartma süresi, bireysel adım süresini no ile çarparak hesaplanabilir. adımların. Daha sonra bu gecikme süresinden sonra TRIAC, bir TRIAC'ı açmak için yeterli olan 10 mikrosaniyelik küçük bir yüksek darbe kullanılarak tetiklenebilir.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (kesme süresi); digitalWrite (TRIAC, YÜKSEK); gecikme Mikrosaniye (10); digitalWrite (TRIAC, DÜŞÜK); }
Arduino ve PWM kullanarak bu AC fan kontrolü için çalışan bir video ile birlikte eksiksiz kod aşağıda verilmiştir.