Complementray Filtresi, Gyroscope, Accelerometer
Bu yazımda uzun zamandır
araştırmaya planladığım fakat bir türlü yapamadığım çalışmamı, sömestr tatili
sayesinde 7-8 gün içinde nerdeyse tamamlamış bulunmaktayım. Nerdeyse dememin
sebebi, araştırdığım konu tam anlamıyla istediğim şeyleri bir türlü
kavrayamadıysam bile belirli bir yere kadar getirdim. Bu yer şimdilik beni
belli başlı projeleri yapmamda çok yardım etti. Çok uzun bir konuydu, geçmişi çok olan bir konu. Aslında bakarsanız kolay konu fakat benim
amacım detayları öğrenmek olduğundan biraz karışık geldi. Ben bu yazımda ve
çalışmalarımda bu detayı daha anlaşılır ve açık bir biçimde anlatmayı
planlıyorum ve bunun yanında bu araştırmayla ilgili hazırladığım 2 veya 3
projeyi yayımlayacağım.
Şimdi gelelim bu araştırma ne sorusuna. Aslıdan günlük hayatımız da pek çok kez
kullandığımız fakat nasıl çalıştıklarını bilmediğimiz ama onlarsız da
olmayacağımız bildiğimiz iki adet elektronik sensörlerdir. Bunlar Gyroscope ve
Accelerometer, türkçesi ile sırasıyla jiyroskop(cayro) ve ivmeölçer. Bu
sensörler hayatımızın bildiğimiz ve bilmediğimiz her alanında çok sıklıkla
kullanılmakta. Kullanıldıkları yerler; Birinci olarak, bilmiyorum farkında
mıyız ama bu sensörler cep telefonlarında ve tabletlerde kullanılmakta. Basit
olarak ne iş yaptığını gelecek olursak, bu sensörler telefonunuzun yönünü takip
etmekle sorumludurlar ve bu günlerde her telefonda bu özellik mevcut. Yani cep
telefonundaki bu sensörler, siz cep telefonunuzu sağa, sola, yukarıya ve
aşağıya çevirdiğiniz anda cep telefonunuzun ekranı o yönde hareket eder, eğer
bu özellik aktif ise telefonunuzda. Aynı
şekilde telefonunuzda eğer bir araba yarışı gibi oyunlar mevcut ise o oyunları
telefondaki tuşları kullanmadan sadece telefonunuzun yönünü değiştirerek oynaya
bilirsiniz. Bu sensörlerin telefonlardaki uygulaması bunlardır fakat daha fazla
uygulama yapılabilir telefonlar ile ilgili. İkinci olarak kullanıma gelirsek,
bu sensörler genel olarak uçaklarda ve bunun gibi askeri işlerde çok sıklıkça
kullanılır. Kullanılmasının sebebi ise havada uçan helikopter, uçak artık ne
olursa bir şeyi dengede tutmak istiyorsanız bunu bu sensörlerle yapabilirsiniz.
Veya iki tekerlek üzerinde duran bir platform yapmak istiyorsunuz diyelim, iki
tekerlekli üzerinde dengeli olarak sabit kalması için bu sensörleri kullanmanız
şart. Ben o yüzden bu sensörlerin tam olarak nasıl çalıştığını anlamadığımdan
dolayı böyle bir projeyi yarım olarak bırakmıştım(Balance Robot Hazırlıkları)
ama en kısa zamanda ona tekrar dönüş yaparak bu araştırmamda öğrendiklerimi orada
deneyeceğim. Kullanıldıkları başka
alanlara gelecek olursak; Hız, konum,
çarpma, titreşim ya da yerçekimi ivmesinin de ölçülmesi amaçla da
kullanılabilir. Gördüğünüz gibi bu sensörler hayatın bildiğimiz ve bilmediğimi
her alanında sıkça tercih edilmekte. İşte bu sensörler bulunmuş olmasaydı, bu
yazdığım kullanım alanların da bu sensörler kullanılmayacaktı. Kısacası, bu
sensörler hayatın her alanında insanlara fayda sağlamaktadır.
Sıklıkça, sıklıkla gibi kelimeleri bu yazımda şimdiye dek çok
kullanmadım ve bu yüzden bu kelimeleri çok yazma ve düşünme sebebi beni bu
araştırmaya çok fazla teşvik etti.
Bu sensörlerin nasıl çalıştıklarıyla başlamak
istiyorum. İlk olarak Accelerometer ile başlayacağım
sonra Gyroscopes ile devam edip ve sonra bunların aralarındaki benzerliklerinden
ve farklılıklarından bahsedeceğim ve en son ise complementray(tamamlayıcı)
filtresiyle bitireceğim.
Not: Bu yazımda bazı kaynaklardan alıntılara da yer verilmiştir.
Accelerometer(İvme ölçer)
Accelerometer bulunduran sistemin, artık o sensör kaç
eksene sahip ise örneğin 3 eksene sahip ve bunlar x,y,z eksenleri olsun, bu
durumda o eksenlerden koordinat bilgisi
ve hareketin o anki ivmesini verir bize. Sisteme hangi yönde ivme
kazandırırsanız o eksende sensörden bilgi alırsınız. Örneğin; bir sistem veya
bir uçak düşünün z-ekseni boyunca hızlandırırsanız sensörün z-ekseninden o ivme
ile ilgili veri alırsınız. Buradan da anlaşılacağı üzerine Accelerometer
sensörü sahip
olduğu eksen sayısı kadar çıkışlarından o sisteme ait ivme bilgisini alıyoruz.
Accelerometer sensörleri ile hem sistemden kaynaklanan ivmeyi hem de yerçekimi ivmesini ölçeriz ve bunları trigonometriyi kullanarak o ivmelenen sistemin yerçekimi ile yaptığı açıları sensörün x,y ve z eksenlerinden aldığımız datalar ile bulabiliriz. Örnek olarak bu sistem bir cep telefon olsun ve bu cep telefonda bir tane Accelerometer bulunsun. Bu Accelerometer x,y ve z eksenden alığımız datalara göre belli başlı matematiksel işlemlerden geçirerek cep telefonunun 3 boyutlu uzayda nasıl durduğunu bilebiliriz.
Tekrar söylecek olursak, Accelerometer üzerlerine düşen statik(yerçekimi) veya dinamik (aniden hızlanma veya durma) ivmeyi ölçmektedirler. Sensörden okunan değerler derece olarak ölçülmez. Sensörden okunan değer m/s^2 veya yer çekimi (g-Force) türünden belirtilir.
Şimdi uzayda olduğunuzu düşünün. Herhangi bir çekim etkisi yok ve ağırlığınız 0 dır. Önünüzde de yukarıdaki bir kutu, kutunun ortasında da bir küre olduğunu hayal edin. Herhangi bir çekim veya kuvvet etkisi olmadığından küre herhangi bir yüzeye temas etmeden hareketsiz bir şekilde durmaktadır. Şekildeki kutu da x, y ve z eksenleri de gösterilmiştir. Küre sanki havada asılı halde duruyor, bir kuvvetin etkisi altında olmadığından dolayı.
Yandaki
şekilde göreceğiniz gibi eğer bu kutu dünyada herhangi bir noktada ve kutunu
negatif z ekseni zeminle paralel halde ise dünyada ki yerçekimi kuvveti
sayesinde küreye bir kuvvet etki ederek küreyi aşağıya yani zemine doğru gider.
Yani bir ivmelenme olur zemine karşı ve bu ivme dünya da hep vardır. Bu kuvvet
ise herkesin bildiği gibi 1g ve 9.8m/s2
olarak bilinir. Yerçekimi ivmesi dünyada her yerde mevcut olduğundan ivme ölçerden sürekli olarak data alınabilir.
Yandaki küreyi sabit bir hızla x-ekseni boyunca ittiğinizi düşünün çıkışta 0
görmeniz gerekir. Çünkü biz ivmeyi hızın türevini alarak buluruz. Eğer
hız sabit ise türevi sıfırdır yani ivme sıfır olur. Hızda bir değişlik olursa ivmelenme olur. Bu
yüzden bu sensör aniden ivmelenmeyi veya durmayı ölçüyor.
Sonuç olarak; İvme ölçerin eksenlerinden verdiği dataya
göre cismin açısal konumuna göre yerçekimi ivmesi ile yaptığı
açı hesaplanarak oluşturulurlar. Dolayısıyla yerçekimi her yerde mevcut
olduğundan ivmeölçerler hareketsiz iken de açısal konuma göre çıktı üretirler.
Yandaki
şekilde ivme ölçerin üzerine etkiyen kuvvetlerin vektörel olarak gösterimi
görülmektedir. Buradaki R vektörü toplam kuvveti ifade eder yani ivme
sensörünün üzerine etkiyen kuvvet vektörüdür ve
bileşenleri Rx , Ry ve Rz dir. Rx
, Ry ve Rz bilindiği taktirde
Pisagor teoremini kullanarak R toplam
vektörünün yeryüzüne göre konumu bulunabilir.
Daha önce de dediğim gibi ivme ölçer çıkış olarak g türünden ifade eder. Rx , Ry ve Rz g türünden ifade edilir. Burada önemli olan ivme sensöründen Rx , Ry ve Rz değerleri elde etmektir. Bu değerleri bildiğimiz taktirde trigonometrik fonksiyonları yardımı ile R vektörünün X,Y ve Z eksenleri ile yaptığı açılar hesaplanıp sensörün yeryüzüne göre konumu bulunabilir.
Rx , Ry ve Rz değerleri sensörden direk olarak g türünden alınamaz. Örneğin ADXL335 adlı bir adet 3 eksende ivme ölçen bir sensör satın aldınız ve besleme gerilimimizin 5v olduğunu ve 10 bitlik bir ADC kullandığımızı varsayalım. Bu sensörün x, y ve z eksenlerinden g türünden değer alamazsınız. Bunun yerine bu sensör ADC ile bir mikrodenetleyici ile iletişim kurduğundan binary çıkış alırsın sensörün her bir ekseninden. Bu alınan binary değerleri besleme gerilimi ile çarpıp ve 210=1024 olduğundan bu değer ile bölersek o çıkışlara ilişkin binary değil de gerilim olarak ifade edersiniz. Sonra bu değerden VzeroG den çıkarılır, bu değer ivmeölçerin 0g de vermiş olduğu bir gerilim değeridir. Bu da genellikle besleme gerilimimin yarısıdır. Son olarak elde edilen değeri sensörün hassasiyet bölersek g türünden o çıkışları yani Rx , Ry ve Rz ifade ederiz ve açıları trigonometri ile bulabiliriz.
Not: Birimlere dikkat edin!
Rx = (AdcRx * 5v / 1024 - VzeroG) / Sensitivity => Birimi artık g ------------à Axr = arccos(Rx/R)
Ry = (AdcRy * 5v / 1024 - VzeroG) / Sensitivity = > Birimi artık g ------------à Ayr = arcos(Ry/R)
Rz = (AdcRz * 5v / 1024- VzeroG) / Sensitivity = > Birimi artık g ------------à Azr = arccos(Rz/R)
İvme ölçerin çalışması yapısı ; Konsept olarak, bir akselerometre kütle yay ve sönümden oluşan bir sistemdir. Sisteme ivmelenme uygulandığında yaya bağlı olan kütle ivmenin oluşturduğu kuvvetin etkisi ile yer değiştirir. Bu yer değiştirmenin ölçülmesi ile sistem üzerine uygulanan ivme elde edilir. Bu kuvvet yukarıdaki şekillerde gösterilen toplam R vektörüdür.
İvmeölçerlerin çalışmasında pek çok farklı yöntem kullanılmaktadır;
Piezoelektrik olan akselerometreler, içerisinde bulundurduğu mikroskopik kristal yapı üzerinde ivmelenme oluştuğunda bir çıkış voltajı üretirler. Piezoelektik ivmeölçerler içerisindeki mikroskobik kristaller maruz kaldıkları stres sonucunda orantılı olarak gerilim üretir. Üretilen bu gerilim değeri, önceden tanımlanmış olan gerilim değeri ile kıyaslanır ve ivmenin etkisi bulunmuş olur.
Bunu yapmanın başka bir yolu da kapasitans ölçmektir. Eğer iki adet mikroyapı birbirine çok yakın bir şekilde duruyorsa, bunların arasında bilinen bir değerde kapasitans vardır. Bu yapılardan birinin üzerinde ivmelenme sonucu oluşan kuvveti uygulanırsa, mikroyapı yer değiştirir ve bu da kapasitansın değişmesine neden olur. Kapasitans voltaj değerine çevrildiğinde bir akselerometre elde edilmiş olur.
Modern akselerometreler genellikle mikro elektro-mekanik sistem olarak imal edilirler ve oldukça küçük boyutlardadırlar. Bir MEMS akselerometrenin yapısına ait şekil yanda gösterilmiştir. Gösterilen sistemde sönüm etkisi akselerometre içerisinde saklı tutulan gaz ile yapılmaktadır.
MEMS ivmeölçerler genellikle tek bir eksen üzerinde ivmelenme ölçecek şekilde imal edilirler. Birden fazla eksende ölçüm yapılmak istenirse bu ivmeölçerler birbirine dik eksenlerde bağlanılarak ölçüm alınır.
MEMS ivmeölçerler genellikle tek bir eksen üzerinde ivmelenme ölçecek şekilde imal edilirler. Birden fazla eksende ölçüm yapılmak istenirse bu ivmeölçerler birbirine dik eksenlerde bağlanılarak ölçüm alınır.
MEMS ivmeölçerlerin bir diğer özelliği çok büyük bir ölçüm aralığına sahip olmalarıdır. Binlerce g ölçebilecek yapıda ivmeölçerler mevcuttur. Bunun karşılığında düşük g durumlarında hassasiyet azalmaktadır. Bu yüzden akselerometre seçiminde hassasiyet maksimum g ölçümü arasında uygulamaya bağlı olarak bir seçim yapılmalıdır.
Akselerometre seçiminde
dikkat edilmesi gereken noktalar;
·
Digital
veya analog çıkışlı
·
Eksen
sayısı
·
Hassasiyet
·
Bant
genişliği
·
Ölçü skalası
İvme
ölçerler ölçü skalası olarak ±
1g, ± 2g, ± 4g… gibi değerlere sahiptir. Yerçekimi
ivmesini ölçme amaçlı eğim sensörü olarak kullanılması halinde çıkış aralığının
±1.5g civarında olması yeterlidir. Çarpma sensörü olarak kullanılması halinde
(en yaygın olanı müzikal uygulamalardır) ±5g yeterlidir.
İvme
ölçer sensörlerin bir, iki ve üç eksende ölçüm yapabilen türevleri de
mevcuttur. Örneğin ADXL335 üç eksende ölçüm yapar.
Sensitivity sensörün hassaslık belirtir.
Hassasiyetin yüksek olması, ivmedeki çok
küçük değişimleri bile çok büyük tepki verir. Birimi V/g[volt/g]. Yüksek
hassasiyete sahip ivme ölçerler genellikle füzelerde, uçaklarda kullanılıyor.
Bant genişliği
:
Yavaş hareket eden bir sistemde ivme değişimlerini algılayabilmek için
bant genişliğinin 50 Hz, yüksek
hızda ise 100 Hz olması gerekir.
Bu link deki video izlemenizde yarar vardır ivme ölçerin çalışma yapısını anlamanız için.
Gyroscope(Jiroskop, Cayro)
Jiroskoplar basitçe bir tekerleğin ekseni
etrafında hızlıca döndürülmesi sonucu ortaya çıkarlar. Tekerleğin etrafındaki çembere
dik açıyla kenetlenmiş başka bir çember ve bu çemberlere dik açıyla tutturulmuş
başka bir çember jiroskopu modeller. Yandaki resimde de bu gösterilmiştir.
Jiroskopun dönmeye başladığı eksenin jiroskopun durduğu
yüzey ne açıyla oynatılırsa oynatılsın jiroskopun dönüş ekseni sabit kalır. Bu
özelliğinden dolayı uyduların sürekli olarak dünyaya dönük kalması, uçaklarda
ve çeşitli araçlarda yapay ufuk oluşturulması ve oto pilot gibi uygulamalarda
kullanılmaktadır.
Jiroskoplar basitçe bir tekerleğin ekseni
etrafında hızlıca döndürülmesi sonucu ortaya çıkarlar. Tekerleğin etrafındaki çembere
dik açıyla kenetlenmiş başka bir çember ve bu çemberlere dik açıyla tutturulmuş
başka bir çember jiroskopu modeller. Yandaki resimde de bu gösterilmiştir.
Jiroskopun dönmeye başladığı eksenin jiroskopun durduğu
yüzey ne açıyla oynatılırsa oynatılsın jiroskopun dönüş ekseni sabit kalır. Bu
özelliğinden dolayı uyduların sürekli olarak dünyaya dönük kalması, uçaklarda
ve çeşitli araçlarda yapay ufuk oluşturulması ve oto pilot gibi uygulamalarda
kullanılmaktadır.
Jiroskop
veya Cayro, yön ölçümü veya
ayarlamasında kullanılan, açısal dengenin korunması ilkesiyle çalışan bir sensördür.
Jiroskopik hareketin temeli fizik kurallarına ve merkezkaç ilkesine dayalıdır
Jiroskoplar açısal hız hesaplayan sensörlerdir. Sensörlerin çıkışından alınan değer derece/saniye[deg./s]
türünden ifade edilir. Bu demektir ki derecenin zamana göre
türevini alırsak biz açısal hızı elde ederiz.
Biz bu sensörü, bir şeyin bir eksen etrafında ne
kadar hızladöndüğünü (RPM) başka bir
deyişle açısal hızını öğrenmek için kullanırız. Yan taraftaki şekilde 3 eksen
jiyroskop için gösterilmiştir, iki eksende ölçüm yapabilen modelleri vardır. Wx,Wy ve Wz eksenlerdeki açısal hızları
verir bize.
bu eşitliğin her iki taraf
için integralini alırsak ;
elde ederiz.
. Görüldüğü gibi açısal hızdan dereceye geçiş yaptık. Yani eksenlerdeki
açısal hızı bildiğimiz taktirde açıya geçiş yapabiliyoruz fakat burada önemli
olan şu noktaya dikkat çekmemiz gerekir; Yukarıda yapılan integral işlemidir.
Biz sürekli integral alamayız. Bu yüzden sayıların toplamından yararlanırız.
Yani bu
Ts;örnekleme
periyodudur. Bu eşitlik tabi yine bize hata getirecek çünkü jiyroskop’un datası
örnekleme frekansından(Fs=1/Ts) daha hızlı değişirse biz bunu yakalamayacağız.
Ve bu toplamamın sonucu doğru çıkmayacaktır. İşte bu hataya Drift denir. Bu
yüzden bu örnekleme periyodunu doğru seçmeliyiz. Genellikle mekanik sistemlerde
bu örnekleme frekansı 100Hz ile 200Hz arasındadır.
Gyroscope,
anlık açı değişimi hesaplayabilirler fakat hareketsiz bir cisim için açısal hız
0 olacağından üretilen değer hep başlangıç değerine geri dönecektir. Yani sadece anlık o anda o eksende değişen değeri verir bize.
Bizde o değeri yani açısal hızı bilirsek, o anlık değişen açıyı bulabiliriz.
İki
eksen X,Y cayro kullandığımızı düşünelim; Vektörlerin(Rxz, Ryz), z ekseni ile yapmış olduğu açılar ise Axz ve
Ayz dir. Jiyroskop açısal hız ölçer. Bu
açısal hızı zaman ile çarparsam o açısal hızın açısını elde ederim. Çünkü
açısal hızın birimi derece/saniye‘dir.
Eğer ben zaman ile açısal hızı çarparsam dereceyi elde ederim.
t0 anındaki
açımızın Axz0 olduğunu ve t1 anındaki açımızın ise Axz1 olduğunu düşünelim. O
halde dönüş açımız;∆Q=(Axz1 – Axz0)=OkunanAçısalHız*( t1-t0) verir.
Örneğin elinizde bir eksen ölçen cayro var. Örnekleme
periyodunuz da 0.01s olarak belirlediniz. Bu sensörün çıkışında okuduğunuz değer yine derece/saniye olmayacaktır. Yine
amacımız derece/saniye elde etmek olacaktır. Bunun için sensörümüzün çıkışında
yine binary bir değer okuduğumuz varsayalım bu değeri volt türünden ifade etmek
için o sensörü kaç volt(v) ile besliyorsak ve 10 bit ADC yardımıyla okuyarsak,
binary değeri besleme gerilimi ile çarparak ve sonra 1024 bölerek gerilimi elde
ederiz. Her jiyroskobun bir offset(V) gerilimi vardır sonra elde edilen bu
gerilimi offset geriliminden çıkararak ve sonra sensörün hassasiyetine(V/deg/s) bölerek derece/saniyeye
çeviririz. Artık elimizde o tek eksene göre istediğimiz değer var. Şimdi ise bu
değeri örnekleme zamanı ile çarparak açıyı yani dereceyi elde ederiz. Bu açı
sadece iki zaman arasında açıyı verir bize. Tek eksenli jiyroskoptan sürekli
açı almak için ise; Bu iki zaman arasında bulanan açıyı, bir önceki bulanan açı
ile toplarsak toplam açıyı elde etmiş oluruz. Not: Sensörlerin ofset
gerilimi ve hassasiyetini o ilgili sensörün datasheet’in den öğrene bilirsiniz.
GyroToplamAçı = ÖncekiAçı +
ŞimdikiAçı
GyroToplamAçı=ÖncekiAçı+((GyroBinaryDeğer*BeslemeGerilimi/1024)-Offset)*0.01/Hassaslık
Bu işlemlerde idealde iyi sonuç alabilirsiniz fakat gerçek hayatta pekte bu mümkün sayılmıyor. Bunun çözümü ileride anlatacağım filtre sayesinde biraz daha iyi yapabiliyoruz
Gyroscope bir sistemi dengede tutmak için kullanılır. Uçakların cayro durum göstergeli vardır. Burada o uçağın hava nasıl konumlandığını pilota gösterir. Yani, hava da düz mü uçuyor yan mı uçuyor gibi bilgileri pilot ondan alır. Aynı zaman da cep telefonlarında da kullanılıyor uçaklarda olduğu gibi. Amacı yine uçaklarda olduğu gibi aynı dır. Cayroların bir diğer kullanım yeri ise; Quadrotorlardır. Amacı ise üç hareket ekseni olan ROLL, PITCH ve YAW eksenlerindeki açısal değişimleri ölçmek. Bu ölçülen değerler Quadrotorların mikrodenetleyicilerine gelerek orada değerlendirilir. Eğer sizin talebiniz Quadrotorun veya uçağın havada dengeli şekilde kalmasını isterseniz bu sensör size çok yardımcı olacaktır. Son olarak bu sensörler, uçakların otomatik pilot sistemlerinde ve uyduların sürekli olarak dünyaya bakabilmelerinde kullanılmaktadır.
Gyroscope seçiminde dikkat edilmesi gerekenler;
· Dijital veya analog çıkışlı
· Eksen sayısı
· Hassasiyet
· Bant genişliği
· Ölçüm aralığı
· Çalışma sıcaklığı
Ölçüm aralığı: Bu parametre maksimum ne kadar açısal hızı ölçtüğünü belirtir. Çalışma sıcaklığı: Çoğu elektronik cihaz belir bir sıcaklık arasında lineer olarak çalışır. Bu durum cayrolar içinde geçerlidir. Cayrolar için bu aralık oldukça geniş. Bu aralık genellikle; -40˚C ile 70˚C oldukça lineerliğie yöneliktir.
Gyroscope Ve Accelerometer Arasında Farklılıklar Benzerlikler
Aslında cayro ve ivme ölçerler aynı işi yapıyorlar, ikisi de hep bize matematiği kullanarak açı veriyorlar. Fakat bunu yaparken ikisi farklı şekilde yapıyor. Daha öncede bahsettiğim gibi cayrolar bize anlık açısal hızı verir. Burada şuna dikkat edin “anlık” ve sonra eksenlerde değişim yok ise sıfır olur. Bu durum ivme ölçerler için böyle değil çünkü ivme ölçer anlık değer ölçmez, her zaman çıkışlarından değer alabilirsiniz. Nedeni ise; sensör sürekli olarak yerçekimi ivmesi etkisi altında kaldığında her zaman çıkışlarından değer alabilirsiniz. Dolayısıyla yerçekimi her yerde mevcut olduğundan ivmeölçerler hareketsiz iken de çıktı üretirler. Örneğin bir denge robotunuz var ve o robot öne doğru eğilmeye başladı. Bunu iten bir kuvvettir. Kuvvet varsa ivme de vardır. Bu yüzden ivme ölçerden bir açı değişimi alırsınız ve haliyle bir eğilme olduğu için gyrodan da açı değişimi alırsınız çünkü açısal hız var eksenlerde. Fakat eğilme belli bir açıda bitti diyelim sonra kuvvet olmadığından gyroscopedan bilgi alamazsınız çünkü değişim yok fakat ivme ölçerden yine alabilirsiniz çünkü yer çekimi etkisi altında kaldığından sürekli değer alırısınız.
Kullanım farklılıkları ise; Cayrolar gemileri, torpidoları, roketleri, kameraları yönlendirmek ve stabilizasyonlarını yapmak için kullanılır. İvme ölçerler ise yerçekimi ivmesini, sismik sinyalleri tespit etmek ve titreşimleri(vibrasyon) ölçmek için kullanılır.
Gyro ve ivmeölçerler tek başlarına kullanılmaz. Genellikle birlikte kullanılırlar. Nedenleri ise şunlardır;
1. İvmeölçerler; kısa zaman da nesne üzerindeki çok küçük kuvvetler bile istenmeyen gürültüler yaratabiliyor. Fakat uzun zaman sonra bu istenmeyen gürültüler yok olup gidiyor. Yani ivme ölçerler uzun zamanda daha kararlı bilgi veriyor, kısa zamanda ise istenmeyen gürültüler oluşuyor veri üzerinde.
2. Gyroscope; Daha öncede bahsettiğim gibi bunlar açısal hız verir. Yani anlık değişimleri verir bize. Bu yüzden anlık alınan bilgiler yani kısa zamanda alınan bilgiler daha doğrudur, kararlıdır jiyroskoplar için fakat uzun zaman sonra anlık değişim olmayacağında açısal hız sıfırdır idealde. Gerçekte ise bu böyle değil, çıkış da istenmeyen gürültülere sebep olabiliyor bu durum. Kısacası gyro dataları kısa zamanda daha iyi datalar veriyor uzun zaman göre.
3. İvme ölçerler kuvvete karşı çok duyarlı olduğundan en ufak titreşimlerde dahi çok yüksek gürültüler oluşturmaktadırlar. Gyroların bu kuvvetlerden etkilenmez
İşte bu yüzden hassas iş yapmak istiyorsanız bu sensörler tek başlarına kullanılmaz. Bu yüzden bu iki sensörden alınan datalar birleştirilerek sanki tek bir tane sensör den alığımız data gibi yaparak daha net bir data alırız. İşte bu birleştirme çeşitli matematiksel formüllerle yapılır. Bunlardan bir tanesi de işte Complementary(tamamlayıcı) Filtresidir.
Complemantry Filtresi
Bu filtre jiyroskop ve ivme ölçerden gelen dataları bir arada topluyor ve bu filtrelerinin çıkışında iki sensöre göre daha kararlı bilgi alabilirsiniz. İvme ölçer ve gyro bir arada olan ve çeşitli filtreler ile gürültüyü engelleyebilen gelişmiş sensörlere IMU adı veriliyor. Örneğin 3 eksen ivme ölçer ile 2 eksen cayroyu bu filtreye veya buna benzer filtreler ile bir araya getirirsek buna 5DOF(Degrees of Freedom) IMU diyoruz.
Yukarıdaki şekil-1 ve şekil-2 deki mavi sinyal ivme ölçerin datasından alınan datayı gösterir. Dikkat ederseniz şekil 2 de ivme ölçerden dolayı gürültüler oluşmuş fakat kırmızı sinyal ise bir filtre yardımıyla cayro ve ivme ölçer birleştirilerek oluşturulmuş. Bu sinyalde ise mavi sinyale göre daha kararlı bilgi alınmıştır.
Complementray filtresi hem
yüksek geçiren bir filtre hem de alçak geçiren bir filtreden oluşur. Bu
filtrenin amacı; Kısa zamanda biz Gyroscope datasını kullanırız çünkü o kısa
zamanda daha kararlı bilgi veriyor ve dış kuvvetlerden etkilenmiyor, uzun
dönemde ise ivme ölçerlerin datasını kullanırız çünkü kısa dönemde ivme ölçerin
çıkışında gürültüler oluşuyor. İşte bu filtre bu seçimi yapmamıza yarayarak
sensörleri düzenli şekilde kullanmamızı sağlıyor.
Alçak geçiren filtre kullanılmasının amacı uzun-süreli değişimlere izin verip kısa-süreli dalgalanmaları filtrelemektir. Yüksek geçiren filtrenin görevine değinecek olursak yüksek geçiren filtre alçak geçiren filtrenin tersi olarak çalışır. Kısa süreli sinyallerin geçişine izin verirken durgun sinyalleri filtreleyen bir filtredir. Jiroskoplarda ölçümlerin doğruluğunu etkileyen en önemli faktör kayma oranı (drift rate) idi. Yüksek geçiren filtre kaymaları elimine etmek için kullanılır.
Filtreli Açı = a × (Gyro Açısı) + (1 − a) × (Accelerometer Açısı)
t=(a*Ts)/(1-a) ve (Gyro Açısı) = (Önceki Gyro Açısı) + ω×Ts
Ts: Örnekleme periyodu, her bir program döngüsü arasında geçen zamandır. Eğer örnekleme oranı 100Hz ise örnekleme periyodu 0.01sn dir,
a: Bu kat sayısı alçak geçiren ile yüksek geçiren filtreyi ayırt etmemize yarar. Genellikle 0.96 veya 0.98 gibi kat sayılar seçilir.
t: Zaman sabiti. Örneğin; t=(a*Ts)/(1-a)=(0.98*0.01)/(1-0.98) =0.49 bu sonuç jiroskoplara ve ivmeölçerlere güvenilecek sınırları ifade etmektedir. Ve şunu ifade etmektir; Yarım saniyeden kısa periyotlar için jiroskop verileri önceliklidir ve gürültülü ivmeölçer verileri filtre edilmektedir. Yarım saniyeden uzun periyodlar içinse ivmeölçer verileri jiroskop verilerinden daha önceliklidir.
Şimdilik bu sensörler ve bu filtre hakkında yazacaklarım bu kadar. Her insanda olduğu gibi yanlışlarım olabilir. Eğer yanlış bir şey görürseniz veya aklınıza ters düşen bir şeyler görürseniz bana mesaj atarak bunu sora bilirsiniz. Umarım sizin için yararlı olmuştur…
HAKAN AYDIN
ELEKTRONİK VE HAB. MÜH.
YILDIZ TEKNİK ÜNİVERSİTESİ
Kaynaklar
1) ADXL320 İVME SENSÖRÜ İLE DİJİTAL SU TERAZİSİ TASARIMI/Yavuz EROL, Murat SERHATLIOĞLU/Fırat Üniversitesi
9) OTONOM ARAÇLAR için ATALETSEL NAVİGASYON SİSTEMİ GELİŞTİRİLMESİ
10) http://recepkaratas.com/2014/04/05/tamamlayici-filtre/