Pic16F877 ile yıldız üçgen yol verme

Başlatan Kursat, 03 Aralık 2014, 15:06:09

Kursat

Hocalarım öncelikle merhaba, hoca yıldız üçgen yol vermemizi istiyor ama pic ile bu işlemi nasıl kodlayabiliriz? Yardımcı olursanız çok sevineceğim diğer uygulamaları yazdıydım ama bunu hiç anlamadım.

ete

Yıldız üçgen bağlantı 3 sıra kontağı bulunan iki kontaktör kullanılarak yapılması gereken bir motor bağlantı ve yol verme sistemidir.
Bu işde pic in rolü yalnızca sırası gelen kontakötrü aktive etmekten ibarettir. Bir kontaktör kaç volt ile çalışıyor ise onun bobinini pic ile sürmen gerekiyor. Bu sürme işini röle veya Triac ile yapabilirsin. Kontaktörler bazen DC 24 volt ile de sürelebilmektedir. O zaman bir MOSFET güç transistörü ile de sürülebilir.
Burada önemli olan motor ile kontaktör bağlantılarının doğru yapılmasıdır.
Bir yıldız üçgen yol verme işlemini sen bana anlat bende sana gerisini anlatayım!!! Yani bu işi pic ile nasıl yapacağını anlatayım.
Senin tarifin muhtemelen şöyle olmalı;
- Yıldız bağlantı kontaktörüne çalıştır.
- xx sn bekle ve yıldız bağlantı kontaktörünü kapat
- üçgen bağlantı kontaktörünü aç

ete


Kursat

#2
Alıntı yapılan: ete - 03 Aralık 2014, 15:39:37
Yıldız üçgen bağlantı 3 sıra kontağı bulunan iki kontaktör kullanılarak yapılması gereken bir motor bağlantı ve yol verme sistemidir.
Bu işde pic in rolü yalnızca sırası gelen kontakötrü aktive etmekten ibarettir. Bir kontaktör kaç volt ile çalışıyor ise onun bobinini pic ile sürmen gerekiyor. Bu sürme işini röle veya Triac ile yapabilirsin. Kontaktörler bazen DC 24 volt ile de sürelebilmektedir. O zaman bir MOSFET güç transistörü ile de sürülebilir.
Burada önemli olan motor ile kontaktör bağlantılarının doğru yapılmasıdır.
Bir yıldız üçgen yol verme işlemini sen bana anlat bende sana gerisini anlatayım!!! Yani bu işi pic ile nasıl yapacağını anlatayım.
Senin tarifin muhtemelen şöyle olmalı;
- Yıldız bağlantı kontaktörüne çalıştır.
- xx sn bekle ve yıldız bağlantı kontaktörünü kapat
- üçgen bağlantı kontaktörünü aç

ete

Yıldız üçgen yol verme yöntemini daha önce birçok kez kumanda devresi ile yaptım ama PİC ile hiçbir fikrim ve kod  düşüncem yok. Yani kontaktörleri nasıl pic ile bağdaşlaştıracağım bunu bilemiyorum. Önceden işte PİC'te bulunan led yakma, lcd'e yazı yazma gibi basit kuramları yaptık ama bu baya bir ağır geldi. Nasıl yazacağım hakkında bilgi verirseniz çok sevinirim Ete hocam.
portc.0 > durdurma butonu(bunu hoca kendi devresine göre söyledi ete hocam bendeki devrede biraz daha karışık)
portc.  > başlatma butonu
LCD'de "başlamak için START'a basın" yazacak.
Starta basıldığında LCD'de "motor yıldız çalışıyor" yazacak sonrasında dediğiniz gibi önce hocam yıldız kontaktörü çalışacak.
Sonrasında üçgene geçiş yapınca
LCD'de "motor üçgen çalışıyor"(sırayla bu ikisi yazacak)
"durdurmak için stoba basın"

Pic devrem bu şekilde.
http://prntscr.com/5cvfyn

ete

Ben elektronik işinin alaylısıyım. Ne elektrik konusunda neden elektronik konusunda herhangi bir tahsil yapmadım.
Bu nedenle yıldız nedir üçgen nedir yol vermede aralarında ne gibi bir zaman bağlantısı var bilemem.Ancak merak edip bilenlere sorarım. En iyi bilende internet. Bak sordum edindiğim bilgilere göre motor yıldı bağlantı ile kaldırılıp 8-10 san sonra üçgen bağlantıya geçiriliyormuş.
Bu bilgi anahtar oluyor. Daha sonra yıldız bağlantı nasıl oluyor , üçgen bağlantı nasıl oluyor bakıverdim. Motorda her faz için bir sargı bulunuyor ve motor bağlantı kutusunda her sargının iki ucu çıkartılmış durumda yaniş toplamda 6 tane uç var.
Yıldız bağlantıda sargıların birer ucundan fazlar veriliyor diğer uçları kısa devre ediliyor. Üçgen bağlantıda ise fazlara RTS bağlantısı verliyor. Birinin çıkışı diğerinin girişine gelecek şekilde bağlanıyor.
Buraya kadar olması gerekenleri belirledik. Şİmdi senden istenenler nedir ona bakalım. LCD de durum gösterilecek o halde 1 LCD gerekiyor. Bir start birde stop butonu koyuldumu oldu bitti demektir. İlişikte bu amaca uygun bir şema hazırladım.
İsis de 3 kontaklı röle bulamadım onun yerine birleştirerek bir ikili bir tekli birlikte kullanarak 3 kontak elde ettim. Gerçekte bunun yerine tek röle yada kontaktör kullanılacaktır.

Yapılacak iş  yani program algoritması,
- Program açıldıktan sonra ekrana "START TUSUNA BASINIZ" ikazı verilecek.
-start butonuna basılmış ise,
   ekrana "START a BASILDI yazılıp alt satıra YILDIZ ROLESI AKTIF" yada benzeri bir şey yazdırılabilir
  1) Önce ROLE-1 rölesi (yada kontaktörü) aktive edilecek
  2) Hemen bekletmeden Yıldız rölesi de aktive edilecek.
   Böylece motora yıldız bağlatı uygulanarak voltaj verilmiş olacaktır.
  3) 8 sn beklenecek ve ardından yıldız rölesi kapatılarak ucgen rolesi açılacak.  Ekranda al satıra "UCGEN ROLESI AKTIF" yazdırılıp ,bu şekilde motor dönmesine devam edecek.
  4) UST satıra (DURDURMK ICIN STOP'A BASIN) yazdırılabilir. Karekterlerde kısaltma yapmak lazım ekrana sığmazlar yoksa.
- Motor çalışıyor ve STOP butonuna basılmış ise
  Ekrana (MOTOR DURDURULDU) yazılıp Röleler kapatılarak sistem yeniden start bekleme kısmına gönderilecek.

Hepsi bu kadar zor olmasa gerek.

Ete

Kursat

Ete hocam bunu hazır devreye röle eklemektense board üzerine zipsoket, röle, buton ile yapamazmıyız? Birde protonda hocam kontaktör falan eklememiz gerekmiyor mu? Yani 1 Nolu kontaktör yıldız için gibisinden vs. Direk lcd işlemini yaptığımda pic kontaktörleri algılayıp LCDe yazamaz sanırım.

ete

KOntaktör yerine röle kullandım ya işte. Aynı şey ha kontaktör ha röle kontaktör dediğinde büyük kapasiteli bir röledir zaten.
Kimsenin bir şey algılaması gerekmiyor . Yalnızca pic algılayacak hangi butona basıldığını ona görede açıkladığım şekilde ikazları ekrana yazacak daha doğrusu sen yazdıracaksın.
Nasıl yapılacağını detaylı yazdım . Biraz programlama bilen birisi kolaylıkla bu programı yazabilir. Sende yazarsın umarım.
Başka türlü bana göre yapılamaz sen başka bir yol denemek istiyorsan denersin.

Ete

Kursat

Ete hocam saat 05.30 halen uğraşıyorum ama yapamadım  ;D
LCD'DE ilk kısım yazıyor sonrasında diğerleri aktif olmuyor Ete hocam. Buton1'e basınca ekrana yazmıyor. Kusura bakma senide kızdırıyorum sanırım. :)

Device 16F877
Xtal 4
TRISA=%11111111
TRISB=%00000000
TRISC=%00000000
TRISD=%00000000
TRISE=%00000011

Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.2
Declare LCD_ENPin PORTB.3
Declare LCD_Interface 4
Declare LCD_Lines 2

ADCON1=%00000111

Dim BUT1 As PORTA.0
Dim BUT2 As PORTA.1
Dim BUT3 As PORTA.2
Dim BUT4 As PORTA.3
Dim BUT5 As PORTA.4
Dim BUT6 As PORTA.5
Dim BUT7 As PORTA.0
Dim BUT8 As PORTE.1
Dim ARKAAY As PORTD.1

PORTC=0
PORTD=0

BASLA:
     Print at 1,1, "BASLAMAK ICIN START"   
     IF BUT1=0 then
                PORTD.5=1
                portd.1=1
                Print at 2,1, "YILDIZ CALISIYOR"
                While BUT1=0:Wend
                Delayms 3000
                Portd.5=0
                PORTD.1=0
                Print at 2,1, " "
                EndIf
     If BUT2=0 then
                Portd.4=1
                PORTd.1=1
                print at 2,1, " UCGEN CALISIYOR"
                While BUT2=0:wend
                Delayms 3000
                Portd.4=0
                Portd.1=0
                Print at 2,1, " "
                EndIf
                GoTO basla
End

ete

Şema koymamışsınız. Donanımsal olarak ne olup bittiğini anlamam zor.
Programa bakılırsa yazdıklarımı iyi okumamışsınız bu anlaşılıyor. Yukarıda yazdıklarımdan 3. maddeyi atlıyorsunuz.
YILDIZ-ÜÇGEN sisteminide bilmiyorsunuz bana kalırsa. Öğrenin bence.
Yazdığınız programİ
BUT1 butonuna basılınca , iki roleyi aktif ediyor galiba. Birisi Role-1 dediğim role diğeride Yıldız rolesi. Bunu iki port pinini (PORTD.1 ve PORTD.5) aktif etmenizden çıkartıyorum. Malum şema olmayınca fazla yorum yapılamıyor.
3 sn bekleyip Bu roleleri kapatıyorsunuz. 3 sn az en az 5 sn en fazla 10 sn olması gerektiği her yerde yazıyor.
Halbuki Yalnızca Yıldız rolesi kapatılmalı diğeri aktif beklemeli idi. Hemen ardından ÜÇGEN rolesi aktive edilmeli. Bu aktivasyon herhangi bir tuş basılmasına gerek olmadan otomatik olmalı. Sİz ne yapmışsınız BUT2 ye basılırsa Üçgen (PORTD.4) rolesi ile birlikte PORTD.1'i yeniden aktive etmişsiniz. BU tamamen manuel bir Yıldız üçgen çalıştırma şeklidir. Bunun için işlemci kullanmaya da gerek yok role yada kontaktörlere seri birer buton bağlayın Hangisine basarsanız o kontaktör çeker ve şu anda yaptığınız şey yapılmış olur. Halbuki bu iş otomatik olmalı.

Peki nerede Sop butonu ve ona ait kod? . Yok çünki Stop butonu diye bir şey kullanmayı amaçlamıyorsunuz. Üstelik yine programda anlamsız olarak bir sürü buton var. Ne işe yarayacak bunlar. ? Galiba yapmanız gereken başka bir şey ve siz sadece yıldız üçgen diyerek bizi de boşuna oyalıyorsunuz.
Bana o kadar butonun ne işe yarayacağını veya ne amaçla devreye koyulduğunu açıkla fikrimi değiştireyim.
Yoksa bu konuya daha fazla destek vermeyeceğim artık. Zira soru sorup yardım istiyorsun . Yardım veriyorum ama başka şeyler yapmakta ısrar ediyorsun. Bunu anlamakta zorlanmıyorum. Ama sebebini anlamıyorum.

Ete


Powered by EzPortal