avatar_Mucit23

Dijital Tekerlekli Mesafe ölçer Yapımı

Başlatan Mucit23, 15 Ağustos 2012, 10:49:13

Mucit23

Merhabalar Saygıdeğer Arkadaşlar ve Ete hocam.

Bi konuda değerli önerilerinizi almak istiyorum

Belki görmüşsünüzdür Tekerlekli mesafe ölçerler var.
Aşağıdaki linkten görebilirsiniz.
http://www.hirdavat.com/Metre-Stanley-MW40-Tekerlekli-Mesafe-Olcer-10-000-Metre.html

Ben buna benzer bir sistem tasarlamak istiyorum. Aklımda şöyle bir sistem var. 10 - 15Cm çapında bir tekerleğe uygun şekilde bir kol(şasi) yapıp tekerleği ucuna uygun şekilde bağlarım. Sonra tekerlek miline bir enkoder bağlamam gerekiyor. Bu enkoder sistemini kendim yapabileceğim gibi Elimde daha önce bir projeden artmış çok pahalı bir encoder var.

Elimdeki encoder modülü aşağıdaki linkten inceleyebilirsiniz.
http://tr.farnell.com/avago-technologies/heds-5645-g13/encoder-3channel-360cpr-8mm/dp/1161218

5 volt ile çalışıyor ve 3 adet data çıkış ucu var. Bunlar A, B ve Z  şeklinde isimlendirilmiş. A ve B arasında 90 derece faz farklı olan 2 kare sinyal çıkıyor. Z ucundan ise bu sinyallerin başlangıç noktasını belirleyen ufak bir işaret çıkıyor.

Çıkan sinyaller aşağıdaki resimde görülebilir.

photo upload

A veya B ucundan hangisi ilk önce gelirse ona göre sağa veya sola dönüyor ayrımı yapılabilir. Yanlız şöyle bir problem var. Bu enkoderi kullanmam montaj açısından işleri çok kolaylaştırır. Fakat Enkoder 1 tur döndüğünde A ve B uclarından toplamda 1024 pals veriyor.
Eğer benim Tekerleğimin Çapı 15cm olduğunu varsayarsam eğer çember formülünden(2*pi*r) çevresini 47,1cm olarak bulurum. Yani tekerleğin 1 turunda 47,1cm mesafe alır. bizim enkoderimiz 1 turda 1024 pals verdiğine göre her bir palsda ortalama 0,45mm yol alır. Yani bu çözünürlük bi mesafe ölçer için biraz fazla. O yüzden bu enkoderi kullanmak istemiyorum.

Sensörün Datasheedini buradan inceleyebilirsiniz.
http://www.farnell.com/datasheets/20508.pdf

Diğer bir seçenek ise kendi enkoderimi yapmam
Autocadde aşağıdaki gibi bir çizim yaptım


image upload

10CM çapında bir diske merkez etrafında 60 adet 3mm çapında delik yerleştirdim. Bu diski direkmen tekerleğin miline yerleştirip aşağıdaki optik kuplörlerin arasında geçireceğim. Bu şekilde aynı tekerlek çapında 7,85mm adım başına ölçüm yapabilirim.



Bu optik kuplörlen uygun aralıkta 2 adet yerleştirerek yine aralarıda belli bir miktar faz farkı bulunan iki adet kare dalga elde etmeye çalışacağım.

İşin teknik tarafında bakmak gerekirse çizimimi preste bile basttırırım ama birdaha kalıp felan çıkartılması gerekir bu yüzden kendim elle yapıcağım. Yanlız yazılımsal olarak enkoderi nasıl okuyacağımı bilmiyorum. Daha önce tek enkoder ile motor devri okumuştumtimerler yardımıyla ama bu sefer iki adet enkoder olmak zorundayım çünkü tekerlek eğer geri doğru dönderilmeye başlanırsa bu seferde hesaplanan mesafe geriye doğru azalması gerekir. Bu enkoder okuma işlemini pratik bir şekilde yapmam lazım. Bu konuda sizin önerilerinize ihtiyacım var çünkü devreyi tasarlamadan önce donanımımı belirlemem gerekiyor. Sonra yazılımsal olarak ilgileneceğim.

Yazılımsal olarak enkoderleri pratik bir şekilde hızlı fazla işlem yapmadan nasıl okuyabilirim. Hem yön belirleyip hemde alınan mesafeyi hesaplamam gerekiyor.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Benim encoder pot projesine bakarsan yeterli bilgi var orada. Yinede açıklayayım.
A ve B çıkışlarındaki sinyaller bir birinden 90 derece faz farklıdır. Bu durumda, her ikisini birden okuyacak şekilde İki okuma yapman gerekiyor. Birinciye ESKI ikinciye YENI demek uygun olur. ESKI=YENI ise encoder henüz donmedi demek oluyor ki yeniden okuma yapmak gerekiyor. Diyelimki ESKI ile YENI bir birinden farklı. Bu durumda ESKI nin bit0 ile YENI nin Bit1 ini XOR yaparsan sana yön bilgisini verir. Diyelmki encoder saat yönünde  dönüyor yön sürekli 1 çıkar. Saatin tersi istikamette dönüncede Yön bilgisi sıfır çıkar.
Bunun ötesinde A veya B den birisini kullanarak yön bilgisine göre puls sayısını bir artırıp yada bir eksiltirsin. Hepsi bu kadar.
Tabiiki iş aslında bu kadar basit değil. Sürekli encoder değiştimi diye bakarsan programı oraya bloke edersin. Çaresi iki alternatifli geliyor. Birincisi bir sayaç koyarak atıyorum 50 defa ESKI=YENI olmuş ise encoder dönmeyecek demektir ki orada beklemenin bir anlamı yok dersin ve diğer işlere baka yeniden gelirsin aynı yere.
Yada bir kesme kullanır değişiklik olduğu zaman encoder girişlerine bakarsın.

Projemi incelersen yön işini programdan çıkartıp onu elektronik olarak çözmüştüm. Epeyce zaman alan bir iş. İstersen sende öyle yaparsın. Hız çok kritik değil ise programla çöz ama encoder hızlı dönecek ise elektronik olarak yap program sadece bir artırıp bir eksilsin .

Ete


KAZIMUGUR

Encoder whel generator , code whel generator  gibi anahtar kelimelerle arama yap , sonuçlar hoşuna gidecek.
Genellikle yerde sürüteceğin bir şeyi optik yapmak pek akıllı işi değil.
Tahta-plastik tekerleğe çivi çaksan bile olur , kalıp gerekmez .
Kaymaması için en azından dışı lastik benzeri bir şey kaplansa iyi olur.
Dış çapın ondalık sisteme uygunluğu şık olur.
Encoder okuma ile ilgili olarak internette çok kaynak var ama en sade ve hızlı çalışanı @ETE hocamın zamanında bana önerdiği kodlardır.
Temeli B4-7 kesmesidir.
"Quadroture encoder" okuyan pahalı chipler var ( 20-30 TL gibi ).
Pic lerin encoder modülü olan tipleri var ( " QEİ ").
Bunların küçük bir hatası var , özel bir pozisyonda geri dönüşü algılasada , saymayı (tek bir puls i) yanlış sayıyor.

Hadi bakalım bir sürü anahtar...

Mucit23

#3
Diski yapmakla işe başlıyayım ozaman. Yanlız diskin üzerine kaç adet delik açacağıma karar veremedim. Disk en güzel Epoxy plaketten olur. Ne kadar arttırırsam okadar ince ölçüm yapabilirim ama fazla hassasiyet istemiyorum. Min 1cm aralığında ölçüm yapsa güzel olacak. Dış teker çapı önemli bu konuda ama dış teker çapındada değişiklik yapma imkanım yok çünkü hazır tekerlek kullanıcam. Bu yüzden ne yapıyorsam disk üzerinde yapmam gerekiyor.Bunuda iyi hesaplamam lazım.

Kazım uğur hocam;

Anahtarlar içerisinde "Dış çapın ondalık sisteme uygunluğu şık olur."gibi bir ibare kullanmışsınız. Bunu birazdaha açarmısınız.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

KAZIMUGUR

100mm/ pi .. 500mm/pi  ... 1000mm/pi gibi.
Ergonomi iyidir !
En azından bir işaret ve kertik kaç tur attı kaç mm gitti hesabını kolayca yaparsın .
Digitalsiz safi analog pil bilem istemez.
Dışı yumuşak çünki zemindeki ufacık pürüzlerden sekmesin tıngır tıngır gitmesin.
Hep dik durmalı !
Ya da dış çap uygun dairesel formda olmalı.
Ya da kalite bir şey istersen çift tekerlek olmalı bağımsız dönebilern .
Sapı uygun şekilde olmalı hep ikisi de basmalı sayan tekerde ön izleme işaret çubuğu olmalı

Mucit23

Hocam Tek teker iyidir.
Şu çoçuk arabası tekerleklerinden bulacağım. Büyük olanı iyidir. Daha rahat hareket eder. Hatta dolma değilde havalı olursa tıngır tıngır gitmez.

photo hosting

Enkoder okuma konusuna birazdaha durmak istiyorum. Şuanda ençok soru işareti o kısımda 
Enkoder okumada hız için Bazı şeyleri yazılımsal olarak yapmam gerekir.

Ete hocam Acaba sizin enkoder okuma yazılımınız ile ne kadar frekansa kadar ölçebiliriz. Bu önemli benim için

Düşünüyorumda enkoder çıkışlarının hangisinin önce geldiğini görüp ona göre  bana lojik 1 veya lojik 0 veren lojik enteğrelerle bir devre tasarlayamazmıyız.





Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Bir encoderin a ve b cikislarinin aldigi ortak degerleri her iki yonde kagida yaz ve sonra degerlendir bakalim. 00 01 10 11 gibi sinyal gurubunda hangisi onden geldi degerlendirilemez. Sana yolunu gosterdim. 4013 ile bu oluyor. Sema da benim projede var.
Ete

Mucit23

#7
Hocam hangi projenizdi bu bahsettiğiniz proje. Ben sizin ders notlanıza bakıyorum. oradaki enkoder okuma projesini inceliyordum
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

nurim

Alıntı yapılan: Mucit23 - 15 Ağustos 2012, 16:31:54
Hocam hangi projenizdi bu bahsettiğiniz proje. Ben sizin ders notlanıza bakıyorum. oradaki enkoder okuma projesini inceliyordum
Hem linki vereyim hemde bir kaç öneride bulunayım
http://etepic.com/index.php?topic=336.0
Bu işi elde yapmanın oldukça güç yanları vardır. Bana göre bu işte en kullanışlı olan enkoderler pot şeklinde olanlardır. Çok değişik çıkış palsları olanlarıda var. Model resimdeki gibi yapabilirsin. Bu konuda "ete" ve "KAZIMUGUR" zaten gayet güzel önerilerde bulunmuşlar.
Örnek pot şeklindeki enkoder

Kolay Gelsin
nurim

Mucit23

Alıntı yapılan: nurim - 15 Ağustos 2012, 17:40:28
Hem linki vereyim hemde bir kaç öneride bulunayım
http://etepic.com/index.php?topic=336.0
Bu işi elde yapmanın oldukça güç yanları vardır. Bana göre bu işte en kullanışlı olan enkoderler pot şeklinde olanlardır. Çok değişik çıkış palsları olanlarıda var. Model resimdeki gibi yapabilirsin. Bu konuda "ete" ve "KAZIMUGUR" zaten gayet güzel önerilerde bulunmuşlar.
Örnek pot şeklindeki enkoder



Merhaba
Bu pot enkoderleri daha önce kullandım. Ama bu pot tipi enkoderlerde çözünürlük dusuk olmazmı?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Pot tipi encoder ile olmaz. Nurim sanırım hem linki vermiş hemde belki bilmiyorsun diye ornek gostermis.
Bu is motor tipli encoderler ile olur. Donus yonunde encoder mili neredeyse sıfır direnç göstermeli.  Tur basına puls sayısı bence 500 ve üzeri olmalı.
Bu is icin yapılmıs hazır sistemlerde satılıyor. İstanbul , persembe pazarında gormustum. Tekeri , encoderi ve ufak birde punomatik bastırma pistonu vardı. Yaylı olanları makina üzerinde de gordum.
Ete

Mucit23

Alıntı yapılan: ete - 15 Ağustos 2012, 19:26:02
Tur basına puls sayısı bence 500 ve üzeri olmalı.

Eğer böyle düşünüyorsanız ilk olarak düşündüğüm enkoder kullanılabilir. Bakayım bi iş yerinde aynısının 512 pals verenide olacaktı. Çok uygunlar kulanıma ama açıkçası çok hassas ürünler. Kullanacağım ortamda dış etkilerden yeterince koruyamıyabilirim. Böyleolunca çok kısa zamanda bozulabilir.

Hocam 4013 ile tasarlamış olduğunuz yön belirleme sistemi çok aklıma yattı. O devrenizi daha önce incelemiştim ama tamamiyle aklımdan çıkmış. Dolayısıyla sizin devrenizi direk uygulamayı planlıyorum. Disk üzerinde birazdaha çalışacağım. En azından delik sayısını 100'e çıkarmayı düşünüyorum.

Bu arada bugün iş çıkışında 3 adet eski bebek arabası tekerleği temin ettim. Belliki bayayı kilometre yapmış olacaklarki epeyce yıpranmışlar. Ama işimi görür. Olmazsa 3-4 tanedaha sıfır bulmaya çalışacağım.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

KAZIMUGUR

Alıntı yapılan: ete - 15 Ağustos 2012, 19:26:02
.. 500 ve üzeri...

En kötü ihtimalle , 20cm 200mm çapında olsa 63cm gibi çevre eder.
500 puls ile 2000 çözünürlük sağlar .
Yuvarlak hesap 600mm/2000 = 0.3 mm !

@mucit kafası çalışan bir arkadaşımız ama bu sefer dalgınlığına denk gitti anlaşılan.
İstediği minimum hassasiyeti belirtse idi daha isabetli atardık...

Ayrıca 4013 ile yapılan quadrature lerde tıpkı qei modülü gibi yanlış sonuç veriyor.
Yolda sürütülen okuyucu için 1 ( yazı ile bir ) puls sorun değil ama cnc gibi aynı yeri sürekli gidip gelen hassas konumlama gibi işlerde olacak şey değil.

Bu konuyu başka maksatlarla takip edecek arkadaşların dikkatine .
Quadroture değerlendirme (rotary encoder ) için , ya baştan aşağı if dolu bir sürü satır yazarsınız , ve az hızlansa - bir kaç başka iş yap deseniz pic çuvallar ya da @ETE hocamın harika 6 satırını kullanırsınız.
Ya da bu iş için yapılmış HCTL-2022  gibi ya da LSI/CSI nin aslında programlanabilir oyuncaklara kod kazıyıp özel  bir şey satıyormuş gibi sattığı oyuncakları kullanırsınız...

Mucit23

Anladım.

Hocam ozaman baştan gidelim ona göre ben tasarımımı yapacam.
Ben dün akşam birkaç disk şekli çizmeye çalıştım. 100 tane delik bile sığdıramadım. Disk boyutu çok artıyor ve Her bir delik arası mesafe çok azalıyor. Her bir delik genişliği kadar iki delik arasındada mesafe olması gerekir. Yoksa Uygun sinyalleri almam imkansız olur. Ayrıca disk çapı 10cm yi geçmemesi lazım.

En son autocadde aşağıdaki çalışmayı yapmıştım.

picture hosting

Dün Neden bir CNC makinem yok diye ofladım. Şimdi bi CNC olsa Autocadde yaptığım çizimi direk verip diski kazıtıp çıkartırdım. Şimdi delikleri dahada küçültemiyorumki, Daha küçültsem ben elle işleyemem. Ama CNC de öyle bir problemimim olmazdı. İstediğim şekli çizerdim. Er yada geç Bi CNC yapıcam..

Benim için en az 1Cm mesafeyi gösterse yeterli olur.
Aslında yapabilirsem hep 1cm 1cm mesafeyi arttırsa çok güzel olur.

Tekerlek çapıp ortalama 17.1cm Bakayım diski yapana kadar çeşitli tekerlekler temin edeceğim. Ozaman kadar diski ve şasiyi yaparım.

Şimdi Hocam Baştan 1cm çözünürlük için hesap yapabilirimiyiz.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

KAZIMUGUR

Bildiğim mucit için kolay iş.
Tekerlek çapı ne olursa olsun madem cm seçtin çevre , cmbuçuklu olmasın yeter.
Mesela 27cm çap için çevre 84,82...  olmasın ya 84 ya 85 , fark etmez.
Bu demektir ki basitce,  çevrede 84 delik yeterlidir.
Ama hala qudrature rotary encoder i incelediğini sanmıyorum.
Birbirinden 90 derece faz farklı işaretlerle 4 katı hassasiyet yakalanır !!!
Bunun için "qoadrature" deniliyor.

Yani geri dönersek 84/4=21 delik (çift sıra) işini görür.
Çizimle boşa uğraşmışsın.
Ya da ben yazdıklarımı boşa yazmışım.

Cnc ye ihtiyacın yok .
İstersen 3cm çapında bile olur.
Hemde cnc ile değil.
10 kuruşluk asetata laserjetle basar geçersin...
Çizim için , intermette bulacağın generatörlere bir kaç değer girip enter yapman yeterdi....

Powered by EzPortal