Bu yazımda arabalarda kullanılan bir sitem olan sileceklerin kontrolü hakkında bilgi vereceğim. Yaptığım simülasyon devresinde 2 tane pwm servo motor ve su püskürtme motorunu çalıştıracak röle bulunmaktadır. Devre PIC16F877 mikro denetleyicisi üzerine kurulu motor sürümünde IRL530N mosfet kullanıldı.
Butonlar yordamıyla üç farklı çalışma oluşturdum. F1 butonuna basıldığında silecekler sadece bir kez hareket edip bekliyor. F2 butonuna basılınca silecekler bu işlemi 3 kez yapıp bekliyor. F3 butonuna basılınca silecekler bu işlemi 4 kez yapıp aynı zamanda su püskürtüyor. Simülasyonda su püskürtme motorunun yerine onun sürücüsü olan röleyi kullandım. Çalışma pwm servolara pwm sinyali üretilerek hareket elde ediliyor.
Hazırlayan: Ediz AĞARER E-Posta: [email protected]
Silecek kontrol devresinin isis simülasyon videosu
silecek_877.pbp yazılım içeriği
'*********************** '* Name : Silecek.BAS * '* Author : Ediz AĞARER * '* Notice : Copyright (c) 2010 * '* : All Rights Reserved * '* Date : 03.06.2010 * '* Version : 1.0 * '* Notes : * '* : * '***************************** Define osc 20 ;20 MHz kristal Trisb=0 ;B portu çıkış Trisc=0 ;C portu çıkış Trisd=255 ;D portu giriş '****************************************** @ DEVICE pic16F877 @ DEVICE pic16F877, PWRT_ON @ DEVICE pic16F877, WDT_ON @ DEVICE pic16F877, PROTECT_OFF ;kod koruması yok @ DEVICE pic16F877, XT_OSC ;osilatör kristal '***********_ GİRİŞ ÇIKIŞ İSİMLERİ _********************* F1 VAR PORTD.2 F2 VAR PORTD.1 F3 VAR PORTD.0 M VAR PORTB.0 '**************_ DEĞİŞKENLER _************************ A var word X var byte '*************_ DEĞERLER _************************* clear ;tüm değişkenler sıfırlandı. Portb=0 Portc=0 '******_ BAŞLANGIÇ _******************************* SIFIR_AYARI: portc=3 : PAUSEUS 1000 portc=0 : PAUSE 20 goto yallah '************_ yallah _************************* yallah: ;Hangi butona basıldığına bakıyor... IF F1=0 THEN GOSUB FONK1 IF F2=0 THEN GOSUB FONK2 IF F3=0 THEN GOSUB FONK3 goto yallah '******************_ FONKSYON-1 _********************* FONK1: ;Bu fonksiyonda sadece silecekler bir kere hareket edip bekler. FOR A=1000 TO 1700 STEP 20 ;Sileceklerin yukarı doğru hareketi. PORTC=3 : PAUSEUS A PORTC=0 : PAUSE 20 NEXT A FOR A=1700 TO 1000 STEP -20 PORTC=3 : PAUSEUS A ;Sileceklerin aşağı doğru hareketi. PORTC=0 : PAUSE 20 NEXT A RETURN '************_ FONKSİYON-2 _************************* FONK2: ; Bu fonksiyonda ise silecekler 3 kere silme işlemi yaptıktan sonra bekler. FOR X=0 TO 2 FOR A=1000 TO 1700 STEP 20 PORTC=3 : PAUSEUS A PORTC=0 : PAUSE 20 NEXT A FOR A=1700 TO 1000 STEP -20 PORTC=3 : PAUSEUS A PORTC=0 : PAUSE 20 NEXT A PAUSE 300 NEXT X RETURN '**************_FONKSİYON-3 _********************* FONK3: ;Bu fonksiyonda ise silecekler hem 4 kere hareket edecek ve su püskürtecektir. ;M => su püskürtme motorunu çalıştıracak röleyi kontrol ediyor. M=1 FOR X=0 TO 3 FOR A=1000 TO 1700 STEP 20 PORTC=3 : PAUSEUS A PORTC=0 : PAUSE 20 NEXT A FOR A=1700 TO 1000 STEP -20 PORTC=3 : PAUSEUS A PORTC=0 : PAUSE 20 NEXT A PAUSE 500 NEXT X M=0 RETURN '----------------------------------------------------
Şifre-Pass: 320volt.com
Yayım tarihi: 2010/06/04 Etiketler: microchip pic projeleri, PIC16F877 örnekleri, pwm devreleri, silecek devresi, silecek kontrol
Güzel bir paylaşım emeğinize sağlık
Teşekkür ederim…
merhaba arkadaşım ben bu devreyi kurmak istiyorum fakat pıc kodu assambly dilinde yazılmış bana ccs diliyle yazılı olanı lazım bu konuda yardım edebilrmisin ?
şimdiden teşekkürler
Eline Sağlık.
Elinize sağlık. Bu arada Alphan bey kodu asm ile yazıldığını sanmış ama pic basic ile yazılmış bir kod bu.
Alphan bey Pic C Complier programından bahsediyor Aykut bey ve bu başka program dili.