Google : Op-Amp Level Shifter

Level shifting a +/- 2.5V signal to 0 - 5V

I have a front end module that generates an (ECG) signal that varies from +/-2.5 V. I want to shift this signal to 0 - 5V. What is the best way to do this?

First thing to try is a simple resistor adder, without opamp.

But it's clear that this won't work here:

a resistor adder always attenuates the signal, and we need a ×1 amplification.

This is a non-inverting summing amplifier. You would think that we simply have to add 2.5 V, but do you have that? I'm assuming you have 5 V, so let's use that and see where it gets us. If we have -2.5 V on the Vin input the non-inverting input should be zero if you want 0 V out, regardless of the values of R3 and R4. So R1 and R2 form a voltage divider, and R2 should be twice R1 to get the 0 V.

Next we have to find the amplification, which is determined by R3 and R4:

AV = ( R3+R4 ) / R3

If we have 2.5 V on the Vin input and with R2 = 2 ×R1 we get 3.33 V on the non-inverting input of the opamp. To make that 5 V out we have to amplify by 1.5, so R3 must be twice R4.

We could use the following values:

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

You'll need an RRIO (Rail-to-Rail I/O) opamp if you want to power if from a single 5 V supply.

Here is one way to do it:

The resistive divider supplies 1.25V to the non-inverting input.

This can be replaced by a dedicated voltage reference if desired. You will need a rail to rail output opamp.

Here is a simulation:

Note the input impedance is defined by R3, so you may need to increase this (and R2 by the same) or buffer if the source is high impedance.

Also note that the output is inverting.

Here's a non-inverting method for reference also:

And the simulation (the "to_adc" is the output voltage):

The above non-inverting circuit is a bit like your summing amplifier.

The summing amp you show has a problem though, the inverting gain resistors shown will not correct for the divider.

It needs (R1 + R2) for the feedback resistor.

So gain equals ((R1 + R2) / R2) + 1.

Here is an example of how it should look (the a and b suffixes are just to keep SPICE happy):

In the simulation you can see the opamp +IN swings from 0V to 1.25V,

so it needs a gain of 4 to output 0V to 5V.

Since R1c and R1d are in parallel, we get 50k. So (150k / 50k) + 1 = 4.

I'm curious, how did you size C2?

I didn't actually size it for this particular question, it's a remnant from a previous schematic

I adjusted for this answer (I left it in as it's always a good idea t

o have a small cap across Rf to prevent oscillation, but didn't want to go into more detail in that area)

However, as shown the bandwidth would be 1 / (2pi * C2 * (R1+R2)) -> 1 / (6.28 * 100e-12 * 150e3) = ~10.6kHz.

For an ECG, the bandwidth could be reduced plenty more.

Non-Inverting Op-Amp Level Shifter

A common engineering task is to convert a positive to negative signal into a range suitable for a single supply ADC.

This circuit will convert a +/-5V signal into a 0 to 3.3V signal so that it can be sampled by an ADC on a 3.3V  microprocessor.

Check out our Op-Amp Resistor-Calculator.

Equations:

A = (R4/R1) x (R1+R2)/(R3+R4)

If R1= R3, and R2=R4, then

A= (R4/R1)

We want to convert a 10Vpp signal to a 3.3V signal so the gain should be 1/3.  We can choose R4 to be 33K and R1 to be 100K.

Now we need to choose the positive offset such that the signal is centered at 1.6V.

The gain off the offset voltage is:

Aoffset= (R2+R1)/R1 x R3/(R3+R4) = R3/R1.

For the previous resistor values, the gain is 1 since R3=R1, and so we use an offset voltage of 1.6V.

Single-Supply Op Amp Forms Noninverting Level Shifter

Abstract: Single-supply circuitry saves space and cost, but audio and video are usually referenced to ground, which requires two op amps and a negative rail. This circuit, however, uses only one op amp (MAX4380) to level-shift a ground-referenced signal while operating on a single supply voltage.

A similar version of this article appeared in the May 5, 2010 issue of Electronic Design magazine.

As portable battery-operated devices continue to shrink in size while adding functionality, their PCB real estate becomes increasingly valuable. Single-supply circuitry can help by saving space and cost. Adding audio or video, however, can pose a problem because those signals are usually referenced to ground.

Most single-supply ICs must be configured for signals above ground, so it's necessary to shift most audio or video input signals to an appropriate level above ground. For video, you must also preserve the signal polarity. Unfortunately, however, operation on a single supply voltage while preserving signal polarity is impossible with traditional op-amp level shifters, which demand two op amps and a negative rail.

The single op-amp circuit of Figure 1 level shifts a ground-referenced signal while operating on a single supply voltage. The op amp's noninverting summing configuration creates the level-shifted output by summing a reference voltage with the input signal. A standard potentiometer with a bypass capacitor sets the reference voltage in this case, but any voltage reference capable of providing enough bias current for the op amp and summing resistors will suffice.

Figure 1. This noninverting level shifter operates on a single supply voltage, with one op amp.

This example also includes the 75Ω termination resistors required in a standard video application.

Accordingly, the op amp shown features a small footprint plus the wide bandwidth necessary for video.

Figure 2 shows the circuit in action, shifting a 10MHz ground-referenced input signal (bottom trace, blue) by +1.5V (top trace, orange).

Figure 2. The Figure 1 circuit shifts this ground-referenced 10MHz signal (bottom trace) by +1.5V (top trace).

A Single-Ended Op Amp Used as a Level Shifter

Some ideal op amp configurations assume that the feedback resistors exhibit perfect matching.

In practice, resistor non-idealities can affect various circuit parameters such as common mode rejection ratio (CMRR),

harmonic distortion and stability. For instance, as shown in Figure 1, a single-ended amplifier configured

to level-shift a ground-referenced signal to a common mode of 2.5V needs a good CMRR.

Assuming 34dB CMRR and no input signal, this 2.5V level shifter exhibits an output offset of 50mV,

which can even overwhelm the LSB and offset errors of 12-bit ADCs and drivers.

Offset an input voltage of -2.5V - 2.5V to 0V - 5V?

This question already has an answer here:

I have a circuit input which provides a voltage range of negative 2.5 volts to positive 2.5 volts. How do I change this so the output voltage is 0 - 5 volts?

There are several ways to do this, for instance using an opamp to sum 2.5V to your signal:

This is an inverting summing amplifier, so for R1=R2=R4, the output would be Vo=−(VAC+VDC)

If you want to keep the phase of the signal, a non-inverting summing amplifier would be like this:

In this, R3,R4 control the gain of the amplifier, and R1,R2 act as a resistor divider.

Analysing this, we get that the output is

Vo = Vinop * ( (R3+R4) / R3), and from the resistor divider

Vinop = ( Vs1 * R2 + Vs2 * R1 ) / ( R1+R2 )

If we make R2=2 R1 we get Vinop= ( 2Vs1+Vs2 ) / 3.

Substituting this in the first output equation, and making the gain 2/3 by choosing R3=2R4,

then the final output will be the desired Vo=Vs1 + Vs2/2, being Vs1 the -2.5V to 2.5V AC input signal and Vs2=5V in this case.

In page 6 here you can also find a few different examples to offset signals using opamps:

http://www.ti.com/ww/en/bobpease/assets/AN-31.pdf

Level shifting a +/- 2.5V signal to 0 - 5V的更多相关文章

  1. Non-Inverting Level Shifter : +/-5V signal into a 0 to 3.3V

    http://electronicdesign.com/boards/non-inverting-level-shifter-requires-only-one-op-amp-one-supply-v ...

  2. XBee Level Shifting

    http://www.faludi.com/bwsn/xbee-level-shifting/ The XBee communication (RX/TX) pins definitely opera ...

  3. 实用的4~20mA输入/0~5V输出的I/V转换电路(转)

    源: 实用的4~20mA输入/0~5V输出的I/V转换电路

  4. 4~20mA转0~5V

    RCV420是一种精密的I/V转换电路,也是目前最佳的4-20mA转换0-5V的电路方案,有商用级(0℃-70℃)和工业级(-25℃-+85℃)供你选购 301欧姆为精度1%. RCV420运行40m ...

  5. 1.5V升5V芯片,1.5V升5V电路图规格书

    常用的 5号,7号等 1.5V 干电池满电电压在 1.6V 左右,干电池输出耗电电压在 1V.适用PW5100,在 0.9V 时还能输出,彻底榨干干电池的电量. 1.5V 升5V 的芯片:PW5100 ...

  6. ili9325--LCD寄存器配置研究

    2011-06-22 22:18:12 自己根据ili9325的规格书编写驱动.发现LCD屏没显示.于是怀疑是某些寄存器设置错误.要调试的话最好还是先熟悉寄存器的作用,调试的时候只要看到现象就能分析了 ...

  7. 集成多种协议、用于 USB-A 和 TYPE-C 双端口输出的快充协议芯片IP2726

    1. 特性  支持 1A1C  支持 USB-A 和 TYPE-C 双端口输出  单口输出支持全部快充协议  双口同时插入时降压到 5V  快充规格  集成 QC2.0/QC3.0/QC4/QC4+输 ...

  8. 集成 12 种协议、可于 USBC 端口的快充协议芯片IP2188

    1. 特性  支持 12 种 USB 端口快充协议  支持 USB TypeC PD2.0/PD3.0/PPS DFP 协议  支持多种充电协议(QC3.0/QC2.0,FCP,SCP, AFC,MT ...

  9. 5V and 3V Level Translators

    http://www.daycounter.com/Circuits/Level-Translators/Level-Translators.phtml Interfacing 5V and 3V l ...

随机推荐

  1. jetty 最后版本类库树, 基本上大多数应用都够了

    d:\jetty-distribution-8.1.17.v20150415\lib\annotations\javax.annotation-1.1.0.v201108011116.jarjavax ...

  2. 批量导入Excel存在的问题及解决方案

    许多传统的做法,导入excel就是将excel上传到服务器的某个文件夹里如upload,之后再次读取,导入系统.这边就存在一些问题: 1.服务器需要安装Office,用于读取Excel文件. 2.系统 ...

  3. 记一次Web服务的性能调优

    前言 一个项目在经历开发.测试.上线后,当时的用户规模还比较小,所以刚刚上线的项目一般会表现稳定.但是随着时间的推移,用户数量的增加,qps的增加等因素会造成项目慢慢表现出网页半天无响应的状况.在之前 ...

  4. 一些CSS常见的小问题小笔记

    父元素与子元素之间的margin-top问题: 给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值 解决方法: 1.修改父元素的高度,增加padding-to ...

  5. Attribute "lazy" with value "true" must have a value from the list "false proxy no-proxy "

    Hibernate 3.2 版本 当设置lazy="true"属性时,会产生该个异常: Attribute "lazy" with value "tr ...

  6. Linux下运行jar包

    方法① 1.vim xxx.jar 2.配置程序入口:找到MANIFEST.MF,添加Main-Class:+空格+package.class 3.引入第三方jar包:①在MANIFEST.MF中加入 ...

  7. PHPCMS联动菜单的调用函数get_linkage方法详解

    v9联动菜单调用方法[注意此为内容页调用方法 {get_linkage($areaid,1,' >> ',1)} 显示效果: 湖北省 >> 武汉市 >> 汉阳区 [ ...

  8. URAL - 1917 Titan Ruins: Deadly Accuracy(水题)

    水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. ...

  9. 一个通用的makefile

    # ESDK the makefile setting file - chenwg@20131014 # you can modify "PC = 1" such as " ...

  10. SQL语句汇总(二)——数据修改、数据查询

    首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)  ...