Teknikim

Üye Girişi

PIC Uygulamaları 5-Step Motor Kontrolü
 

Yazan: Tuna BULUT, Tarih: 10-05-2008 12:18

Okunma Sayısı : 782

Beğenilme : 8

Yayınlama yeri : Dersler, PIC Dersleri

Bu uygulamada PIC 16F628A ve ULN2003A kullanarak 5 kablolu unipolar step motor kontrol edeceğiz.

Kullanılacak Malzemeler

  • 1xPIC16F628A
  • 1x4 Mhz kristal
  • 2x22pf seramik kondansatör
  • 1x100nF seramik kondansatör
  • 1x100 ohm direnç
  • 1x4k7 ohm direnç
  • 1xButon
  • 1xULN2003A
  • 1x1N4001 diyot
  • 1x12 volt 5 kablolu unipolar step motor
  • 12 V DC kaynak(Batarya, pil, adaptör veya güç kaynağı)

Kullanılacak Malzemeler(Regülatör İçin)

  • 1x7805
  • 1x330uF elektrolitik kondansatör
  • 1x100nF seramik kondansatör
  • 1x1N4001 diyot

7805.gif      16F628A_Pin_Diagram.jpg       uln2003a.gif

   Şekil 1-LM7805                          Şekil 2-PIC16F628A Pin Diyagramı                     Şekil 3-ULN2003

 
 

 

PIC ve ULN2003 Devresi

step_motor.jpg                              
Step Motor Uçlarının Saptanması

Bizim kullandığımız 5 kablolu motorda 4 veri ucu 1 de ortak uç vardır. Motoru döndürebilmemiz için doğru uçları bulmamız lazım. Bunun için bir multimetre aracılığıyla bütün kablolar arası direnci ölçün. Diğer kablolarla arasında eşit direnç olan kablo ortak uçtur. Genellikle ortadaki kablo ortak uç olmakta, bu yüzden ölçümünüze ortadaki kablodan başlamanızı tavsiye ederim. Ortak ucu 12 V a diğer veri uçlarını da pic’e bağlayacağız.

PIC Assembly Kodu 

;------------------------------Step Motor Kontrol Kodu----------------------------

;---------------------------Tuna Bulut tarafından yazıldı---------------------------
 

            LIST                P=16F628A

            INCLUDE       "P16F628A.INC"

            __CONFIG     _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF 

            CBLOCK       H'20'

            ACI

            SAYAC1

            SAYAC2

            ADIM

            ENDC 

            MOVLW        H'07'

            MOVWF        CMCON                 ;COMPARATOR ÖZELLİĞİ KAPALI VE PORTA I/O İÇİN AKTİF MODDA

            CLRF            PORTB                  ;PORTB Yİ SIFIRLA
                       

            ;GİRİŞ-ÇIKIŞ TANIMLAMALARI
           

            BANKSEL      TRISA                    ;BANK1 E GEÇİŞ YAP        

            MOVLW        H'FF'  

            MOVWF        TRISA                    ;PORTA NIN BÜTÜN PİNLERİNİ GİRİŞ YAP     

            CLRF            TRISB                    ;PORTB NİN BÜTÜN PİNLERİNİ ÇIKIŞ YAP

            BANKSEL      PORTB                   ;TEKRAR BANK0 A GEÇ

            CLRF            PORTB                   ;PORTB Yİ SIFIRLA

           

            ;ANA PROGRAM

           

            MOVLW        H'FF'

            MOVWF        ADIM

            MOVLW        D'48'

            MOVWF        ACI                ;48*7.5=360 DERECE

ADIM_AT

            DECFSZ        ACI,1             ;ACI'YI BİR AZALT 0'A EŞİTSE BİR SONRAKİ KOMUTU ATLA VE MOTORU DURDUR

            GOTO           DEVAM

DONGU

            GOTO           DONGU

DEVAM

            INCF            ADIM,F                   ;ADIM'I 1 ARTIR

            MOVF           ADIM,W                   

            ANDLW         b'00000011'           ;ADIM'DAKİ DEĞERLE ‘00000011’ BINARY DEĞERINE AND İŞLEMİ YAP

            CALL            ADIM_TABLOSU       ;ADIM_TABLOSU'NU ÇAĞIR

            MOVWF        PORTB                    ;TABLODAN ÇAĞIRDIĞIMIZ DEĞERİ PORTB'YE TAŞI

            CALL            GECIKME                ;ADIM ARASI GECİKME

            GOTO           ADIM_AT                ;BİR SONRAKİ ADIMA GEÇ

 

ADIM_TABLOSU

            ADDWF         PCL,1                      ;W DAKİ DEĞERLE PCL Yİ TOPLAR

            RETLW          B'00000001'             ;W'YA BU DEĞERİ YÜKLER VE ÇAĞIRILAN YERE DÖNER

            RETLW          B'00000010'

            RETLW          B'00000100'

            RETLW          B'00001000'

 

;-------------------7.65 MS'LİK GECIKME-----------------------------------       

GECIKME

            MOVLW        H'FF'

            MOVWF        SAYAC1

DONGU1

            MOVLW        D'10'

            MOVWF        SAYAC2

DONGU2

            DECFSZ        SAYAC2,F

            GOTO           DONGU2

            DECFSZ        SAYAC1,F

            GOTO           DONGU1

            RETURN

            END

 


   
Beğenilme
E-mail olarak gönder
İlgili makaleler
Teknikim'e kaydet

Okuyucu yorumları  RSS feed Yorum
 

Ortalama Üye Değerlendirmesi

   (0 Oylama)

 


Yorumunuzu ekleyin
Sadece kayitli kullanicilar bir Makaleyi yorumlayabilir. Lütfen ücretsiz üye olun veya giriş yapın.

Gönderilen yeni yorum yok



mXcomment 1.0.8 © 2007-2008 - visualclinic.fr
License Creative Commons - Some rights reserved