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 ...
随机推荐
- Appium+Java(一) Windows环境搭建篇
准备: Android版本 :4.2.2 nodejs版本:5.6.0 appium版本:v1.4.16 1. 安卓SDK及配置环境变量 1.1.先下载sdk安装包:installer_r24.4.1 ...
- PYTHON-模块定义 搜索路径
模块是什么: ***** 模块 是一系列功能的集合体 一个py文件就是一个模块 一个函数就是一个功能 例如 A.py 文件名A.py 模块名 A 模块有哪些来源 内置 第三方 自定义 模块有四种通用的 ...
- jQuery Ajax实例各种使用方法详解
在jquery中ajax实现方法分类很多种,如有:load.jQuery.get.jQuery.post.jQuery.getScript.jQuery Ajax 事件.jQuery.ajaxSetu ...
- vue-swiper的使用
写博客不是我的爱好,只是人脑毕竟空间只有那么大,有时候会忘了,好记性不如烂笔头,所以通过博客记录点点滴滴,以后可以翻出来看. vue-awesome-swiper官网链接https://www.npm ...
- 将模型.pb文件在tensorboard中展示结构
本文介绍将训练好的model.pb文件在tensorboard中展示其网络结构. 1. 从pb文件中恢复计算图 import tensorflow as tf model = 'model.pb' # ...
- (无)webservice执行过程深入理解
前面我们搞了1,2个DEMO,基本对webservice服务发布,调用 ,执行 有一定的了解. 今天的话,我们再系统的梳理下webservice执行过程. 首先我们在webservice服务器端开发w ...
- Array数组内函数
concat() 功能:合并数组,并且生成新数组.对原数组没有改变. 不传参数的时候,相当于生成新数组. 格式:数组.concat(数据...数组); 返回值:生成的新数组 代码示例: //.co ...
- 自动化测试使用cookie跳过验证码
准备工具: fiddler Python+selenium 安装fidder fidder官方下载地址 fidder首次安装需要设置才能抓取https参考如下 fidder设置抓取https 开始 1 ...
- Python进行MySQL数据库操作
最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...
- Java获取当前时间的年月日方法
package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util ...