Haberler:

Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.

Ana Menü

ışık izleyen pic devresi

Başlatan çavuş, 22 Şubat 2008, 22:29:51

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

çavuş

ışık izleyen pic devresi yapan var mı?
Linkback: ışık izleyen pic devresi

beyazkuvvet

Alıntı yapılan: çavuş - 22 Şubat 2008, 22:29:51
ışık izleyen pic devresi yapan var mı?

ışık derken nasıl bir ışık ve pice bunu nasıl,ne aralıklarile algılatmanız gerek? yani ışık izleyen robot diye sorduğunuz zaman ben size en az 3-4 özellikli ışık takib eden robot tarif edebilirim siz nasıl bir şey düşünüyordunuz?

çavuş

ben tek step motorla olduğu yerde panellerini ışığa doğru çevirmesini düşünüyordum.devrede iki adet led kullanılıyormuş ışık hangi yönde daha çoksa karşılaştırıcı opamp o girişi yükselterek çıkışa veriyor.motorda pic ten gelen sinyale göre paneli ışığın geliş yönüne çeviriyor...

beyazkuvvet

bunu 4 adet ldr lm324 ve 1 pic ile çok basit bir şekilde yapabilirsiniz.mantık ise 4 adet ledereden gelen ışık değerlerini lm324 ile karşılaştırp pic'in igili pinlerine girerek yapabilirsiniz...

çavuş

verdiğin bilgiler için teşekkürler beyaz kuvvet...

çavuş

#5
Alıntı Yaplütfen konu ile ilgisi olmayan msjlar atmayın.birde kimseden hazır proje beklemeyin araştırın bir girişimde bulunun takıldığınız yerlerde yardım edelim..kolay gelsin..

hocam çok arştırdım ama programı tek bulabildim devresi yoktu oradada opamp ve ldr kullanımından bahs etmiş ama fazla detaylı bilgi yok,okulu bitirmem bu için yapmam şart.
      saygılar....

beyazkuvvet

Alıntı yapılan: çavuş - 23 Şubat 2008, 19:32:09
lütfen konu ile ilgisi olmayan msjlar atmayın.birde kimseden hazır proje beklemeyin araştırın bir girişimde bulunun takıldığınız yerlerde yardım edelim..kolay gelsin..

hocam çok arştırdım ama programı tek bulabildim devresi yoktu oradada opamp ve ldr kullanımından bahs etmiş ama fazla detaylı bilgi yok,okulu bitirmem bu için yapmam şart.
      saygılar....



sen programını buraya koy yardımcı olurum şayet program basic ise...

çavuş

hocam güneş(ışık) takipçisi programı bu...

list p=16F877
   #include     "P16F877.INC"
   org   0x03
   goto   BASLA
DEPO1   EQU   h'20'
DEPO2   EQU   h'21'
STATUS   EQU   h'03'
PORTA   EQU   h'05'
PORTB   EQU   h'06'
PORTC   EQU   h'07'
TRISA   EQU   h'85'
TRISB   EQU   h'86'
TRISC   EQU   h'87'
ADCON1   EQU   h'9F'
ADCON0   EQU   h'1F'
BASLA   CLRF   PORTA
   CLRF   PORTB
   CLRF   PORTC
   CLRF   ADCON0
   BSF   STATUS,5
   MOVLW   h'06'
   MOVWF   ADCON1
   MOVLW   h'FF'
   MOVWF   TRISA
   MOVLW   h'00'
   MOVWF   TRISB
   MOVWF   TRISC
   BCF   STATUS,5
GERI1   BTFSC   PORTA,0
   GOTO   ALT_MOT_S_TERS
GERI2   BTFSC   PORTA,1
   GOTO   UST_MOT_S_YON
GERI3   BTFSC   PORTA,2
   GOTO   UST_MOT_S_TERS
GERI4   BTFSC   PORTA,3
   GOTO   ALT_MOT_S_YON
   GOTO   GERI1
ALT_MOT_S_TERS   MOVLW   h'09'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'05'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'06'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'0A'
   MOVWF   PORTB
   CALL   DELAY
   GOTO   GERI1
UST_MOT_S_YON   MOVLW   h'0A'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'06'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'05'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'09'
   MOVWF   PORTC
   CALL   DELAY
   GOTO   GERI2
UST_MOT_S_TERS   MOVLW   h'09'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'05'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'06'
   MOVWF   PORTC
   CALL   DELAY
   MOVLW   h'0A'
   MOVWF   PORTC
   CALL   DELAY
   GOTO   GERI3
ALT_MOT_S_YON   MOVLW   h'0A'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'06'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'05'
   MOVWF   PORTB
   CALL   DELAY
   MOVLW   h'09'
   MOVWF   PORTB
   CALL   DELAY
   GOTO   GERI4
   DELAY   MOVLW   h'0C'
   MOVWF   DEPO1
DIS_DONGU   MOVLW   h'FF'
   MOVWF   DEPO2
IC_DONGU   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   DECFSZ   DEPO2,1
   GOTO   IC_DONGU
   DECFSZ   DEPO1,1
   GOTO   DIS_DONGU
   RETURN
   END



beyazkuvvet

hocam bu kod asm de yazılmış olduğu için size yardımcı olamayacağım ama uykusuz hocamın işi yok ise ona bir ö.m a belki o sana yardımcı olur çünki benim bildiğim o asm de kod yazıyordu...

Uykusuz

Merhaba,

Pic'te dört adet giriş var. Sanırım karşılaştırıcıdan gelen bilgiler bu girişlere veriliyor. Girişler Porta 0, 1, 2, 3,.

Eğer porta,0 bir ise portb pinlerine sırasıyla 00001001, 00000110, 00000101, 00001010 bilgileri gönderiliyor.
Eğer porta,1 bir ise portc pinlerine sırasıyla 00001010, 00000110, 00000101, 00001001 bilgileri gönderiliyor.
Eğer porta,2 bir ise portc pinlerine sırasıyla 00001001, 00000110, 00000101, 00001010 bilgileri gönderiliyor.
Eğer porta,3 bir ise portb pinlerine sırasıyla 00001010, 00000110, 00000101, 00001001 bilgileri gönderiliyor.

Burada portb ve portc portlarının alt dört pinlerini kullanarak sanırım step motor kontrol etmeye çalışılmış. Ben daha önceden step motor kontrol etmediğimden sadece gönderilen bilgileri çıkardım. Daha önceden step motor kontrol etmiş arkadaşlar eğer kodlar doğru ise kodları hemen tarif edeceklerdir.

Devreyi ben size yazılıma göre şöyle açıklayayım:

Port a pinlerinizden 0, 1, 2, 4. pinleriniz giriş oluyor. Portb dinin alt dört biti bir motoru, portc pinlerinizin alt dört biti de ikinci motoru kontrol ediyor. porta,0 ve porta,3 pinleri birinci motorun sağa veya sola dönmesini, porta,1 ve porta,2 pinleri de ikinci motorun sağa veya sola dönmesini sağlıyor.




çavuş


çavuş

hocam peki ben devrede sadece 2 tane ldr yi karşılaştıracağım o zaman ne yapmam gerekir...

çavuş

hocam bu step motor döndürmede pic16f84a nın programını bulabildim onu mplab da pic16f877 ye çevirdim ama bu sefer devre çalışmıyor.neden olabilir?

Uykusuz

programı ekler misiniz inceleyelim

çavuş

sorun yaşadığım program bu....

LIST P=16F84      
              #include "P16F84.INC"
              __CONFIG _WDT_OFF &_XT_OSC &_PWRTE_ON &_CP_OFF
LSB    EQU    H'20'
MSB    EQU    H'21'
;**************
   ORG    0X00
   GOTO    BASLA
;*******************
BEKLE
   MOVLW .45
   MOVWF LSB
DON1
   MOVLW .95
   MOVWF MSB
DON2   
   DECFSZ  MSB,F
   GOTO DON2
   DECFSZ  LSB,F
   GOTO DON1
   RETURN
;****************

BASLA
   CLRF    MSB
   CLRF    LSB
   BSF    STATUS,5
   MOVLW     B'11111111'
   MOVWF    TRISA   
   CLRF    TRISB
   BCF    STATUS,5   
   CLRF    PORTB
;********************************************   
TEST
   BTFSS PORTA,0
   GOTO    SAG
   BTFSS PORTA,1
   GOTO   SOL
   GOTO   TEST

SOL   
   BTFSS PORTA,2
   GOTO    TEST
   
   MOVLW B'11000110'
   MOVWF PORTB
   CALL BEKLE

   MOVLW B'01000011'
   MOVWF PORTB
   CALL BEKLE

   MOVLW B'01001001'
   MOVWF PORTB
   CALL BEKLE

   MOVLW B'11001100'
   MOVWF PORTB
   CALL BEKLE
   CLRF    PORTB
   BTFSS PORTA,0
   GOTO      SAG
   GOTO      SOL
;*******************************
SAG
   BTFSS PORTA,2
   GOTO    TEST
   
   MOVLW B'00110011'
   MOVWF PORTB
   CALL BEKLE
   
   MOVLW B'00100110'
   MOVWF PORTB
   CALL BEKLE

   MOVLW B'00101100'
   MOVWF PORTB
   CALL BEKLE

   MOVLW B'00111001'
   MOVWF PORTB
   CALL BEKLE
   CLRF    PORTB
   BTFSS PORTA,1
   GOTO    SOL
   GOTO    SAG

   END


Uykusuz

mplab'da 877'ye çevirdiğiniz programı ekleyin orada hatayı bulmak bu programı 877 ye çevirmekten daha kolay  ;)

çavuş

#16
ışık izleyen proje
uykusuz hocam kusura bakmayın ama bu projeyi hala yapamadım onun için sizlerden daha büyük yardımlarınızı bekliyorum.sorunum:

pic16f877 nin porta uçlarının ilk iki ucu analog giriş olacak ldr lerden alınan bilgi bu iki uca gönderilip 16f877 nin içerisindeki opamplarla(veya başka opamplarla olabilir) bu iki biligi karşılaştırılacak ve çıkışa göre motorumuzu(step veya dc motor) sola veya sağa dönderecek.
           
biliyorum hocam sizlerde çok meşgulsünüz ama okulumdaki hocamdanda ümidim kalmayınca son çarem sizsiniz en azında elinizden geldiğince yardımcı olursanız sevinirim.

çavuş

herkese teşekkürler projeyi bitirmeye az kaldı.

çavuş

#18
hocam projeyi paylaşıma verdim isis te çalışıyor ama bord un üzerini kurdum çalışmadı acaba ne hata yapmış olabilirim birde ben bordun üzerine kurduğumda UA741 entegresi kullandım LM324 kullanmadım.ama isis te UA741 ile de çalıştı acaba LM324 ü de deneyeyim mi.ama hocom bord un üzerine 4 kez kurup söktüm yinede olmadı.teşekkürler

not:proteus 7.2 SP2 ve üzeri çalıştırır

http://www.savefile.com/files/1487219

beyazkuvvet

lm324 ile 741'in ayak bağlanıtıları farklı bunu biliyorsunuz değilmi acaba 741'in ayaklarını doğru bağladınızmı?

birde isiste bazen çalışan devreler realde çalışmaya biliyor..bunun sizin devrenize uyarlarsak şöyle söyleyebiliriz..741 ile lm324'ün akım kazançları farklı olabilir... ayaklarını ters bağlamış olabilirsiniz...bir diğer ince detay ise  hangi pic'i kllanıyorsanız onun mclr ayağına 10k ile +5v a bağlamayı unutmanız olabilir...


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious