Şimdi Ara

Step motor sürmek için proje acil yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
2.783
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • s.a
    iyigünler arkadaşlar birçok araştırma yaptım ama derdime çare ne yazıkki bulamadım öncelikle elimde bipolar 5 çıkışlı bi step motor var benim sorunum sürücü devrelerinden sonra max torkla dc kaynakla ken di kendine atıyorum 2 dakika çalışıp 5 dakika durması
    3 looptan sonra ters yöne bu hareketi tekrarlaması ben elek elektro müh son sınıf öğrencisiyim algoritma hakkında yardımcı olabilecek arkadaşlardan yardım istiyorum birde step motor seçiminde çok pahalı olmayan stabil motor satan yerleri nerden bulabilirim eskişehirdeyim



  •  Step motor sürmek için proje acil yardım


    /******************************************************
    PIC16F877 ile Step Motor Uygulaması (ULN2003A İle)
    *******************************************************/

    #include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

    // Denetleyici konfigürasyon ayarları
    #fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

    #use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

    // Giriş ve çıkış pinlerine isim atanıyor
    #define buton_ileri pin_a0
    #define buton_geri pin_a1

    int i=0,hiz=10;

    const int yarim_adim[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09}; // Step motor yarım adım dönüş adımları

    /********* ANA PROGRAM FONKSİYONU********/

    void main ( )
    {
    setup_psp(PSP_DISABLED); // PSP birimi devre dışı
    setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
    setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
    setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
    setup_adc(ADC_OFF); // ADC birimi devre dışı
    setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
    setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

    output_b(0x00);

    while(1) // Sonsuz döngü
    {

    if (input(buton_ileri)) // İLERİ Butonuna basıldı ise
    {
    output_b(yarim_adim); // Step motor 1 adım ileri
    while(input(buton_ileri));// Basılan tuş bırakılana kadar bekle
    delay_ms(hiz); // Adımlar arası bekleme süresi

    if (i==7) // i değişkeni 7 olunca i değeri -1 olsun
    i=-1;
    i++; // i değişkenini 1 arttır

    }

    if (input(buton_geri)) // GERİ Butonuna basıldı ise
    {
    if (i==0) // i değişkeni 0 ise i değeri 8 olsun
    i=8;
    i--; // i değişkenini 1 azalt
    output_b(yarim_adim); // Step motora 1 adım geri
    while(input(buton_geri)); // Basılan tuş bırakılana kadar bekle
    delay_ms(hiz); // Adımlar arası bekleme süresi
    }
    }
    }


    Bu devre altaş yayıncılığın CCS ile PIC Programlama kitabından alınmıştır.

    http://www.altaskitap.com/CCS_C_kitapy.htm Buradan indirebilirsin.

    Bu devredeki butonları iptal edersin. sonsuz döngü içerisinde gecikmelerle istediğin sürede ileri ve geri döndürürsün.

    Ben de programlamada acemiyim ama tahminim çalışacaktır.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.