Şimdi Ara

adc de 5us de bir ornekleme yapmak

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
46
Cevap
0
Favori
2.380
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 123
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • selamlar
    ben possitif yarim dalga boyu 40 us iel 300 us arsinda degisn bir dalganin seklini cıkarmak istiyorum.
    dalganin tekrar frekansi 100hz.
    anlasilcagi gibi uzun bir bekleme suresi var.
    bu dalgadan 5us de bir voltaj okumak istiyorum.

    bunu nasil yaprım.
    adc0820 yi buldum 1.5us de 8 bit ceviriyor fakat max.3 khz. diyor.

    16f877 de ise bit basinia 1.6us gerekiyor 12Tad da cevrimi tamamlar diyor buda yaklasik 20us demek.
    bana nasil bir uygulama tavsiye edersiniz.
    bu arada bir amatorum.
    onun icin elektronik muhendis arkadaslar her turlu fikrini ve onerisini soylesin lutfen.



  • Valla senin iş zor. Biraz acaip bir fikrim var 18f işlemcilerde 100k örnek/saniye hızına ulaşılabiliyor. 2 tane 18f işlemciyi aynı saat kaynağına bağlı olarak paralel çalıştırsan diyelim, ikisinde de aynı program çalışıyor olsun. Ama bir işlemci saat kaynağına şu şekilde bağlı olacak: Bir sayıcı devre ikinci işlemcinin saatini bir defalığına 5 uS bloke edecek. (Bunu saat kaynağı kararlı hale ulaştıktan ve işlemciler aynı anda resetlendikten sonra yapmalı) Bundan sonra ikisi 10'ar uS arayla ölçüm yaparken elde edeceğin çözünürlük 5 uS olacak. Bunlar da ölçüm sonuçlarını 3. bir işlemciye aktarıyor olsun işte ne demek istediğimi anlamışsındır.

    Yukardaki fazla zorlama oldu. Şöyle de olabilir, biri ölçüm yapmadan hemen önce diğerinin kesmesini tetiklerse, tetiklenen işlemci kesme içinde ölçme yapana kadar 5 uS vakit geçirirse yine olur, ama bunun için assembly kullanman şart.




  • ADC + PIC kullanarak dha bastinden yapmam mumkun degil mi.
  • bu arada 18f serisinin kataoguna baktim.
    bastan diyeyim ben amatorum elektronik egitimi almadim.
    orada da Tad=1.6us bit basian gerekli ibaresi var.
    yani cevrimin dogru olabilmesi icin bu sureyi minimun oalrak sart kosuyor.
    aynisi 16f877 serisinin katalogundada var.

    sen bunun 100k ornek/saniye hizina cıktıgını nerden anliyorsun.acaba kataloga mi yanils bakiyorum.

    bana ogretirmisin lutfen.
  • Doğru bakıyorsun da 18f'lerin 40 MHz'de de çalıştırılabileceğini hesaba katmıyorsun.
  • abi peki soyle olmas mi
    16f877 de 20 mhz de 10us de bir ornek alamaz mi


    birde bu Tad denen seyi daha hizli ornekleme icin 18f de 40mhz de olsun ,nasil ayarliyoruz.
    bu asagida ki parametreler, kristal secimi, kristalin yanidaki piko farad lik capasite degerleri falan nasil seciliyor.

    DEFINE ADC_BITS 6
    DEFINE ADC_CLOCK 3
    DEFINE ADC_SAMPLEUS 5

    birde adc ceviricide 10bit den misse ben bu 10 bitin hepsini kullanmak zorundamiyim.
    877 icin yukaridaki gibi 6 bit kullanabilir miyim.hizi arttirmak amaciyla bir faydasi olurmu
  • Meseleyi biraz daha ayrıntılı inceledim, malesef şartlar çok daha kötü.

    100000 örnek/saniye, yokmuş öyle bişey emindim halbuki Rüyamda gördüm belki

    Tad meselesi ise, onun için de üzgünüm yine yanlış bilgi. 1,6 uS pic18f'lerde de aynı. Senin hesabında yaklaşık 50 k örnek çıkınca, ben de pic18f'ler 100k yapıyor diye zannedince öyle salladım işte..

    Go/done biti set edildikten sonra ilk olarak kondansatörün şarj olma olayını da içeren bir hazırlık aşaması var. Bu ölçüm yapılan devrenin en düşük empedanslı durumunda bile 11 uS sürüyor (50 ohm), empedansın 2,5 kOhm olduğunu varsayıp bu süreyi 13 uS olarak varsayalım.

    Ondan sonra işte Tad hikayesi başlıyor. 10 bitten daha az çözünürlükler için teorik olarak daha kısa sürede ölçüm yapmak mümkün. Bu entegredeki ADC "successive conversion" denilen bir teknik kullanıyor. Özetle ilk Tad süresinde şarj olmuş kondansatörü önce en yüksek bit için test ediyor (diyelim ki 5 volt referansta test edilen 2,5 volt), eşit veya daha büyükse o biti set ediyor ve bit set edilmişse o gerilimi çıkartıp sonucu sonraki bit için 1,25 ile test ediyor vs vs. Bu durumda misal 5 bitlik ölçüm yapacaksan o zaman ilk 5 Tad adımını Tad süresini minimuma ayarlayarak (Tosc/2) atlayabilirsin ama hazırlık evresinin belirsizliği yüzünden bu bana çok zor göründü, dahası hazırlık evresini kısaltmak mümkün değil ve en iyi ihtimalde 5 bit için toplam 20 uS'ye bile ulaşmak hayal. Yeni bir ölçüm için go/done biti'nin sıfırlandığını gördükten sonra en az 2 Tad süresince beklenmeliymiş.

    Bu durumda sana sağlam bir ayrık ADC şart gibi görünüyor. Bu entegreler çok pahalı diye biliyorum o yüzden hiç bahsetmemiştim. Yanlış bilgi için tekrar özür.. Uygun bişeyler bulursam burda haber veririm.




  • emin misin amatör olduğuna.

    aslında konu sadece A/D değil. A/D değerini bir yerlere de yazmak gerek bunun için geçen sürede böyle bir uygulama için hatırı sayılır nitelikte.

    benim fikrim şu:
    elinde belli bir frekans aralığında tekrarlanan bir işaretin ve yavaş bir A/D çeviricin var diyelim. bu işaretin 0 geçiş noktaları arasındaki süreyi bulabilirsen yavaş A/D nin pekde bir önemi kalmaz çünki işaret tekrarlanıyor sadece belli zaman aralıklarında kaydırmalı olarak okuyabilirsen yüksek frekanslarda hatalıda olsa en azından dalga şekli hakkında bilgi edinmiş olursun.

    datasında yazan acquisition time hesabınada fazla güvenme bu hesap en iyi ihtimal hesabıdır.

    veya ben sana daha güzel bir yöntem söyleyeyim girwww.analog.com a en hızlı A/D yi sample olarak iste. isteyenin bir yüzü vermeyenin 2 yüzü misali...




  • ben adc 0820 ye bakmistim
    3khz frekans sinirlamasidiye birsey okudum.
    bana sacma gibi geldi.ne oldugunuda anlamadim.
    ama alet 1.5us de 10 bit i ceviriyor.hemde 10 ytl civarinda.
    adc820 +16f877 ile bu olucm olmas mi ki
    adc den 877 ye paralel baglayip veriyi 877 de degerlendirsem.
    yada senin kasteddign adc ler hangileri
    hizi yuksek fiyati dusukler var ama frekans sinrlamasi olayi beni sasirtti acikcasi.
    elektronik egitimi almamiyinnca olaya pekte giremedim.
  • hocam benim sinyal sabit degil
    dedektor devresindeki alici antenden gelen sinyali incelemek istiyorum.
    gelen sinyalinde dalga boyu metal cinsine gore 60us ile 270 us arasinsda degisiyor.
    hedefin belrisiz oldugunu dusununce demek istedigini yapamiyorum.

    bu forumda bi arkadasimiz benzerinei yapti.o 20us de ir ornek aldigini soyluyor ama bu data sheet verilerine gore ben nasil yaptigina anlam veremiyorum.

    kesinlikle amatorum.yani elektronik egitimi almadim.ama muhendisim
  • 20µs de bir örnek aldığını sanıyordur.

    anlattıklarına göre external A/D sana şart görünüyor. verdiğim adrese bir göz at istersen...
  • adc0820 oldukça yeterli imiş. 3 kHz max diye okuduğunu ben de gördüm, örnek devrelerden birinde telefon sesinin çevrilmesi için bişeyler var, beklenen sinyal 3 kHz max diyor o başka hikaye ona kafayı takmaya gerek yok.
  • Merhabalar
    20uS'de örnekleme alan benim Hocam sen öyle diyince yaklaşık 9 aylık projemi demin tekrar çalıştırarak baktım ama harbiden 20uS'de bir örnekleme alıyorum. Bir video hazırlıyorumbiyere kaybolmayın



    < Bu mesaj bu kişi tarafından değiştirildi Uykusuz. -- 10 Haziran 2007; 22:00:35 >
  • You tube' bir türlü uploat işlemini yapamadım ben de buradan dosyayı gönderdim. Video mp4 formatında.

    time/div 50us'de ekranda 300us lik bir periyot görünüyor. ilk başta dedektöre bakır yaklaştırarak sinyalin ilk yaklaşık 150us'sini kaldırıyorum sonra da gümüş yaklaştırarak yaklaşık 300uS'sini kaldırıyorum

    http://www.youtube.com/watch?v=GfEugOM0eVE
    http://www.savefile.com/files/797910



    < Bu mesaj bu kişi tarafından değiştirildi Uykusuz. -- 10 Haziran 2007; 23:25:46 >




  • video icin ellerine saglik.
    fakat her ne kadar 20us de bir ornekleme aldigini soylesende.ki bunu yazilimda slocki ayarlayıp periyod kaydirark yapmak zorundasin.

    buna ragmen 1.5us icinde 10bit cevrimi tamamlayan adc kullanmadiktan sonra 20 us de bir olcum yapamazsin.
    cunki 12Tad gereken bir islemci 18 us de islemi tamamliyorki.
    isleme basladigi an ki ve islemi bitirdigi anki voltaj farkli yani alet nerden tutturabilirse ordan son noktayi okumak durumunda kaliyor. bu da senin yaptigin grafik icin yeterli fakat benim yapmak istedigim grafik egrisini tam olarak cıkarıp altindaki alani belli us aralıklari icn integre etmeye yeterli degil.
  • bar graph olarak pek bişey anlaşılmıyor. A/D nin aldığı değerleri kaydedip excel gibi bir programa aktardıktan sonra çizdirmek gerek. acaba gerçekten scope da görülen eğrimi çıkacak. eğer görünen eğri çıkıyorsa 20µs doğrudur...
  • abi ben 20 us ye itiraz etmiyorum.onu 18us de cevrimi tamamlayan 8777 ile kabul ediyorum.her nekadar proteusta gariplik olsada.
    ama ben 5us a indirmek istiyroum.
    hem israr ediyorumki hizla degisen bir grafikte 20 us buyuk bir deger.olcume baslanan yerle olcum bitisinde oolculen degerler farklilik arz edecektir.
  • ya dur şimdi konuyu değiştirme. PIC i yeniden keşfediyoruz şurda. senin sorun çözüldü zaten external A/D lazım. 5µs olayını da unut artık...
  • Devre sanırım skoptan gürültü aldığından bar grafiklerde biraz oynamalar var. Biraz da kameram kötü :( ölçümü tek periyotta yapıyorum. İlk sinyalin ilk başındaki kalkık kısmı çıkarma işlemi yaparak sıfıra indiriyorum. Çıkarma işlemi yapmadan önce skoptaki sinyalin aynısını ekranda alabiliyordum.

    İlk başta zamanlamayı ayarlarken her adc işlemi sonunda bir pinden pals veriyordum. İki pals arası 20uS olacak şekilde ayarlama yapmıştım. Kristalim 20mhz. Kullandığım pic 16f873.
  • liu kang hocam adc 820 yeterli imis demis.

    baska sevdigim bi arkadasimda
    soyle demis
    yes you are right. ADC0820 is an old product and is really similar to internal pic16f877 adc...but just 8-bit and one channel: most important--> it's too slow to be used here.
    I post to you some links where you could realize how to implement adc using external (newer) components:

    bu durmda benim kafa biras karisti. sen bu adc 820 ye ne diyorsun. bu hizda ornekleme yapabilirmi.
    yada senin dedigin gibi programda periyod kaymasi ile olusturacagim bir clockla adc820 yi kontrol edebilirmiyim.bu durmuda istedigim noktalardan voltaj olcumu mumkun mu.
    external adc dedigin bu mudur
  • 
Sayfa: 123
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.