LDR ile pic kontrolü

Başlatan kılıckaya, 02 Ağustos 2012, 23:41:13

kılıckaya

Ete hocam,sık sık başını ağrıtıyorum,kusura bakma ama bir konu hakkında daha yardımını talep edeceğim. LDR ile PIC'i kontrol etmek istiyorum.Biraz daha açmak gerekirse PIC'e LDR bağlanacak.Hava karardığında PIC'in herhangibir pini lojik 1 olacak ve röleyi sürecek.Bununla ilgili devre şeması ve PBP yazılımı için yardımcı olabilir misin? LDR direkt olarak pic'in herhangibir pinine mi bağlanacak yoksa arada elektronik bir kısım olacak mı?Teşekkürler.

pwm.c

devre yapmana gerek yok. ayarlı bir pot ile +5v beslemeyle polarize etmen yeterli.
hangi pine bağlayacağın, kullanım alanına göre değişir. ışık şiddeti ölçeceksen ADC pinlerine, yok sadece ışık dedektörü olarak kullanacaksan herhangibi lojik pin olur.
pot değeri ise LDR direncine göre seçilir. burada basit bir gerilim bölücü oluşturuyorsun ve değerleri ohm konununa göre hesaplanır.
ek bir hatırlatma daha yapayım ki, LDR ler liner değildir. ışık şiddetiyle doğru orantı göstermez. ölçüm yapacağın durumlarda bu orantıyı düzenlemen gerekir. bunun için çeşitli devre ve yöntemler mevcut.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

kılıckaya

#2
İyi günler,ben şunu istiyorum.Hava karardığında devre çalışacak,hava aydınlıkken çalışmayacak.Size anladığım kadarı ile devrenin çizmiş olduğum şemasını ekliyorum.Bakar mısınız doğru düşünmüşmüyüm?Anladığım kadarı ile LDR PIC'in herhangibir pinine bağlanacak ve ışık durumuna göre buton olarak çalışacak.Yani hava karanlık iken iletime geçecek,bu durumda SW1 olarak düşünürsek sw1=1 olacak.Hava aydınlık iken ise LDR nin direnci artacağından iletimde olmayacak ve SW1=olacak.Anladığım kadarı ile tasarladığım devre çizimin ekliyorum.Bakar mısınız devrede mantık hatası var mı?
  Bu durumda konfigürasyon satırları yazıldıktan sonra PBP yazılımı şu şekilde mi olacak?
@ DEVICE PIC16F628A
@ DEVICE PIC16F628A , WDT_OFF
@ DEVICE PIC16F628A , pwrt_on
@ DEVICE PIC16F628A ,protect_off
@ DEVICE PIC16F628A , cpd_off
@ DEVICE PIC16F628A , MCLR_off
@ DEVICE PIC16F628A , INTRC_OSC_NOCLKOUT
TRISB=$FF
TRISA=0
PORTA=0
CMCON=7
OPTION_REG=0 'PORTB Pulluplar etkin.
SYMBOL BUTON0=PORTB.0
dongu:
IF BUTON0=0 THEN PORTA=%00000001
END

ete

LDR ışık şiddeti arttıkça direnci azalan bir elemandır.
Bu özelliği kullanarak uygun bir bağlantı ile bir port pinini ,ışık varken LOW, karanlıkta ise HIGH olacak şekilde ayarlayabilirsin.
Bunun için +5V ta bir 10K direnç bağla. Direncin diğer ucuna LDR yi bağla. LDR nin diğer ucunu GND ye bağla.
Dirnç ile LDR nin birleşme noktasını Pic'pinine gir. İşte sana düzenek. Işığın hangi seviyesinde sistem konum değiştirsin diyorsan 10K lık direnç yerine ayarlı bir direnç bağlaman gerekir. Böylece istediğin ışık seviyesinde bu direnci ayarlayarak konum değiştirmeyi ayarlayabilirsin. LDR ninbağlı olduğu port pinine;
SYMBOL LDR=PORTB.0 şeklinde bir isim verebilirsin. Ben PORTB.0'ı tercih ettim sen istediğin bir pini kullanabilirsin. Kullandığın pin Giriş olarak ayarlanmalıdır.

Sonra programda,
IF LDR=1  THEN  'Yani karanlık ise)
   ISIK=1   'ışıkları yak
ELSE
   ISIK=0  'değilse ışıkları kapat
ENDIF
şeklinde komut kullanabilirsin.

Ete

kılıckaya

#4
Teşekkür ederim.Anlattıklarınızı uygulayacağım.

0nur

#5
Merhaba,


Konuyu görünce faydası olabileceğini düşündüğümden LDR için uygun devreyi ekleyeyim dedim.LDR için aşağıdaki devreyi kullanabilirsin.Direk bağladığın zaman pek stabil çalışmayabiliyor.5K'lık direnç değerini değiştirerek ışık referansınıda ayarlayabilirsin.



iyi çalışmalar.

kılıckaya

Yardımlarınız için teşekkür ederim.Fakat ben hâla LDR yi çalıştırabilmiş değilim.PBP yazılımında RB0 portunu Pull Up mı yoksa Pull Down olarak mı bağlanmış olduğunu düşünerek gerekli komutu yazacağım?

0nur

Dosyayı ekledim.İnceleyebilirsin.

kılıckaya

Ete hocam,sonunda devreyi çalıştırdım ancak ışık seviyesi daha karanlık olmadan çalışmaya başlıyor.Havanın daha karanlık olduğu bir zamanda çalışmaya başlamasını sağlamak için ne yapabilirim?
Alıntı yapılan: kılıckaya - 03 Ağustos 2012, 17:18:25
Teşekkür ederim.Anlattıklarınızı uygulayacağım.

F®T

LDR  ile seri direncin yerlerini değiştir.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

nurim

#10
Alıntı yapılan: kılıckaya - 05 Ağustos 2012, 17:02:20
Ete hocam,sonunda devreyi çalıştırdım ancak ışık seviyesi daha karanlık olmadan çalışmaya başlıyor.Havanın daha karanlık olduğu bir zamanda çalışmaya başlamasını sağlamak için ne yapabilirim?

Bak ete hoca ne demiş.....

Alıntı yapılan: ete - 03 Ağustos 2012, 13:22:16
LDR ışık şiddeti arttıkça direnci azalan bir elemandır.
Bu özelliği kullanarak uygun bir bağlantı ile bir port pinini ,ışık varken LOW, karanlıkta ise HIGH olacak şekilde ayarlayabilirsin.
Bunun için +5V ta bir 10K direnç bağla. Direncin diğer ucuna LDR yi bağla. LDR nin diğer ucunu GND ye bağla.
Dirnç ile LDR nin birleşme noktasını Pic'pinine gir. İşte sana düzenek. Işığın hangi seviyesinde sistem konum değiştirsin diyorsan 10K lık direnç yerine ayarlı bir direnç bağlaman gerekir. Böylece istediğin ışık seviyesinde bu direnci ayarlayarak konum değiştirmeyi ayarlayabilirsin. LDR ninbağlı olduğu port pinine;
SYMBOL LDR=PORTB.0 şeklinde bir isim verebilirsin. Ben PORTB.0'ı tercih ettim sen istediğin bir pini kullanabilirsin. Kullandığın pin Giriş olarak ayarlanmalıdır.

LDR ile birlikte resimdeki gibi bir trimpot, hassasiyet ayarı için kullanılabilir. Değerler çok kritik değildir. Değerlerini kullandığın LDR nin direncine göre değiştirebilirsin.




Kolay Gelsin
nurim

outlaw57

Alıntı yapılan: F.T - 05 Ağustos 2012, 18:08:59
LDR  ile seri direncin yerlerini değiştir.

hocam bu bağlantıda ldr ile direncin yeri değiştirilmese bir sorun oluşur mu?

ben yeni bir projemde böyle bağladım ve adc girişinden fotosel değerini okuyorum,  uzun süreli çalışma sonrasında devrem kilitlenme oluyor el ile kutup başlarını söküp takınca (reset) çalışıyor. Acaba problem bundan dolayı oluşuyor olabilir mi?

ete

Böyle bağladım derken nasıl bağladığını anlamış değilim. Böyle ne demek oluyor. Yukarıda bir sürü bağlantı mevcut.
Her neyse asıl sorun pic kilitlenmesi ise bundan olacağını sanmam. Yalnızca bir durum hariç Şayet pic pinine LDR sistemi üzerinden 5V un üzerinde bir voltaj gelebiliyorsa bu sorun oluşturur.

LDR yukarıda da tarif edildiği gibi ışık arttıkça direnci azalan bir eleman.
Dirneç altta ldr üstte olur ise ışık arttığında ADC pinine makismum voltaj ulaşır. Yani 5V ta yakın bir değer ulaşır.
Direnç üstte LDR altta olurs ise ışık arttığında ADC pinine minimum Voltaj yani GND ye yakın bir değer ulaşır.
Göreceğin gibi direncin yeri ADC ye giden voltajın değerini belirliyor.
Birinde karanlıkta minimum Voltaj, aydınlıkta maksimum voltaj
diğerinde karanlıkta maksimum voltaj, aydınlıkta minimum voltaj gider.
Sonuçta program bunu değerlendirerek her iki konumda da doğru çalışma sonucu alınır.
Kilitlenme sorunu için devreni kontrol etmek gerekir. Gerekli tedbirler alınmışmı bakmak gerekir.
Sitede parazit konusu işleniyor ve güncel haldedir. Orada yazılanları dikkatlice okuyun.
Pic besleme bacaklarına mutlaka 100nf kondansatör bağlayın. Başkada söylenecek bir şey yok maalesef.
Ete

F®T

#13
ete hocanın dediği gibi nasıl bağlantı yaptın?şema yokmu?program yokmu?

neyse araçlarda bazı devrelerde kilitlenme veya resetlenme olduğunu biliyorum.ama bu arabanın suçu değil. ;) tamamen tasarım ile alakalı.
kilitlenme araba çalışırkenmi oluyor?

bencede sorunu pic kilitlenmesi ile ilgili konuda değerlendirirsek daha iyi olur.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

sinancnc

Arkadaşın örneğini biraz değiştirdim incelersen belki buda bir şeyler anlatır...
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

Powered by EzPortal