Gönderen Konu: duty sürelerini nasıl hesaplarım  (Okunma sayısı 1213 defa)

Çevrimdışı CaFFeiNe

  • Profesyonel Üye
  • *****
  • İleti: 1525
    • YAKE MAKİNA VE OTOMASYON
duty sürelerini nasıl hesaplarım
« : 01 Şubat 2017, 23:35:44 »
merhaba

resimdeki gibi bir sinyal oluşturmak istiyorum 100hz kare dalga (5ms High, 5ms LOW) fakat 0Hz'den 100Hz'e 1saniyede hızlanarak çıksın, bu 1saniyelik kısımdaki duty sürelerini nasıl hesaplarız?



Çevrimdışı seyityildirim

  • Kıdemli
  • ****
  • İleti: 352
  • artibesvolt.wordpress.com
    • +5 VOLT
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #1 : 02 Şubat 2017, 01:13:00 »
Duty değişmeyecek. Sadece frekansı arttıracaksın. Bir periyodun yarısında HIGH yarısında LOW ise duty %50. Hangi işlemcide yapacaksan sadece frekansı attıracaksın.

Çevrimdışı CaFFeiNe

  • Profesyonel Üye
  • *****
  • İleti: 1525
    • YAKE MAKİNA VE OTOMASYON
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #2 : 03 Şubat 2017, 02:10:14 »
tam anlatamadım demekki

şimdi 100hz için sinyalin HIGH kısmı 5ms, LOW kısmıda 5ms değil mi?

sinyal 0hz'den başlayacak 1sn sonra 100hz olacak diyelim bu durumda mesela 1. saniyeye kadar 12 kez HIGH 12 kez LOW olacak diyelim (12 rakamını attım buda hesaplanıp bulunması lazım) haliyle şöyle bir durum olması lazım

1.HIGH seviye -> 20ms
2.HIGH seviye -> 18ms
3.HIGH seviye -> 15ms
4.HIGH seviye -> 10ms
5.HIGH seviye -> 7ms
...

gibi

nasıl bir matematik ile hesaplanır bu?

Çevrimdışı JKramer

  • Profesyonel Üye
  • *****
  • İleti: 1559
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #3 : 03 Şubat 2017, 02:19:22 »
seyityildirim'ın dediği gibi. Duty sabit, %50.

f=100Hz, Ton=Toff=5ms
f=50Hz, Ton=Toff=10ms
f=10Hz, Ton=Toff=50ms
f=5Hz, Ton=Toff=100ms
f=1Hz, Ton=Toff=500ms

Çevrimdışı CaFFeiNe

  • Profesyonel Üye
  • *****
  • İleti: 1525
    • YAKE MAKİNA VE OTOMASYON
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #4 : 03 Şubat 2017, 02:47:03 »



yahu nerdende duty dedim :)

yanlış sordum belki bilemiyorum ama resimlerden sorduğum anlaşılmıyor mu?

üstteki resme bakın o zaman 1. saniyeden sonra nokta aralıkları 10ms olarak görülüyor, 0sn ile 1sn arasına noktaları nasıl yerleştireyim ki ilk mesajımdaki gibi hızlanma eğrisi 0hz'den 100hz'e düz bir çizgi şeklinde çıksın yani bu noktaların adedini ve tam konumlarını nasıl hesaplarız

1. nokta  123ms
2. nokta  221ms
3. nokta  298ms
...

gibi

eğri aşağıdaki gibi de olabilirdi mesela ama bana düz bir şekilde hızlanma yeter




Çevrimdışı apsis

  • Kıdemli
  • ****
  • İleti: 341
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #5 : 03 Şubat 2017, 03:09:34 »
1sn'yi 1000 e böldüğünü düşün. Bir timer kur ve her 1ms'de bir kesmeye gitsin. Her kesmeye gidişte 100/1000=0.1 Hz'li bir artış sağla(Duty sabit). Buna göre 1sn sonunda frekansın doğrusal bir şekilde 100Hz'ye ulaşacaktır. Bunu illede keseme ile yapmak zorunda değilsin 1ms lik gecikmeler ile de yapabilirsin. Kesme için 1ms dedim ama 1msden küçük sürelerle kesmeye gitmelisin. Çünkü kesme içerisinde koşturacağın komutların belli bir çevrim süresi var.
"Makineye Beyin" MEKATRONİK

Çevrimdışı JKramer

  • Profesyonel Üye
  • *****
  • İleti: 1559
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #6 : 03 Şubat 2017, 03:11:57 »
Hızlanmanın şeklini 0-1 saniye arasında frekansı değiştirme sıklığınız belirliyor. Mesela ilk mesajdaki fotoğraftaki gibi lineer yükseliş istiyorsanız, atıyorum timer'ı kurup her 10ms'de bir frekansı değiştirecekseniz toplamda 1000ms/10ms= 100 defa değiştirmiş olacaksınız. Buna göre 1. saniyedeki frekans 100Hz ise 100Hz/100=1Hz'lik arttırımlar olmalı. Yanlış anlamışsam kusura bakmayın :).

Çevrimdışı seyityildirim

  • Kıdemli
  • ****
  • İleti: 352
  • artibesvolt.wordpress.com
    • +5 VOLT
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #7 : 03 Şubat 2017, 03:12:41 »


yahu nerdende duty dedim :)

yanlış sordum belki bilemiyorum ama resimlerden sorduğum anlaşılmıyor mu?

üstteki resme bakın o zaman 1. saniyeden sonra nokta aralıkları 10ms olarak görülüyor, 0sn ile 1sn arasına noktaları nasıl yerleştireyim ki ilk mesajımdaki gibi hızlanma eğrisi 0hz'den 100hz'e düz bir çizgi şeklinde çıksın yani bu noktaların adedini ve tam konumlarını nasıl hesaplarız



Bu işi pwm üretebilen bir mikroişlemci ile yapcaksanız bahsettiğiniz sürelerin önemi yok. duty sini girersiniz. sadece frekansı arttırırsınız. Mikroişlemci kendisi frekansa göre duty değerine bakaıp ona göre aç kapa yapıyor zaten. Kaçırdığınız nokta bu

Çevrimdışı dursuncemal

  • Kıdemli
  • ****
  • İleti: 446
Ynt: duty sürelerini nasıl hesaplarım
« Yanıtla #8 : 03 Şubat 2017, 13:13:07 »
0 dan 100 herz'e diye dusununce 1 hz 1 saniye yapar.1000  ms lik bir periyodu sigdirmak istedigimiz pals adedine gore  hesaplayarak delay fonksiyonu ile olabilir diye dusunurum.
:=