Alasan lonjakan singkat dalam output op amp ketika melintasi 0V?

11

Apakah ada yang mengenali lonjakan ini dalam output op amp ketika sinyal melintasi 0V? Itu melonjak ketika menyeberang ke atas dan ke bawah saat menyeberang ke bawah. Dalam salah satu video EEVBlog, Dave menunjuk ke sesuatu yang persis seperti ini pada osiloskop dan berkata (sebagai tambahan) bahwa itu bisa terjadi ketika menggunakan resistor umpan balik 10k atau sesuatu seperti itu. Tapi saya tidak ingat video mana itu. Ini adalah output dari TL071 (sebenarnya 1/4 dari TL074). Diumpankan dari output 2 TL071 lainnya melalui resistor 2.2k, dan umpan baliknya memiliki potensiometer 10k.

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Spike pada 0V

Perbarui 10 Maret

Seperti disebutkan dalam komentar di bawah, rangkaian ini terdiri dari prosesor ATmega328P yang menggerakkan 8 jalur menjadi DAC R2R. Keluaran DAC dan tegangan bias DC dimaksudkan untuk memusatkan keluaran DAC pada umpan 0V ke dalam op amp TL071 pembalik. Output dari op amp ini adalah "OA2OUT" dalam skema di atas.

skema

mensimulasikan rangkaian ini

Output jaringan R2R memiliki impedansi 10k, diwakili oleh R4. R1 dan R2 memberi saya tegangan offset dan memiliki impedansi paralel 9.5k, yang cukup dekat dengan 10k. R3 resistor umpan balik juga 10k. Jadi saya berpikir bahwa rangkaian ini akan menjumlahkan dan membalikkan tegangan R2R dan offset.

Ketika saya memeriksa output dari jaringan R2R pada titik R2ROUT, saya tidak melihat lonjakan.

Tidak ada lonjakan

Ketika saya memeriksa output op amp di VOUT, saya melihat lonjakan.

Paku

Saya mencoba beberapa hal lain. Saya mencoba mengganti resistor umpan balik 10k dengan resistor 2,2k, hanya karena itu tergeletak di sekitar dan karena saya ingat Dave menyebutkan sesuatu tentang resistor 10k dalam video EEVBlog. Itu membuat lonjakan lebih buruk.

Paku yang lebih besar

Kemudian saya mencoba mengganti op amp TL074 dengan op amp LM6144. Saya telah menggunakan sirkuit ini untuk mencoba berbagai op amp dan mencoba memahami apa yang membuat semuanya berbeda, jadi saya tahu rangkaian itu bekerja (semacam) dengan semuanya. Kali ini saya mendapat paku di setiap transisi.

Lotsa berduri

Akhirnya saya mencoba TLV2374, yang fantastis, tetapi saya masih melihat lonjakan. Itu lebih kecil tapi masih ada.

Satu lonjakan terakhir

Masih mencoba mencari yang satu ini. Terima kasih semuanya atas bantuan Anda sejauh ini!

Perbarui 13 Maret

Mencoba mengukur output R2R dengan beban R / 10 (1k) sesuai komentar @WhatRoughBeast di bawah ini. Sekarang saya melihat lonjakan! Juga tampaknya jauh lebih ribut ... yang merupakan sesuatu yang saya perhatikan sebelumnya dan berusaha untuk memperbaikinya dengan kapasitor 10uF melintasi rel listrik dan tanah virtual. Ini "bekerja" dalam arti mengurangi kebisingan, tetapi juga memperkenalkan osilasi / dering yang saya sebutkan ketika saya mencoba memasang topi kecil untuk memuluskan output DAC. Semua hal ini jelas terkait, hanya saja tidak pasti bagaimana caranya.

Lonjakan dan kebisingan

Ngomong-ngomong saya mencoba resistor 100 ohm yang disarankan oleh @Brian Drummond sebelumnya, tetapi sinyal yang dihasilkan sangat kotor dan berisik sehingga saya tidak tahu apa yang sedang terjadi.

Jadi, apa yang bisa dibawa pulang di sini? Masalahnya jelas perilaku MSB yang diidentifikasi oleh @WhatRoughBeast. Itu, dan kebisingan, tampaknya semakin buruk dengan lebih banyak arus melalui jaringan R2R. Saya pikir, oke, buffer sinyal R2R melalui op amp non-pembalik sebelum melakukan hal lain dengan itu, tetapi ketika saya melakukan itu, saya juga melihat lonjakan. Apakah satu-satunya solusi untuk memfilternya dan tidak mengkhawatirkannya?

Willis Blackburn
sumber
Mungkin nama efek yang Anda cari adalah distorsi crossover .
pipa
1
Meskipun sumber sinyal jelas merupakan R-2R DAC, pertanyaannya harus benar-benar menyebutkan ini. (BUKAN distorsi crossover) Uji dengan menjalankan DAC ke dalam resistor nilai ish rendah (100R) alih-alih input bumi virtual pada opamp. Mungkin tidak akan linear, tetapi Anda akan melihat langkah yang sama.
Brian Drummond
Terima kasih @Brian Drummond. Saya tidak menyebutkan R2R karena saya ingat video EEVBlog dan yakin itu adalah masalah op amp. Berusaha menjaga agar pertanyaan tetap fokus tetapi dalam hal ini lebih banyak informasi akan lebih baik.
Willis Blackburn
Dengan skema yang diperbarui, ketahuilah bahwa titik "R2R" Anda adalah input pembalik op amp, dan akan ditahan pada tegangan konstan. Jadi Anda seharusnya tidak melihat apa pun pada saat itu. Coba kendarai resistor R / 10 ke ground.
WhatRoughBeast
Saya memutus op amp sebelum mengambil screenshot layar 10 Maret.
Willis Blackburn

Jawaban:

21

Apa yang Anda lihat adalah ketidakcocokan waktu turn-on / turn-off dari msb dibandingkan dengan bit lainnya.

Berpura-puralah sejenak bahwa ini adalah DAC 8-bit, duduk di kode 01111111. Jika kode berikutnya adalah 1000000, Anda akan mendapatkan langkah yang baik. Tetapi yang terjadi adalah bahwa secara internal msb merespons sedikit lebih cepat daripada bit lainnya. Ini berarti bahwa transisi tersebut sebenarnya 0111111 ke 1111111 ke 10.000000. Kode 11111111 hanya bertahan untuk waktu yang sangat singkat, tetapi sementara itu ada output mencoba untuk pergi ke skala penuh. Karena waktu ketidakcocokan (disebut sedikit miring) hanya berlangsung untuk waktu yang sangat singkat Anda hanya mendapatkan pulsa yang relatif kecil (biasanya disebut kesalahan). Efek ini sebenarnya cukup penting dalam video DAC, karena mata sangat sensitif terhadap hal semacam ini, dan karakteristik penting untuk video DAC adalah energi kesalahan total.

WhatRoughBeast
sumber
Maaf, saya menandai Anda dengan benar tetapi kemudian tidak menandainya karena saya belum dapat mengkonfirmasi hal ini. Saya perlu melihat apakah ada kesalahan pada output DAC sebelum masuk ke op amp. Masuk akal juga.
Willis Blackburn
Mungkinkah alasannya adalah bahwa DAC sebenarnya adalah jaringan R2R 8-bit dan MSB secara fisik paling dekat dengan output? Mungkin sisa rangkaian memiliki beberapa kapasitansi dan beberapa bagian dari sinyal 01111111 tetap ketika input beralih ke 10000000?
Willis Blackburn
@ WillisBlackburn - ada sejumlah kemungkinan Fakta bahwa ukuran langkah lebih besar untuk langkah dengan kesalahan tentu menunjukkan bahwa ada sesuatu yang berbeda tentang drive msb. Namun, mengingat timebase yang relatif panjang seperti yang ditunjukkan (20 usec / div) membuat masalah penempatan yang Anda khawatirkan tidak mungkin terjadi. Kesalahan tampaknya memiliki lebar dalam 10-an hingga 100-an nsec, dan itu terlalu banyak dijelaskan oleh keterlambatan penempatan. Kapasitansi liar? Tidak bisa tahu tanpa skema DAC.
WhatRoughBeast
1
@WhatRoughBeast Saya bingung bagaimana Anda mendapatkan jawaban ini mengingat pertanyaannya sebenarnya tidak menyebutkan DAC (sejauh yang saya tahu). Jelas ada DAC seperti yang disepakati OP, dan jawabannya tampak benar, tetapi apakah Anda memiliki bola kristal atau sesuatu?
abligh
1
Ini drive paralel. Port D0 ke D7 pada ATmega328P secara langsung dilampirkan ke input jaringan R2R. Saya menggunakan port D karena itu satu-satunya port dengan 8 bit yang dapat diatur dengan satu instruksi. (Port C memiliki bit 6 ditempati oleh reset pin dan tidak ada bit 7, sedangkan port B bit 6-7 ditempati oleh kristal eksternal, dan tentu saja tidak ada port A.) Jadi saya cukup yakin semua switch diatur secara bersamaan dalam batas kemampuan mikrokontroler. Malam ini saya akan melihat apakah kesalahan muncul pada output R2R.
Willis Blackburn
0

Masalah yang Anda lihat tampaknya berasal dari OpAmps seperti yang ditunjukkan percobaan Anda. Coba letakkan resistor secara seri dengan input pembalik OpAmp (yaitu, antara simpul umum R1 / R2 / R3 / R4 dan input pembalik. Gunakan 10k atau lebih untuk memulai. Anda dapat menambahkan satu lagi ke input non-pembalik jika Anda peduli tentang offset pada output.

Rakyat Anonim
sumber