Bir hobisi osiloskop inşa etmek


30

Bir süredir düşündüğüm bir projem var ve gelişim sırasında bir noktada bir osiloskopa ihtiyacım olacağını farkettim. Tamam, sorun değil.

Bir osiloskop satın almak yerine, en azından kendi tasarımımı yapmaya ve umarım sonucu oluşturmaya karar verdim. İşleri kolaylaştırmak için, tüm eğlenceli hesaplamaları ve görselleştirmeleri yapmak için bir Ahududu Pi kullanmayı düşünüyorum (FFT'yi bir AVR'ye uygulamak istemiyorum, çok teşekkür ederim).

Osiloskoplarla ilgili ne kadar çok şey okursam dürüst olmak gerekirse, kafam o kadar karıştı. Neden değil bir osiloskop sadece bir ADC? Gibi bir şey kanca olsaydı , bu , bir ucunda, diğer yandan, uygun bir şekilde programlanmış bir işlemci üzerinde bir devreye (uygun aşırı voltaj koruma ve ön-amplifikasyon ile), bir osiloskop olmaz?

[Geçmişte sadece basit dijital devrelerle çalıştım - temel olarak teorik bir bilgisayar bilimcisiyim! - ve şu an kafamı analog elektronikler etrafına sarmaya çalışıyorum. Bu nedenle, bunun cevabı son derece açıksa özür dilerim ...]


6
Birkaç mevcut açık kaynak osiloskoplarını inceleyerek başlamak yararlı olabilir: Bazı bağlantıları burada , ayrıca bkz bu . RPI ile kapalı olan SoC tasarımı, NDA'ların imzalanmasını ve SoC üreticisini, istediğiniz şeyi yapması için ihtiyaç duyabileceğiniz türden bir bilgiye sahip olmanız için ikna etmenizi gerektirir. Tiva-C Launchpad gibi bir şey veya daha iyisi, Beagle Bone Black bu nedenle daha kolay bir başlangıç ​​noktası olabilir. BBB, geniş IO ve işleme gücünden daha fazlasını ve ayrıca iyi dokümantasyona sahiptir.
Anindo Ghosh

5
Ucuz olmayan bir 100MHz osiloskopun bile 1GSps örnekleme hızı olabilir. 20MSps 8 bitlik bir ADC birkaç MHz'den daha iyi olmayacak (Harry ve Claude, 10MHz'in mutlak sınır olduğunu söylüyorlar). Bilgileri ADC'den ve işlemcinize görüntülenebileceği şekilde alabilmeniz gerekir. Ticari kalitede bir ön uç da önemsiz değildir. Seni cesaret kırmak istemem, ama inşa edeceğin bir şey 350 dolarlık Rigol'un performansına sahip olmayacak. Kesinlikle öğrenme için iyi bir proje olacak.
Spehro Pefhany

10
Neden bir osiloskopun FFT uygulamasını gerektirdiğini düşünüyorsunuz?
Phil Frost

5
Bir çalışma modeli için, ADC dışında gerçekleştirilmesi gereken en önemli şey tetikleyici devredir. Sürekli bir görüntü istiyor, sürekli hareket eden bir görüntü değil. Her seferinde tam olarak aynı anda dalgayı çizmeye başlamalısınız. Yapılabilir eğlenceli olabilir ve ondan çok şey öğreneceksiniz. Muhtemelen en önemli ders, makul kalitede dijital kapsamların bu günlerde oldukça ucuz olması.
jippie

9
Umarım bunu inşa ederken bir osiloskoba erişiminiz vardır. :-p
Lyndon White

Yanıtlar:


23

Kalbinde (dijital) bir osiloskop , numuneleri tutabilmek için bir miktar hafıza ile birlikte sadece bir ADC'dir. Örnekler daha sonra bellekten okunur ve görüntülenir.

Pratik uygulama sorunları ticari osiloskopları karmaşıklaştırır. Giriş sinyalinin, ADC aralığı için uygun şekilde ölçeklendirilmesi gerekir; bu, çok çeşitli frekanslar arasında çok düz olan çok hassas kazanç değerlerine sahip zayıflatıcılara ve / veya yükselticilere sahip olmanız gerektiği anlamına gelir (DC - 10s veya 100s Minimum bozulma ile dalga formlarını ölçmek için minimum MHz).

Ayrıca, uygulamaya bağlı olarak, ADC'nin örnekleme hızı geniş bir dinamik aralıkta ayarlanmalıdır (çok kesin) - 1 ns / örnek 1 s / örnek (9 büyüklük sırası) tipik olacaktır.

O zaman ne zaman başlayacağınızı - veya daha önemlisi dur - örneklemeyi bilme sorunu var; bu tetikleyici olarak bilinir. Farklı uygulamaların tetiklenmesi için farklı ihtiyaçları vardır ve ticari 'kapsamlar onları karşılamak için geniş bir seçime sahiptir.


İşaretten fazla uzak olmadığımı görmek güzel , teşekkür ederim! Sanırım bu, kafamın çoğunu temizliyor. Asgari düzeyde işlevselliğe sahip olmak için (diyelim ki, ekranda gereksiz yere değişmeden faz dalgası göstermeden kare bir dalga gösteriniz), uygulanacak tetikleme mekanizmalarının bir alt kümesi ne olacaktır? Yoksa bu aptalca bir soru mu?
Ethereal

2
ADC'nin örnekleme hızını ayarlamak yerine, bir FPGA veya ekran yazılımındaki dijital bir süzme filtresini düşünün. Sadece örnekleme oranını düşüren ham tasarımlar, operatörün ya sinyal bilgisi ile dışarıda bırakması gereken takma isimlendirmenin, ya da sinyalin aşırı örneklenip örneklenmediğini kontrol etmek için zaman tabanını deneysel olarak değiştirmesiyle karşı karşıyadır.
Chris Stratton

Ham tetikleme, belki histerezis olan analog veya dijital karşılaştırıcı ile yapılabilir. Ayrıca, dijital bir kapsamda, tetiklemeyi beklerken genellikle sürekli olarak dairesel bir tamponda örnekleme yaparsınız ve ardından tetikleme koşulu yerine getirildikten sonra bir süre durur. Tetikleyici sonrası örnekleme miktarını ayarlayarak, tetikleyiciden önce ve sonrasında olanları içeren bir tamponla bırakılabilir.
Chris Stratton

1
Dijital bir kapsamda, tetikleme tamamen dijital alanda yapılabilir, ancak tekrarlayan tetikleyicilerin sonuçlarını periyodik bir sinyalde doğru bir şekilde bindirmek için oldukça karmaşık bir ürün yazılımı gerekir. Tek atış tetikleyiciler nispeten önemsizdir.
Dave Tweed

13

Bir hobi projesini kullanıma hazır ekipmanlardan ayırmak ve sizin için doğru seçimi yapmak önemlidir. Bu diğerleri için doğru seçim olmak zorunda değildir.

İstediğiniz ekipman bu yıl başka bir proje için kullanılacaksa, bir tane alırdım. Gereksinimlerinize ve bütçenize göre yeni olabilir veya kullanılmış olabilir.

İstediğiniz şey bir hobi veya eğitim projesi olarak bir osiloskop yapmaksa, o zaman elbette devam edin! Size eğlenceli ve eğitici bir deneyim diliyorum. Çok şey öğreneceksin. Muhtemelen nay-sayers ile karşılaşacaksınız; Avrupa’ya gitmeyip resimli kitap satın alarak bir sonraki tatilinde çok zaman ve para tasarrufu sağlayabileceklerini söyleyin. Noktayı kaçırıyorlar!

Bir (temel) dijital osiloskop gerçekten bir ön uçtan (bir ADC ve belki de tetikleme devresi dahil), gömülü bir bilgisayardan, ekrandan ve yazılımdan oluşur.

Aşağıdaki sorunların ortaya çıkması muhtemeldir:

  • Zaman. Bu proje, istediğiniz performansa, deneyiminize, vb. Bağlı olarak sizi bir süre alacaktır.
  • Maliyet. Eşit performanstan birini satın almaktan daha pahalıya mal olur.
  • Performans. Ne tür bir performans arıyorsun? Giriş aralıkları, zaman çözünürlüğü, ön uç ne kadar gerilime dayanmalıdır.
  • Test yapmak. Nasıl hata ayıklayacaksın? Doğru çalıştığını nasıl kontrol edersiniz?
  • Emniyet. 120VAC'yi araştırdığınızda veya daha yüksek gerilime maruz kalırsanız ne olur?

Avrupalıların tatil tavsiyenizle eğlendirileceğini biliyorsunuz, değil mi? :-)
RedGrittyBrick

10

AVR 10MHz 50MS / s Dijital Depolama Osiloskopundan birkaç fikir edinebileceğinizi düşünüyorum .
Tam şemaları ve kaynak kodunu içerir.

görüntü tanımını buraya girin

görüntü tanımını buraya girin

ADC sonuçlarını okuyan ve bir RAM'i dolduran küçük bir CPLD kullanır, ardından RAM verilerini okumak ve bir PC'ye göndermek için bir AVR mcu kullanır


Ayrıca yararlı bulabilirsiniz:


OpenDSO proje sayfasında bir DSO'da kullanılan bölümleri görselleştirmek için faydalı olması gereken bir blok şema var .

görüntü tanımını buraya girin


6

JYE Tech’in 49 dolarlık osiloskop seti var :

görüntü tanımını buraya girin

aşağıdaki özelliklere sahip:

5M samples/second
8 bit resolution
256 sample memory depth
1MHz analog bandwidth
100mV/Div-5V/Div sensitivity
1MΩ impedance
50Vpeak-to-peak max input voltage
DC/AC coupling
Save and display up to 6 captures to memory
Transfer screen capture to PC as a bitmap file (serial adapter not included)
Backlit LCD display
FFT function available

Sparkfun da taşır ancak 10 dolar daha.

Yüzeye montaj bileşenlerinin tümü zaten lehimlenmiştir.

Bir ATmega 64 kullanıyor. Kendi sayfalarında kendi rehberini kullanmak için bir rehber kullanmak istiyorsan, web sitesinde şematik ve parça listesi veriyorlar, ancak 49 dolara yakın bir yer için yapabileceğinden şüpheliyim. Ürün yazılımı kaynak kodu da mevcuttur.

Sadece 30 dolar daha (79,50 dolar) 5 MHz analog bant genişliğine sahip monte edilmiş bir birime sahipler .


1
Buna değecekse, kabaca 1950'lerden kalma bir Heathkit osiloskopunun performansı. Sadece AC bağlantılı (vakum tüpü tabanlı). theoldcatvequipmentmuseum.org/180/182/…
Spehro Pefhany

1
İronik olarak, Heath ilk elektronik kit osiloskopunu (O1) 1947'de piyasaya sürdü ve aynı zamanda 50 dolara sattı. Ancak bu bugünkü dolarda 500 doların biraz üzerinde olur.
tcrosley

Bu kullanımı son derece sinir bozucu çünkü ne kadar süre önce tetiklediğine dair bir gösterge yok. Bir gösterge yanıp sönerse veya ekranın eski olduğunu göstermek için yarım saniye sonra bir şey belirirse, böyle bir ilkel örnekleyicinin sınırlamaları dahilinde olsa da, çok daha kullanışlı olacaktır.
Chris Stratton

Ürün yazılımı kaynak kodunu sağladıklarından, muhtemelen çok fazla sorun yaşamadan ekrana bir tetikleyici gösterge ekleyebilirsiniz.
keshlam

Sağladıkları kaynak, cihazda olduğundan daha sınırlı bir bellenimdir.
Chris Stratton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.