Pic serisinde pwm çıkışının pulse sayısını belirtmek mümkünmü.

Başlatan cehennem, 20 Ocak 2016, 11:36:36

cehennem

İyi günler arkadaşlar. Bir step motor sürücü entegresine pwm sinyali yollayarak motor sürmeye çalışıyorum. Pwm frekans vs. ayarlarını yaptıktan sonra motorun konumu için gönderilecek pulse sayısını belirtip o kadar pulse yollandıktan sonra otomatik kesen bi yapı varmı yoksa sayıcı, kesme falan kullanarak yapmak zorundamıyım bilgisi olan arkadaşlar yardımcı olursanız sevinirim.

Salih

timer1'i sayıcı olarak ayarla. ve pwm sinyalini timer1 girişine uygula. Timer1 sana pals sayısını verir.

cehennem

timer ve harici kesme pinlerini kullanarak yapıyorum da ekstradan pozisyon verisi için seri port kesmesi kullandığım zaman pozisyon kayabiliyor bazen. Ondan puls sayısını belirtip veri okunduğundaki puls değeriyle karşılaştırıp işleme tabi tutacam. Karışmaların önüne geçmek istiyorum.

z

Timera şu kadar pals üret diyemiyoruz. Ancak ikinci bir counter ile yapabilirsin.

Int rutini içinde pals üretmek varken neden bu yola gidiyorsun?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

cehennem

Alıntı yapılan: z - 20 Ocak 2016, 13:33:47
Timera şu kadar pals üret diyemiyoruz. Ancak ikinci bir counter ile yapabilirsin.

Int rutini içinde pals üretmek varken neden bu yola gidiyorsun?


Counter olarak timerı veya harici kesmeleri kullanıp yaptım bi miktar ancak seri porttan değerleri alırken harici kesmenin saymasında sıkıntı çıkıyor okuma yarıda kesilmesin diye kesmeleri iptal ediyorum ondan. timerın counter özelliğini kullandığımda ise verinin hesaplama işleminde problem yaşayabilme ihtimalim olabilir diye düşündüm o yüzden pwm çıkış esnasında sayan bi counter belki vardır diye bir sorayım dedim.


dursuncemal

timer1'i  sayıcı olarak ayarla. ve pwm sinyalini timer1 girişine uygula. timer in ayarini oyle yap ki girdigin  deger kadar saydiktan sonra taşin. otomatik olarak timer1 inte dusersin.
:=

z

Seri port çok yavaş bir birim ikinci veri gelinceye kadar nerden bakarsan bak 10  clock kadar zamanın var.
250bin baud ile haberleşsen bu 40 mikrosaniye demektir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

dursuncemal

seri portan aldıgın verıyı de sen gonderiyorsan fonksiyonlarini ona gore yonetebilirsin
:=

cehennem

timer kesmesi kullanarak yapmayı deneyim takıldığım yerde gene sorularımı yönlendiririm.

rree

Yaptığın proje benimkine benziyorsa! Prototip cnc yapmıştım step motorun ne kadar gideceğini bilgisayrdaki yazdığım program belirliyordu. Diyelim cnc kare çizecek. Karelerin uzunluğu step motorun bir adımdaki mesafeyi  bölersek adım sayısı çıkar kabaca daha incelikleri var.Yazdığımız yazılım hesaplanan değer kadar motor sürücüsüne clock gönderir. Motordaki pwm devresi ise  motor akımına takip eder. Hıza göre akıma sabit tutmaya çalışır.

Okan AKÇA


cehennem

Es zamanli birden fazla motor sürecem seri port üzerinden motorlarin gidecegi pozisyon verilerini yolluyorum ancak biyere gitme islemi devam ederken yeni pozisyon geldiginde gerekirse ters yondeki bir pozisyon verisi geldiyse o ana kadar geldigi konum verisini alip yeni konum verisine gore pals gondermem gerekiyor timerla ugrastim ama karisiklik oluyor isin icinden cikamadim bi turlu.

dursuncemal

gondermis oldugunuz palslerin illaki pwm palsi mi olmasi lazim. eger normal pals olur diyorsan makul frekansi ne? kac tane pals  kaynagina ihtiyacin var  ?
:=