Level menggeser sinyal +/- 2.5V ke 0 - 5V

19

Saya memiliki modul ujung depan yang menghasilkan sinyal (EKG) yang bervariasi dari +/- 2,5 V. Saya ingin menggeser sinyal ini ke 0 - 5V. Apa cara terbaik untuk melakukan ini? Apakah penguat penjumlahan seperti rangkaian di bawah ini cukup baik? Dengan R1 = R2 dan V1 = 2.5V, V2 = sinyal saya, V3 = V4 = GND

Menjumlahkan amp

pemerintah m
sumber

Jawaban:

17

Hal pertama yang harus dicoba adalah resistor adder sederhana, tanpa opamp. Tetapi jelas bahwa ini tidak akan bekerja di sini: penambah resistor selalu melemahkan sinyal, dan kita membutuhkan amplifikasi × 1.

masukkan deskripsi gambar di sini

Ini adalah penguat penjumlahan non-pembalik. Anda akan berpikir bahwa kita hanya perlu menambahkan 2,5 V, tetapi apakah Anda memilikinya? Saya berasumsi Anda memiliki 5 V, jadi mari kita gunakan itu dan lihat di mana kami mendapatkannya. Jika kita memiliki -2,5 V pada input Vin, input non-pembalik harus nol jika Anda ingin 0 V keluar, terlepas dari nilai R3 dan R4. Jadi R1 dan R2 membentuk pembagi tegangan, dan R2 harus dua kali R1 untuk mendapatkan 0 V.

Selanjutnya kita harus menemukan amplifikasi, yang ditentukan oleh R3 dan R4:

SEBUAHV=R3+R4R3

×

Kita dapat menggunakan nilai-nilai berikut:

R1 = 10 kΩ
R2 = 20 kΩ
R3 = 20 kΩ
R4 = 10 kΩ

Anda memerlukan opamp RRIO (Rail-to-Rail I / O) jika Anda ingin memberi daya jika dari pasokan 5 V tunggal.

stevenvh
sumber
Terima kasih untuk sirkuit Anda, tetapi saya menemukan bahwa saya perlu memberikan 2,5 V pada R2, bukan 5V agar shifting bekerja. Tidak yakin mengapa itu yang terjadi .. Tetapi sirkuit bekerja
govind m
@ govindm - Tidak, perhitungannya mengatakan 5 V :-). Apakah Anda yakin tidak menggunakan nilai yang sama untuk R1 dan R2?
stevenvh
Ups maaf Steven, kesalahan bodoh di pihak saya. Saya telah menukar r1 dan r2. Saya senang mengkonfirmasi sekali lagi (dalam sejarah peradaban manusia), bahwa perhitungan DONT bohong.
govind m
14

Inilah salah satu cara untuk melakukannya:

Pergeseran Tingkat

Pembagi resistif memasok 1,25V ke input non-pembalik. Ini dapat diganti dengan referensi tegangan khusus jika diinginkan. Anda membutuhkan rail to rail opamp output.

Berikut ini sebuah simulasi:

Level Shift Sim

Perhatikan impedansi input didefinisikan oleh R3, jadi Anda mungkin perlu meningkatkan ini (dan R2 dengan yang sama) atau buffer jika sumbernya impedansi tinggi. Perhatikan juga bahwa outputnya terbalik.

Berikut adalah metode non-pembalik untuk referensi juga:

Pergeseran Tingkat Non Pembalik

Dan simulasi ("to_adc" adalah tegangan output):

Pergeseran Tingkat Non-Pembalik

Sirkuit non-pembalik di atas sedikit mirip dengan amplifier penjumlahan Anda.
Namun, jumlah penjumlahan yang Anda tampilkan memiliki masalah, resistor penguatan pembalik yang ditampilkan tidak akan memperbaiki pembagi. Perlu (R1 + R2) untuk resistor umpan balik.
Jadi, dapatkan sama dengan ((R1 + R2) / R2) + 1.

Berikut adalah contoh tampilannya (sufiks a dan b hanya untuk membuat SPICE senang):

Penjumlahan level shift

Dalam simulasi Anda dapat melihat opamp + IN swings dari 0V ke 1.25V, sehingga perlu mendapatkan 4 untuk output 0V ke 5V. Karena R1c dan R1d paralel, kita mendapatkan 50rb. Jadi (150k / 50k) +1 = 4.

Sim level penjumlahan shift

Oli Glaser
sumber
Saya ingin tahu, bagaimana ukuran Anda C2?
jippie
1
Saya tidak benar-benar mengukurnya untuk pertanyaan khusus ini, ini adalah sisa dari skema sebelumnya yang saya sesuaikan untuk jawaban ini (saya meninggalkannya karena selalu merupakan ide yang baik untuk memiliki topi kecil di Rf untuk mencegah osilasi, tetapi tidak ingin masuk lebih detail di area itu) Namun, seperti yang ditunjukkan bandwidth akan menjadi 1 / (2pi * C2 * (R1 + R2)) -> 1 / (6.28 * 100e-12 * 150e3) = ~ 10.6kHz. Untuk EKG, bandwidth bisa dikurangi lebih banyak.
Oli Glaser
Terima kasih atas jawaban terinci Anda. Saya baru saja mencoba rangkaian non-pembalik Anda, tetapi sepertinya saya mengalami beberapa masalah. Meskipun ayunan sinyal input dari -2,5 ke 2,5 V, output dari ayunan penguat antara 1V dan 3,3V saja, saya tidak tahu apa yang sedang terjadi .. Saya menggunakan LM358AN
govind m
1
LM358 bukan opamp rail to rail, khususnya output tidak akan berayun sampai + 5V meskipun harus mencapai ground. Inputnya juga bukan rail to rail. Juga, jika impedansi sumber Anda tinggi (mis.> 5k), Anda perlu buffer sinyal sebelum mengirim ke level shifter.
Oli Glaser
Saya juga mencoba OPA333 - yang menurut datasheet adalah "rail to rail output dalam 3mV", dengan hasil yang sama. Mungkin itu masalah dengan impedansi input? Saya akan mencoba menambahkan pengikut tegangan ..
govind m