zoukankan      html  css  js  c++  java
  • Voltage Translation for Analog to Digital Interface ADC

    Voltage Translation for Analog to Digital Interface

    孕龙逻辑分析仪 ZeroPlus Logic Analyzer

    How to modify analog output range of Arduino Due

     In today's microcontroller market, most of the Analog to Digital converters

    are only able to accept voltages from the Vcc of the device to ground.

    But what if you want to measure a bipolar signal?

    This short tutorial plans to show you a simple but effective method

    to interface a bipolar voltage to any single polarity input.

    On the left is the ideal basic circuit for interfacing. 

    vi is the input voltage,  vo is the voltage sent to the ADC, 

    vr is a reference voltage used for setting the center or zero input voltage,

    and R1 and R2 are used for input scaling and current limiting

    to bring the input voltage into the range of the ADC.

    On the left are the 5 formulas needed to determine the values of vr and R2.
    R1 will be chosen initially as we will see in an example below.  
     
    As you can see in formulas I,III,IV, and V, 
    the term is the voltage divider ratio of the resistors calculated by formula II.

    Now that I have my basic circuit, and the required formulas, let's now create a useful example.

            In this example, my parameters will be as follows:        
            - Input impedance of at least 1Mohm.
            - vin = +/- 12V
            - vo = 0-5V 
            So when vin = 12v, vo = 5v
                           vin = -12v, vo = 0v
                           vin = 0v, vo = 2.5v

    To begin, I need to calculate the value of R
     
    This will be the scaling factor applied to the incoming voltage.
    To do this, I take the vo range and divide it by the vin range. In this case, 
            R = 5/24 = .2083 [ 12v - -12v = 24v ]
     
    Next I will calculate the value of R2.
    Because I want an input impedance of at least 1Mohm, I will use 1M as R1.
    Using formula V, the value for R2 is:

        R2 = (R * R1)/(1-R) = (.2083 * 1M)/(1-.2083) = 208,300/.7917 = 263,104 ohms.

        
    Next I need to calculate the value of vr.
        Using the case of vin = 12, vo = 5, and using formula III:

        vr = (vo - R * vi)/(1 - R) = (5 - .2083 * 12)/(1 - .2083) = 2.5004/.7917 = 3.158v 

        I now have the 3 values required for my design.
        R1 = 1M
        R2 = 263,104
        vr = 3.158v

    I can now plug these numbers into formula I
    and calculate the three input voltages of +12, 0, and -12 and verify that the design is correct.

        vo (vin=+12) = R(vi - vr) + vr = .2083(12 - 3.158) + 3.158 =  5.000
        vo (vin= 0)    = .2083(0 - 3.158) + 3.158 =  2.500
        vo (vin=-12)  = .2083(-12 - 3.158) + 3.158 = 0

        To the left is a practical circuit to interface to an ADC. The features are:
        - A diode and zener diode used to protect the ADC input from overvoltage.
        - R2 is composed of a fixed value, and a trim pot to dial in the correct value.
        - A trim pot connected to the non inverting input of an op amp in a voltage follower configuration for setting vr.  

    To calibrate the circuit, adjust the op amp trim pot for an output voltage of vr as calculated above.
    Next, input a voltage to vi and calculate what the vo should be,
    and adjust the R2 trim pot until that voltage is achieved. 

    Note:
    Generally, zener diodes will always have some current flow.
    This will adversely affect the accuracy of the ADC measurements as well as the linearity. 
    A method of switching in the zener when max voltage is reached would be preferable,
    but would increase the part count.

    Now I have a working circuit, but the last thing to calculate is the maximum and minimum input voltages.
    This will be determined by the two diodes and using formula IV.

    The maximum input voltage will occur when the zener diode goes into breakdown regulation.
    If we assume a zener voltage of 5.1v, the maximum input voltage is:

        vi = ((vo - vr)/R) + vr = ((5.1 - 3.158)/.2083) + 3.158 = 12.481v
      
    The minimum input voltage will occur when the diode is forward biased.
    Assuming a forward voltage of 0.7v, the minimum input voltage is:

        vi = ((-0.7 - 3.158)/.2083) + 3.158 = -15.363v  

    Effective input impedance can be calculated as follows:

        zin = vin(R1 + R2)/(vin - vr)

    This is a varying quantity depending on vin. 
     
  • 相关阅读:
    js简单地发送一个请求
    浏览器缓存知识归纳
    文本选择问题: css & js
    闭包和重写函数 返回IE浏览器版本号
    新项目启动 考虑问题
    Angular 单元格合并
    pointer-events 使用场景
    移动开发 新建空白页面
    CSS Tip
    垂直居中方法
  • 原文地址:https://www.cnblogs.com/shangdawei/p/4816026.html
Copyright © 2011-2022 走看看