Mengapa komparator ini tidak menghasilkan gelombang persegi?

21

Saya memiliki output sinusoidal 4,43MHz dari IC yang ingin saya konversi ke gelombang persegi TTL untuk digunakan sebagai jam. Sinyal memiliki offset DC sekitar 2.5V dan memiliki amplitudo sekitar 0,5V puncak ke puncak.

Saya mencoba mengubahnya menjadi gelombang persegi 0-5V menggunakan komparator kecepatan tinggi TLV3501 dengan sirkuit ini.

tlv3501 diperbarui skematis

Komparator tampaknya berfungsi seperti yang diharapkan: dengan RV1 pada satu ekstrem output di SQ_OUT adalah 0V, di sisi lain 5V, pada titik yang kira-kira di tengah saya melihat bentuk gelombang. Namun memiliki offset DC dan tidak terlihat seperti gelombang persegi.

tidak persegi

(Di atas 0,5V / div dan memiliki offset DC hampir 2V).

Lembar data menunjukkan gelombang persegi yang dihasilkan dari sinyal 50MHz jadi jelas saya melakukan sesuatu yang salah. Saya menggunakan papan tempat memotong roti tetapi IC pada adaptor dengan C1 dan C2 disolder ke pin. Saya juga mencoba melepaskan SQ_OUT dari papan tempat memotong roti dan mengukur output di pin, tetapi melihat hasil yang sama. Bagaimana saya bisa mendapatkan gelombang persegi 0-5V?

Edit

Mengikuti saran di sini saya memberi makan komparator dengan sinyal mulai dari 500 hz hingga 20000 hz dan diimbangi dengan 2.5VDC. Saya kebanyakan mengamati hasil yang sama: dengan RV1 pada satu ekstrim, garis datar 5V, di sisi lain, 0V, dan di antara bentuk gelombang sekitar 0,5Vp / p dan offset di sekitar 2,5V (offset bervariasi tergantung pada RV1).

500 hz

Output terdekat yang pernah saya dapatkan adalah puncak datar pada 5V tetapi masih belum berayun antara 0 dan 5V.

100 hz

Ini tampaknya mengesampingkan masalah ruang lingkup, jadi itu harus lingkungan listrik (saya menggunakan papan tempat memotong roti) atau kalau tidak saya kabel salah (yang saya ragu, tapi saya pasti akan memeriksa tiga dan empat kali lipat). Atau mungkin chip tak berguna, yang juga tampaknya tidak mungkin.

Saya ingin tahu apakah masalah ini bisa menjadi faktor:

  • Saya menggunakan papan tempat memotong roti (SQ_OUT tidak terhubung ke papan tempat memotong roti).
  • Tidak ada beban yang terhubung, kecuali untuk probe lingkup. Sebelumnya ketika saya memberi makan 4,43MHz ada beban yang terhubung (input jam pada AD724).
  • Bisakah RV1 yang merupakan pembagi tegangan 20K terlalu banyak perlawanan?

Edit 2

Saya percaya masalah saya disebabkan oleh power supply yang berisik (5V USB tanpa filter), dan diperburuk oleh kapasitansi liar dari papan tempat memotong roti. Dengan suplai USB, pembanding tampaknya memiliki 3 status: flatlining pada 0V, flatlining pada 5V, atau tegangan pada input. Ini adalah kasus bahkan tanpa sinyal apa pun, hanya 2.5VDC. Saya menduga "negara bagian" adalah osilasi frekuensi tinggi. Saya berhasil mendapatkan output yang diharapkan dengan menyalakan sirkuit dari baterai dan mendapatkan hasil terbaik ketika saya melepasnya sepenuhnya dari papan tempat memotong roti. Baru kemudian saya mendapatkan hanya 0V atau 5V garis datar tanpa "negara bagian". Di papan tempat memotong roti dan memasok sinyal 1000 hz, saya melihat gelombang persegi 0-5V dengan beberapa zig dan zag sekitar 2.5V, menunjukkan bahwa outputnya tidak bersih. Saya kira jika saya ingin melanjutkan dengan perangkat ini saya saya harus meletakkannya di papan sendiri dan menyaring catu daya. Terima kasih untuk semua orang yang berkontribusi.

Kotak kasar

Batperson
sumber
Bentuk gelombangnya terlihat seperti pembandingnya tidak cukup cepat untuk beban Anda. Apakah ada kapasitansi beban pada output? mengapa tidak menggunakan kapasitor (0,1 uF atau lebih) pada input dan memblokir DC input sinus? Itu harus membuat input bervariasi dengan O DC dan kemudian memiliki tegangan referensi yang sesuai?
rsg1710
Apakah SQ_OUT mengambang atau apakah ada beban di ujung selama pengukuran?
Tiang
Tidak ada beban, SQ_OUT terhubung hanya ke probe lingkup. @ rsg1710, komparator diberi nilai 4.5ns, pasti cukup cepat.
Batperson
1
Apakah osiloskop Anda jenis analog atau digital (pengambilan sampel)? Jika analog, peringkat 10 MHz biasanya pada bandwidth -3dB instrumen. Untuk sinyal input 4,43 MHz, ruang lingkup analog 10 MHz kemungkinan akan memampatkan amplitudo sinyal, dan akan menyebabkan beberapa pembulatan pada kenaikan dan penurunan tepi sinyal. Perhatikan bahwa jika sinyal input gelombang persegi memiliki waktu naik, katakanlah, 10 ns, waktu naik itu sesuai dengan frekuensi (bandwidth) sekitar 35 MHz, yang jauh di luar respons frekuensi 10 MHz lingkup, dan oleh karena itu ruang lingkup akan mendistorsi tepi naik dan turun sinyal.
Jim Fischer
3
Papan roti terkenal karena kapasitansi liar. Komparator kecepatan tinggi sangat sensitif terhadap kapasitansi liar. Cobalah membangun gaya bug mati prototipe. Komponen solder dan kabel langsung ke pin. Jauhkan output dari input. Juga periksa gelombang sinus output sehubungan dengan gelombang sinus input. Verifikasi bahwa output tidak hanya berosilasi.
user125718

Jawaban:

3

Waktu kenaikan cakupan 10 MHz harus 0,35 * 1000/10 = 35 nS.

Waktu setengah siklus pada 4,43 MHz adalah 500 / 4,43 = 113 nS yang lebih dari 3 kali waktu kenaikan ruang lingkup yang menunjukkan ruang lingkup harus memadai untuk menampilkan perjalanan penuh dari sinyal output. Namun jejak lingkup yang disediakan terlihat CR / kenaikan-waktu terbatas melebihi ini. Oleh karena itu, hal pertama yang harus dilihat adalah pemuatan keluaran dan karena lembar data LM393 menunjukkan parameter untuk Arus Sink Keluaran Saya sarankan pada contoh pertama Anda mencoba resistor penarik 4.7k antara +5 volt dan SQ_OUT. Ketika bekerja dengan benar menghasilkan gelombang persegi yang bersih saya akan mengharapkan bentuk gelombang keluaran lingkup mirip dengan yang bawah disimulasikan oleh JonRB - karena batas bandwidth lingkup - meskipun skala tegangan akan berbeda. Sementara penyetelan probe lingkup penting untuk pekerjaan digital - saya percaya ini adalah herring merah dalam contoh ini.

MEMPERBARUI

@Batperson dalam komentar Anda setelah jawaban ovirt Anda menyatakan bahwa Anda telah mengganti LM393 yang memiliki output kolektor terbuka, maka saran penarikan. Namun ini adalah sirkuit yang sepele dan seharusnya tidak sulit untuk dipakukan. Pertama kata nasihat. Ketika ada masalah dan Anda menemukan diri Anda menjawab 'harus' daripada 'tidak' - Anda perlu memeriksa karena ada unsur keraguan. Sering ada perbedaan besar antara seharusnya dan apa yang sebenarnya terjadi. misalnya sirkuit ini HARUS menghasilkan output gelombang persegi.

Apa yang Anda gambarkan tidak masuk akal. Anda memiliki sinyal input 0,5 Vp-p yang bias pada + 2,5V untuk terhubung ke input komparator dan Anda menggeser ref komparator antara gnd dan + 5V. Setelah tegangan referensi melebihi bias osilator plus sekitar 0,25V output harus datar dekat gnd. Sebaliknya, jika ref turun di bawah bias minus sekitar 0,25V, maka seharusnya datar dekat + 5V. misalnya output harus rata setiap kali ref berada di luar kisaran sinyal input. Setelah Anda menyelidiki ini, gantung 0,1uF keramik C antara ref dan ground dekat ke pin IC dan coba lagi. Selanjutnya ganti input osilator dengan dua seri 10k R dan hubungkan antara gnd dan + 5V input komparator yang terhubung ke titik tengah. Cari output yang berubah antara garis datar + 5V dan gnd ketika ref melewati titik tengah.

PIKIRAN LEBIH LANJUT

@Batperson memiliki meskipun tentang beberapa lagi saya menyadari jejak ruang lingkup Anda tidak masuk akal. Satu-satunya cara (selain umpan balik -ve) sirkuit yang ditunjukkan dapat memiliki bias output dekat titik tengah adalah untuk output yang menghabiskan waktu yang sama di + 5V dan gnd (Tingkat yang dihasilkan menjadi rata-rata). Ini tidak jelas dalam gambar lingkup Anda 1 & 2 - terlihat lebih seperti apa input seharusnya - hampir seolah-olah IC tanah gnd tidak terhubung. Tes yang saya sarankan kemarin harus membantu menyelesaikan ini. Akan sangat membantu jika Anda memberi judul gambar 2 & 3 dengan titik referensi tegangan dan skala atau frekuensi karena tidak jelas dari teks Anda. Mungkin juga gambar papan tempat memotong roti Anda.

Venustas
sumber
jika Anda perhatikan balasan saya, lingkup mengarah (frekuensi atau kompensasi). lead yang disediakan dengan cakupan 10MHz akan cocok hingga 10MHz. Apa yang akan Anda miliki adalah dua filter 10MHz pesanan pertama yang mengalir. Biarkan saya memperbarui balasan saya untuk menutupi dampak kedua filter
JonRB
Terima kasih @JonRB dan Venustas. Saya cukup yakin sekarang setelah pengujian dengan sinyal .5-20 kHz itu bukan ruang lingkup (juga probe disetel dan menampilkan gelombang persegi sempurna menggunakan sinyal uji lingkup yang IIRC adalah 10kHz). Bagian ini adalah TLV3501 dengan output push-pull sehingga tidak perlu pullup? Saya bingung semua orang dengan melakukan skema cepat dengan LM393 Eagle lib tetapi sudah diperbaiki sekarang.
Batperson
42

Ini akan menjadi salah satu dari dua hal & lebih dari kemungkinan keduanya:

  1. Probe yang Anda gunakan tidak cocok, baik dalam frekuensi atau dalam kompensasinya (sekrup kecil di sisi probe).

    Masukkan deskripsi tautan di sini

  2. Cakupan 10 MHz terlalu lambat untuk sinyal 4,5 MHz

Berikut adalah penumpukan gelombang squarewave hingga harmonisa ke-100 (dana 4,43 MHz):

masukkan deskripsi gambar di sini

import numpy as np
from matplotlib import pylab
F= 4.43e6
t = np.arange(0, 2/F, 1e-12)
x = np.sin(2*np.pi*F*t) 
pylab.subplot(3,1,1)
pylab.title('Sinewave of increasing frequency: Fourier content of a squarewave')
pylab.plot(t,x)
pylab.grid(True)

for i in range(3,100,2):
    a = (1/i)*np.sin(2*np.pi*F*i*t)
    pylab.plot(t,a)
    x +=a

pylab.subplot(3,1,2)
pylab.title('Equivelent squarewave for summation of its harmonics')
pylab.plot(t,x)
pylab.grid(True)

y= np.zeros(len(t))

A= 10e6*2*np.pi*t[1]/(10e6*2*np.pi*t[1]+1)
for i in range(1,len(t)):
    y[i] = y[i-1] + A*(x[i] - y[i-1])
pylab.subplot(3,1,3)
pylab.plot(t,y,label='4.43MHz through 1 filter')
x = y
y= np.zeros(len(t))
A= 10e6*2*np.pi*t[1]/(10e6*2*np.pi*t[1]+1)
for i in range(1,len(t)):
    y[i] = y[i-1] + A*(x[i] - y[i-1])
pylab.plot(t,y)
pylab.plot(t,y,label='4.43MHz through 2 cascaded filters')

pylab.title('Result of passing a 4.43MHz squarewave through 1 & two 10MHz 1st order filters')
pylab.legend()

pylab.grid(True)
pylab.show()

Jika akuisisi hanya mampu 10 MHz, kontributor akan dilemahkan dan fase bergeser menghasilkan bentuk gelombang terdistorsi mirip dengan yang Anda lihat.

Mengapit dua "filter" 10MHz (satu di probe, satu di input lingkup) lebih lanjut akan mendistorsi bentuk gelombang yang menghasilkan sinyal lebih dekat dengan yang terlihat pada lingkup.

Mean dari squarewave 0-5V adalah 2.5V. jika ruang lingkup Anda sebagai "input rata-rata" juga akan menghasilkan bentuk gelombang yang sama dan cenderung ke arah 2.5V. Saya telah tertangkap beberapa kali melihat PWM hanya untuk melihat gelombang berjalan sangat aneh HANYA untuk menemukan seseorang yang kacau dengan lingkup saya dan telah memungkinkan "16 rata-rata sampel"

masukkan deskripsi gambar di sini

JonRB
sumber
Terima kasih, kompensasinya seharusnya benar tetapi saya akan periksa lagi. Saya memang bertanya-tanya apakah artefak lingkup dapat terlibat, jadi saya memastikan untuk memasukkan "10MHz Handy Oscilloscope" di foto :-) Namun, terutama offset 2V DC yang jelas saya khawatirkan. Mungkinkah itu lingkup artefak juga?
Batperson
DC offset agak meragukan. Pengujian pada frekuensi yang jauh lebih rendah di mana ruang lingkup bekerja dengan baik harus menjernihkan keraguan ...
peufeu
3
@Batperson gelombang 0-5V persegi memiliki komponen DC rata-rata 2.5V, jadi sama sekali tidak ada yang salah di sana. Respons frekuensi yang tidak memadai akan menaikkan palung (tampak) sama banyaknya dengan menurunkan puncak (tampak).
hobbs
tepatnya, sinyal contoh yang saya miliki adalah sinyal + -1V, pembanding dengan sinyal 0-5V.
JonRB
Manual untuk ruang lingkup saya tidak mengatakan apa-apa tentang rata-rata, tentu saja tidak memilikinya sebagai fitur yang dapat diaktifkan. Ini semua informasi yang berguna untuk saya ketahui.
Batperson
32

Anda harus menyadari bahwa gelombang persegi 4,43 MHz memiliki bandwidth yang jauh lebih besar dari 10 MHz.

Gelombang persegi 4,43 MHz "layak" akan berisi frekuensi hingga dan di atas 50 MHz. Itu karena gelombang persegi terdiri dari jumlah keseluruhan frekuensi (bukan gelombang sinewave yang hanya satu frekuensi, ini sebabnya EE sering menggunakannya).

Jika Anda memiliki gelombang persegi 4,43 MHz ideal tetapi melihatnya melalui sistem bandwidth 10 MHz (seperti ruang lingkup Anda) maka Anda akan melihat gelombang segitiga terdistorsi. Yang kamu lihat di sini.

Coba lagi tetapi pada frekuensi 10x lebih rendah (atau bahkan 100 x lebih rendah) dan lihat apa yang Anda dapatkan.

Bimpelrekkie
sumber
Saya akan mencoba mengujinya menggunakan sinyal frekuensi yang lebih rendah. Terutama saya ingin mengkonfirmasi bahwa output sebenarnya berayun antara 0 dan 5V pada 4,43MHz (dan bukan 2 dan 2.5V). Apakah ada cara untuk mengonfirmasi bahwa menggunakan peralatan saya yang terbatas?
Batperson
Pada frekuensi yang lebih rendah Anda dapat memeriksa itu dengan mudah, maka jika beban pada keluaran opamp cukup rendah (kapasitansi kecil) Anda dapat menganggapnya juga OK pada 4,33 MHz. Untuk memastikannya, Anda tidak hanya membutuhkan ruang lingkup dengan bandwidth sekitar 200 MHz tetapi juga probe 10: 1 yang sesuai karena kapasitansi input yang rendah.
Bimpelrekkie
1
@ personel, mungkin di gua kelelawar Anda memiliki beberapa dioda 1n4148 dan kapasitor keramik, Anda dapat membangun detektor puncak.
Jasen
1

Jawaban lain telah mencakup pertimbangan bandwidth lingkup Anda, dll.

Anda mengatakan bahwa Anda menggunakan perangkat TLV3501 tetapi rangkaian skematis Anda tidak cocok dengan konfigurasi pin yang ditunjukkan dalam lembar data TI TLV3501, TLV3502 - mis. Output harus pada pin 6 atau pin 5 tergantung pada paket (SOIC atau SOT-23) ).

Skema Anda juga tidak menunjukkan koneksi ke pin "shutdown" yang harus dihubungkan ke suplai negatif - "GND" dalam kasus ini.

Jika informasi yang diberikan dalam pertanyaan Anda akurat, maka akan muncul bahwa perangkat tidak terhubung dengan benar (kecuali Anda telah berhasil menemukan perangkat dalam paket yang tidak tercantum dalam lembar data yang ditautkan).

ovirt
sumber
1
Saya seharusnya mengaburkan nomor pin pada skema, mereka tidak akurat. Saya mengganti bagian LM393 dalam skema karena saya tidak punya satu untuk TLV3501. Perangkat terhubung dengan benar termasuk pin shutdown, dan rangkaian berperilaku seperti yang diharapkan tidak hanya pada 4,43MHz.
Batperson
@Batperson - Sigh. Jadi Anda menggunakan bagian yang berbeda, dan itu tidak berfungsi seperti yang Anda harapkan. Silakan baca jawaban Transistor.
WhatRoughBeast
1
@WhatRoughBeast S / dia mengganti bagian yang berbeda ketika menggambar skematis , karena pembangun skematis tidak memiliki bagian s / dia benar-benar menggunakan dan tidak memiliki bagian generik.
user253751
Sepertinya saya menciptakan kebingungan dengan melakukan itu, saya salah. Skema telah diperbaiki.
Batperson
@ Personel Ok, terima kasih sudah melakukan itu. Saya akan berkomentar di sini karena saya belum memiliki perwakilan yang cukup untuk melakukannya pada jawaban lain. Jika ruang lingkup (dan penyelidikan) benar-benar memiliki bandwidth 10MHz, maka fundamental 4,43MHz seharusnya hanya dilemahkan secara minimal. Tampilan apa yang diberikan ruang lingkup jika Anda melihat sinyal sumber? Bagaimanapun tampilan yang Anda tunjukkan untuk output (dengan asumsi bahwa rangkaian berfungsi) menunjukkan bahwa kereta pengukuran Anda BW terbatas hingga kurang dari 10MHz. Offset konsisten dengan skenario itu - yaitu offset di setengah ayunan output.
ovirt
1

Seperti yang telah ditunjukkan orang lain kemungkinan karena osiloskop Anda hanya dinilai 10MHz. Saya ingin menjelaskan mengapa itu merupakan masalah dalam istilah yang lebih sederhana, kurang teoretis.

Peringkat 10MHz berarti dapat menampilkan gelombang sinus 10MHz dengan redaman dan distorsi minimal. Peringkat frekuensi selalu diberikan untuk gelombang sinus, bukan gelombang persegi.

Untuk memahami mengapa gelombang persegi membutuhkan lebih banyak bandwidth untuk ditampilkan, Anda harus memahami bahwa frekuensi ditentukan oleh laju perubahan seiring waktu. Jadi sebenarnya gelombang persegi adalah frekuensi sangat rendah (dekat dengan DC atau nol) pada bagian datar, dan kemudian tiba-tiba frekuensi sangat tinggi ketika transisi dari tinggi ke rendah atau rendah ke tinggi.

Jika Anda melihat datasheet untuk pembanding itu akan memberikan laju perubahan tegangan. Itu adalah tingkat maksimum perubahan outputnya. Ini juga akan tergantung pada sirkuit Anda, tetapi untuk contoh ini katakanlah 1ns / V. Output akan berayun lebih dari 5V, mengambil 5ns. Jadi frekuensi bagian transisi dari gelombang persegi adalah 1 / 5ns, atau 200MHz. Karena cakupan Anda hanya 10MHz, itu akan menampilkan sesuatu seperti bentuk gelombang yang Anda lihat, tidak dapat berayun naik dan turun secepat gelombang persegi.

pengguna
sumber
0

Bandwidth 10 MHz akan membulatkan sinyal Anda sehingga terlihat lebih seperti gelombang sinus daripada gelombang kuadrat dan kemungkinan juga akan menyebabkan beberapa pelemahan tetapi tidak menjelaskan mengapa sinyal Anda 10 kali lebih kecil dari yang seharusnya.

Salah satu kemungkinan penyebab perilaku seperti itu adalah memiliki ruang lingkup yang dikonfigurasi untuk penyelidikan X1 tetapi sebenarnya menggunakan penyelidikan X10 tetapi itu juga akan mempengaruhi tingkat offset DC yang tampaknya Anda katakan kira-kira benar.

Jadi saya menyimpulkan bahwa sistem Anda harus memiliki bandwidth yang sangat kurang dari 10MHz yang dicetak pada ruang lingkup Anda. Jadi baik ruang lingkup Anda dibuat oleh produsen yang terletak (saya tidak mengenali merek), pengaturan probe Anda tidak cocok untuk frekuensi tinggi atau ada sesuatu yang salah dengan sirkuit yang Anda uji.

Peter Green
sumber
Ini tidak 10 kali lebih kecil dari yang seharusnya, saya mengharapkan puncak 5V dan melihat sekitar 2.5V. Saya tidak berpikir ruang lingkup saya dapat dikonfigurasi untuk pemeriksaan (ini adalah anggaran seperti yang saya katakan) dan pemeriksaan diatur untuk X1. Tetapi tampaknya konsensus bahwa rangkaian sebenarnya bekerja dan apa yang saya lihat adalah karena keterbatasan ruang lingkup saya (atau konfigurasinya). Setelah saya memiliki kesempatan, saya akan mencoba untuk mengkonfirmasi bahwa menggunakan saran yang diajukan orang di sini.
Batperson