USB Osilaskop (13 Kanal ADC)

PICMAN

Üye
Katılım
13 Ocak 2009
Mesajlar
23
Puanları
1
Merhabalar;

Bu uygulamamda ise, çok basit ama kullanışlı bir osilaskop tasarladım.


Devrede PIC18F4550 kullandım, bu picin tam 13 adet Analog kanal girişi bulunmaktadır. Bende böyle bir devreye bütün kanalları dahil ederek, programdan seçmeli yaptım. Çok hızlı sinyalleri ölçemediği gibi, basit analog uygulamalarda sinyal takibi olarak kullanabilirsiniz. PC ile data aktarımı, 4550 deki USB (2.0) portu kullanılarak çok hızlı bir şekilde yapılmaktadır. USB HID iletişim sayesinde, PC programında herhangi bir driver gerektirmeden devreyi takıp çalıştırabilirsiniz.

Programı açtığınızda devre takılı ise, Çevirip Yap dediğinizde ADC çevirme işlemi başlayacaktır. Seçtiğiniz kanalın ADC değer grafiği çizilecektir. Ekranın boyutu 512 * 256 dır. Yani volt kademesi 8 bit çevirim yaptığı için 256 adıma bölünmüştür. Volt/Div ayarı ile sinyalin istediğiniz aralığını ölçebilirsiniz. Ekran, 512 adet örneği gösterdikten sonra silinip yeniden değerler gösterilmeye devam etmektedir. Harhangi bir anda Resim Kaydet ile o anın ekran görüntüsünü bmp olarak kaydedebilirsiniz. Resim, programın bulunduğu dizine kaydedilmektedir. Sürekli Kaydet i açtığınızda ise, resim 512 adet örneği aldığında ekranı silmeden otomatik kaydetme işlemini yapar. Ekranın altındaki text bölümü ise 512 adet ADC değerinin sayısal karşılığıdır. Bu özellik sayesinde aldığınız sinyalin anlık sayısal değerini görebilirsiniz

Sistemin çalışmasını ISIS programı üzerinden similasyon yapabilirsiniz. Bunun için Proteus 7.4 ve üstü kurulu olması gerekiyor.
İlk önce Başlat > Programlar > Proteus 7 > Virtual USB > Install USB Drivers Programını çalıştırarak sanal USB yi kurmalısınız. Daha sonra isis de devreyi açarak çalıştırdığınızda yeni donanım bulundu mesajını aldıktan sonra programı da açarak devre üzerindeki sinyal jeneratörünün sinyalini görebilirsiniz. Diğer kanalları da seçerek potlarla sinyali değiştirebilirsiniz.
Not: ISIS de aynı anda PIC + USB + Sinyal Jeneratörü çalıştığı için PC işlemci kullanımını arttırmaktadır. Bu da devrenin gerçek zamanda çalışmasını engellediğinden, sinyal programda yavaşlayabilir.


Resimler

Ekran Görüntüsü

Sinyal Jeneratöründen alının sinyal

PC nin Ses çıkışından alınan müzik sinyali - 1

PC nin Ses çıkışından alınan müzik sinyali - 2

PC nin Ses çıkışından alınan müzik sinyali - 3

POT ile oluşturulan sinyal


Devre Şeması ve Programı

Ekran görüntü video

Yönetici Notu: Paylaşılan fotoğraf ve dosyalar, paylaşım sitesinden silindiği için kaldırılmıştır.
 
öncelikle elinize sağlık yapmak isterim ben de fakat birkaç şey soracağım.
"Çok hızlı sinyalleri ölçemediği gibi, basit analog uygulamalarda sinyal takibi olarak kullanabilirsiniz" demişsiniz.
ADC bitini 8 değil de 10-12bit kullansak hassasiyeti arttırabilir miyiz?
Ayrıca örnekleme frekansınız nedir? ve bu frekans programınızda sabit midir ?
Örnekleme sayısı arttırılabilir mi ?
Kolay gelsin
 
ADC çözünürlüğü arttırılırsa, çevirim hızı artar bununla beraber örnekleme sayısı düşer.
Bu devrede yaklaşık 1sn de 60 örnekleme alıyor.
İlerde yüksek hızlı harici ADC entegreleri ile bu projeyi geliştirmeyi düşünüyorum.
Şu anda bu projenin Dataloger versiynunu tammaladım yakında onu da paylaşıcam. Sinyali EEproma kaydedip, pc den görebileceksiniz.
 
güzel bir proje olmuş. elinize sağlık.
ticari birşey değilse kodları da paylaşmanızı isterdim doğrusu. hem pic hem de program kodlarını görüp bir incelemek isterim.
 
Kusura bakmayın ama Her Emeğe Saygı için projelerimde kaynak kod vermiyorum :(
 
Tebrik ederim, fiyatı ucuz tutup ürünü ticari olarak geliştirmeyi düşünün bence.
 
Cidden çok yararlı ve eğitici bir proje , eğer ticari bir düşünceniz yoksa bu konuda kod paylaşımı yapmanızı ben de isterim...
 
Kusura bakmayın ama Her Emeğe Saygı için projelerimde kaynak kod vermiyorum :(

incelemek için sormuştum sadece:) Yoksa ben de zaten USB ile uğraşıyorum CCS C de. Sanırım bu programı VB ile hazırlamışsınız. Ondan VB'de kullanımını görmek istedim. Bir de Basic ile hazırladınız sanırım PIC kodlarını. onu da görmek istemiştim. Ben CCS C ve C# kullanıyorum ondan bunların kodlarını merak etmiştim. :)

Başka bir maksat yok yani :)
 
Son düzenleme:
5v üstü gerilimler için gerilim bölücü vb şeylerle giriş gerilim seviyesi arttırılabilir mi?
 

Forum istatistikleri

Konular
129,775
Mesajlar
929,992
Kullanıcılar
452,540
Son üye
burakumutt

Yeni konular

Geri
Üst