Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Kontrol Teorisi - Matematiği => Konuyu başlatan: zengdai - 13 Temmuz 2014, 03:38:59

Başlık: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: zengdai - 13 Temmuz 2014, 03:38:59
Merhaba arkadaşlar,
Pusulayı 0 ra sabitleyip saat yönünde çevirmeye devam ettiğimde 360 dan 0 geçmesin. Eklemeye devam etsin istiyorum. Bunu nasıl yapıcam bir türlü çözemedim. :-\  Yardım ederseniz sevinirim!
Selametle.
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: z - 13 Temmuz 2014, 07:07:55
Miknatisli mekanik pusuladan mi bahsediyorsun?
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: zengdai - 13 Temmuz 2014, 07:20:43
Hayır hocam elektronik compass sensöründen
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: Kabil ATICI - 13 Temmuz 2014, 11:36:10
Değerlendirme programı 360 derece için yapıldığı için, ek bir tampon bellek açıyorsun. Yani bir değişken. Pusulanda 360-0 geçişini veya 0-360 geçişini kontrol edeceksin. 360-0 geçişinde değişkeninin değerini 1 artıracaksın.

Buna göre

bunu basitçe
pusula_sonuç;=0;
pusula_değer =0;
pusula_değer_yeni=0;
donus=20; //normalde sıfır yapmak gerekir ama ters yön olayı nedeni ile değeri 20 yaptık.(artırılabilir)


if (pusula_değer==360)
if (pusula_değer_yeni==0)
{
donus++;
}
if (pusula_değer==0)
if (pusula_değer_yeni==360)
{
donus--;
}

pusula_değer=pusula_değer_yeni;
if (donus==20)
{
pusula_sonuc=pusula_değer;
}

if (donus==21)
{
pusula_sonuc=pusula_değer+360;
}

//ters yöndeki hesabı kendin halledersin. Gördüğün gibi 360-0 geçişi olduğu gibi 0-360 geçişide var.(ters yön)
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: mufitsozen - 13 Temmuz 2014, 11:49:04
nicin boyle bir sey yapmak istiyorsunuz?

Amacinizi yazarsaniz sizin akliniza gelmemis bir cozumde onerebiliriz.
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: zengdai - 13 Temmuz 2014, 12:18:35
Hocam takıldıgım noktayı alt konularda sormuştum ama herhalde derdimi tam anlatamadım ki yanıt veren olmadı.
Pusulanin çıktıklarına kalman filtresi uygulayıp öyle kullanıyorum. Bunu bir otopilot uygulamasında kullanıyorum. varış noktası açısı 0 veya 360 dereceye yakın olduğu zaman değer arası atlamalarda kalman filtresi bunu aradaki bir değer olarak atıyor buda aracın etrafında dönmesi ne sebep oluyor. Allah tan test aşamasında programın açığının olduğunu farkettim yoksa yanardım.
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: Kabil ATICI - 13 Temmuz 2014, 12:38:26
Önce-sonraki değer uygulaması yap 360->0 geçişinde özel şart olarak incele ve ne yapması gerektiğini sen belirle. Hatta bunu bir değer aralığı olarak tanımla. Program sadece senin verdiğin duruma göre hareket ediyor. Yani aralık olarak 300->0 olabilirse (300:360)->(0:50)  olarak ele alınabilir.

Programını bilmiyorum, büyük ihtimalle büyük küçük karşılaştırmasına göre ele alıyorsun, özel şart olarak bu geçişi sen belirlersen çarkı tamamlarsın.
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: zengdai - 13 Temmuz 2014, 12:55:05
Ambar hocam, bu yöntemi uyguladım çok şık sonuçlar vermiyor. Biraz bilimsel yayınları taradım grafiklerinde  eksi 70 gibi değerler var. Yani başta bahsettigimiz yöntem. Ama elimde bir gyro olsaydı  problemi rahatlıkla atlatırdık. Yanlış mıyım?
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: muhittin_kaplan - 13 Temmuz 2014, 13:00:15
Ucaklara bas verirken ucagin o anki durumu 0 kabul edilir. Ornegin grcek kuzeyde olan cihazimiza 15der bas verdigimizde ucak dondugunde orasi 0 dir. Siz 180 den kucukse cw 180den buyukse ccw yapacaksiniz
Başlık: Ynt: Pusulayı çevirmeye devam ettiğimde 360ın üstüne eklesin yani 2 turda 720?
Gönderen: zengdai - 13 Temmuz 2014, 13:18:21
Hııım! Buda kulağa hoş geliyor  ;D