IR Modül ve Günışığı Problemi

Başlatan stransistors, 26 Ağustos 2021, 23:18:32

stransistors

Herkese merhaba.

Uzun yıllardır hobi olarak basit programlama ve devre tasarımına ilgiliyim. Bu siteden çok faydalandım, üye olmak ise bugüne nasipmiş. Paylaşılan her bilgi için, ne kadar teşekkür etsem az kalır...

Uzun yıllardır forumlara yazma işini de bırakmıştım. Yeniden başlamak heyecanlı geldi.

Hoşgeldim.

stransistors

Sizlere danışmak istediğim bir konu var, üzerine tartışılması eğitici olur diye düşünüyorum.

Birkaç ay önce bir ürün tasarladım, PIC tabanlı. Arduino için kullanılan bir IR alıcı verici modülü, proximity sensörü olarak kullanmak istedim. Evde yaptığım denemelerde her şey yolunda iken, ürünü arabaya aldığımda garip tepkiler vermeye başladı. IR sensörün günışığı ile interfere olduğunu fark ettim ve devreyi bozmadan, sadece yazılım ile işi halletmenin yollarını düşünmeye başladım.

Aklıma şöyle bir fikir geldi. IR vericiden bir kod parçacığı yollayayım, o esnada alıcıyı okuyayım. IR modülün önünde cisim olduğunda kod direkt yansıdığı için alıcıdan da aynı şekilde okunacaktı. Örneğin 01011101010100 gibi bir data yolladığımda, okuyucu sensörden de bunu alacaktım. Ama cisim olmadığında, okuyucudan 0000000000000 değerini elde edecektim. Günışığı interfere olduğunda ise okuyacağım kod bozulacağı için herhangi bir aksiyon gerçekleşmeyecekti.

Teori iyiydi, ama pratikte işe yaramadı.
Sizce bu teorinin hatalı bir yönü var mı?
Bu günışığı interferasyonu sorununun yazılımsal çözümü için bilinen yollar nelerdir?

MB_77

#2
bu mesaj tarafımdan silinmiştir.

ete

Infrared sistemlerin baş belası gün ışığıdır. Normal şartlarda IR sensör üzerindeki gün ışığı etkisi yazılım yada donanımla kaldırılamaz. Ancak ve ancak azaltılabilir. Azaltmanın yolu donanımsal olarak gün ışığı filtresi kullanmaktır. Bu alıcı üzerine tatbik edilen bir boya veya renkli bir katman olabilir. Amaç mümkün olduğunca infrared ışığı geçirip ultraviyole ışığın geçmemesini sağlamaktır. Normal IR alıcılarda söz konusu filtre vardır. Infrared göz yerine ışığa duyarlı bir transistör kullanıyorsanız bunuda filtreli olmasına dikkat etmeniz gerekir. Piyasada şeffaf led şeklinde foto transistörler olduğu gibi koyu renkli yapıda da foto transistörler mevcuttur. Koyu renkli olanlarda filtre bulunmaktadır.

Diğer alınacak bir tedbirde haberleşmede modulasyon kullanmaktır. Yollanacak sinyali 38 Khz lik taşıyıcı sinyal üzerine bindirerek yollamak ve alıcı tarafında modulasyonu süzerek yapılacak algılamada nispeten gün ışığı etkisi büyük oranda engellenmiş olacaktır.

Ete

Hattuşa

Alıntı yapılan: ete - 27 Ağustos 2021, 12:57:25Infrared sistemlerin baş belası gün ışığıdır. Normal şartlarda IR sensör üzerindeki gün ışığı etkisi yazılım yada donanımla kaldırılamaz. Ancak ve ancak azaltılabilir. Azaltmanın yolu donanımsal olarak gün ışığı filtresi kullanmaktır. Bu alıcı üzerine tatbik edilen bir boya veya renkli bir katman olabilir. Amaç mümkün olduğunca infrared ışığı geçirip ultraviyole ışığın geçmemesini sağlamaktır. Normal IR alıcılarda söz konusu filtre vardır. Infrared göz yerine ışığa duyarlı bir transistör kullanıyorsanız bunuda filtreli olmasına dikkat etmeniz gerekir. Piyasada şeffaf led şeklinde foto transistörler olduğu gibi koyu renkli yapıda da foto transistörler mevcuttur. Koyu renkli olanlarda filtre bulunmaktadır.

Diğer alınacak bir tedbirde haberleşmede modulasyon kullanmaktır. Yollanacak sinyali 38 Khz lik taşıyıcı sinyal üzerine bindirerek yollamak ve alıcı tarafında modulasyonu süzerek yapılacak algılamada nispeten gün ışığı etkisi büyük oranda engellenmiş olacaktır.

Ete

ETE hocam konu ile ilgili şema örneği varmıdır?

ete

İşin mantığını anlasan şema sormazdın diye düşünüyorum. Ayrıca ortalıkta bir sürü şema var zaten.
İşin mantığı şu elinde 38 Khz lik ve %50 duty (yaklaşık)değerine sahip bir PWM sinyalin var. Bu sinyali işlemcinin bir bacağından çıkartıyorsun diyelim.
ELinde de IR_LED üzerinden yollanacak %10110101 bilgisi olduğunu varsayalım. Ayrıca veri yollama şekli olarak MSB_İLK sistemini yani yüksek değerlikli bitden başlayarak düşük değerlikliye doğru yollayacağımızı varsayalım.
Yazılım ile PWM çıkışından 10 ms süre ile 38 Khz çıkarıyorsun. Bu %1 0110101 bitine denk gelecektir. Daha sonra PWM sinyalini kesip çıkışı LOW da tutuyorsun bunuda 10 ms süre ile yapınca buda %1 0 110101 bitine karşılık gelecektir. Daha sonra yeniden 10 ms süre ile 38Khz çıkartıyorsun , daha sonra yeniden 10ms süre ile 38Khz daha çıkartıyorsun ve bu sistem ile yollanacak bit HIGH ise 38Khz çıkartıyor, yollanacak bit LOW ise çıkışı LOW da tutuyorsun.
Mantık bu. Sinyal şekline baktığında HIGH bitlerine karşılık gelen sinyal bit süresi kadar 38Khz lik PWM sinyalinden oluşuyor. Bit HIGH olmasına rağmen 38 Khz lik PWM den dolayı orada bir kare dalga görüyorsun. İşte bu işe modulasyon deniyor. Veri bitlerini 38Khz lik sinyale bindirerek yollamış oluyorsun.
Bu işi yapmanın diğer bir yolu da 2 girişli bir AND kapısı kullanmaktır. Kapının bir ucundan 38Khz girersin diğer ucu HIGH süresi kadar HIGH da tutarsan AND kapı çıkışında bit süresi kadar 38 Khz lik bir sinyal görürsün Veri LOW olduğunda diğer AND girişini LOW yapıncada çıkış LOW da gözükür
İşin prensibi budur. Bu işi yapmanın muhtelif yolları var. Bu yollara PROTOKOL deniliyor ve üretici firmalar kendi protokollerini üretmişler. Protokol genelde her bit verinin nasıl oluştuğunu ve bit süresinin ne uzunlukta olduğunu belirler. Genelde protokollerde her bir bit 2 bit şeklinde yollanır. Örneğin xxxxx protokolünde HIGH biti UZUN_HIGH+KISA_LOW dan oluşur. LOW biti ise KISA_HAGH+UZUN_LOW dan oluşur. Uzun kısa tabirleri yerine süre vermek gerekirdi ancak bu süreleri SONY-NEC-RC5(PHILLIPS) gibi firma protokollerine bakarak öğrenebilirsiniz.
Sonuçta sabit bir şema vermek yerine bu şekilde işin prensibini açıklamayı daha uygun gördüm umarım anlaşılmıştır.

aşağıdaki linkte yer alan resimlere görsel olarak baktığınız zaman olayı biraz daha iyi anlayabileceksiniz.
https://www.google.com/search?q=38Khz+modulation&client=firefox-b-d&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiMhLO09NHyAhXHgP0HHQ0LCiEQ_AUoAXoECAEQAw&biw=1280&bih=539
Yada "38Khz Modulation" yazıp arama motorunda arayın aynı şeyleri görsel (yada image) modunda görebilirsiniz.

IR alıcı gözlerde yer alan sistem modulasyonu kaldırarak 38Khz pwm şeklindeki HIGH bitlerindeki PWM kısmını kaldırıp onu direk HIGH sinyaline çevirir. Böylece göz çıkışından gelen sinyali direk gerçek veri bitleri olarak alabilirsiniz.
Modulasyon kullanılması nedeni ile gün ışığının etkisi daha az görülür.

Ete

Powered by EzPortal