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.

- 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
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
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.
Now I have a working circuit, but the last thing to calculate is the maximum and minimum input voltages.
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.
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.
Voltage Translation for Analog to Digital Interface ADC的更多相关文章
- Fully Digital Implemented Delta-Sigma Analog to Digital Converter
http://www.design-reuse.com/articles/14886/fully-digital-implemented-delta-sigma-analog-to-digital-c ...
- Analog/digital converter (ADC)
1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...
- STM8S——Analog/digital converter (ADC)
1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...
- DG449 High Voltage Single SPDT Analog Switch in SOT23-8
DESCRIPTION The DG449 is a dual supply single-pole/double-throw (SPDT) switches. On resistance is 38 ...
- How to modify analog output range of Arduino Due
Voltage Translation for Analog to Digital Interface ADC How to modify analog output range of Arduino ...
- 孕龙逻辑分析仪 ZeroPlus Logic Analyzer
Voltage Translation for Analog to Digital Interface ADC http://openschemes.com/2010/03/23/zeroplus-l ...
- quick start guide for XMEGA ADC
This is the quick start guide for the Analog to Digital Converter (ADC), with step-by-step instructi ...
- BOOST Converter Analog/Digital Adjusted Output Voltage TPS61045 MAX1932
DIGITALLY ADJUSTABLE BOOST CONVERTER The TPS61045 is a high frequency boost converter with digitally ...
- Digital Adjustment of DC-DC Converter Output Voltage in Portable Applications
http://pdfserv.maximintegrated.com/en/an/AN818.pdf http://www.maximintegrated.com/app-notes/index.mv ...
随机推荐
- MyEclipse中如何配置默认jsp为UTF-8格式
- xpath定位
XML 实例文档 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1"?> ...
- [转] MachingLearning中的距离相似性计算以及python实现
参考:https://blog.csdn.net/gamer_gyt/article/details/75165842#t16 https://blog.csdn.net/ymlgrss/artic ...
- java 扫描输入
到目前为止,从文件或标准输入读取数据还是一件相当痛苦第事情,一般第解决之道就是读入一行文本,对其进行分词,然后使用Integer Double 等类第各种解析方法来解析数据: //: strings/ ...
- 有关cookie
cookie 会话跟踪技术 <script> /* cookie 全称 会话跟踪技术. ...
- linux命令: chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...
- python 全栈开发,Day113(方法和函数的区别,yield,反射)
一.方法和函数的区别 面向对象 初级 class StarkConfig(object): def __init__(self,model_class): self.model_class = mod ...
- java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1: 输入: A=[1], B=[1] 输出:[1,1] 样例解释: 返回合并后的数组. 样例 2: 输入: A=[1,2,3,4 ...
- Angular 中后台前端解决方案 - Ng Alain 介绍
背景 之前项目使用过vue.js+iview,习惯了后端开发的我,总觉得使用不习惯,之前分析易企秀前端代码,接触到了angular js,完备的相关功能,类似后端开发的体验,让人耳目一新,全新的ang ...
- Codeforces 585D Lizard Era: Beginning
Lizard Era: Beginning 折半之后搜就完事了, 直接存string字符串卡空间, 随便卡卡空间吧. #include<bits/stdc++.h> #define LL ...