Dijital Dimmer için çözüm

Başlatan erdemefe, 06 Ocak 2015, 17:25:08

erdemefe

Arkadaşlar 18F452 ile yaptığım bir devrede TMR3'ü kesme olarak kullanıp 1sn palseleri oluşturuyorum. TMR0 ve TMR1'i counter olarak kullanarak frekans ölçümü yapıyorum. CCPM modüllerinin ikisini de PWM olarak kullanıyorum. PWM'den dolayı TMR2 bölücü oranı 1:4 ve PR2 registerında 124 yazılı. PWM kullanırken bu kesme kullanılabiliyor mu bilmiyorum eğer kullanılıyorsa TMR2 registerı PR2'ye eşit olduğunda kesme oluşacak bu da demek oluyor ki PR2'yi değiştiremeyeceğime göre 124*0.2*4=99.2uS'lik (20Mhz için) kesmeleri alabilirim.

Ayrıca triyak ateşleme süresi ile oynayarak dimleme yapmak istiyorum. Sıfır geçişlerini yakalayıp her sıfır geçişinden sonra 50Hz için 0-10ms gecikme koyarak dimleme yapabileceğimi düşünüyorum fakat burada takıldığım nokta gecikme süresini nasıl ayarlayacağım. Geçişleri bir şekilde 0-5V aralığına getirdikten sonra RB0 kesmesi ile pice gireceğim fakat geçiş yakalandıktan sonra ne yapacağımı kestiremiyorum.

Bir de 18F452'yi ilk defa kullanıyorum datasheetten anladığım kadarı ile bu picde kesme önceliği ayarlanabiliyor. Fakat örneğin 3 kesme kullanırken 2 kesme kaynağına öncelik verip (ilgili bitleri 1 yapıp) 3. kesmeye öncelik vermezsek ne olacak. Kesmeler nasıl davranacak?

Bu konuda yardımlarınızı rica ederim.

ete

#1
Bu mesaj soru sormak içinmi yazılmış yoksa bilgi vermek amacı ile yazılmış belli değil. Açıkçası ne soruluyor o belli değil. Bir kaç konu sorulmuş ama işin bütününde sorular geri planda kalmış gibi duruyor. algıladığım ilk soru sıfır geçiş algıladıktan sonra gecikme sürelerini nasıl ayarlayacağım? Konusu. Bunun cevabını aslında bu kadar işi yaptıktan sonra senin bilmen gerekmezmi acaba? Sonuçta sıfır geçiş yakalandıktan sonra 0-9 ms lik bir süre söz konusu. Sıfır geçişten hemen sonra ateşleme gecikmesini verip sonra triacı ateşlemen ve 100 us bekleyip tekrar triacı off yapman gerekiyor bütün mesele bu kadar. Gecikme için ayrıca bir gecikme modülü kullanmaya gerek yok. Sonuçta epeyce kısa süreler bunlar .

İkinci soru kesme önceliği meselesi. Bu konuyu hiç denemedim teorik olarak biliyorum. Elbette bildiğime göre kime öncelik verirsen ve aynı anda kesme oluşursa öncelik kimde ise onun kesmesi oluşur. Bunuda denemek gerekiyor başka yolu yok.
Ete

erdemefe

Hocam cevabınız için teşekkür ederim.

Sorularım doğru anlaşılmış bekleme süresinde takıldım aslında. Pause vada pauseus komutu kullanmak istemiyorum tüm bu işlemleri kesmeler ile halletmek istiyorum çünkü projede fazla sayıda 7 segment display olacak bunları da kısa aralıklar ile güncelleyeceğim bu yüzden bu kadar sorun yaşadım.

Burak

Aslinda dijital dimmer sistemlerinde en mantiklisi her zaman su blok cizgeyi kullanmaktir .

Mcu1-->dijital potansiyometre<-->mcu2

Bu sistemde mcu1 zaman problemi olmayan , display , rf modul , kizilotesi modul ve dijital potansiyometrenin degerini kodlarla degistiren

Mcu2 ise sadece okudugu dijital pot degerine gore atesleme yapan triyak surucu sistemi ifade eder . Zaman problemi yoktur cunku yaptigi tek is adc cevrim yapip tetikleme darbesini okunan pot degerine gore geciktirmesidir . Max 200 us alicak islemlerdir.
Maliyeti artirir evet ama stabilizasyonda artar ..
Ω Gens Una Sumus Ω

ngunay


Powered by EzPortal