proje yardım(servo motor kontrolü)

Başlatan mertcik, 30 Mart 2006, 13:15:42

mertcik

Arkadaşlar öncelikle hepinize meraba.Aranıza yeni katıldım..Ben proje için sizden yardım ve yorum bekliyorum.Proje:hareket izleme.Bir servo motor aracılığıyla(bu step de olabilir ama sanırım servo daha kolay olacak)bir oda içersindeki hareketli bir cismi kameraya bağlı motor sayesinde takip edicez ve bunu ekrande görücez.Bunun için 8(45 derecelik) ya da yapazsak 4(90 derecelik)tane hareket dedektörü kullanmayı planlıyoruz.Bunu da 16F877 ile yapacağız.Sizden dedektörler  ve pic in mümkünse basic dilinde yazılabilecek programı konusunda yardım istiyorum.Şimdiden çok teşekkürler.Herkese kolay gelsin...  :)

haciman

mertcik arkadaşım

Öncelikle bu iş için DC motor kullanman yanlış olur. Sen hassas bir işlemden bahsediyorsun. DC motor ile bahsettiğin sistem hassas çalışmaz. Çünkü DC motorda sönüm olayı hemen gerçekleşmez. Motor akımı kesilince rotor kazandığı hareket enerjisi ile bir miktar daha döner. Yani sönüm belli bir zaman alır.

Sen kuracağın sistem için ya step yada servo kullanmalısın (Bence).

Hareket sensörü demişsin. Bu işi birkaç farklı yolla yapabilirsin.

1- Radyo frekans kullanarak bir sinyal gönderirsin. Sinyal cisme çarpar ve yansıyan sinyali işlersin. Televizyon kumandaları bu sistemle çalışıyor.Gerçi cisme göre bu iş değişir. Sinyali yansıtan ve yansıtmayan cisimler var.

2- Kızıl ötesi bir sistem kurarsın. Yukarıda olduğu gibi bir sinyal gönderirsin bu cisimden yansır. Yansıyan sinyali işlersin. Bu sistem daha kararlı çalışır. Ama daha pahalıya mal olur.

Devre şeması ile ilgili vericiler ve alıcılar başlığını inceleyebilirsin...
“Buna karşılık sizden hiçbir ücret istemiyorum. Benim ücretim ancak âlemlerin Rabbi olan Allah’a aittir.”  (Şu’arâ Sûresi 109)

mertcik

haciman çok sağol..
Dediğini anladım,fakat sinyali işleme konusunda biraz problemlerim var.Servo konusunda da haklısın çünkü ben oraya yanlış yazmışım dc motor diye :) aceleyle yazmıştım da...
Dediğin gibi alıcı-verici kısmına bir bakıcam umarım bişeyler çıkar..
Tekrar teşekkür ilgin için devamını beklerim...

Klein

Burada küçük bir yanlış anlaşılmayı düzeltmek istiyorum. Aslında servo motor diye bir motor şekli yok. Bir Dc motor , step motor, ac motor vs... Herşey servo olabilir. Bu o motoru yada o mekanizmayı nasıl kontrol ettiğinizle ilgili birşey.  Eğer bir motor kontrolsüz dönüyorsa , motorun yerini , konumunu , hızını vs.. İzleyemiyor ve bunları kontrol edemiyorsak bu bir motordur. Ama biz bunları izliyor ve kontrol edebiliyorsak , O zaman bu bir motor olmaktan çıkıp Servo motor olur. Piyasada servo adı altında satılan birçok ürün aslında arkasına bir encoder bağlanmış alelade motor. Sadece bazılarının  yatakları , rulmanları , dişlileri vs gibi hassasiyeti etkileyecek parçaları özel okadar.

z

@Haciman

DC motorlara haksızlık ediyorsun. Miline bağlı encoderdan geribesleme almak suretiyle DC motoru mükemmel doğrulukta kontrol edebilirsin.

Sönümlenme, motorun ve yüke ait mekanik bileşenlerin kütle ve sürtünmesine çok bağlıdır ancak sönümleme, kontrol sisteminde türevsel bileşenli kontrol stratejisi ile yada hatta daha iyisi takometrik hız geri beslemesiyle de kolayca istenen değerlere çekilebilir. (Yeterki motorda harcanabilecek güçten haber ver)

DC motorlar yakın tarihe kadar servo sistemlerin ayrılmaz parçasıydı.

Sözkonusu uygulamada, DC motorlu atik bir pozisyonlamaya ihtiyaç olmadığından  maliyeti düşük turma açısından arkadaşın işini en pratik step motor çözecektir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Klein

Bunalmis hocama katılıyorum ve ekliyorum. DC motorlar servo sistemlerin halen ayrılmaz bir parçası. Step motorun bittiği yerde DC motor başlar. Benim  şimdiye kadar çalıştığım en iyi step motor  kontrolcü, 1/8 step. ama DC motorda teorik olarak sınırsız.

mhk

Hareket izlemeyi sensörlerle değil de , kamera ile görüntüyü çekip görüntüdeki değişimleri güçlü bir bilgisayar programı ile :) yapmak daha mantıklı. Kısaca görüntü işleme.
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

haciman

Bunalmis hocam

Üstadım bizim DC motor hakkındaki bilgimiz sizinkinin yanında çok kaba kaçar. Biz nacizane durumu basitçe anlatmaya çalıştık.

Servo motor arkadaşlarında dediği gibi DC motor ve bu motora bağlı bir enkoder sistemi ve dişli kutusu gibi parçalardan oluşuyor. İçindeki potansiyometre çıkarılarak normal bir DC motor gibi kullanılabiliyor (servo hack olayı).

Birde bunalmis hocam bukadar bilgiyi edinmek için kaç yıl uğraştınız merak ediyorum. cncdesigner.com sitesini karış karış dolaştım. Ufkum açıldı. FLZ03'e hayran kaldım be hocam. Hayalim onun kadar olmasada o ayarda bir mini CNC üretmek. Şu sıralar L297+L298 step motor sürücü devresi üzerinde çalışıyorum.
“Buna karşılık sizden hiçbir ücret istemiyorum. Benim ücretim ancak âlemlerin Rabbi olan Allah’a aittir.”  (Şu’arâ Sûresi 109)

haciman

mertcik kardeş

Şimdi servo kullanmaya karar vermişin anlaşılan ama senin için bunalmis hocamın da dediği gibi step motor daha kolay olur. Step motoru kabaca sürmek için 4 adet transistör yeter. Bu transistörler ile step motorun sargılarını sıra ile enerjilendirirsin.

Ama servo motor çalıştırmak biraz zahmetli bir iş. Hobi için kullanılan servolarda genelde 3 adet kablo bulunur. Bunlar (+) (-) ve control uçlarıdır. Kontrol ucuna belli bir frekansta sinyal göndererek motorun çalışmasını sağlıyorsun. Bu iş için ya osilatör yada PIC kullanacan. Genellikle servo motorlar 90 veya 180 derece arasında çalışıyorlar.

Ben olsam step motor sürmek kolay olduğu için hiç  düşünmeden kullanırdım.
“Buna karşılık sizden hiçbir ücret istemiyorum. Benim ücretim ancak âlemlerin Rabbi olan Allah’a aittir.”  (Şu’arâ Sûresi 109)

mertcik

Arkadaşlar denedim,step e karar verdim ama programda ufak bi zorluk oluo.Şimdi 6 sensör olacak(hareket),o kadar hassas olmuycak yani.Ama ben motorun konumunu sensörlerin olduğu konuma nasıl getiricam bilm.yorum.Hareket yatayda 180 derece olacak.Mesela odaya biri girdiği ve ilerledi,2.sensör algıladı,motoru o tarafa nasıl döndürmeliyim?Mesela 10 tur sağa döndürdüm diyelim,o zaman da cisim diğer taraftan yaklaşıyorsa eğer sola dönmesi gerekecek,onu nasıl kontrol edebilirim?Bir fikir verirseniz çok sevinirim.ACİL!!

ismetelk

yatayda 180 derece döndereceksin 6 sensör var o zaman her sensöre 30 derece düşüyo diye düşünürsek ve 30 derecelik açının mesafesini bilirsek:
mantık şu olmalı bence:
son algılanan sensörden önceki hangisi ise onu pic te saklı tutup iki sensör arasında 30 derecelik açının mesafesi kadar hareket sağlanmalı yani örneğin son olarak 3. sensör algılandı ondan önce 4. sensör algılanmıştı diyelim 30 derecelik mesasfe kadar sola doner eğer 3. sensör algılanmadan önce 2. sensör algılanmış ise 30 drecelik mesafe kadar sağa döner.

mertcik

Peki onu pic nasıl anlayacak?Yani önceki konumunu nasıl hafıza da tutucam?Yani sonuçta sensörün konumunu pic nasıl anlayacak?Bi referans falan alıp ondan ... derece sağda ya da solda falan mı demeliyim acaba?

haciman

mertcik arkadaşım

şimdi 180 derecelik bir görüş açısı var ve sen 6 adet hareket sensörü kullanacan. Doğrumu anladım.

Her sensör 30 derecelik bir alanı tarayacak. Ve bu 30 derecelik alan içinde oluşan hareket değişmelerini PIC e aktaracak ve PIC de buna göre ilgili motoru sağa veya sola döndürecek.

Burda bir sorun yokmu? 30 derecelik ama sadece 30 derecelik bir alanı tarayacak hareket sensörü varmı? Ben zannetmiyorum. Bence bu 6 sensör birbirlerinin tarama alanlarını ihlal edecek. Buda motorun sapıtmasını sağlayacak. Motor sağamı solamı döneceğine karar veremeyecek.

Eğer çalışan bir hareket sensörü devresi bulduysan bizimle paylaşabilirmisin. Banada sensör devresi lazım. İnternette bir sürü karmaşık devreler var. Açıkçası ben çalışan bir tane arıyorum. Kolay gelsin
“Buna karşılık sizden hiçbir ücret istemiyorum. Benim ücretim ancak âlemlerin Rabbi olan Allah’a aittir.”  (Şu’arâ Sûresi 109)

Klein

Alıntı yapılan: "haciman"mertcik arkadaşım

Burda bir sorun yokmu? 30 derecelik ama sadece 30 derecelik bir alanı tarayacak hareket sensörü varmı? Ben zannetmiyorum. gelsin

hocam sonuçta hareket sensörü optik bir düzenek. Ve açısı görebildiği alanla sınırl. Eğer görüş açısını sınırlandırırsanız. istediğiniz açıda kullanabilirsiniz. Ben olsam 30derece sensör aramak yerine sensörün kenarlarını boyardım 8O

mertcik

Ben de öyle düşündüm zaten,yani algıladığı alamı bölerek sınırlandırmayı ama bu sınırlamayı yaptığım halde yine de sensörler birbirlerini alanlarını ihlal ediyorlar,çünkü hava sirkülasyonundan dolayı oluşan sıcaklık değişimini algıladıkları için çok hassas oluyor ve biribirlerinin alanlarını işgel ediyorlar.Bu nedenle  başka bi sensör arayışı içindeyiz.Yardımlrınıızı beklerim...
Bu arada ben sensörün kitini hazır aldım deneme amacıyla,yani nasıl çalıştığını incelemek için.Hazır devre var mı bilmiyorum net.de ama bunu opampla yapmışlar o kadar,başka bi espri yok yani,onu da sanırım karşılaştırma diil de yükseltme amacıyla kullanmışlardır