Elektronik Projeler ve Tasarımlar
  Step Motor
 


STEP MOTOR KONTROLÜ 

Step motor fırçasız elektrik motorlarıdır. Step motorlar ile tam bir tur dönmeyi yüksek sayıda adımlara bölebilmek mümkündür (200 adım). Step motorları sürmek için, sürekli gerilim uygulamak yerine darbeler(pulse) uygulamak gerekmektedir. 12 volt ile çalışan modelleri yaygındır.

Step motorlar genel olarak 2 çeşide ayrılabilir


a. Bipolar Step Motor: Bipolar step motorların çıkısında 4 kablo bulunur. Motorun bobinleri birbirlerine bağlanmıştır, bu yüzden bu uçlara ters gerilim uygulanmak zorundadır(1a=1 ise 1b=0 olmalıdır). Genel olarak bir H-Bridge devresi ile sürülür.

b. Unipolar Step Motor: Unipolar step motorların çıkısında 5 yada 6 kablo bulunur. Motorun bobinleri ayrı ayrı çıkışa gönderilir ve yapısına göre 1 veya 2 adet ortak giris bulunur(toprak ve besleme uçları). Yandaki şekilde görünen step motorda 1 ve 2 ortak girişler, a ve b ise step motorun hareketinin sağlanması için gerekli kombinasyonun uygulandığı girişlerdir.



Program örneklerine geçmeden önce step motor sürücü devrelerine örnek verelim. Bunlar;



Program Adı: Bir step motoru PORTA'nın 1. bitine bağlı A1 butonuna basınca sağa, A1 ve A2 butonlarına birlikte basınca da sola döndüren program. Step motor uçlarına gönderilecek olan gerilimler PORTB'deki LED'lerde görülür. (Tasarımı yaparken PORTB ile ster motor uçları arasına step motor sürücü devrelerinden bir tanesini koyun.) 

LIST P=16P84
INCLUDE "P16F84.INC"
SAYAC1 EQU h'0C'
SAYAC2 EQU h'0D'
ADIM EQU h’0E'
CLRF PORTB
BSF STATUS, 5
MOVLW h'FF'
MOVWF TRISA
CLRF TRISB
BCF STATUS, 5
MOVLW h'FF'
MOVWF ADIM 

BASLA 
BTFSC PORTA, 1
GOTO BASLA
BTFSC PORTA, 2
GOTO SAG 

SOL
INCF ADIM, F
MOVF ADIM, W
ANDLW b'00000111'
CALL ADIMTBL
ANDLW b'00001111’
MOVWF PORTB
CALL GECIKME
GOTO BASLA 

SAG
DECF ADIM, F
MOVF ADIM, W
ANDLW b'00000111’
CALL ADIMTBL
ANDLW b'00001111’
MOVWF PORTB
CALL GECIKME
GOTO BASLA 

ADIMTBL ;Çevrim tablosu
ADDWF PCL, F
RETLW b’000l’
RETLW b'1001’
RETLW b'l000'
RETLW b'1010'
RETLW b'00l0'
RETLW b'0110'
RETLW b'0100’
RETLW b'0101’ 

GECIKME ;Gecikme alt programı
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
END






Programın Adı : PORTC'nin ilk dört bitine bağlı olan step motorun devir yönünü ve adım sayısını dışardan girilrn değerler doğrultusunda otomatik olarak döndüren program 


DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
A VAR BYTE
SAGA VAR BYTE
SOLA VAR BYTE
ADCON1 = 7 :TRISA = $FF
TRISC = $00 ORTC = $00
SAGA=0 : SOLA=0 

ANA_PROGRAM :
  IF PORTA.2=0 THEN GOTO DONUS_AYARI_YAP 
  LCDOUT $FE,1, "SAGA ", DEC2 SAGA,"ADIM" 
  LCDOUT $FE,$C0,"SOLA ", DEC2 SOLA,"ADIM"
  GOSUB GECIKME
  IF SOLA=0 AND SAGA=0 THEN GOTO ANA_PROGRAM   
  GOSUB SAGADON :GOSUB SOLADON
GOTO ANA_PROGRAM
END 

DONUS_AYARI_YAP :
   IF PORTA.3=0 THEN
   SAGA_DON_AYARI :
   IF PORTA.0=0 THEN SAGA=SAGA+1
   IF PORTA.1=0 THEN SAGA=SAGA-1
   LCDOUT $FE,1, "SAGA ", DEC2 SAGA," ADIM" :GOSUB   
   GECIKME
   IF PORTA.2=0 THEN
       GOTO SOLA_DON_AYARI
   ELSE 
       GOTO SAGA_DON_AYARI
   ENDIF
   ENDIF
   IF PORTA.4=0 THEN
      SOLA_DON_AYARI :
      IF PORTA.0=0 THEN SOLA=SOLA+1
      IF PORTA.1=0 THEN SOLA=SOLA-1
      LCDOUT $FE,1, "SOLA ", DEC2 SOLA, " ADIM" :GOSUB GECIKME
      IF PORTA.2=0 THEN
           GOTO DON_AYARI_BITIR
      ELSE
           GOTO SOLA_DON_AYARI
      ENDIF
      ENDIF 
      DON_AYARI_BITIR:
      IF PORTA.2=0 THEN
        GOTO ANA_PROGRAM
      ELSE
        GOTO DONUS_AYARI_YAP
     ENDIF 
   RETURN 

SAGADON :
  FOR A = 0 TO SAGA
     PORTC = $01 :GOSUB GECIKME ORTC = $02 : GOSUB GECIKME
     PORTC = $04 :GOSUB GECIKME ORTC = $08 : GOSUB GECIKME
   NEXT A
   PORTC = $00
   RETURN 

SOLADON :
   FOR A = 0 TO SOLA
      PORTC = $08 :GOSUB GECIKME ORTC = $04 :GOSUB GECIKME
      PORTC = $02 :GOSUB GECIKME ORTC = $01 :GOSUB GECIKME 
   NEXT A 
   PORTC = $00 
   RETURN 

GECIKME :
    PAUSE 250
    RETURN








 
 
  Bugün 2 ziyaretçi (2 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol