pic step motor yardım

Katılım
11 Eyl 2008
Mesajlar
34
Puanları
1
Yaş
39
merhaba arkadaşlar
pic ile step motor kontrolü yapmak istiyorum fakat bir türlü beceremedim programı devresi hazır uln2003an kullanıyorum 12v 5a güç kaynağı vs hepsi var.
ortak uçları doğru buldum eminim. hatta şemasınıda buldum motorunda çalıştığını biliyorum bununla birlikte motor bir türlü hareket etmiyor

1 kod da sorun yok
2 bağlantıda sorun yok
3 güç kaynağı yeterli
4 motor çalışıyor

olabilecek bütün ihtimallere baktım hatta acaba gecıkme kısa mı oluyor diye onları dahi baya uzattım ama tık yok

neden olabilir yardım ederseniz bir görüş çözüm önerisi benim içiçn çok faydalı olur

SAYGILAR
 
ULN 2003 girişlerini elinle manuel beslediğinde motor adım atmalı. Atmıyorsa bağlantı hatası demektir.
 
Merhaba
isis ve yazılımı paylaşırsanız daha çabuk yardım alırsınız.
 
ULN2003 kullandıgına gore motor unipolar 6 uclu motor olmalı.

bobinlerin ortak ucu +12 V olmalı
diger 4 ucu ULN2003teolmalı.
ULN2003 9 nolu ucu +12 V baglı olmalı..

Motor Bobini uclarını bulmak icin
ornegin
123456 kabloyu sırayla test et

1 nolu kablo 2 nolu kablo ile kısadevre
3 nolu kablo 2 nolu kablo ile kısadevre

4 nolu kablo 5 nolu kablo ile kısa devre
6 nolu kablo 5 nolu kablo ile kısa devre

şeklinde varyasyonları deneyebilirsin

Devre +12V verdiğinde
ULN2003 input girişlerini sırayla olc. herşey normalmi bak
ULN2003 çıkışları ile +12V arasındaki voltaj degerini olc. (girise +V verdiginde Çıkıs gnd ile kısadevre olur +12V ile ULN2003 cıkısını olcersen +12V okuman lazım )
 
hocam motor kendini kitliyor motorun bağlantı şemasını buldum çok ufak titremeler oluyor ama hareket etmiyor özellikle geceikmeleri uzun tuttum elektriklensin diye ama olmuyor işte bi türlü beceremedim :(
 
Merhaba
isis ve yazılımı paylaşırsanız daha çabuk yardım alırsınız.

kodlar
Kod:
    LIST    P=16F877A
    INCLUDE    "P16F877A.INC"
__CONFIG    H'3F31'


SAYAC1    EQU    H'20'
SAYAC2    EQU    H'21'
ADIM    EQU    H'22'
SAYAC    EQU    H'23'
ADET    EQU    H'24'
DISPLAY EQU    H'25'
  
  


    BSF    STATUS,5  
    CLRF    TRISB
    CLRF    TRISC
    CLRF    TRISD
    BCF    STATUS,5
  
    BSF    STATUS,RP0
    MOVLW    0x06
    MOVWF    ADCON1
    MOVLW    0xCF
    MOVWF    TRISA
    BCF    STATUS,RP0


  
    CLRF    PORTD
    CLRF    ADET  
    CLRF    PORTA
    CLRF    PORTB
    CLRF    PORTC
    CLRF     SAYAC
    CLRF    DISPLAY




    MOVLW    H'FF'  
    MOVWF    ADIM


    MOVLW    D'10'
    MOVWF    ADET
    MOVLW    D'4000'
    MOVWF    SAYAC
  




BASLA
  
    BTFSC    PORTA,0
    GOTO    BASLA
SAG  


    BTFSC    PORTA,1
    GOTO    SOL
    MOVLW    D'50'
    MOVWF    ADET
SAGDVM  
    MOVF    DISPLAY,ADET
    MOVLW    DISPLAY
    MOVWF    PORTB
    CALL    MOTORSAG
    DECFSZ    ADET,F
    GOTO    SAGDVM
    GOTO    BASLA


SOL
    BTFSC    PORTA,2
    GOTO    SAG
    MOVLW    D'10'
    MOVWF    ADET
SOLDVM
    CALL    MOTORSOL
    DECFSZ    ADET,F
    GOTO    SOLDVM
    GOTO    BASLA
  
MOTORSAG
    INCF    ADIM,F
    MOVF    ADIM,W
    ANDLW    B'00000111'
    CALL    CEVRIM
    MOVWF    PORTC
    MOVWF    PORTB
    CALL    GECIKME
    CALL    GECIKME
    CALL    GECIKME
    CALL    GECIKME
    RETURN


MOTORSOL
    DECF    ADIM,F
    MOVF    ADIM,W
    ANDLW    B'00000111'
    CALL    CEVRIM
    MOVWF    PORTC
    MOVWF    PORTB
    CALL    GECIKME
    CALL    GECIKME
    CALL    GECIKME
    CALL    GECIKME


    RETURN  


CEVRIM
    ADDWF    PCL,F
    RETLW    B'0001'
    RETLW    B'1001'
    RETLW    B'1000'
    RETLW    B'1100'
    RETLW    B'0100'
    RETLW    B'0110'
    RETLW    B'0010'
    RETLW    B'0011'
    RETURN










GECIKME
    MOVLW    H'FF'
    MOVWF    SAYAC1
D1
    MOVLW    H'FF'
    MOVWF    SAYAC2
D2
    DECFSZ    SAYAC2,F
    GOTO    D2
    DECFSZ    SAYAC1,F
    GOTO    D1
RETURN
END
 
uzun zamandır ASM yazmıyorum ve nerdeyse unutmusum...
eger zamanlama ile ilgili bir problm ola ihtimalin var ise sunu test et ..

ledler 0.5sn yanıp sonuyorsa zamanlama ile ilgili bir problemin yok..
zaman dongusunu Takip edebilmen icin 0.5sn diyorum... 1sn de olabilir yakip edebiliyorsan 0.2 sn de olabilir...

birde Ledlerin bir sonraki adıma kadar yanması gerekli eger ledleri yakıp sonduruyorsan calısmaz

birde portc ye isis te logicprobe tak ve portc cıkıs veriyormu bak
tam hatırlamıyorum ama mplab te bank degistirip Trisb = 0 yaptıgımda calısmıyordu

BSF STATUS,5
CLRF TRISB
CLRF TRISC
CLRF TRISD
BCF STATUS,5


onların yerine clrf portb kullan.. o sekil calısıyordu yanlıs hatırlamıyorsam..
 
uzun zamandır ASM yazmıyorum ve nerdeyse unutmusum...
eger zamanlama ile ilgili bir problm ola ihtimalin var ise sunu test et ..

ledler 0.5sn yanıp sonuyorsa zamanlama ile ilgili bir problemin yok..
zaman dongusunu Takip edebilmen icin 0.5sn diyorum... 1sn de olabilir yakip edebiliyorsan 0.2 sn de olabilir...

birde Ledlerin bir sonraki adıma kadar yanması gerekli eger ledleri yakıp sonduruyorsan calısmaz

birde portc ye isis te logicprobe tak ve portc cıkıs veriyormu bak
tam hatırlamıyorum ama mplab te bank degistirip Trisb = 0 yaptıgımda calısmıyordu




onların yerine clrf portb kullan.. o sekil calısıyordu yanlıs hatırlamıyorsam..

hocam sizin dediğiniz gibi de yaptım hatta şimdi kendi elimle manuel olarak deniyorum şunu farkettim motor kendini kitliyor bunun nedenini bilmiyorum internette de araştırdım neden kitlenir diye bulamadım o sebepden dolayı dönmüyor bence sizin bu konuda bir bilginiz var mı ?
 
Merhaba
Yazılmış kodlardan hata ayıklamak bana daha zor geldiği için kendim kütüphanemden biraz çalışma yaptım.Tüm çalışmaları veriyorum.Fırsat bulursam gerisine devam edeceğim.Şimdilik "BASLA" ile diğer buton " SAGA" tamamdır döndürüyor.Benim size bir önerim de yarım adım döndürdüğünüz için etap etap giderseniz daha sağlıklı öğrenmiş olursunuz.Not:step motoru 7.5 dereceye ayarladım.Her yarım adımdaki açılara dikkat ediniz lütfen.
 
Programınızda step motorun dönüşünü engelleyen hatayı bulamasam da çok hata var.. :) Öncelikle decimal 4000 değerini 8 bitlik sayaca atayamazsınız.. MOVF DISPLAY, ADET komutu sanırım 18F teki MOVFF komutundan alışkanlık sanırım.. :) Belki bir ihtimal derleme hatası nedeniyle hex e çeviremeyip eski yazılımınızı deniyor olabilirsiniz..

Step motorun kilitlenmesi normal.. Ayaklarında eğer sabit bir giriş varsa kilitlenir..

Hata da yok gibi.. Pek sanmasam da PCLATH un RETLW komutlarını kapsadığına emin olun,, yani PCLATH=0 olmalı sanırım.. Vizem olmasa yardımcı olmaya çalışırdım.. Kolay gelsin..
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,901
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst