PIC Assembly - PIC C PIC16F84A ile DC Motor İleri-Geri Kontrolü By Burak Ablay Posted on 24 Ocak 2015 3 min read 20 0 17,032 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr DC motorlar uçlarına uygulanan DC gerilim ile çalışır. Genellikle besleme gerilimi motor gövdesinde yazar. Uygulanan gerilimin değeri değiştirilerek motorun hızı ve kutupları değiştirilerek motorun yönü ayarlanır.Şekilde motorun yön kontrolü gösterilmiştir. DC motorların yönü anahtarlama ile değiştirilir.Motorun yön kontrolünün bağlantı şeması gösterilmiştir. İlk şekilde motor boştadır. Devrede tüm anahtarlar açık olduğundan motor besleme gerilimi almaz. İkinci şekilde S1 ve S4 anahtarları kapalı konumdadır. Bu durumda motor saat yönünde döner. Üçüncü şekilde S2 ve S3 anahtarları kapalı olduğundan motor saatin tersi yönünde döner. Dördüncüde S2 ve S4 anahtarları kapalı konumdadır. Bu durumda motor her iki yönden şase potansiyeli aldığından motor durur. Bu durum çalışan motoru bulunduğu konumda tutmak için kullanılır. Devrenin Malzemeleri PİC 16F84A 4 Mhz mikrodenetleyici X1= 4Mhz kristal C1 = C2 = 22pf R1=R2=R3=R4= 10K, R5=R6=R7=1K DC motor, buton Q1=Q2= BD 135 Q3=Q4= BD140 DEVRENİN ASSEMBLY PROGRAMI [php] LIST P=16F84A INCLUDE "P16F84A.INC" CALL PORT_KUR ;PORT_KUR alt programına git TUS_ARA BTFSS PORTB,0 ;DUR butonuna basılı mı? CALL DUR ;evet DUR alt programına git BTFSS PORTB,1 ;GERI butonuna basılı mı? CALL GERI ;evet GERI alt programına git BTFSS PORTB,2 ;ILERI butonuna basılı mı? CALL ILERI ;evet ILERI alt programına git GOTO TUS_ARA ;Hayır tuş ara PORT_KUR ;=================================================== BSF STATUS,5 ;Bank 1’e geç CLRF TRISA ;PortA çıkış MOVLW H’FF’ MOVWF TRISB ;PortB giriş BCF STATUS,5 ;Bank 0’a geç RETURN DUR ;========================================================== BSF PORTA,0 ;PortA.0 = “1” BSF PORTA,1 ;PortA.1= “1” RETURN GERI ;=========================================================== BCF PORTA,0 ;PortA.0= “0” BSF PORTA,1 ;PortA.1= “1” RETURN ILERI ;=========================================================== BSF PORTA,0 ;PortA.0=”1” BCF PORTA,1 ;PortA.1=”0” RETURN END [/php]