Membangun osiloskop penghobi

30

Saya punya proyek yang sudah lama saya pikirkan, dan saya menyadari bahwa pada suatu titik selama pengembangannya, saya akan memerlukan osiloskop. Oke, tidak masalah.

Alih-alih membeli osiloskop, saya memutuskan bahwa saya ingin - paling tidak - merancang sendiri, dan semoga membangun hasilnya. Untuk mempermudah, saya berpikir tentang menggunakan Raspberry Pi untuk melakukan semua perhitungan dan visualisasi yang menyenangkan (saya tidak merasa ingin menerapkan FFT pada AVR, terima kasih banyak).

Semakin banyak saya membaca tentang osiloskop, semakin bingung saya, jujur. Mengapa osiloskop bukan hanya ADC? Jika saya menghubungkan sesuatu seperti ini (dengan perlindungan tegangan berlebih yang sesuai dan pra-amplifikasi) ke sirkuit di satu ujung, dan CPU yang diprogram dengan tepat di sisi lain, bukankah itu osiloskop?

[Di masa lalu saya hanya bekerja dengan sirkuit digital sederhana - saya terutama seorang ilmuwan komputer teoretis! - dan jadi saya mencoba untuk membungkus kepala saya dengan elektronik analog sekarang. Karena itu, saya minta maaf jika jawabannya sangat jelas ...]

Sangat halus
sumber
6
Mungkin bermanfaat untuk memulai dengan mempelajari beberapa osiloskop open source yang ada: Beberapa tautan di sini , juga lihat ini . Dengan RPi, desain SoC tertutup membutuhkan penandatanganan NDA dan meyakinkan produsen SoC untuk membiarkan Anda memiliki jenis informasi yang mungkin Anda perlukan untuk membuatnya melakukan apa yang Anda inginkan. Sesuatu seperti Tiva-C Launchpad, atau lebih baik lagi, Beagle Bone Black mungkin menjadi titik awal yang lebih mudah karena alasan itu. BBB memiliki lebih dari cukup IO dan kekuatan pemrosesan, dan dokumentasi yang baik juga.
Anindo Ghosh
5
Bahkan osiloskop 100MHz murah mungkin memiliki tingkat sampel 1GSps. A 20MSps 8-bit ADC tidak akan bagus untuk lebih dari beberapa MHz (Harry dan Claude mengatakan menggunakan 10MHz adalah batas absolut). Anda harus bisa mendapatkan informasi dari ADC dan masuk ke prosesor Anda di mana itu dapat ditampilkan. Front end kualitas komersial juga tidak sepele. Saya tidak ingin mengecewakan Anda, tetapi sesuatu yang Anda bangun tidak akan memiliki kinerja Rigol seharga $ 350. Ini tentu akan menjadi proyek yang bagus untuk belajar.
Spehro Pefhany
10
Menurut Anda mengapa osiloskop membutuhkan penerapan FFT?
Phil Frost
5
Untuk model studi, hal terpenting yang harus disadari selain ADC adalah sirkuit pemicu. Anda ingin tampilan yang mantap, bukan yang terus bergerak sepanjang waktu. Anda harus mencari cara untuk mulai menggambar gelombang setiap saat pada saat yang sama. Itu bisa dilakukan bisa menyenangkan dan Anda akan berpotensi belajar banyak darinya. Mungkin pelajaran yang paling penting adalah bahwa lingkup digital dengan kualitas yang wajar cukup murah hari ini.
jippie
9
Saya harap Anda memiliki akses ke osiloskop, saat Anda membangun ini. :-p
Lyndon White

Jawaban:

23

Di hati itu, sebuah (digital) osiloskop adalah hanya sebuah ADC, bersama dengan beberapa memori untuk menyimpan sampel. Sampel kemudian dibaca dari memori dan ditampilkan.

Masalah implementasi praktis membuat osiloskop komersial menjadi rumit. Sinyal input perlu diskalakan dengan tepat untuk rentang ADC, yang berarti bahwa Anda harus memiliki attenuator dan / atau amplifier yang memiliki nilai gain yang sangat tepat yang sangat rata di berbagai frekuensi (DC hingga 10s atau 100s). MHz minimum) untuk mengukur bentuk gelombang dengan distorsi minimal.

Juga, tergantung pada aplikasinya, laju sampel ADC perlu disesuaikan (sangat tepat) pada rentang dinamis yang luas - 1 ns / sampel hingga 1 s / sampel (9 orde besarnya) akan menjadi khas.

Lalu ada pertanyaan untuk mengetahui kapan memulai - atau yang lebih penting, berhenti - pengambilan sampel; ini dikenal sebagai pemicu. Aplikasi yang berbeda memiliki kebutuhan yang berbeda untuk memicu, dan ruang lingkup komersial memiliki banyak pilihan untuk mengakomodasi mereka.

Dave Tweed
sumber
Senang melihat saya tidak terlalu jauh dari sasaran, terima kasih! Saya pikir ini membersihkan sebagian besar kebingungan saya. Untuk memiliki fungsionalitas minimum (katakanlah, tampilkan gelombang persegi tanpa fase yang tidak perlu berubah pada tampilan), apa yang akan menjadi subset dari mekanisme pemicu untuk diterapkan? Atau itu pertanyaan bodoh?
Ethereal
2
Daripada menyesuaikan laju sampel ADC, pertimbangkan filter penipisan digital dalam FPGA atau perangkat lunak tampilan. Desain kasar yang hanya menjatuhkan laju sampel mengalami aliasing membingungkan yang harus dikesampingkan oleh operator baik dengan pengetahuan sinyal atau secara eksperimental mengubah timebase untuk memeriksa apakah sinyal terlalu banyak atau kurang.
Chris Stratton
Pemicu kasar dapat dilakukan dengan komparator analog atau digital, mungkin memiliki histeresis. Juga, pada lingkup digital, Anda biasanya sampel terus menerus ke buffer melingkar sambil menunggu pemicu, dan kemudian berhenti beberapa periode waktu setelah kondisi pemicu telah terpenuhi. Dengan menyesuaikan jumlah pengambilan sampel pasca-pemicu, Anda dapat diberi buffer yang mencakup apa yang terjadi sebelum pelatuk dan juga setelahnya.
Chris Stratton
1
Pada lingkup digital, pemicuan dapat dilakukan sepenuhnya dalam domain digital, meskipun diperlukan beberapa firmware yang cukup canggih untuk secara benar menutupi hasil pemicu berulang pada sinyal periodik. Pemicu sekali pakai relatif sepele.
Dave Tweed
13

Sangat penting untuk membedakan proyek hobi dari peralatan yang siap digunakan, dan untuk membuat pilihan yang tepat untuk Anda. Ini tidak harus menjadi pilihan yang tepat untuk orang lain.

Jika yang Anda inginkan adalah peralatan yang akan digunakan untuk proyek lain tahun ini, saya akan membelinya. Bisa baru atau digunakan berdasarkan kebutuhan dan anggaran Anda.

Jika yang Anda inginkan adalah membangun osiloskop sebagai hobi atau proyek pendidikan maka silakan lanjutkan! Semoga pengalaman yang menyenangkan dan mendidik bagi Anda. Anda akan belajar banyak. Kemungkinan Anda akan bertemu dengan penentang; beri tahu mereka bahwa mereka dapat menghemat banyak waktu dan uang untuk liburan berikutnya dengan misalnya tidak pergi ke Eropa dan membeli buku gambar. Mereka kehilangan intinya!

Osiloskop digital (dasar) memang terdiri dari front-end (termasuk ADC dan mungkin memicu sirkuit), komputer tertanam, layar dan perangkat lunak.

Saya akan menyarankan bahwa masalah berikut kemungkinan akan muncul:

  • Waktu. Proyek ini akan memakan waktu cukup lama, tergantung pada kinerja yang diinginkan, pengalaman Anda, dll.
  • Biaya. Biayanya lebih dari membeli salah satu dari kinerja yang sama.
  • Performa. Kinerja seperti apa yang Anda cari? Termasuk rentang input, resolusi waktu, seberapa besar tegangan yang harus ditahan ujung depan.
  • Pengujian. Bagaimana Anda akan men-debug-nya? Bagaimana Anda memeriksa apakah itu berfungsi dengan benar?
  • Keamanan. Apa yang terjadi jika Anda menyelidiki 120VAC atau menekan tegangan yang lebih tinggi?
Technophile
sumber
Anda tahu bahwa orang Eropa akan terhibur dengan saran liburan Anda, bukan? :-)
RedGrittyBrick
10

Saya pikir Anda bisa mendapatkan beberapa ide dari AVR 10MHz 50MS / s Digital Storage Oscilloscope .
Ini mencakup skema lengkap dan kode sumber.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Menggunakan CPLD kecil yang membaca hasil ADC dan mengisi RAM, kemudian menggunakan AVR mcu untuk membaca data RAM dan mengirimkannya ke PC


Anda juga mungkin menemukan berguna:

  • The Bitscope skema
  • The dsonano termasuk skema penuh dan kode sumber
  • Beberapa proyek terkait DSO menggunakan FPGA atau MCU tercantum di sini

Ada diagram blok di halaman proyek openDSO yang seharusnya berguna untuk memvisualisasikan bagian yang digunakan dalam DSO.

masukkan deskripsi gambar di sini

alexan_e
sumber
6

JYE Tech memiliki kit osiloskop $ 49 :

masukkan deskripsi gambar di sini

dengan fitur-fitur berikut:

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 juga membawanya tetapi untuk $ 10 lebih.

Semua komponen pemasangan permukaan sudah disolder.

Ini menggunakan ATmega 64. Mereka menyediakan daftar skematis dan komponen di situs web mereka jika Anda ingin menggunakannya sebagai panduan untuk menggulirkan milik Anda sendiri, tetapi saya ragu apakah Anda bisa melakukannya dengan harga mendekati $ 49. Kode sumber firmware juga tersedia.

Hanya dengan $ 30 lebih banyak ($ ​​79,50) mereka memiliki unit rakitan dengan bandwidth analog 5 MHz.

tcrosley
sumber
1
Untuk apa nilainya, itulah kira-kira kinerja osiloskop Heathkit era 1950-an. Hanya AC-coupled (berbasis tabung vakum). theoldcatvequipmentmuseum.org/180/182/…
Spehro Pefhany
1
Ironisnya, Heath memperkenalkan oscilloscope kit elektronik pertama (O1) pada tahun 1947, yang juga dijual seharga $ 50. Tapi itu akan sedikit lebih dari $ 500 dalam dolar hari ini.
tcrosley
Ini sangat menjengkelkan untuk digunakan, karena tidak ada indikasi seberapa baru telah dipicu. Jika sebuah indikator akan berkedip, atau sesuatu muncul setelah setengah detik untuk menunjukkan bahwa tampilan basi, itu akan jauh lebih bermanfaat, meskipun dalam batasan sampler primitif seperti itu.
Chris Stratton
Karena mereka menyediakan kode sumber firmware, Anda mungkin dapat menambahkan indikator pemicu ke tampilan tanpa terlalu banyak kesulitan.
keshlam
Sumber yang mereka berikan adalah firmware yang lebih terbatas daripada di perangkat.
Chris Stratton