Kontrol sorusu (sinyal isleme)

Başlatan z, 09 Temmuz 2013, 22:03:38

muhittin_kaplan

#15
markov counter,
Bir sistemde nesnenin gerçekliğini sınamak için kullanırdık.
123,234,345,456 ileri,geri sayardı. (değiştirilebilir) bir önceki durum hep gözlenirdi. (bu sayılar değişebilir 2 ileri 1 geri yada 3 ileri 2 geri)
buradan yola çıkarak
3 lü bir dizi tanınanark ölçülen bu Analog değerlr buralara aktarılır.birer kaydırarak devamlı en üste yeni ölçüm konularak bir filtre/ortalama algoritması ile izlenir.eğer sonuç artıyorsa şunu düşüyorsa bunu yapar.

(olmadı mı ?)

kralsam

@z hocam Selamlar,

Öncelikle sinyal seviyelerini bizimle paylaşabilirsen daha tutarlı fikirler çıkarabiliriz. Aklıma gelen yöntemleri şöyle sıralayalım;

1.) Gürültü ve sinyalin frekans bileşenlerini aynı zamanda genliklerini görüp ona göre low pass yada band pass filtre ile sorunu çözebiliriz.

2.) Gürültü Frekansının büyük olduğunu düşünerek sayın @diot 'un söylemiş olduğu diferansiyel ADC kullanabilirsin hocam. Yüksek genlikleri büyük oranda törpüler. ADC çevrim hızı ile örneklenen sinyaldeki gürültüyü artırıp azaltabilirsin. Resimden esinlenebilirsin hocam. (Örnekleme kısmına Delta modülasyon deniyordu sanırım)


z

Evet temel fikir sinyali filitreleyerek gürültünün olumsuz etkisini azaltmak ve ardından eğime bakmak.

Sorun sadece sensorden gelen sinyali değerlendirmek değilmiş bunu farkettim.

Bir solenoidim var. Solenoid mikroişlemci tarafından enerjileniyor ve çekici şak şuk şeklinde hızlıca cektirmeden hareketin rampa şeklinde olması sağlanıyor. Bu amaçla çekiç pozisyonu bir sensorle okunuyor ve solenoide uygulanacak voltaj an ve an ayarlanıyor.

Solenoidin pozisyon kontrolu

Eğer solenoid çekici elektromagnetik etki ile itilirken mekanik bir engele rastlar ve zorlanırsa zolenoid voltajının derhal kesilmesi gerekiyor.

Buradan yola çıkarak solenoid pozisyonunu ölçen sensor, artan bir sinyal üretiyorsa çekiç ilerliyor, yok artmıyorsa bir engele çarpmış yorumunu yapıyorum.

Ortamda pwm ile sürülen pek çok motor ve soleoid olduğundan sensor sinyalim gürültü içeriyor. Çok kanallı okuma yapan ADC de diğer kanalların voltajlarından olumsuz etkilendiği için sensör sinyali gürültü içeriyor.

Hem solenoidi kontrol eden yazılım hem de engel algılama yazılımını beraberce çalışacak şekilde iyileştirmem (sistemi akıllı davranacak şekilde tasarlamam gerekiyor.)

Yani amaç: Solenoid çekici bir engelle karşılaşıncaya kadar yavaşça ilerlesin ancak engele zarar vermeden dursun.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hasankara

engel algılandığında ki tahmini bir grafik nasıl çizebiliriz? anladığım kadarı ile videoda konum-zaman grafiği elde ediliyor. engelle karşılaştığı durumda dediğiniz gibi hızı azalan ama konumu artan aralığı yakalayan bir fonksiyon elde etmeye çalışıyorsunuz. bu grafiğin örneklenmiş hali üzerinde filtre yaptığınızda engel olmasa dahi bahsettiğiniz aralık gibi davranabilecek aralıklar la karşılaşabilirsiniz. o yüzden algoritma esnek olması gerekiyor. benim önerdiğim algoritma ile bu işi çözebileceğinizi düşünüyorum. ancak sensör hassasiyeti işi yokuşa sürecek gibi.

z

#19
Solenoid normalde benim uygulamamdaki gibi yumuşak hareket etsin diye tasarlanmış bir malzeme değil. Voltajı verince çekici çeker voltajı kesince de yay etkisi ile çekiç geri gelir.

Çekiç son derece boşluklu bir yatak içinde hareket ediyor. Çekiç ile nüve mekanik temas halinde ve oluşan sürtünme her zaman aynı değil. Dolayısı ile çekiç hareketini rampa şeklinde yapmak sıkıntılı. Engel algılama yazılımı özellikle de gürültülü sensor bilgisinden dolayı kolayca hatalı karar verebiliyor.

Normal şartlarda bu uygulamada solenoid değil voice coil kullanmak gerekiyor. Ancak bu durumda fiyat bir anda katlanıyor.

Bu uğraş paralı bir proje için değil, tamamıyle zaman değerlendirmeye yönelik olduğu için sorunu solenoid ile çözmeye çalışıyorum.
Pozisyon ölçmek yerine çekiç hızını ölçerek sevo kontrol yapmak sorunları azaltacak gibi görünüyor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kralsam

Hocam akımı ölçmeyi denesen çok mu geciktirir? Tepkiyi daha hızlı görmezmisin o şekilde? Tabiki kalkış ve duruş seneryolarını düşünerek karar vermelisin.

pisayisi

#21
selonoid sürekli değişen miktardaki  zorlamalara maruz kalmıyor ise, geribesleme direnci üzerinde oluşacak olağan dışı artışlar sistemin zorlandığı noktaları bulmaya yardımcı olurken, filtreleme ve türev sonucunda elde edilen hata verebilen çıkışla birleştirildiğinde mevcut sistem de iyileştirme sağlanabilir...
Murat

RaMu

#22

bu şekilde sensör konumunu okuyan sensörden,
fare tekerleği imiş gibi bir sinyal alınarak,
sinyalin birde geciktirilmiş hali alınarak,
iki girişe uygular sorunu çözeriz diye düşünüyorum.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

z

karsi karsiya oldugum sistemlerin tasariminda enbuyuk sorun gurultudur. Bir yukaridaki gibi tasarimlar tertemiz sinyaller sozkonusu oldugunda is gorur.

Iste sikca duydugumuz sinyal isleme deyimi bu tip problemlerin cozumunde kullanilir.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

pisayisi

Hocam muhakkak sinyal işleme bu uygulamada lazım ancak ideal rampa işaretinizin üstüne binen gürültü işaretini modellediniz mi bu modelleme yapıldı ise sonraki adıma geçmek sağlıklı olabilir.Bu gürültü neyden kaynaklanıyor önce bunu kavramak ve gürültüyü kaynağında bertaraf etmek lazım. Sinyal işleme kavramından önce MOdelleme ve Sistem Analizi gibi kavramları öğrenmek gerek...
Murat

z

Bu gurultuden kurtulmamin yolu yok. Varsa da bu saatten sonra ugrasamam.

Sensor kablolari motor kablolari ile yanyana 30cm kadar birlikte gidiyorlar.

8 ADC kanali en yuksek hizda donusum yapiyor. Adc girislerim cok dusuk empedansda degiller. Tum bunlar bir araya gelince gurultu de olusuyor.

Bugun rampa sinyalini degerlendiren kodlarimin istedigim gibi calistigini test ettim. Artik bu kisimdan yana kesinlikle sorun kalmadi. 128 adet sample alip bunlarin toplaminin bir onceki 128 sample toplamindan buyuk olup olmadigina bakmak gurultunun etkisini yok etti.

Solenoid pimini rampa seklinde ietekleyen kodum da kendi basina duzgun calisiyor. Ancak ikisi birlikte calistiginda sorun olusuyor. Solenodin rampalama yaptigi fonksiyonu iyilestirmem gerekecek.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kralsam

Alıntı yapılan: z - 11 Temmuz 2013, 00:25:54
Bu gurultuden kurtulmamin yolu yok. Varsa da bu saatten sonra ugrasamam.

Sensor kablolari motor kablolari ile yanyana 30cm kadar birlikte gidiyorlar.

8 ADC kanali en yuksek hizda donusum yapiyor. Adc girislerim cok dusuk empedansda değiller. Tum bunlar bir araya gelince gurultu de olusuyor.

Bugun rampa sinyalini degerlendiren kodlarimin istedigim gibi calistigini test ettim. Artik bu kisimdan yana kesinlikle sorun kalmadi. 128 adet sample alip bunlarin toplaminin bir onceki 128 sample toplamindan buyuk olup olmadigina bakmak gurultunun etkisini yok etti.

Solenoid pimini rampa seklinde ietekleyen kodum da kendi basina duzgun calisiyor. Ancak ikisi birlikte calistiginda sorun olusuyor. Solenodin rampalama yaptigi fonksiyonu iyilestirmem gerekecek.

Hocam büyük ihtimal denemişsindir ama ben hatırlatayım istedim.
1- Sistemi kurarken farklı timer modülleri ile mi kurdun? (Processler birbirini kesiyor gibi.)
2-İkisini bir timer ile yapmayı denedinmi?

İyi çalışmalar.