Şimdi Ara

Step motoru tam tur döndürememe sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
5
Cevap
0
Favori
2.995
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar selamlar, PIC programlamaya yeni başladım, kafamda yapmak istediğim bir proje var. Öncelikle adım adım gitmek istedim. Projenin bir bölümünde step motorun tam tur (360 derece) dönmesi gerekli olduğundan onu denemek istedim önce. Devreyi Proteus'da kurdum, programını yazdım, tam düşündüğüm gibi çalıştı. Ancak gerçekte devreyi kurup PIC'e programı attığımda step motor tam tur dönmedi. Motorun yaptığı şu; 8 step atıp motor ilk başladığı yere dönüyor. Yani kısacası tam tur dönmüyor, dar bir alanda gidip başa dönüyor. Kodun can alıcı kısmı şu;

     
    while(1)
    {

    output_b(0b00000001);
    delay_ms(10);
    output_b(0b00000011);
    delay_ms(10);
    output_b(0b00000010);
    delay_ms(10);
    output_b(0b00000110);
    delay_ms(10);
    output_b(0b00000100);
    delay_ms(10);
    output_b(0b00001100);
    delay_ms(10);
    output_b(0b00001000);
    delay_ms(10);
    output_b(0b00001001);
    delay_ms(10);

    }


    Yani klasik olarak step motor döndürmek için yarım adım uyguladım, ama simulasyonda çalışırken gerçekte olmadı. Sizce problemin kaynağı nedir?







  • www.turksan.com/step-motor.html - Önbellek

     Step motoru tam tur döndürememe sorunu
  • Motora outputları doğru sırada bağladığına emin misin? motorun bipolar mı? Motorun speclerini, kurdugun devreyi de bi dosyada yollarsan belki yardımcı olabilirim...
  • Tamamdır çözdüm arkadaşlar.

     
    while(1)
    {
    int g=10;

    output_b(0b00000001);
    delay_ms(g);
    output_b(0b00000011);
    delay_ms(g);
    output_b(0b00000010);
    delay_ms(g);
    output_b(0b00000110);
    delay_ms(g);
    output_b(0b00000100);
    delay_ms(g);
    output_b(0b00001100);
    delay_ms(g);
    output_b(0b00001000);
    delay_ms(g);
    output_b(0b00001001);
    delay_ms(g);
    output_b(0b00001000);
    delay_ms(g);
    output_b(0b00001100);
    delay_ms(g);
    output_b(0b00000100);
    delay_ms(g);
    output_b(0b00000110);
    delay_ms(g);
    output_b(0b00000010);
    delay_ms(g);
    output_b(0b00000011);
    delay_ms(g);
    }


    Kodun bu kısmıyla step motoru sınırsız döndürebiliyorum. Döngüyü eğer 12 kere tekrarlatırsam 360 derece dönmeyi elde edebiliyorum. Benim istediğimde buydu.
    Saygılar.




  • Bu step motor bir turu 1.5 saniyede mi atiyor, ben mi yanlis anladim ?
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.