JAL ile step hızı

Başlatan Erdinçbavaş, 06 Ağustos 2013, 20:03:09

Erdinçbavaş

 pin_b0 = high
           delay_10ms (1)     burayı mesala delay_1ms (10) yapıp diğer adımlara uyguladığımda çalışmıyor:(
           pin_b0 = low
           delay_1ms   (3)
           pin_b2 = high
           delay_10ms (1)
           pin_b2 = low
           delay_1ms   (3)
           pin_b1 = high
           delay_10ms (1)
           pin_b1 = low
           delay_1ms   (3)
           pin_b3 = high
           delay_10ms (1)
           pin_b3 = low
           delay_1ms   (3)
Sevgili arkadaşlar step motoru sürdüğüm bu devrede garip bişeyle karşılaştım.10ms ve 1ms lik zamanlarla tutma ve bırakmayı ayarladım sorun yok ancak 10 ms liği 1 ms yapıp (10) değerini atadığımda motor sapıtıyor.Yani aynı program 10ms ve 1msde farklılık gösteriyor.Ben hızı dahada artırmak istiyorum.5ms high 3ms low yapmak istiyorum olmuyor.Derdimi anlayan var mı:)anlatabildim mi:)

Erdinçbavaş

 :-X aradan 1 saat geçti çalışan programı tekrar denedim motor saçmaladı.Nerde sorun var acaba transistörlü H köprümdemi yoksa motorda mı yoksa bende mi ;D

z

Belki de devren sorunludur. Sema yokmu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Erdinçbavaş

#3
Kardeş teşekkürler ilgine, başka sayfada sende yardımcı olmuştun sağolasın.Niye resim ekleyemiyorum yaw ??? Devrem https://www.picproje.org/index.php/topic,46993.0.html linkteki bülent kardeşin gönderdiği devre 470 ohmları kaldırdım ve bc337 lerin emiterleri tp 102 lerin beyzine götürdüm.Devrem bu şekilde.

mesaj birleştirme:: 07 Ağustos 2013, 01:06:51

Sanırım daha önce sezgin arkadaşın önerdiği bu devreye ben 16f84 pici ekleyerek yapmaya çalışacağım öyle gözüküyor.
https://320volt.com/yuksek-guclu-bipolar-step-motor-surucu-l297-ir2104-irfz44/

demket

Bu tip ilginçliklere ben de rastladım. Mesela "var byte a" dediğimizde a nın 0 olduğunu kabul etmesi gerekirken bazen edip bazen etmiyor. Bu sebeple her defasında "var byte a = 0" şeklinde yazmak zorunda kalıyorum. Ayrıca "%" ve "/" işlemlerini bazen yapmadığına şahit oldum. Aynı kod üzerinde bu matematiksel işlemleri etkilemeyecek ufak değişiklikler yapıyorum. Hesabı gerçekleştirmeyen kod bir sonraki derlemede hatasız çalışıyor. Kodlar karmaşıklaşınca sorunlar da ortaya çıkıyor. 1500 satırlık bir kodda seri porttan veri okurken iki farklı if - elsif koşul sorgulamasının içinde case kullanıyorum. Derlenen program önce çalışmıyor. if leri alt üst ediyorum. case deki değişkeni okumaya başlıyor vs...

demket

Bu arada aklıma geldi. İşletim sisteminiz 64 bit midir?

Erdinçbavaş

Sistem 32 bit aynı devre diyelim aradan 2 Ay geçiyor step motor çalıştırınca saçmalıyor.Niye böyle olsun ki?

demket

Güncelleme yaptın mı? Derleyici versiyonun kaç?

ByTEK

#8
 delay_10ms (1) ile delay_1ms (10)  birebir olarka aynı gecikme değerine eşit değildir. delay kütüphanesini incelersen nedenini görürsün. kesin değer istiyorsan usec_Delay(x) fonksiyonunu kullanmanı öneririm kesin gecikme süresini hesaplayarak üretir. Tek kötü tarafı vereceğin parametre sabit olması gerekir. değişken veremezsin.

mesaj birleştirme:: 05 Ocak 2014, 16:09:51

Alıntı yapılan: demket - 14 Kasım 2013, 14:01:00
Bu tip ilginçliklere ben de rastladım. Mesela "var byte a" dediğimizde a nın 0 olduğunu kabul etmesi gerekirken bazen edip bazen etmiyor. Bu sebeple her defasında "var byte a = 0" şeklinde yazmak zorunda kalıyorum. Ayrıca "%" ve "/" işlemlerini bazen yapmadığına şahit oldum. Aynı kod üzerinde bu matematiksel işlemleri etkilemeyecek ufak değişiklikler yapıyorum. Hesabı gerçekleştirmeyen kod bir sonraki derlemede hatasız çalışıyor. Kodlar karmaşıklaşınca sorunlar da ortaya çıkıyor. 1500 satırlık bir kodda seri porttan veri okurken iki farklı if - elsif koşul sorgulamasının içinde case kullanıyorum. Derlenen program önce çalışmıyor. if leri alt üst ediyorum. case deki değişkeni okumaya başlıyor vs...

çoğu derleyicide değişken tanımlaması yaparken o değişken ile aslında adres tanımlaması yaparsın. ve adres rastgele bir değer alır. bu yüzden başlangıç değeri sizin için önemli ise tanımlar iken değer verin.