PIC12F675 ile zaman ayarlı yıldız üçgen ASM yol verici

PIC12F675 ile zaman ayarlı yıldız üçgen ASM yol verici

Bu çalışma, üç fazlı asenkron motorlara yıldız/üçgen yol verme mantığını PIC12F675 ile zaman kontrollü hale getiren öğretici bir uygulamadır. Temel fikir basittir: START komutu ile motor önce yıldız konumunda kalkar, potansiyometre ile ayarlanan bekleme süresi dolunca üçgen konumuna geçirilir ve STOP komutuna kadar çalışmasını sürdürür.

Kaynak içerikte anlatılan amaç da budur: klasik kumanda panosunda röle, zaman rölesi ve kablo kalabalığı ile yapılan işlemi daha derli toplu bir mantıkla gerçekleştirmek. Bu yüzden devreyi ticari ürün gibi değil, geliştirilmeye açık bir örnek olarak okumak daha doğrudur.

Yıldız üçgen yol verme neden kullanılır?

Üç fazlı asenkron motorlar ilk kalkış anında anma akımının birkaç katı akım çekebilir. Bu nedenle motor ilk anda yıldız bağlanır, kalkış akımı bir miktar sınırlandıktan sonra üçgene geçirilir.

Konunun temelini tazelemek isteyenler için üç fazlı asenkron motorların çalışma mantığı da iyi bir tamamlayıcı olur.

Not: Bu yazıdaki bağlantı açıklamaları klasik 380V / 220V kabulüne göre anlatılmıştır. Yani kaynak şemadaki mantık, yıldız bağlantıda sargı başına daha düşük faz gerilimi uygulanması ve motor hız kazandıktan sonra üçgen bağlantıya geçilmesi esasına dayanır.

yildiz-ucgen-yol-verme-timer-controlled-star-delta-asm-leader-with-pic12f675

Yıldız bağlı durumda sargıların 220V, üçgen bağlı durumda ise 380V görülür. Özetle motor ilk kalkışta yıldız ile daha yumuşak başlar, süre sonunda tam çalışma için üçgen konumuna alınır.

motor-sargisi-380volt-timer-controlled-star-delta-asm-leader-with-pic12f675

PIC12F675 kumanda mantığı nasıl kurulmuş?

PIC12F675 üzerinde bir adet analog giriş, iki adet buton girişi ve üç adet çıkış kullanılıyor.

Potansiyometre AN0 üzerinden okunuyor, START ve STOP girişleri ise dijital olarak izleniyor.

Çıkış tarafında bir ana kontaktör, bir yıldız kontaktörü ve bir üçgen kontaktörü mantığı oluşturulmuş.

İşlevPIC12F675 piniKoddaki karşılığı
Zaman ayarıGP0 / AN0ADC ile okunuyor
START girişiGP3Buton girişi
STOP girişiGP5Buton girişi
Ana kontaktörGP1Yıldız ve üçgen modda ortak aktif
Yıldız kontaktörüGP2İlk kalkışta aktif
Üçgen kontaktörüGP4Süre sonunda aktif

Koddaki GPIO=6 ifadesi ana kontaktör ile yıldız kontaktörünün birlikte çektiği ilk kalkış durumunu, GPIO=18 ifadesi ise ana kontaktör ile üçgen kontaktörünün birlikte çalıştığı sürekli çalışma durumunu temsil ediyor.

Not: Başlıkta “ASM” ifadesi geçse de verilen kaynak kod aslında MikroC ile yazılmış C kodudur. Bu küçük çelişki teknik işleyişi etkilemez

kumanda-devre-semasi-timer-controlled-star-delta-asm-leader-with-pic12f675

KUMANDA DEVRE ŞEMASI

kumanda-led-start-stop-timer-controlled-star-delta-asm-leader-with-pic12f675

STOP KONUMU

stop-konumu-kumanda-devresi-timer-controlled-star-delta-asm-leader-with-pic12f675

YILDIZ KONUMU

kumanda-yildiz-konumu-timer-controlled-star-delta-asm-leader-with-pic12f675

Pot ile zaman ayarı nasıl yapılıyor?

Kodda ADC_Read(0) ile AN0 okunuyor ve bu değer birkaç sabit bekleme kademesine çevriliyor.

Yani sistem lineer ve hassas saniye ayarlı bir zaman rölesi gibi değil, pot konumuna göre belirlenmiş basamaklı bir bekleme tablosu ile çalışıyor.

Bu yaklaşım eğitim ve uygulama denemeleri için yeterli, ayrıca yazılımı sade tutuyor.

Benzer şekilde röle, kontaktör ve zamanlama mantığını mikrodenetleyici ile kurmak isteyenler için klasik yol verme metotları üzerine hazırlanmış örnekler de karşılaştırma açısından faydalı olabilir.

Sürücü katı ve gerçek uygulama tarafı

Kaynak yazıda sistemin röle sürecek şekilde tasarlandığı ve kontaktörlerin bu röleler üzerinden kontrol edildiği belirtiliyor.

Bu çok önemli bir ayrıntıdır. PIC12F675 doğrudan kontaktör bobini süren bir güç devresi değildir; mikrodenetleyici sadece kumanda mantığını üretir, esas güç anahtarlaması röle veya uygun sürücü katı üzerinden yapılır.

Not: Sürücülü devre şemasında röle sürmek için MOSFET kullanılmış olsa da, bu bölüm gerçek uygulamada yük akımına, röle bobinine ve besleme gerilimine göre yeniden değerlendirilmelidir. Simülasyonda çalışan çözüm, sahada en doğru çözüm olmak zorunda değildir.

Bu projede özellikle dikkat edilmesi gerekenler

  • Bu devre Proteus tabanlı örnek/simülasyon mantığı taşıdığı için gerçek panoda bulunması gereken tüm güvenlik elemanlarını eksiksiz göstermeyebilir.
  • Gerçek uygulamada termik röle, sigorta, yardımcı kontak kilitlemesi ve uygun kontaktör seçimi mutlaka ayrıca düşünülmelidir.
  • Yıldızdan üçgene geçiş kodda doğrudan yapılmış görünmektedir. Sahada yıldız ve üçgen kontaktörleri arasında elektriksel ve/veya mekanik kilitleme olmadan uygulama yapılmamalıdır.
  • Koddaki yorum satırında geçen “1 saniye” ifadesi pratikte doğrudan kabul edilmemelidir; gerçek süre, derleme ayarı ve donanım koşullarıyla ölçülerek teyit edilmelidir.
  • Bu yöntem her üç fazlı motor için uygun değildir; motorun yıldız/üçgen yol vermeye uygun sargı uçlarına ve bağlantı yapısına sahip olması gerekir.

PIC12F675 ile hazırlanan bu zaman ayarlı yıldız üçgen yol verici, klasik kontaktör mantığını küçük bir mikrodenetleyici ile otomatikleştiren güzel bir eğitim projesidir.

Pot üzerinden geçiş süresi ayarlanması, START/STOP ile basit kumanda yapılması ve üç çıkışla ana-yıldız-üçgen sıralamasının üretilmesi projenin en güçlü yönleridir.

Buna karşılık gerçek endüstriyel uygulamada güvenlik kilitlemesi, saha sürücüsü ve süre kalibrasyonu mutlaka yeniden ele alınmalıdır.

Daha yüksek güçlü veya daha kontrollü kalkış gereken yerlerde sadece yıldız/üçgenle sınırlı kalmak yerine yumuşak yol verme yöntemleri de değerlendirilmelidir.

circuit-diagram-simulation-of-time-controlled-star-delta-asm-leader-with-proteus-pic12f675

yildiz_ucgen.c MicroC yazılımı


/*     MikroC Programı ile
              12f675 ile zaman ayarlı yıldız üçgen ASM yol verici
                   ,.
              Progamı Yazan AYTAÇ DÜRGEN "ASM *  /__ "
              Aralık 2009
              Program AN0 a bağlı olan pot konumunu okur bu konuma göre bir
              zaman sabiti üretir
              start butonuna basılması ile motora *yıldız yol verilir
              motor tipine gücüne uygun ayarlanan zaman değerince bekler ve süre sonunda
              üçgen yol alır ve stop a basılana kadar çalışmasını devam ettirir.
              proje ile ilgili dökümanlar ekte verilmiştir....
              Kocaeli üniversitesi TEKNİK EĞİTİM FAKULTESİ...
*/


unsigned int sayac=0,zaman=0,okuadc,bekle,izin; // değişkenler tanımlanıyor
long a_long;
/**********************************************************/
void interrupt() {		// kesme alt programı
    INTCON.T0IF = 0;
    sayac++;      		// 1snlik zaman döngüsü
    if (sayac==60)           // 1sn de bir artan sayıcı
    {zaman++; sayac=0;}
}
/*********************************************************/
				// temel konfigürasyon ayarları
void ayarlar(){
 OPTION_REG=0x07;    // TMR0 prescaller değeri 256 seçildi
 INTCON.GIE=1;       //kesmelere izin verildi
 ANSEL =  0x0D;      // AN0 analog diğer adc ler dijita seçildi
 TRISIO = 0x29;      // port yönlendirmesi ayarlanıyor
 GPIO = 0; 				// portlar temizleniyor
 izin=0;
}
/*********************************************************/
					// adc AN0 bilgisi okunup değerler atanıyor
void adcoku(){
okuadc=ADC_Read(0);                // AN0 ADC okunuyor okuadc'ye aktarılıyor
a_long=(long)okuadc*0.0048876*2;   // okunan adc long dönüşümü yapılıyor V a çevrilip 2 ile genişletiliyor
/************************************/
if(a_long>=0 & a_long<1)bekle=1;    // okunan adc bilgisine uygun zaman değerleri üretiliyor
if(a_long>=1 & a_long<2)bekle=2;
if(a_long>=2 & a_long<3)bekle=4;
if(a_long>=3 & a_long<4)bekle=8;
if(a_long>=4 & a_long<6)bekle=16;
if(a_long>=6 & a_long<8)bekle=25;
if(a_long>=8 & a_long<=10)bekle=40;
}
/************************************************************/
			// ana pogram rutini
void main()
{
ayarlar();
for(;;){
adcoku();
/**********************************************************/
if((GPIO.F3==1)&(izin==0)){   // start butonu
izin=1;            				 // izin 1 e karşılık gelen çıkışlar portda gösterilir
INTCON.T0IE=1;     		 // TMR0 a izin verilir kesme sağlanır
TMR0 = 0;
}
/***********************stop butonu************************/
if(GPIO.F5==1){     //Tüm değerler sıfırlanıyor sistem başa döndürülüyor
zaman=0;
GPIO=0;
TMR0=0;
izin=0;
}
/***********************************************************/
if(izin==1)GPIO=6;   // yıldız modu
if(zaman>=bekle)     // adc bilgisi ile TMR0 zamanları karşılaştırılıor ve üçgen çalışma
{
izin=2;
INTCON.T0IE=0;       // TMR0 yetkisi kaldırılıyor
GPIO=18;             // üçgen modu ve stopa basılana kadar çalışma
}
}
}

Tasarlanan bu sistemde adc ile pot üzerinden gerilim okunarak ayar konumu belirlenir ve bu gerilimden bir sabit elde edilir ve bu sabit ise çeşitli güçlerde asmler için zaman ayarını yapar ve yıldız üçgen yol verme işlemini otomatik olarak gerçekleştirir.

Sistem röle sürecek şekilde tasarlanmıştır ve bu röleler üzerinden kontaktörler sürülmektedir. Sürücülü devre ekte mevcuttur. Kısa süre içerisinde uygulama görüntüleri de yayınlamaya gayret edeceğim.

Uğraşanlara kolay gelsin…

Projeyi hazırlayan:AYTAÇ DÜRGEN KOCAELİ ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ Eski İstanbul yolu üzeri umuttepe İzmit Kocaeli. [email protected]

PIC12F675 ile zaman ayarlı yıldız üçgen ASM yol verici uygulama dosyası;

Paylaş:

1 Yorum

  1. F
    Fami Bebekoğlu

    Merhabalar bu yazılımın MPLAB ile yazılmış olanı elinizde mevcutmu yayınlayabilirmisiniz ??

    Yanıtla

Yorum Yap