Şimdi Ara

Faz Kaydırma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
2.473
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Merhaba

    Ne5532 ile yapmış olduğum faz kaydırma devrem vardı ancak bugünkü testlerimde istenilen çıkışı alamadım. sin girip sin çıkış alamadım. kare dalga veriyor. bende düşündüm ki bunu pic te nasıl yapabilirim?

    16f877 için konuşursak 1kHz lik sinyalim ADC ile girdikten sonra işaretin fazını 180 derece nasıl kaydırabilirim, çıkışım tekrar analog olacak...


    180derecelik faz kaydırmak istiyorum
    sinyalin periyodu 1000Hz
    t=1/1000=1ms
    bu tam periyot 360 olduğuna göre
    2ye bölersek
    0,5ms bir gecikme ile her seferinde ADC yi güncellersem bu iş olur mu acaba? bu iş sürekli olacak?..

    Burak



  • Sinüs girip Kare dalga aldıysan kazancın çok yüksek demektir bir kontrol edermisin.
    http://www.sosaw.com/UploadFile/2005-6/200564155158570.jpg
  • Pic16f877 için dşündüğünüz hesaplamaya ve yönteme katılıyorum... Sadece bu konuda size söylemek istediğim şey analog sinyaliniz pic tarafından ADC modülü tarafından 10bit hassasiyetle analog sinyale cevrilip bu deger picin içinde tampon bir bellekte saklanıp daha sonra aynen dediğiniz gibi pic'in PWM birimi tarafından yine 10bit hassasiyetle analog sinyale cevrilmesi gerekiyor...

    Şimdi burada yapılacak en önemli iş
    1- Mikroişlemci tarafından okunan analog degerlerin bellekte depolanıp daha sonra PWM modulu ile cıkısa aktarılması...Burada bir data blogu tanımlayıp verileri sırayla bu bloğa saklamalısınız...
    2- Daha sonra da 0.5ms içeride kalan veriyi de cıkısa nakletmeniz gerekiyor...

    Bu işin C ile yapılması nisbeten daha basit... Öncelikle 10bitlik ADC çıkışını içinde tutabilecek bir yapı oluşturacaksınız...Daha sonra bu yapı nesnelerinden oluşan bir dizi tanımlamanız ve adc modülünün ölçüm sonuçlarını bu yapının elemanlarına atmanız gerekiyor...

    Programın en basında timerlardan herhangi biri ile ayarlayacagınız 0.5 ms boyunca bu diziyi adc ölçüm sonuclarıyla dolduracaksınız...Daha sonra artık pic ile ilk ölçtüğünüz degerden itibaren PWM ile dizinin içindeki değerleri sırayla çıkışa göndermeniz gerekiyor...Pici sonsuz bir döngüye sokmalısınız ki; bu döngünün bir cevriminde hem adc den yeni deger okumalı ve diziye yazmalı hem de 0.5ms önce diziye yazılmış olan veriyi de PWM modülü ile cıkısa nakletmelidir...Bu böylece sürüp giderse istediğiniz sinyali 0.5ms yani 180 derece geciktirmiş veya kaydırmıs olursunuz...

    Yakın zamanda sizin için C kodlarıyla bu dediğim programı yazmaya gayret edeceğim...Umarım dediklerim işinize yarar...Saygılar sunar kolaylıklar dilerim...




  • kazanç 1 olursa , girdiğiniz sinyalin aynısını alırsınız.
  • Amac sadece 180 derece faz farki ise kazanci 1 olan invert alan opamp devresi bu isi bir cirpida yapar.
  • http://img45.imageshack.us/my.php?image=300520060011yw.jpg
    Terlenmiş çıkış (input: sin output: square) (300Hz)

    http://img111.imageshack.us/my.php?image=300520060039ay.jpg
    Giriş ve çıkış bir arada (300Hz)

    http://img115.imageshack.us/my.php?image=300520060040rb.jpg
    3kHz

    http://img239.imageshack.us/my.php?image=300520060059zo.jpg
    1kHz


    devrenin şeması



    < Bu mesaj bu kişi tarafından değiştirildi Vodka -- 30 Mayıs 2006; 14:59:34 >




  • 1. opampın 3 numaralı bacağına gelen sin işareti

    http://img50.imageshack.us/img50/8752/300520060066ls.jpg

    1.opampın 1 numaralı çıkış bacağı

    http://img20.imageshack.us/my.php?image=300520060075ew.jpg



    < Bu mesaj bu kişi tarafından değiştirildi Vodka -- 30 Mayıs 2006; 15:15:20 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.