All for Joomla All for Webmasters
Yapabilecekleriniz hayal gücünüz kadar geniştir.
STM32
ARDUINO
ONUR KÖSE
Kişisel Blog

Arduino HDD Step Motor

Merhaba arkadaşlar bu yazımda Hard Disk(HDD) üzerinde bulunan step motorun nasıl sürüleceğini ve maximum(7200) devire nasıl çıkarılacağını anlatacağım.

Step motor Türkçe adıyla adım motoru; motorun hızı, ne kadar döneceği belli bir açıya bağlı olarak ayarlanabilen motorlardır. Direk enerji vererek çalıştırılması mümkün değildir. Belirli uçlarına belirli zaman aralıkları ile voltaj gönderilerek çalıştırılır. Çeşitli step motor sürücü entegreleri(ULN2003) bulunmaktadır. HDD step motorları yüksek akım çekmektedir. Direk arduinoya yükseltici olmadan bağlanmamalıdır, aksi takdirde arduinoya aşırı akımdan zarar gelebilir.

Maximum devire çıkabilmek için mantıken sırayla step motor uçlarına;

digitalWrite(uç1, HIGH);
digitalWrite(uç2, LOW);
digitalWrite(uç3, LOW);

digitalWrite(uç1, LOW);
digitalWrite(uç2, HIGH);
digitalWrite(uç3, LOW);

digitalWrite(uç1, LOW);
digitalWrite(uç2, LOW);
digitalWrite(uç3, HIGH);

Programdaki gibi gerilim verilmelidir. Hiç gecikme olmadığı için sadece komut işleme süreleri gecikme yapacak ve program çalıştığı anda step motor 7500 devire çıkacak diye bekliyoruz ancak step motorda olay böyle değildir. Araba motorunu hızlandırmaya benzer. Sırayla vites yükselterek gecikmeler düşürülür ve en yüksek devire çıkılır. Bu gecikme düşüşlerinin çok stabil olması ve hızlı düşmemesi gerekir aksi takdirde motor hızlanmaya başlar ancak eğim bozulduğu an faz kaçırarak rezonansa girer. Fazla uzatmadan step motorun uçlarının bulunmasına geçelim.

HDD step motorun 4 ucu bulunmaktadır. 1 tanes ortak olan besleme ucu, diğer 3 taneside lojik 1 vereceğimiz sargı uçlarıdır.

Step motorun uçlarının bulunması için tüm uçlar diğer uçlar ile teker teker ölçülür. Amacımız şekilde ki ‘c’ adlı besleme ucunu bulmaktır. O ucu bilmediğimiz için 4 numaralı uç olarak adlandırıyorum.

1-2  6.6Ω

1-3  6.6Ω

1-4  3.3Ω

2-3  6.6Ω

2-4  3.3Ω

3-4  3.3Ω

Ölçümler sonucunda buna benzer bir direnç değerleri elde etmelisiniz. Ortak uç ile tüm uçların ölçümü, diğer uçlar arasında ölçülen direncin yarısı olacaktır. Bendeki step motorun bobin dirençleri bu şekilde çıktı sizde farklı çıkabilir ancak ortak uçta her zaman direncin yarısı çıkar. Uçlarımızı bulduktan sonra devremize göz inceleyelim.

Şemada, daha önceden bulunan 3 adet step motor ucuna akımı yükseltmek için mosfet transistör takılmıştır. Bu transistörlere arduinonun sırasıyla 13, 12 ve 11 nolu pinlerinden lojik gerilimi uygulanmaktadır. Mosfetlerin kapı empedansı çok yüksek olduğu için direnç konulmaya gerek yoktur. Bulunan ortak uçtan sonra doğru sırayla mosfetlere bağlamaya dikkat edin. Çünkü step motor sürülürken faz doğru sırada değilse motor dönmez sadece titrer. Yazılıma gelecek olursak;

Sırayla mosfet pinleri faz1,2,3 adıyla tanımlanmıştır ve çıkış olarak ayarlanmıştır. Gecikme 25000 den başlayarak 1400e kadar inmektedir. İlk faz aktif edildiği an 25ms bekleniyor ve diğer faz aktif edilip 25ms bekleniyor. Bu şekilde 3 faz aynı zaman aralığında aktif edildikten sonra 150 birim düşülür ve 24.850 ms zaman aralığı ile aynı şekilde 3 bobin teker teker tetiklenir. Bu 150 birim düşüşü 15ms oluncaya kadar devam eder. 15ms olduktan sonra gecikme aralığı 60 birime düşürülür. O zaman da gecikme düşüşleri 14940,14880,14820 şeklinde değer 3000 oluncaya kadar devam eder. Son olarak da 3000 altına düştüğü an gecikme sıkılaştırılır devir 7500 oluncaya kadar devam eder. 1,4ms olduğu an 7500 devire çıkmış olur. Step motor yaklaşık 2A çekmektedir. Besleme kaynağı +12v ve en az 2A veya üstünde olması gerekir.

Devreye ait resim ve video;

About the author

Leave a Reply

Merhaba

Bloguma Hoşgeldiniz.

Kategoriler

Çevrimiçi Kişiler

50 Misafir, 1 Bot
%d blogcu bunu beğendi: