Cap Sense uygulaması.

Başlatan Logan, 22 Mayıs 2014, 09:52:29

Logan

Günaydın arkadaşlar.

Endüstriyel bir projenin tuş kısmında kapasitif algılayıcı kullanmayı düşünüyorum. Bu konu hakkında daha önce hiç araştırma ve uygulama yapmadığım için direk Digikey sitesine girerek gözüme kestirdiğim ve işimi göreceğini düşündüğüm birkaç malzemeyi sipariş ettim. İlk malzeme ISSI firmasının IS31SE5100 kodlu ürünüdür. Üzerinde 8 adet buton girişi ve 8 adet led çıkışı var. SPI ile haberleşiyor. Dahili registerleri ile buton hassasiyetini, kesme gecikmelerini falan ayarlıyorsunuz. Teknik dokümanında yer alan devre şemasını kullanarak bir deneme kartı çizdim. Kart üzerinde yer alan butonları soketli olarak hazırladım. Sebebi ise Texas'ın bir uygulama notunda butonun tam orta kısmına nasıl SMD led yerleştirileceğini anlatıyordu. Farklı buton kartları deneyebilmek için soketli yaptım.



PCB'yi kazıma makinesinde kazıyıp malzemeleri yerleştirdim. Lafı fazla uzatmayayım sonuç itibariyle devre çalıştı. Ancak mesajın başında da dediğim gibi bu konu üzerine daha önce hiç çalışmadım ve aklıma takılan bir kaç soru var.

1. Uygulama notlarına bakarak butonların nasıl tasarlanması gerektiğini aşağı yukarı anladım. Bu konu ile ilgili olarak söyleyebileceğiniz önemli bir nokta var mı?

2. Bu butonlar tam olarak nasıl çalışıyor? Nette buton üzerine konan malzemelerin iletkenlik değerleri verilmiş ve bu değerlere göre oluşacak kapasitif miktarlar formüllerle açıklanmış. Dün kartı denerken bir şey keşfettim. Butonun üzerine yerleştirdiğim yalıtkan malzemeler ( kağıt, epoksi, derlin ) butona temas etmediği müddetçe çalışmıyorlar. Buradan anladığım, buton üzerine yerleştireceğimiz malzemenin butonun ortasında yer alan aktif bölgeye tam olarak temas etmesi gerekiyor. Arada hava boşluğu kalmamalı!!!

3. Eğer 2. maddede bahsettiğim varsayım doğru ise tasarımcılar bu tam olarak temas etme durumunu nasıl ayarlıyorlar? PCB kısmında bu temas garantisini nasıl sağlıyorlar?

Şimdilik soracaklarım bu kadar.

Son olarak belki aramızda daha önce bu tarz bir proje gerçekleştiren birileri olmuştur. Ben yalıtkan malzeme olarak cam kullanmayı düşünüyorum. Set üstü ankastre ocak yapacak değilim ancak yapmak istediğim şey buna yakın. Tecrübe sahibi arkadaşlar varsa fikirlerini almak isterim.

İyi günler, iyi çalışmalar.
İmza.

Kabil ATICI

Butonun çalışma şekli olarak, bir iletkenin her ne kadar hava veya yalıtkan malzemeler ile orta arasında bir kapasitif etkisi vardır veya bunu garantilemek için buton portlarına küçük bir kondansatör vardır. Normalde alet bunu ölçer, insan olarak bu butonun yalıtkan malzemesine dokunduğumuzda   normal olarak ortamın dielektrik sabitesini değiştirmiş oluyoruz ve ayrıca üzerimizden ortama yayılan kaçak kapasiteler yüzünden butonun kapasite değeri değişmiş olur. Bu da normalde ölçülebilir (neyseki elektroniğin gelişmesi sayesinde) bir büyüklük oluyor. Sonuç karşılaştırılan değerler ile çıkış sağlanıyor..

http://elm-chan.org/works/capsens/report_e.html bu işin aşağı yukarı nasıl yürüdüğünü anlatıyor.

Yukarıdaki bağlantıda yalıtkan ile buton iletkenleri arasındaki hava kalmamasını yalıtkan olarak yapışkanlı bant kullanarak sağlamış.

Not: bu tür bir uygulama gerçekleştirmedim.
ambar7

pisayisi

Kullandığın entegre oldukça ucuz sayılabilir ancak performansını deneyerek görmen lazım. Ben stm8 ile touch sensing uygulaması yapmıştım, mantıken parmağınızı iletken yüzeyin üstündeki pleksi ye deydirdiğinizde oluşan kapasite değişimini değerlendirerek dokunma algılaması yapan bir sistem. Özellikle buhar ve damlacık şeklinde bile olsa ıslak olabilcek yüzeylerde sorunlu dengesiz algılama yapıldığına şahit oldum. Butonun öbür ucundaki cihazlarda Güvenlik önplanda ise ben kapasitif buton olayını pek önermem...
Murat

skara1214

yeni piclerin direkman cap touch sensor(16f1827 de 4 tane mevcut) girişleri mevcut.verdiğiniz limitin üstüne yada altına düşüncede uyarı veriyor.Cap dolduracak akımı kendiniz ayarlayabiliyorsunuz.bunlarla bir deneme yapmıştım sizede önerebilirim entegre ile kontrolü tam olarak elinize alamıyorsunuz.
Herkes ölür ama herkes gerçekten yaşamaz

rree

Deney sonuçlarını paylaşırsanız memnum olurum. Benim 2mm yaklaşınca sensörün almasını istiyorum. İnternette su içinde çalışanı izlemiştim.

Logan

Merhaba arkadaşlar.

@pisayısı ve @skara1214'ün bahsettiği yöntemleri kullanmayı pek düşünmüyorum. Çünkü devre oldukça karışık. Extra bir işlemciyi projeye dahil etmek istemiyorum. Fiyat açısından da epey uygun bir ürün. Nem ve buhar konusundaki önerini ise dikkate alacağım. Önemli bir konu, ilerleyen zamanlarda epey canımızı sıkabilir.

@ambar7, butonların nasıl çalıştığını aşağı yukarı biliyorum. Bir haftadır uygulama notu okuyorum. Paylaştığın linkte gördüğüm kadarıyla ve anlatıklarına dayanarak buton ile yalıtkan malzeme arasında düzgün bir temas olması gerektiğini varsayabilirim. Senin de tahmin ettiğin gibi buton portlarında 5pF kondansatör var. Bu kondansatör değerleri ile oynayarak hassasiyeti arttırabiliyorsun. Ayrıca entegre içerisinde yer alan dahili registerler ile de bu ayar değiştirilebiliyor. Şu an normal hassasiyet ayarları ile 2.5mm kalınlığında plastik bir malzeme üzerinden algılama yapıyor. Programını yazmaya ise henüz başladım. Hassasiyeti arttırınca bu mesafe 4-5 mm'ye çıkar mı yada cam arkasından sorunsuz bir şekilde algılama yapar mı bilemiyorum. Aklıma takılan en önemli konu, yukarıda da bahsettiğim gibi temas ve en önemlisi montaj meselesi.

İmza.

Kabil ATICI

Nasıl yaparsın veya yaptırırsın bilmem, cam üzerine iletken malzeme kaplama olayı var. (örneğin LCD'lerde olduğu gibi-metal buharı cam üzerine yoğunlaştırılarak yapılıyordu.) Tam zamanını hatırlamasamda forumda cam üzerine elektronik devre ile ilgili paylaşımlar oldu.

Eğer cam üzerine iletken kaplama olayını  çözebilirsen, elektrot ile cam arasında hava boşluğu sorunu kalmaz.
ambar7

Logan

@ambar7, demek istediğin butonun aktif kısmını cam üzerine kazımak mı? Eğer bunu kastettiysen haklısın. İletip iletmeme sorunu ortadan kalkar ve son derece sağlıklı olur. Aslında şu ankastre ocakları bir inceleyebilsem epey fikir çıkartabilirim.
İmza.

skara1214

cam üzerine iletken kaplama işiniz varsa yardımcı olabilirim hocam önerim ITO(indium tin oxide) olur zira hem  iletken hem transperant(ama malzemeyi getirtmek falan mesele)
Herkes ölür ama herkes gerçekten yaşamaz

learner

#9
Bir video da Cam üzerine ince bakır folyoyu şeffaf epoxy yapıştırıcı ile yapıştırıyor. Sonra toner transfer ile devreyi asite atıyor. Aşınan bakır altındaki yapıştırıcı artıklarını epoxy çözücü bir sıvıyla siliyor. Böylece cam üzerinde PCB yapmış oluyor.

Hatta video da şuydu: How to make Clear Glass PCBs

mesaj birleştirme:: 22 Mayıs 2014, 17:55:27

Şu videoda da kimyasal kaplama yapıyor. @skara1214 hocamın bahsettiği ITO mu acaba?
http://www.youtube.com/watch?v=FYgIuc-VqHE#ws

hasankara

#10
@Logan bende pic16f1936 denetleyicisinin cap touch kullanabilmek için çok uğraştığımı hatırlıyorum, çünkü adam akıllı bir örnekte yoktu ama nihayetinde çalışmasını datasheet in inciğini boncuğunu çıkartarak anca çözebilmiştim.

Osilatör düşün, yönlendirilen port pininde ki kapasiteye bağlı olarak frekansı değişen bir osilatör temel prensip ise bu frekansı hesaplamak. bilirsin ki 555 lerin frekans ayarı yapılırken yine kondansatör kullanılmakta. cap touch modülünü, denetleyici içine gömülmüş 555 tarzı bir modüle benzettim ben kısacası.

Bu iş için denetleyicinin 2 timer ı meşgul ediliyor, pic16f1936 için timer1 cap touch osilatöründen beslenmeye başlıyor başka bir timer ile belli aralıklarla timer 1 den capture yapılıp resetleme yapılıyor. böylece frekans hesaplanmış oluyor. gerçek denemelerimden bir şeyler söylemem gerekirse timer1 çözünürlüğü 16 bit olduğu için gayet yeterli çözünürlükte örnekler elde edilebiliniyor. yani elini hafiften yaklaştırdığında dahi frekanstaki değişim gözlemlenebiliyor. su altında veya farklı ortam durumlarında kuracağın algoritmalarla aşılabilinecek bir durum gibi görmekteyim. örnek olarak referans amacıyla gizli bir kapasitif buton koyulup, sonrasında diğer butonlardan elde edilen frekans değerlendirilirken bu gizli referans butonundan yararlanılabilinir.

Birde tüm pinlerden elde edilen frekans değerleri boştayken bile birbirinden farklı olabilmekte. Bu, denetleyicinin üzerinde bulunduğu pcb nin yollandırması ile dahi alakalı. hatta örnek olarak cap okuma yaptığın pin 19 olsun, 20. i pinde led bağlayıp yakıp söndürüyorsan bu bile etkiliyor. Uzun lafın kısası kalibrasyon kaçınılmaz bir durum, bu da basit bir şey zaten.

mesaj birleştirme:: 22 Mayıs 2014, 22:12:41

Birde 2008 de yaptığım orta okul stajında, dokunmatik butonlar bulunan ocak sökmüştüm. cihazın cam yüzeyi montajlandığında, pcb nin üzerinde lehimli bulunan yaylar ile cam yüzey birbirine temas ediyordu. Bu fikri belki sende değerlendirebilirsin.

ipek


mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Logan

@hasankara, açıklaman için teşekkürler. Özellikle şu yay olayını anlatman çok iyi oldu. Eğer işe yararsa bu şekilde temas problemini ortadan kaldırabilirim.

@ipek, verdiğin linki açamadım sanırım bir sorun var. Bir kaç saat sonra tekrar deneyeceğim.

Devreyi yukarıdaki resimde görülen haliyle 4mm'ye kadar çalıştırmayı başardım. Dün nette gezinirken kullandığım entegrenin deneme bordu ile karşılaştım. Digikey'de makul bir fiyata satılıyor. Fakat almama gerek kalmadı. Sağolsun ISSI firması bu deneme bordu ile ilgili bütün dokümanları yayınlamış. PCB üzerinde hatalı bir kaç noktayı değiştirince algılama hassasiyeti ve kararlılığı daha da arttı. Dün yolladığım PCB'nin bir kenarına revize ettiğim kartı ekledim. Gelince tam manasıyla deneyebileceğim. Fakat bu haliyle bile stabil çalıştığını söyleyebilirim.
İmza.

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.