Teknikim

Üye Girişi

PIC Uygulamaları 4-DC Motor Kontrolü
 

Yazan: Tuna BULUT, Tarih: 24-02-2008 17:03

Okunma Sayısı : 1965

Beğenilme : 12

Yayınlama yeri : Dersler, PIC Dersleri

 

PWM Yöntemiyla Motor Hız Kontrolü

Motorların PWM(Pulse Width Modulation) yöntemiyle hızlarını da kontrol edebilirsiniz. PWM metodunda pic'in çıkışına düz bir sinyal değil de şekildeki gibi bir kare dalga gönderiyoruz.

pwm.jpg

Çıkış voltajını belirleyen, 1 süresinin toplam süreye oranı olmaktadır. Örneğin 100 µs 1, 100 µs de 0 gönderirsek çıkış voltajımız 5*(100/(100+100)) den 2.5 V olmaktadır. Bu şekilde motor hızını ayarlayabiliriz. Bu işlemi de asm de şu şekilde yapabiliriz:

;DC-MOTOR HIZ KONTROL KODU

;Tuna BULUT TARAFINDAN YAZILMIŞTIR

            LIST             P=16F628A

            INCLUDE       "P16F628A.INC"

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

            ;-------------DEĞİŞKENLERİ BİR ADRESE ATA----------------

            CBLOCK        H'20'

            SAYAC

            IS

            BEK

            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

            MOVLW        H'FF'

            MOVWF        PORTA

            ;Ana Program

           MOVLW          D'128'

           MOVWF          IS

           MOVLW          D'128'          

           MOVWF          BEK

SOL

BSF                PORTB,0                    ;SAG MOTORU TAM GÜÇTE ÇALIŞTIR

;---------------------------SOL MOTORU %50 HIZDA ÇALIŞTIR(PWM)------------------------------------

BSF               PORTB,2

MOVF            IS,W

CALL             GECIKME

BCF               PORTB,2                     ;SOL MOTORU DURDUR

MOVF            BEK,W

CALL             GECIKME

;---------------------------------------------------------------------------------------------------------------

GOTO            SOL 

GECIKME

MOVWF        SAYAC                           ; W YAZMACINDAKİ DEĞERİ SAYAC DEĞİŞKENİNE ATA

DONGU

DECFSZ         SAYAC,F            ;SAYAC DEĞİŞKENİNDEKİ SAYIYI 1 AZALT VE EĞER 0 SA BİR SONRAKİ KOMUTU ATLA

GOTO            DONGU

RETURN

END                                                  ;PROGRAMI SONLANDIR 

Bu kodda bir motoru tam hızda döndürürken bir motoru da yarı hızında döndürmekteyiz. IS ve BEK değişkenlerine yüklenen sayıları değiştirerek motorun farklı hızlarda dönmesini sağlayabilirsiniz.

 



   
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