Pulse train output

mhmt982006

Üye
Katılım
14 Ara 2023
Mesajlar
4
Puanları
1
Yaş
26
arkadaşlar merhaba ben pulse train output sinyalinin nasıl oluşturulduğu hakkında araştırma yapıyorum matematiksel formül araştıyorum nasıl yapıldığı hakkında bilginiz var mı ? nasıl bir matematiksel formülasyonu var bilginiz var mı
 
Sürücümüzün parametrelerini şu şekilde ayarladığını düşün:
Pulse train max frekansı: 200kHz​
1 tur atmak için gereken pulse sayısı: 2000​

Maximum frekansta pulse üretirsek 200.000/2000 = 100 devir/saniye
1 dakikada ise 100*60 = 6000 devir/dk
Yani parametre bu şekilde ayarlandığında motor maximum hızını 6000rpm ile sınırlandırdık. 1pulse gönderdiğimizde ise motor 360/2000 = 0.18 derecelik dönüş yapacak.

Pulse frekansı = (200.000/6.000) * Hız(rpm)
 
cevabınız için saolun ben aslında pto sinyalinin nasıl üretildiği hakkında bilgi sahibi olmak istiyorum.mikroişlemci ile step motor sürücem fakat pwm yerine pto ile sürmek istiyorum bunun matematiksel formülünü öğrenmek istiyorum asıl sorun benim için budur
 

Ekli dosyalar

  • 1.jpg
    9.9 KB · Görüntüleme: 5
  • 2.jpg
    60.8 KB · Görüntüleme: 5
step motor sürücü entegresi yeni nesil bir sürücü ise pwm sinayli verilse bile içeride pto gibi %50 %50 duty lere çeviriyor.
pto sinyali eşit duty oranlarında olacak bir kare dalga şeklinde mcu içinde timer modullerle üretilemezmi?
hızlanma ve yavaşlama sabiti olarak bir değişken kullanılabilir.
 
hangi sürücü entegresi kullanılacak? minimum rising ve falling edge süreleri burda önemli
 
aslında fpga kullanıcam 50mhz pwm pulse üretebiliyor kullanacağım sürücü de tb6600 ben sürücüyü pto sinyal ile kontrol etmek istiyorum bunun için pwm kullanmak istemiyorum

aslında bu grafiklerdeki pto dalgayı oluşturmak istiyorum ve konum pozisyon pulse ile kontrol sağlamak istiyorum
 
fpga ile çok rahat yapılır. vhdl bilsem bende deneme yapardım.
matematiksel bir formül direk yazamam ama mantık olarak bişeyler söyleyebilirim.
step motor open loop sürülecek heralde bir encoder kullanılmayacak. step kaçırmaması için accl çok önemli. motor sürücüsü gayet iyi. tb6600.
duty cycle lar sabit kalacak şekilde sadece frekans değiştirecek bir kod gerekecek. pwm üreteci ile pto üretilebilir diye düşünüyorum. sadece duty ler eşit kalacaklar. 10hz ile 1khz arası frekansı timer modüllerde bir değişkende ayarlanabilir olacak. (frekans min max değişebilir.) birde mikro step geçişlerinde bu frekanslar oransal olarak değişebilmeli. 1:4 te 100hz verirken 1:8 de 200hz verilebilmeli. 1:16 , 1:32 de de aynı şekilde otomatik frekanslarda geçişler olmalı. bundan sonrası ise motorun steplerinde kaç derece döndüğü hesabı için bir map oluşturulmalı. 120 pulse geldiğinde kaç tur atacak yada kaç derece dönecek gibi. burda da yine mikro stepler için ratio lar olacak.
 
encoder olmucak open loop sistem olucak ben şuanda hızlanma ve yavaşlama süresini ve başlangıçta pulse sayım kaç olması gerektiğini nasıl hesaplamam gerektiği ile ilgili biraz sorun yaşıyorum
 
Bunu daha önce yapmıştım ancak formule hiç dökmemiştim,birlikte formüle dökelim
Step motor kullandıgımızı varsayarsak ve lineer enterpolasyon yaptıgımızı varsayarsak:
Step motor her puls da 1.8 derece doner,yani 200 puls de bir tur döner.
Diyelimki 1800 d/dak ya 10 saniyede çıkmak istiyoruz.
Linear interpolasyon için ortalama hıza çıkma süresi=10/2 =5 sn
1800 d/dak =1800/60=30 devir/sn
bu hıza cıkmak için üretilecek puls sayisi=30 x 200=6000 puls
6000 puls'i 5 saniyede üretmem gerektigine göre
saniyede 6000/5 =1200 puls/sn üretmem lazım;yani freknasım 1200 Hz olacak.
Duty oranını %50 vereceksin.
Burdan çıkan sonuç:
f=(çıkılacak hız/60)*step motorun bir turdaki puls sayisi / (cıkılacak süre/2)
bu frekansı 0 dan baslayıp 10 uncu saniyeye kadar linear şekilde artırman gerekecek.
yani her saniyede 1200/10 =120Hz artıracaksın.Geçişlerin tatlı olması için her 100 ms de 12 artırman daha mantıklı.
Umarım yardımcı olabilmişimdir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…