Powerstep01 Step Motor Hatalı Sürme

Başlatan yldzelektronik, 28 Nisan 2017, 09:50:55

yldzelektronik

Merhaba,

Step motor sürücü yapmam gerekiyor. Kontrolcü olarak St'nin Powerstep01 entegresini kullanıyorum.

Entegre benim hoşuma giden özellikler sunuyor.Ancak bazı noktalarda sorun yaşıyorum.

Kendi yaptığım devre, referans şemanın aynısı.Ancak şimdilik kendi yaptığım devreyi bir kenara bırakacağım.Bunun yerine Nucleo kit ile yaşadıklarımı anlatacağım.Kendi devremde de aynı şeyleri yaşıyorum.

Bu entegre 10 Amper R.M.S. akım verebildiğini söylüyor. Ben bu entegreyi 48 v ile beslediğimde, motoru çok düşük akımlar ile sürmeye çalışıyor. 500mA civarlarında bir akımdan bahsediyorum.Elbette bu akımın daha yüksek seviyelere (3 amper) çıktığı oluyor (ben ayarlıyorum.kontrolsüzce değil). Ancak hiçbir şey datasheet te yazıldığı gibi olmuyor.Atladığım birşeyler olduğu aşikar.

Öncelikle örnek bir şema ekliyorum.Bunun üzerinden gidelim. Bu şema nucleo'nun.




Bu da Powerstep01 datasheetten bir şema:



Resimdeki başlıktan anlaşılacağı üzere current mode için şema böyle.

Okuduğum data sheete göre benim mtoru kontrol edeceğim akım bir kaç şekilde ayarlanabiliyor.
Biri predictive current control (böyle yazılmıyor olabilir. öngörücü akım modu). Bu modda, entegrenin adcin ucundaki gerilim miktarına göre, akımı kendisi ayarlıyor. Burada da bir faktör daha var. Torku ben ayarlarım dediği bir register, torku sen ayarla dediği register.

Ben hem öngörücü akım modu kapatıyorum, hem de torku ben ayarlayacağım diye bildiriyorum. Böylece entegre içinde var olan TVALx registerlerine (buradaki x Accelerate, Decelerate, Run ve Holding için ayrı ayrı 5 adet) gerekli değerleri yazıyorum.
Buraya yazdığım değerler mV değerleri.Buraya yazdığım mV bilgisine göre, motor akımını ayarlıyor.
Ancak bunu şöyle yapıyor;
Rsense uçlarındaki [şönt dirençlerin bağlandığı pinler. Ki şönt direnç için iki ucu var. P ve S. S'yi direk gnd ucuna bağlamış.Sanırım bu P ve S direncin iki ucundan -differential- ölçüm alabilmek için] gerilim miktarını referans değer ile karşılaştırıp, akım ayarı yapıyor. Referans akım olarak belirtilen ise, TVALx registerlerine yazılan değerler.
Not: Bütün bunlar burada anlatılıyor. Sayfa 41 özellikle dikkatimi çeken kısmı.

Ben sürücüyü 48v ile besliyorum. akı  kaynağım, 7ampere kadar verebiliyor.  Kullanığım motor 8 uçlu 86HS120 Stepper Motor.
Bir de motor uçlarını paralel bağladığımda, çektiği akım mA mertebesinde olurken, seri bağladığımda, akım yükseliyor.Ancak hiçbir durumda motordan istediğim performansı alamıyorum.

Şimdi esas sorun ise şöyle.

Ben ilgili registere motoru 1 amper ile sürmesini söylediğimde, 250 mA civarında bir akım ile sürüyor.Ancak garip bir şekilde, Rsense ucunda gördüğüm gerilim, girdiğim değere yakın. örneğin, motorun tutma akımını (holding current) 1 Amper istiyorsam, TVAL_holding registerine 100mV değerini giriyorum.Ancak ölçü aletinde gördüğüm değer, bir kaç yüz mA civarında. Ancak, 700mV (7ampere ayarlarsam) civarında bir değer girdiğimde, 2 - 2,5 Ampere çıkabiliyorum.Ancak bu durumda da, motordan, inilti geliyor.İnce ve yüksek seste bir ses duyuyorum.

Bütün bunların dışında, ayrıca bu entegre, içinde gömülü olarak gelen mosfetlerin gate akımlarını, TONmin, TOFFmin vs gibi değerleri kullanıcıya bırakıyor.

Benim de kafamda, bu değerleri doğru girmediğim gibi bir düşünce beliriyor.Ancak değerleri değiştirirken nasıl bir yol izlemem gerekiyor?
Bununla ilgili, bu registerlerin anlatıldığı bir doküman var.

Toparlayacak olursak, bütün bu ayarlamaları nasıl bir yol izleyerek yapabilirim?Sorunun kaynağı neler olabilir?

Not: Buraya herşeyi yazmaya çalıştım.Ancak atladığım noktalar olabilir.İhtiyacınız olan bilgiyi sorarsanız hemen eklerim.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.