16F628A HPWM

Başlatan zeus48, 18 Mayıs 2017, 23:50:10

zeus48

Arkadaşlar mrb..  Ete hocanın hpwm ile ilgili konularını okudum ama  düşündüğüm soruyu yanıt bulamadım yada ben anlayamadım.  Bilindiği gibi 16f628a  nın 9. pini hpwm çıkışı.       
Sorum şu. Benim bir grup ledim var . İşlemciye enerji verildiğinde  başla etiketine gelmeden hpwm aktif edilip  grup ledimi dimmer gibi ışığı azaltıp çoğaltsın ( Bu süreç işlemcinin enerjisi kesilinceye kadar).    Bende alta inip başla etiketinden sonra diğer işlerimi yapayım. Bu mümkünmü ? Mümkünse mantık ne?

est32

Basic de iki tür pwm komutu var. Birisi PWM, diğeri de HPWM.
Pwm komutu yazilimsaldir. İşlem bu komutu icra ederken diğer işlerle uğraşamaz, ya da tam tersi işlemci herhangi bir komutu işlerken aynı anda pwm üretemez.
Bu durumun önüne gecebilmek için F628 gibi donanimsal pwm modülü olan işlemcilerde HPWM komutu 1 kez verilir ve diğer işler ile uğraşılır. Enerji kesilene kadar işlemci pwm uygulamayı bırakmaz. HPWM komutu üzerinde frekans veya duty degistirilecekse sadece o zaman o komuta müdahale edilir.
İ
Umarım istenilen bilgi budur ve anlatabilmişimdir.

ete

Alıntı YapSorum şu. Benim bir grup ledim var . İşlemciye enerji verildiğinde  başla etiketine gelmeden hpwm aktif edilip  grup ledimi dimmer gibi ışığı azaltıp çoğaltsın ( Bu süreç işlemcinin enerjisi kesilinceye kadar).
Bu soruda ufak bir kritik nokta var. Basla satırından evvel hpwm aktif edilip dimmer gibi led ışığını azaltı çoğaltsın  denilmiş.
Basla satırından evvel vereceğin komut  o ledler sabit bir dim seviyesi verebilir. Ama sürekli olarak bir azalsın bir çoğalsın işlemini otmatik yaptıramazsın. PWM sinyalinin bir DUTY değeri vardır buna kısaca sinyalin HIGH süresi denilebilir. Işık parlaklığında bu sürenin toplam peryot içindeki miktarı etkin rol oynar. Yani peryot (HIGH + LOW süresi) diyelimki 60 us. Sen 30us HIGH ve 30us LOW verdin ışık şiddetin teorik olarak %50 olur.  %75 parlaklıkiçin 45us HIGH ve 15 us LOW vermen gerekir.
Basla satırından evvel ancak bu şekilde bir kerelik değer verirsin parlaklıkda o seviye ye gelir. Ama sonradan program içinde değiştirmez isen kendi kendine bu değerler değişmez. Senin ana programınıda hiç etkilemez bu sistem geri landa programdan bağımsız çalışır.

Arada bir bu değerler değişsin istersen zamana bağlı kesme oluşturman ve kesme içinde Duty değerini isteğine uygun değiştirmen gerekir. Buda kısmi müdahaleli otomatik parlaklık değiştirme olarak nitelenebilir.

Ete

zeus48

Tşk ete hocam. Bu cevap yeterli

Powered by EzPortal