Döner Ters Sarkaç(Rotary Inverted Pendulum) Kontrolü
Başlıktan da anlaşıldığı üzere bitirme projesi olarak yaptığım projenin konusu 'Bir Döner Ters Sarkacın(Rotary Inverted Pendulum) Tasarımı, Yapımı ve Kontrolü' dür.
Projenin
tasarımını, yapımını ve çubuğu kaldırma kısmını başarılı bir biçimde
gerçekleştirdim, ancak çubuğu dengeleme kısmını yapamadım. Bunun da
tabi kendimce saptadığım birtakım sebepleri var: Bilindiği üzere
dengeleme hassas bir iştir, bunu başarmak için de mekanik ve elektronik
sistemin mükemmele yakın bir seviyede olması gerekmektedir.
Ancak bu projede mekanik sistem, gerek maddi desteğin olmaması, gerek
benim Elektrik-Elektronik Mühendisi olmam hasebiyle mekanik tasarımdan
fazla anlamamam, gerekse rica minnet yapılan işlere itina
gösterilmemesi gibi sebeplerle çok iyi düzeyde yapılamamıştır. Ayrıca
projenin tam anlamıyla başarıya ulaşamamasının bir diğer sebebi, gerçek
sisteme dair parametrelerin bir kısmının doğru saptanamamasıdır.
Sarkacın çalışma şekli ise şu şekildedir:
Sarkaçta
çubuğu dengeye getirmek için öncelikle alt denge noktasında bulunan
çubuğa bağlı bir kol sürekli sağa sola hareket ettirilerek çubuğun
salınım yapması ve kararsız üst denge noktasının ±10 derece yakınına
gelmesi sağlanır ve bu sırada denge kontrolörü devreye girer ve çubuk
üst konumda dengeye getirilmeye çalışılır. Sarkaçta kullanılan parçalar
şu şekilde:
- USB-1408FS
isimli veri toplama(data acquisition) kardı, ana kontrol ünitesi olarak
kullanıldı. Bu kartın üzerinde analog/dijital giriş/çıkışlar bulunmakta
ve MATLAB ile beraber kullanılabilmekte, bu da bu kartın getirdiği bir
kolaylık olmakta.
- USB-1408FS'nin
üzerinde PWM kanalı olmamasından ötürü PWM sinyal üretmek için
PIC16F877A kullanıldı. PWM sinyal DC motorda hız kontrolünde kullanıldı.
- Çubuğun
ve çubuğa bağlı kolun pozisyonlarını saptayabilmek için de Bourns
firmasına ait tam tur dönebilen lineer potansiyometreler kullanıldı. Bu
potansiyometrelere 7805 ile regüle edilen 5 V referans gerilimi verildi.
- DC
motoru sürmek için L298 entegresi kullanıldı. Bu entegrenin çıkışları
paralel bağlanarak motorun çekebileceği akım miktarı artırıldı.
- Kolu
döndürmek için de dişli kutlu bir DC motor kullanıldı. Bu motorun tork
sabiti, dişli oranı ve iç direnç parametreleri tam olarak bilinmemekte.
Bu da sarkaca ait bazı parametrelerin saptanamamasında etken rol
almakta.
- Kol
ve çubuk polyamid denilen sert plastik bir malzemeden yapıldı, ancak bu
malzeme biraz esnek, bu da sarkaç için hiç de iyi bir özellik değil. Bu
proje de kullanılma sebebi hafif olması(esnek olduğunu bilmiyordum).
Kesinlikle bu malzemeyi sarkaç için tavsiye etmem.
- Sarkacın
monte edildiği tabla demirden, ancak özensiz yapılmış olması
sebebiyle ayakları düz kesilmemiş. Bu da sarkacın dengelenememesinin
ayrı bir sebebi.
Sarkacı kabaca anlattıktan sonra böyle bir proje yapacaklara uzun uğraşlar sonucu edindiğim tecrübeyle birkaç tavsiyem olacak:
- Öncelikle
mekanikten başlayacak olursak, daha önce de söylediğim gibi mekanik
mükemmele yakın bir düzeyde olmalı. Kesinlikle sarkacın yapımında
polyamid gibi polimer malzemeleri kullanmayın, bunlar sünek malzemeler,
çubuğun dengede tutulabilmesi için olabildiğince düz, esnemeyen
malzemeler kullanılmalı. Alüminyumun bu iş için uygun olacağını
düşünmekteyim, hem demire göre hafif hem de rijit bir malzeme. Tabi
alüminyumun da birçok çeşidi var onun da bir makine mühendisine veya bu
işlerden anlayan birisine danışılarak saptanması iyi olacaktır.
Sarkacın oturtulacağı tablanın demir olması daha iyi, çünkü kol sağa
sola hareket ettirilirken düzeneğin sarsılmaması lazım, tabi yere de
sağlam basması lazım. Düzeneği bir masaya monte edilebilecek şekilde
kurarsanız çok daha iyi olacaktır, ama bazı durumlarda masaya monte
etmek mümkün olmayabilir. Mekanikte bir diğer önemli nokta ise çubuğun
olabildiğince serbestçe dönebilmesi, sistemdeki dönen parçalar
arasındaki sürtünmenin olabildiğince az olması gerekmektedir. Son
olarak önemli noktalardan birisi ise DC motor seçimi. Motorun hareket
ettirdiği kol ve çubuk göreceli olarak ağır olduğundan sistemde dişli
kullanılması kaçınılmaz bir durum. Kolay olması bakımından dişli kutulu
bir motorun kullanımı, dişli sisteminin ayrıca kullanılmasından daha
iyidir. Kullanılacak motorun dişlilerinin olabildiğince rahat hareket
etmesi ve tork sabiti, dişli oranı ve iç direnç gibi parametrelerinin
üretici tarafından sağlanıyor olması çok önemli. Bunun için katalog
bilgileri olan iyi marka motorların tercih edilmesi önemli bir nokta.
- Ben
pozisyon saptanmasında potansiyometre kullanmıştım, ancak
potansiyometrelerin birkaç dezavantajı var. Birincisi, ölçümün yanlış
yapıldığı 20 derecelik bir bölge var, bu bölgenin çubuğun
kullanılmayacak bir bölgesine getirilmesi lazım. Ben bu bölgeyi sağ üst
bölgeye, yatay ve dikey eksenle 45 derecelik açı yapacak şekilde
ayarlamıştım. Bir de potansiyometrenin referans gerilimini 7805 le
sağlamıştım ve potansiyometreden aldığım gerilim oldukça gürültülüydü,
MATLAB'da bu gerilimi filtrelesem de bir düzeye kadar gürültü
engellenebiliyor. Bu sebeplerden ötürü ben potansiyometre yerine,
yüksek çözünürlüklü encoder kullanılmasını tavsiye ediyorum. Benim bu
projede potansiyometre kullanmamın sebebi ise daha ucuz olması ve
Türkiye'de bulunabilmesi. Bu iş için kullanılabilecek bir encoder ın
bağlantısını aşağıda bulabilirsiniz. Eğer potansiyometre
kullanacaksanız da 7805 ten daha iyi bir gerilim regülatörü kullanın.
- Ana
kontrol ünitesi olarak da DAQ modülü(USB-1408FS) kullanmıştım.
MATLAB'le kullanılabiliyor olması çok büyük bir avantaj sağlıyor. Ancak
MATLAB'ın kurulu olduğu bilgisayarın yüksek performanslı olması lazım,
bu örneklem hızını dolayısıyla da sarkacın performansını önemli
derecede etkiliyor. Örneğin benim kullandığım masaüstü bilgisayarda
örneklem süresi 0.02 sn iken, sunumda kullanmak zorunda kaldığım
dizüstü bilgisayarda 0.054 sn'ye kadar çıkıyordu. Bir de USB-1408FS'de
PWM sinyali üreten kanal yok, bunun için PIC kullanmak zorunda kaldım,
bu da performansı etkiliyor olabilir.
- Son
olarak bu projenin gerçekten zor, çok zaman alan ve bir hayli para
götüren bir proje olduğunu belirtmek isterim. Bu yüzden böyle bir
projeyi yapmadan önce çok iyi düşünün.
Birkaç tavsiye demiştim ama bir hayli uzun olmuş :)
Projenin raporuna, devre ve kodlarına en üstteki bağlantıdan ulaşabilirsiniz.
Projeyle ilgili sorularınızı Foruma, Ters Sarkaç kategorisi altına yazabilirsiniz.
USDigital firmasına ait yüksek çözünürlüklü bir encoder:
http://www.usdigital.com/products/encoders/incremental/rotary/kit/e3/
Çözünürlük
devir başına 2500'e kadar çıkabiliyor. Bir de şunu söyleyeyim ben bu
encoder'ı kullanmadım, sadece araştırmalarım sonucu ulaştım ve bu proje
için uygun olduğunu düşünüyorum.
Sarkacın nasıl dengelenemediğini de aşağıdaki bağlantıdan izleyebilirsiniz :)
Sarkaç(Video): http://www.t-robot.info/component/option,com_seyret/Itemid,99/id,56/task,videodirectlink/
|
|
|
pendulum-project
Yazan:: perto (Kayıtlı ) Tarih: 18-06-2010 04:40
» Yorumu cevapla...