avatar_ete

Encoder ve Encoder Pot Kullanımı

Başlatan ete, 29 Şubat 2012, 17:22:35

ete

Rotary encoder ile encoder pot kullanımını kolaylaştıran bir proje geliştirdim.
Genelde bu tür elemanlarla yapılan çalışmalarda  dönüş yönü tespiti yazılm yolu ile yapılmaktadır. Bu ise işlemci hızına bağlı olarak okuma işini yavaşlatıcı bir faktör olarak karşımıza çıkmaktadır. Bunu ortadan kaldırmak ve en azından yönü elektronik olarak belirleyebilmek için bir devre geliştirdim. Geriye pulsleri okumak ve yöne göre değer artırmak yada eksiltmek kalıyordu.

Söz konusu sistem normal rotary encoderlerde kullanılacağı gibi piyasada satılan encoder potlarada uygulanabilmektedir.
Örnek projede bir güç kaynağının set ayarlarını buton yada pot yerine encoder pot ile ayarlamayı amaçladım.
Bir çok encoder pot da birde bastırınca on konumuna geçen butonda bulunmaktadır. Bu butonu kullanarak çözünürlüğü değiştirdim. Proje detayları ilişikteki dosyada mevcuttur.
Şemaları incelerseniz 4013 kullanarak encoder dönüş yönünü tespit ediyorum ve bunu yön girişi olarak pic ile değerlendiriyorum. Söz konusu devre aynı zamanda 7474 ilede yapılabilmektedir. Şema üzerinde 7474 için ufak bir açıklama mevcuttur ona dikkat edilmesi gerekiyor.

Ete

mustafa

Erol bey cevap verdiğiniz için teşekkür ederim.Ben yön bilgisi kullanmayacağım sadece metraj hesabı yapacağım encoder ile.  Yani encoder hep tek yönde dönecek.Ben verdiğiniz program üzerinde çalışıp gerekli düzenlemeyi yaparak sistemi metraj hesabı şeklinde çalıştırmaya çalışacağım.Cevap verdiğiniz için teşekkür ederim. İyi akşamlar.

erdoganacun

#2
 ete  hocam benim   bir  sıkıntım  var   piysadan   4  kanallı  433 mhz  elcik  kumanda  aldım  buna  alıcı  kısmında  da                     (  PT2272-M4    ARX34 )  alıcım var    hocam  alıcı  devresini  yaptım ama  5  metre  mesafeden ancak  çekiyor  anten kısmına      15  cm  kablo bağladım   hocam PT2272-M4   frekans  direncini  470K kullandım  acaba yanlışmı  kullandım ki  mesafe  kısa oluyor bu konuda  yardımcı olursanız  sevinirim  ete  hocam
sevgiler  saygılar

ete

#3
Soruyu yanlış yerde soruyorsun. Baslıklara dikkat edelim lutfen.
Elcikte kullanilan direncin ne olduğunu bulman ve ona uygun bir direnc kullanman gerekiyor.
Alici verici bu direncler sayesinde frekans uyumuna ulasir. Rastgele direnc mesafede sorun yaratacagı gibi hic haberlesme olmamasına bile sebep olurlar.
Data sheetlerde direnc ciftleri konusunda bilgi mevcut.
Halledemez isen elcikteki direnci soyle bende alıcida olmasi gereken uygun direnci sana soyleyeyim.
Ete

Mucit23

Bendeki elciklerde 1M kullanmışlardı. Zaten datasheette de 1M olarak belirtilmiş. Bu şekilde rahat bir şekilde açık 100mt haberleşiyorum.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

duralikiraz

Daha önce picproje.com daki açıklamanızı bana faydalı olduğu için beğendim ve buraya eklemek istedim. Umarım herkese faydalı olur.

Alıntı YapŞekilde görülen malzeme elektronikçilerde sonsuz pot - encoder pot yada direk encoder gibi isimlerle satılmaktadır.
Gerçekte de grey code üreten bir encoder dir. Her bir tık aralığında 00 01 10 11 şeklinde 4 adet kod üretir.
Ancak bu pot un kullanılabilmesi için orta ucu GND ye bağlanmalı yanlardaki uçlar ise 10K dirençle pullup yapılarak Pic'e A ve B girişi olarak girmelidir.

Gerisi encoder okuma komutları ile aynı olacaktır. Okuma yada kullanım mantığı aşağıdaki şekilde olmalıdır.
-Öncelikle A ve B den giren değeri okuyacaksın diyelimki %00 okudun. Buna Eski=%00 diyelim.
- Hemen ardından yeniden okuyacaksın ve bu sefer okunanı Yeni isimli değişkene atayacaksın Yeni=%00
- Eski=Yeni ise encoder dönmemiş demektir. O halde Yeni değeri eskiden farklı oluncaya kadar baklaman yada o arada başka işlere bakman gerekir.
- Diyelimki Yeni=%10 okuduk. Bu encoderin döndüğünü gösteriyor.
- Şimdi hangi yöne döndüğünü hesaplayıp ona göre işlem yapmamız gerekecek.
- Bunun için Eskinin ilk biti ile yeni nin ikinci bitini XOR yapmamız gerekiyor. Sonuç 1 ise diyelimki sağa, sonuç 0 ise sola dönüş yapıyor anlamına gelecektir.
- Örneğimize bakacak olursak 0 XOR 1=0 dır o halde encoder sola dönüyor demektir. Bu durumda SAYAC=SAYAC-1 yapmak şayet yön=1 ise SAYAC=SAYAC+1 yapmak uygun olacaktır. Bu tamamen kişinin isteğine kalmış bir şey olup gerekirse terside yapılabilir.
Arada butonun basılıp basılmadığınıda kontrol edebilirsin. Butonu bir tuş gibi düşün ve ona göre kontrolünü yap.

Gördüğün gibi çok zor değil.

Ete

Hattuşa

#6
s.a.
arkadaşlar bu encoder potu nerden temin edebiliriz, (online satış yapan firmalar varmıdır) tabi fiyatı ne kadardır

Bu mesajınla aşağıda yazdığın açıklama bir biri ile çelişiyor. İstek olarak nereden temin edilir diye sormuşsun cevap verilince de biliyordum zaten demişsin. O zaman gerçek ihtiyacın data sheet vs ise neden onları istemedin? Mesajlara dikkat edelim lütfen!!!!!

nurim

Alıntı yapılan: pro-TR - 19 Aralık 2013, 09:06:32
s.a.
arkadaşlar bu encoder potu nerden temin edebiliriz, (online satış yapan firmalar varmıdır) tabi fiyatı ne kadardır

İnternette ROTARY ENCODER olarak ararsan bir çok örnek bulabilirsin.

BURADA BİR ÖRNEK VAR
Kolay Gelsin
nurim

Hattuşa

Alıntı yapılan: nurim - 19 Aralık 2013, 20:19:51
İnternette ROTARY ENCODER olarak ararsan bir çok örnek bulabilirsin.

BURADA BİR ÖRNEK VAR

nurim usta nette olduğunu biliyorum usta, hatta gecen sene bluemaviden 2 adet almıştım ama kullanamadım yani deneyemedim bunun sebebi encoderlerin datasheetini bulamadım, adı sanı belli değildi uğraşmak istemedim, hani diyorum hazırcı olalım "şurda şunu aldım da şu projemde kullandım gayet güzel encoder" diyen çıkarmı diye yazmıştım. ;D

ete

Her lazım olduğunda bir değişiğini gidip almak zorunda kalıyorum. Öyle bir malzemeki bir bulduğunu 6 ay sonra bulamıyorsun.
Ama temel prensip hepsinde aynı. Orta ucu GND ye bağla, her iki yandaki uçları ise 10K ile pullup yap. Hepsi bu. Sonra standart okuma sistemine uyarla.

Ete

Mucit23

Hocam merhabalar.

Gray Kodu encoderler hakkında bilgi almam lazım. Çıkış sinyalinin nasıl olduğunu çözemedim.

Örneğin aşağıda 8 bit gray encoder var. Dış tarafın düşük 8 bit, iç tarafında yüksek 8 bit olduğunu düşünürsek binary formatında nasıl bir çıkış sinyali alırım?


resim yuklemek

Bu tip bir encoder ile konum ölçümü yapabilirmiyim?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Mucit23,
Grey kodu ile hiç çalışmadım bu güne kadar. Sistem binary olmasına rağmen binery'nin 2 nin katları prensibini takip etmeyen bir kodlama tekniği. Sanırım kartlarla çalışılan dönemde işe hız kazandırmak için düşünülmüş bir sistem. Çünki ardışık işlemlerde her defasında yalnızca bir bit değişmektedir bu sistemde. Çok iyi bildiğim bir sistem değil maalesef. Bana ters geliyor.  Bu nednele yardımcı olamayacağım.

Ete

Mucit23

Çıkış olarak binary den farklı bir yapıya sahip. Mantığını anlayabilsem belki binary ye çevirebilirim. Mantığını anlayamıyorum. Mesela 2 bit encoder gray encoder 00 01 11 10 şeklinde sinyal veriyor. Bildiğimiz pot tipi encoderler gibi.
Amacım bu şekilde çalışan 8 bitlik gray enkoderin konumunu hesaplamak. İnternette online olarak gray to binary cinverter programları var. Demekki binary ye dönüşüm olabiliyor.  Bunu çözmem lazım. Bu konuda herhangi bir yöntem bulan olursa paylaşır sa sevinirim.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

F®T

Gray kodu kullanım nedeni, hatayı azaltmak amacıyla değişimi eş zamanlı olarak tek bir bitte yapma temelli bir kod tur. Binary sayılarda 2 den 3 geçiş esnasında iki basamak birden değişim göstermektedir. Gray kod sisteminde ise her zaman tek basamak değişim gösterir.

„ Gray Kodlu Sayıyı İkili Sayıya Çevirme

„ Gray kodlu sayı ikili sayıya dönüştürülürken MSB aynen
yazılır bulunan sonuç ile yandaki bite XOR uygulanır. İşlem
LSB'e kadar devam eder.
„ ÖRNEK: (1100111)gray kodlu sayıyı ikili sayıya çeviriniz
„ 1 1 0 0 1 1 1
„ 1 0 0 0 1 0 1
„ (1100111) gray = (1000101)
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Mucit23

Evet mantığını anladım.
http://www.wisc-online.com/Objects/ViewObject.aspx?ID=IAU8307

8 Bit için düşünürsek

8. Bit aynen alınır. Ardından binary 8. bit ile gray 7. Bit Xor yapılır. Sonuc binary 7. Bit olur. Daha sonra 7. bit binary ile 6. bit gray değerleri Xor yapılır ve sonuç binary 6. bit olur. Bu işlem diğer 5 bit içinde yapılır.

Peki bu işlemi koda dökersek hızlı bir şekilde nasıl yaparım? Bunu araştırayım.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal