Drv8825 ve Step Motor Frekans sorunu

TunahanC

SbX
Katılım
31 Mayıs 2024
Mesajlar
103
Elimde bir nema17 tip bir step motor var ve bunu drv8825 ile sürüyorum. Sürmek için de stm32'den pwm dalga kullanıyorum. Fakat step motor için frekans girdiğim zaman RPM değeri farklı çıkıyor. RPM değerini matematiksel olarak hesaplamak için kullandığım formül RPM = ((Adımaçısı/Mikroadım)/360)*frekans*60 (formül linki). Bazı deneyler yaptığımda örneğin, 115Hz, 1.8adım açısı ve 32 mikroadım, matematiksel olarak 1.08 olması gerekirken, kronometre ile 8 civarı bir RPM ölçüyorum. Formül mü yanlış? Step motor mu bozuk? Anlamadım. Bu konuda bir fikri olan varsa yardımcı olursa sevinirim.
 
Formül doğru.
Hesaplanandan daha yüksek hızda motor mili döndüğü için kontrol edilecek noktalar:
+ PWM çıkış frekansı 115Hz mi? Belki yanlış konfigüre edilmiş olabilir. İmkanınız varsa ölçün.
+ Microstep = 32 için drv8825 de pin konfigürasyonları doğru yapıldımı?

Hızlı dönmesi için başka bir sebep kalmıyor.

Mikro step ayarının doğru olduğundan emin olmak için, motor miline bir işaret koyun ve 6400 pals gönderecek bir test kodu hazırlayın. Motor milinin bir tur atıp başladığı yere gelip durması gerekir.

(360 / 1.8 adım açı) x 32 step = 6400 pals
 
Formül doğru.
Hesaplanandan daha yüksek hızda motor mili döndüğü için kontrol edilecek noktalar:
+ PWM çıkış frekansı 115Hz mi? Belki yanlış konfigüre edilmiş olabilir. İmkanınız varsa ölçün.
+ Microstep = 32 için drv8825 de pin konfigürasyonları doğru yapıldımı?

Hızlı dönmesi için başka bir sebep kalmıyor.

Mikro step ayarının doğru olduğundan emin olmak için, motor miline bir işaret koyun ve 6400 pals gönderecek bir test kodu hazırlayın. Motor milinin bir tur atıp başladığı yere gelip durması gerekir.

(360 / 1.8 adım açı) x 32 step = 6400 pals
1-) PWM dalganın çıkışında frekansı aynı görüyorum. Duty cycle farklı ama onun bir problem olacağını düşünmüyorum.
2-)
M0_GPIO_Port->BSRR = M0_Pin << 16; // Reset M0_Pin
M1_GPIO_Port->BSRR = M1_Pin; // Set M1_Pin
M2_GPIO_Port->BSRR = M2_Pin; // Set M2_Pin
32 mikrostep için pinlerim bunlar.


Son olarak 6400 pulse gönderdim ve bunları HAL_TIM_PWM_PulseFinishedCallback ile saydım fakat yine fazla tur attı. Yardımınız için teşekkür ederim fakat pek işe yaramadı.
 

Ekler

  • resim_2024-07-10_082139931.png
    resim_2024-07-10_082139931.png
    13.3 KB · Görüntüleme: 47
İlk mesajınızda 8 katı kadar fazla döndüğünü belirtmiştiniz. Pals sayısında bir hata yoksa, microstep kısmına odaklanın sanki 32 step değil 8 micro step gibi davranıyor.. Step sürücünün M0,1,2 pinlerini mcudan ayırın 32 step olacak şekilde gnd ve vcc ye bağlayıp deneyin.
 
İlk mesajınızda 8 katı kadar fazla döndüğünü belirtmiştiniz. Pals sayısında bir hata yoksa, microstep kısmına odaklanın sanki 32 step değil 8 micro step gibi davranıyor.. Step sürücünün M0,1,2 pinlerini mcudan ayırın 32 step olacak şekilde gnd ve vcc ye bağlayıp deneyin.
Çok ilginç logic ile ölçtüğüm zaman MCU'dan gelen sinyalleri hepsi olması gerektiği gibi gösteriyordu ama dediğiniz gibi ayrı bağlayınca oldu. Logic üzerinde gördüğüm için bunu yapmak aklıma gelmemişti. Teşekkürler, sanırım boardın enerjisi yetmiyor.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,979
Mesajlar
119,224
Üyeler
2,834
Son üye
Tulpar

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top