Gönderen Konu: Pulse'da örnekleme hakkında.  (Okunma sayısı 14433 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı poke53280

  • Usta
  • *****
  • İleti: 38
  • Bu ülkede, milletden daha güçlü olanı yok!
Pulse'da örnekleme hakkında.
« : Ocak 28, 2017, 01:01:47 ÖÖ »
Selam aleykum arkadaşlar,



Pulse dedektörde metal ayrımını yapabilmek için en az kaç noktadan örnek alınmalı/alıyorsunuz_?

1 pulse'ın sadece 2 noktasından alınan ölçüm bize yeterli bilgiyi verir mi/veriyor mu, yoksa örnek alınan noktalar fazlalaştıkça metal ayrımı konusunda daha çok hassasiyet/doğruluk kazanabilir miyiz_?

Mesela 10 noktadan ölçüm alırsak ve değişmeleri bu 10 noktaya göre yorumlarsak daha iyi ayrım yapabilir miyiz_?

Osiloskobun başında uzun süre bu pulse'ı izleyen arkadaşlara özellikle sormak isterim. :)

Çevrimdışı pro-TR

  • Global Moderator
  • *****
  • İleti: 95
  • en iyi bildiğim hiç bişey bilmediğimdir.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #1 : Ocak 28, 2017, 01:10:33 ÖÖ »
bu resim ve osilaskop görüntüsü midemi bulandırıyor dersem kabalık etmiş olmam umarım. sorunuzun cevabına gelince ayrım için ne kadar çok farklı noktadan örnek alabilirsen o kadar ayrımın netleşir. ancak örnek alınan noktaların değerlendirilmesi de çok önemlidir. size bir püf noktası daha söyleyeyim alınan örneklerin süreleri, okuma süreleri ve zamanlamalarıda çok önemlidir. şöyle ki basit 10 bit bir adc okuması 10mhz lik bir kristalle min. 16uS civarındadır (adc interrupt yapılmazsa) oluşan sönüm eğrisi ise 30-50uS arasındadır, şimdi 3v dolaylarında 20.uS ta aldığın bir örneği okuma bittiğinde 0v dolaylarına ulaşmış olur yani okuduğun sinyal dik kenar üçgenin hipotenusu bunu aklının ucuna yaz.

Çevrimdışı cepni_84

  • Usta
  • *****
  • İleti: 65
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #2 : Ocak 28, 2017, 01:20:25 ÖÖ »
ne kadar çok örnekleme alınırsa okadar kaliteli ölçüm yapmış oluruz diye düşünüyorum.

Çevrimdışı hidayet

  • Asteğmen
  • *
  • İleti: 24
  • zaman herşeyin ilacıdır.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #3 : Mart 30, 2017, 02:12:21 ÖS »
Sayın pro-TR usda bilgi ve tecrübeleriniz bizlerden çok fazla o yüzden öncelikle sizin şahsınızı tebrik ediyorum, usda şimdi bu örnekleme alınan ilk pals ve peşinden gelen ikinci pals arası boş zamanda örnek 250hz için 4ms, 50us pals + 50us sönüm eğrisi ADC bilgi okuma geri kalan 3900us boş zamanda değerlendirme,analiz oluyor, ama analiz sonucunu GLCD ekrana yazdırayım deyince ip kopuyor, 3900us falan yetmiyor GLCD chipin çok zamanını alıyor, ne yapmam gerekiyor yardımınızı bekliyorum.

Çevrimdışı pro-TR

  • Global Moderator
  • *****
  • İleti: 95
  • en iyi bildiğim hiç bişey bilmediğimdir.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #4 : Mart 30, 2017, 08:53:35 ÖS »
Linkleri goremezsiniz. Kayit Olun veya Giris Yapin
Sayın pro-TR usda bilgi ve tecrübeleriniz bizlerden çok fazla o yüzden öncelikle sizin şahsınızı tebrik ediyorum, usda şimdi bu örnekleme alınan ilk pals ve peşinden gelen ikinci pals arası boş zamanda örnek 250hz için 4ms, 50us pals + 50us sönüm eğrisi ADC bilgi okuma geri kalan 3900us boş zamanda değerlendirme,analiz oluyor, ama analiz sonucunu GLCD ekrana yazdırayım deyince ip kopuyor, 3900us falan yetmiyor GLCD chipin çok zamanını alıyor, ne yapmam gerekiyor yardımınızı bekliyorum.

estf. ben çok bilgili sayılmam belki biraz tecrübem vardır hepsi o  kadar,sizin sorununuz bence herşeyi tek pals olarak düşünmekten geçiyor kabaca mantık hatası diyelim. herneyse;
çözüm bu noktada 2 türdür.
1. çözüm bahsettiğiniz örneklemeleri vs yaptırdıktan sonraki kalan kısımda ekrana print işlemlerini parçalara bölerek sıra ile yaptırmak
2. çözüm ise örneklemeleri vs işlerinizi interrupt içinde yapmak, ana döngüde de ekran vs diğer işlerinizi yapmaktır.

Çevrimdışı hidayet

  • Asteğmen
  • *
  • İleti: 24
  • zaman herşeyin ilacıdır.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #5 : Mart 30, 2017, 09:56:35 ÖS »
tarifiniz için çok teşekkürler usda, void main() ana program içinde While sonsuz döngü içinde tanımladığım 2 fonksiyon var , 1-ADC oku- 2- analizyap ile glcd pirint var, şimdi burdan glcd print işllemleri cıkarıp, ayrı bir fonksiyondamı belirtmem gerekiyor, çok uğraştım kafam şişti saçmalamaya başlamış olabilirim.

Çevrimdışı pro-TR

  • Global Moderator
  • *****
  • İleti: 95
  • en iyi bildiğim hiç bişey bilmediğimdir.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #6 : Mart 31, 2017, 12:40:18 ÖÖ »
bazen motorlara fazla yüklenmemek lazım, yoksa benim hesap sıyırırsınız, şimdi size basit bir algoritma örneği vereceğim.

diyelim ki print işlemlerim şunlar olsun;
1- akü oku ve ekrana yaz
2- menu ve tuş kontrolü yap veya menü işlemleri
3- bargraph print et

şimdi void main() programına bir sayaç belirliyorum ve her döngüde +1 yapıyorum, yani bir artırıyorum ve her sayaç değerinde bir işlem yapıyorum. c dilinde nasıl olur tam bilmiyorum ama; basic dilinde yapacak olursak;

Kod: Linkleri goremezsiniz. Kayit Olun veya Giris Yapin
void main:

'adc okuma işlemlerim
inc sayac
if sayac =1 then 'eğer sayac değerim 1 ise
'akü adc sini oku ve print yap
endif

if sayac = then 'eğer sayac değerim 2 ise
'buton kontrolü ve menu işlemlerini gerçekleştir
endif

if sayac =3 then 'eğer sayaç değerim 3 ise
sayac =0 'sayacı sıfırla ki başa geri dönsün
'herhangi bir glcd işlemimi gerçekleştir
endif

'burada kaç işlem yapacaksanız o kadar uzatabilirsiniz ben örneği 3 tane tuttum siz dilerseniz daha fazla tutabilirsiniz



umarım işinize yarar

Çevrimdışı hidayet

  • Asteğmen
  • *
  • İleti: 24
  • zaman herşeyin ilacıdır.
Ynt: Pulse'da örnekleme hakkında.
« Yanıtla #7 : Nisan 02, 2017, 06:49:47 ÖS »
pro_TR ilgilediğin için çok teşekkür ederim saol varol, sorun ayrıca glcd kütüphane dosyasıda, glcd kütüphane dosyası genel bir kütüphane olduğu için kaynaklanıyormuş öce glcd kütüphanesi özelleştirmem gerek.