PWM gibi ama değil :)

Başlatan Maxim, 14 Nisan 2016, 08:14:11

Maxim

evet biraz garip, şöyle birşey yapılabilirmi acaba?

bir sayı kadar çıkışı on-off yapacağız (15hz ile 200hz arası kabaca)
mesela sayı 30 olsun, çıkış pini 30 kere inip çıkacak (toggle yapacak)

ete

Girilen rakamı kullanıp onunla bir döngü kurarak yapılamazmı. Basit gibi geldi bana bu iş ama soru olarak sorduğuna göre bilmediğim eksantrik bir tarafı var.

Adet bilgisi tuş takımından girilerek alınır ve ardından

For I=0 to adet
  PortX.x=1
   pause 5
  portX.x=0
   Pause 5
Next
şeklinde halledilir. Pause süresi frekansı belirler. Burada yaklaşık 100 hz (toplam peryot 10ms=100Hz) verdim.

Ete

Maxim

ete hocam beyin durunca danışmak istedim :)
hemen deniyorum

ete

Olur böyle şeyler arada bir banada oluyor.
Döngü sıfırdan değilde 1 den başlarsa tam adet tutturulmuş olur.

Ete

Maxim

yok hocam sanırım ben saçmaladım çünki böyle olmaz :(
mesela adet bilgisi 400 olunca ben istiyorumki çıkışta 400hz olsun
120 olunca çıkışta 120hz olsun

zaten ben yanlış anlattım, sanırım pwm siz olmaz bu iş
ama çıkışta nasıl 15hz alırımki?

hemde bu şekilde beklemeler ve for döngüsü ana döngüyü de aksatıyor.

ete

#5
Evet tamamen farklı anlattın ilk mesajında. Peki diyelimki 400 girdin 400 hz nasıl çıkacak yine adetlimi? yani hem 400 hz çıksın hemde 400 puls çıksin gibimi yoksa başka bir kriteri varmı?
Yinede zor değil yapmak istediğin;
Girilen=400
Peryot=(10000/400)*100 (us)
SURE=peryot/2
For I=1 to Girilen
  Pin=1
  Pauseus SURE
  Pin=0
  Pauseus SURE
Next

Ete

Maxim

aslında bu bir devir bilgisi yani rpm
okumada sorun yok diyelim 6000 rpm okudum
fakat benim bu bilgiyi başka bir yerde daha kullanmam gerekiyor, rpm / 15 diyerek

yani eğer rpm 6000 ise port.C6 nın saniyede 400 kere toggle yapması lazım
rpm 1000 ise portc.6 nın saniyede 66 kere toggle yapması lazım gibi

ete

Saniyede ki toggle sayısı ile frekans yine farklı şeyler. Bir şeyleri kaçırıyorsun gibi geliyor bana.
Mesajından anladığım kadarı ile hesaplanan frekans adedi kadar ve o frekansta puls istiyorsun.
Cevabı bir önceki mesajıma ekledim.
Ete

Maxim

evet hocam ben toggle falan ile ortalığı bulandırdım boşuna
toggle unutalımü, çıkışta frekans olacak bildiğimiz şekli ile

dediğiniz gibi yani
"hesaplanan frekans adedi kadar ve o frekansta puls istiyorsun"

Maxim

hocam bu oldu
fakat dediğim gibi ana döngü fena yavaşlıyor doğal olarak, for döngüsünden çıkamıyorki

ne yapsam diye çözüm düşünüyorum, çünkü aynı işlemcide bu iş olamayacak galiba
acaba 12f serisi ikinci ufak bir işlemciye mi bunu yaptırsam?
o değeride seriden mi yollasam veya başka bir şekildemi?
sizin aklınıza gelen birşey varmı acaba?

ete

Diğer işler ağır basıyo ve bu iş işlemciyi kasıyor ise küçük bir işlemci ile halletmeni öneririm.
Kablolu seri bağlantı (tek pinden) yap gitsin.

Ete

otansev

pic basic de istenilen sayı kadar pulsi üreten bir komut vardı ama şu an hatırlıyamıyorum o işinizi görecek sanırım araştıracağım yada aklında olan arkadaş varsa yardımcı olabilirmi ?
selamlar
TA1MK

Maxim

pulsout komutu olabilirmi?

otansev

evet  doğru pulsout
Bu komut acaba iş görmezmi???
TA1MK

ete

İŞ görmez çünki tek pals verir bu bir ikinciside palsin yada palslerin frekansını kontrol edemezsin.

Ete

Powered by EzPortal