Engel Algılayan Devre

Başlatan vitruvius, 16 Aralık 2011, 19:45:02

vitruvius

Merhabalar, aşağıdaki linkte engel algılama devresi için low range ve high range olarak iki devre var. Kısa mesafe olanını yaptım 10cm'e kadar çalışıyor sıkıntı yok. Ama bana 15-20cm arası bir algılama mesafesi lazım. Bunun için bir alttaki high range devresini kurmayı planlıyorum. Anlamadığım kısım verici devresindeki opampa giren "control" girişine nasıl bir sinyal uygulamam gerekiyor?

Bahsettiğim link: http://ikalogic.com/ir_prox_sensors.php

Teşekkürler.

Seckin ALAN

"Now, hands on the circuit that will put all this theory into practice. The CTRL input in the figure, stands for Control, and this pin should be connected to the source of the low duty cycle pulses discussed above, whether it is a microcontroller or an LM555 timer that generates the pulses."
oraya osilasyon gelecek diyor. bir mcudan yada 555 ile yanlış anlamadıysam.
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

vitruvius

Doğrudur, ben 16F877 ile vermeyi düşünüyorum ama ayarlarını neye göre yapmalıyım?

kck87

bunun için sharp'ın kızılötesi sensörleri var, ister analog istersen dijital çıkışlı olmak üzere iki tipi var.
sumo robotumda dijital çıkışlı olanı kullanmıştım 15 cm den algılama yapabiliyor.
 nickim'in terör örgütünün kck yapılanması ile alakası yoktur. bazı arkadaşlarımdan butarzda duyumlar aldım.

Seckin ALAN

frekansı bulamadım ama %90 off %10 on time sanırım :)
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

justice_for_all

#5
Alıntı yapılan: vitruvius - 16 Aralık 2011, 20:12:29
Doğrudur, ben 16F877 ile vermeyi düşünüyorum ama ayarlarını neye göre yapmalıyım?
#include <REGX51.h>
#include <math.h>

unsigned char ir; // to store the final result
bit ir1,ir2; // the 2 recording point required for our algorithm

delay(y){ // simple delay function unsigned int i;
for(i=0;i<y;i++){;}
}
void main(){
//P2.0 IR control pin going to the sensor
//P2.1 IR output pin coming from the sensor

while(1){
  P2_0 = 1;              //send IR
  delay(20);
  ir1 = P2_1;
  P2_0 = 0;              //stop IR
  delay(98);
  ir2 = P2_1; 

  if ((ir1 == 1)&(ir2 == 0)){
    ir = 1;              // Obstacle detected
    P2_3 = 1;            // Pin 3 of PORT 2 will go HIGH turning ON a LED.
  if ((ir1 == 1)&(ir2 == 1)){
    ir = 2;              // Sensor is saturated by ambient light
  }else{
    ir = 0;              // The way is clear in front of the sensor.
  }
}
}


zaten bir ornek vermis baktinizmi hic

edit: 20 Mhzlik bir kristal kullanarak yukaridaki kodun aynisini kullanabilirsiniz..
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

vitruvius

Alıntı yapılan: kck87 - 16 Aralık 2011, 20:17:10
bunun için sharp'ın kızılötesi sensörleri var, ister analog istersen dijital çıkışlı olmak üzere iki tipi var.
sumo robotumda dijital çıkışlı olanı kullanmıştım 15 cm den algılama yapabiliyor.

Sensörün ismi nedir acaba? Aslında elimde TSOP1738 alıcı da var ama onu kullanmayı beceremedim bir türlü. Engel algılıyor ama çıkış voltajı çok düşük. 2V dolaylarında, led çok sönük yanıyor ve 1-2 cm'den algılıyor. Datasheet'indeki devreyi kullanıyorum. 38khz'i ayarlamak için de şöyle bir kod yazdım, sorun kodda olabilir belki. Frenks ölçecek imkanım yok ama simulasyonda 38461 olarak gözüküyor. Tam 38khz'e oturtturamadım. Pwmduty'sini %50 olarak ayarlamakla doğru mu yaptım acaba?

#include <16f877A.h>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay (clock=4000000)

#use fast_io(c)

void main ( )
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

set_tris_c(0x00);

setup_ccp1(CCP_PWM);

setup_timer_2(T2_DIV_BY_1,25,1);

while(1)
{
set_pwm1_duty(12);

}
}



Alıntı yapılan: Seçkin ALAN - 16 Aralık 2011, 20:18:58
frekansı bulamadım ama %90 off %10 on time sanırım :)

O şekilde bir deneyeyim 3khz olarak çalışmış anladığım kadarıyla.


justice_for_all; bahsettiğiniz kod verilen doğruluk tablosunu yorumlamak için yapılmamış mı? Benim anlamak istediğim control girişine verilecek sinyalin ayarları.

justice_for_all

hocam 40 Khz demis zaten duty ayarlari ise %16 high,%84 low olmasi buda goruluyor ki 40 Khzde 4us high oluyo 21 us ise low oluyor.ayarlari buna gore yapabilirsiniz.

programda ayni entegreye hem alici hemde verici baglanarak ornek bir program yapilmis.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Pir-O

Ben de bir zamanlar baya bi uğraşmıştım ama uygun alıcı bulamamıştım ve uğraştığına değmiyor Sharp'ın sensorleri var çok rahat bir şekilde kullanabilirsin Sharp GP2D120XJ00F modeli var 4 ila 30 cm arasını algılar 0 ile 4 cm arasını görmez kördür veya Sharp GP2Y0A21YK0F bu da 10 ile 80 cm arasını görür piyasada rahat bulursun.