【硬件设计】光耦HCNR200基本原理及应用(资料摘抄)

【仅作自学记录,不出于任何商业目的。如有侵权,请联系删除,谢谢!】 

本文摘抄翻译自:

  • https://docs.broadcom.com/wcs-public/products/application-notes/application-note/331/6/av02-1333en-an_5394-16jul10.pdf
  • https://docs.broadcom.com/doc/HCNR200-HCNR201-High-Linearity-Analog-Optocouplers-DS
  • https://www.elektronik-kompendium.de/public/schaerer/FILES/hcnr200_appnote.pdf
  • Khan J N. Optocouplers for Variable Speed Motor Control Electronics in Consumer Home Appliances[C]//Conference Proceeding. 2000.

【推荐阅读】

  • 全网最详细的HCNR200线性光耦模拟量隔离电路设计解析
  • HCNR200/201线性光耦隔离检测电压电路_光耦跟随器-CSDN博客
  • 线性光耦原理与电路设计[HCNR200,HCNR201]_hcnr201类似的光耦有哪些-CSDN博客
  • 隔离模块介绍-隔离信号模块-光耦_最大隔离耐压tdi光耦-CSDN博客
  • 基于HCRN201线性光耦的高精度电压采集电路 - 知乎

目录

1 元件概述

2 基本原理(单极输入和双极输入)

2.1 单极输入 

2.2 双极输入  

3 电流和电压检测应用

HCPL-7800/7840 & HCPL-3120

4 线性输入范围


1 元件概述

        图片展示了 HCNR200/201 高线性度光耦合器的配置方式。基本光耦合器由一个 LED 和两个光电二极管组成。LED 和其中一个光电二极管 (PD1) 位于输入引线框架上,另一个光电二极管 (PD2) 位于输出引线框架上。光耦合器的封装结构使每个光电二极管从 LED 接收到的光量大致相同

        外部反馈放大器可与 PD1 配合使用,用于监控 LED 的光输出,并自动调节 LED 电流,以补偿 LED 光输出的任何非线性或变化。反馈放大器的作用是稳定 LED 的光输出并使其线性化。然后,输出光电二极管将 LED 稳定的线性光输出转换为电流,再由另一个放大器将其转换为电压。 

2 基本原理(单极输入双极输入)

        Figure 4 A 和 B 显示了单极输入双极输入电路的模拟隔离块的简化原理图。

2.1 单极输入 

        Figure 4 A 中,运算放大器始终尝试在线性反馈、闭环连接的两个输入端保持相同的输入电压(即我们常说的“虚短”)。因此,输入侧运算放大器 A1 始终尝试在光电二极管 PD1 上施加零伏电压(因为“虚短”,所以正、反向输入端的电势同为GND1,则PD1两侧电势都为GND1)。现在,如果在输入端施加一些正电压 VIN+,运算放大器输出将倾向于摆动到轨,导致 LED 电流流动(LED阳极为VCC1,阴极现在向负摆动,所以电流可流动)。该 VIN+ 将导致电流流过 R1LED 光输出将被 PD1 检测到,产生电流 IPD1 。假设 A1 是一个完美的运算放大器,没有电流流入 A1 的输入端即我们常说的“虚断”;因此,流经 R1 的所有电流都将流经 PD1 。由于 A1 的“+”输入为 0 V,因此流过 R1 的电流以及 IPD1 等于 VIN+ / R1,即

I_{PD1} = V_{IN+} / R_{1}

        请注意,IPD1 仅取决于输入电压和 R1 的值,与 LED 的光输出特性无关。当LED的光输出随温度变化时,放大器 A1 调节 IF 以补偿并维持 PD1 中的恒定电流。另请注意,IPD1 与 VIN+ 完全成比例,从而在输入电压光电二极管电流之间呈现非常非常线性的关系。光电二极管的输入光功率输出电流之间的关系也非常线性。因此,通过稳定和线性化 IPD1,LED的光输出也稳定和线性化。由于 LED 发出的光落在两个光电二极管上,因此 IPD2 也很稳定

        由于 PD1 和 PD2 彼此相同,因此理想情况下 IPD2 应等于 IPD1。实际上,该关系包括系数K3 。所以我们有

I_{PD2} = K_{3} \times I_{PD1}

        其中, K3 是数据表中定义的传输增益(K3 = IPD2/IPD1 = 1)。放大器 A2 和电阻器 R2 形成跨阻放大器,将 IPD2 转换回电压 VOUT,其中

V_{OUT} = I_{PD2} \times R_{2}

         结合上述三个方程可得出将输出电压与输入电压相关的总体表达式:

V_{OUT}/V_{IN+} = K_{3} \times ( R_{2} / R_{1})

        因此,VIN+ 和 VOUT 之间的关系是恒定的、线性的,并且与 LED 的光输出特性无关只需调整 R2 与 R1 的比例即可调整模拟隔离块电路的增益。 

【数据手册】 

        下图说明了如何更改基本电路以适应正负输入和输出电压。输入和输出电路可以匹配以实现正电压和负电压的任意组合,从而允许反相和非反相电路。

2.2 双极输入  

        Figure 4 A 采用单极配置,仅适应正电压输入。Figure 4 B(也是下图的Figure 14 A)配置采用单光耦适应双极输入(正负摆动的信号)。添加两个电流源 IOS1 IOS2 来抵消信号,使其对于光耦合器来说看起来是单极性的

        电流源 IOS1 提供足够的偏移以确保 IPD1 始终为正。电流源 IOS2 提供偏移以获得所需值的净电路偏移电压(例如,如果同时使用正电源和负电源,则可能需要 0V,而中间电压可能更适合于单正电源电路的情况)。电流源 IOS1 和 IOS2 可以简单地通过与合适的电压源相连电阻来实现。请注意,偏移性能取决于 IOS1 和 IOS2 的匹配,还取决于光耦合器的增益

        Figure 14 B中的电路使用双光耦来实现双极操作。第一个光耦处理正向电压偏移,第二个光耦处理负向电压偏移。输出光电二极管以反并联方式连接,从而产生极性相反的输出信号。

        第一种电路的明显优点是只需要一个光耦,但电路的偏移性能取决于 IOS1 和 IOS2 的匹配,也取决于光耦合器的增益。光耦合器增益的变化将直接影响电路的偏移;第二个电路的失调性能要稳定得多:它独立于光耦合器增益,并且无需担心匹配电流源。然而,第二个电路需要两个光耦合器,对信号的正负部分进行单独的增益调整,并且可能表现出接近零伏的交越失真。

3 电流和电压检测应用

        HCNR200/201 可用于各种应用领域的电流传感和电压监控,例如电机控制驱动器、开关电源反馈环路以及逆变器系统。作为电机控制驱动器的一部分,变速电机驱动器不仅在工业应用中而且在家用电器中得到越来越多的应用。在 IGBT/MOSFET、栅极驱动器,当然还有微控制器单元 (MCU) 等关键组件中,模拟电流和电压传感器对于向 MCU 反馈信息以实现稳定且受保护的系统控制至关重要。由于电机设计中存在高功率、高电压和高电流,因此有必要通过某种形式的安全电隔离来保护操作电机的人员和低功率数字电子设备,这通常也是安全和监管机构所要求的。 HCNR200/201 提供非常高的绝缘电压(额定值 5kVrms/1min),适用于直流母线电压监控直流母线电流传感交流相电流传感以及温度和位置传感。

        Figure 3 显示了典型电机驱动框图中的这些应用(在名为模拟隔离块Analog Isolation Block)的框中框出)。从图中可以看出,电阻 R2R5 分别测量高压直流母线电压直流母线电流,电阻 R3R4 测量电机相电流。温度和位置等参数可以通过连接到电机的适当传感器来感测,其输出被馈送到另一个模拟隔离块。然后所有参数都通过隔离栅传输并由 MCU 收集。

【HCPL-7800/7840 & HCPL-3120】

  • 电压检测

        电压源 Vs(Figure 11)经电阻 Rs 和 R1 分压后,可根据以下公式得到 ±200 mV 的典型电压信号:

V_{in} = V_{S} \times R_{S} / ( R_{S} + R_{1})

        Rs 值应相对较小,以便与隔离放大器的输入阻抗相匹配,并保持相对较低的偏置电流,从而不影响测量精度。例如,HCPL-7840 的输入阻抗为 500 kΩ,小于 1 kΩ 的 Rs 将产生 0.4 uA 的峰值偏置电流。

        电容器 C1 作为低通滤波器连接,以保护隔离放大器免受输入信号电压瞬变的影响。为了获得更高的带宽,可以减小电容器 C1,但不应将其减小到低于 1000 pF,以保持隔离放大器的增益精度。

        VOUT+ 至 GND2 之间的单极输出通常用于一般电压检测,成本较低。

  • 电流检测

        大电流源可以通过分流电阻器 RS 检测,该电阻可将电流转换为电压信号,即 Vin = Is × Rs(Figure 12)。

        例如,要监测单相 240 VAC/1.2 kW 的灯电流,其峰值电流为Is = ±(5 • 1.414) A = ±7.07 A。Rs 的计算值为 28 mΩ,而峰值电流输入电压为 ±198 mV。该电阻的功耗小于 1/4 W。

        光耦输入侧电源 VDD1 可取自整流稳压交流线路,但输出侧电源 VDD1 必须与交流线路隔离。

        电阻 R1 和旁路电容 C2 用于过滤输入信号的瞬态电压。

        VOUT+ 至 GND2 之间的单极输出通常用于低成本的一般电流检测。

  • 电机电流检测

        光隔离放大器可直接测量相或轨电流,取代了传统的通过变压器或霍尔效应传感器进行的间接测量。用户已经认识到光耦的显著优势:标准集成电路封装、高线性度和低温漂。这些特点为制造紧凑、精确和可靠的电机驱动器提供了机会。Figure 13 中的典型应用电路主要由分流电阻隔离放大器和低成本运算放大器组成。最大分流电阻 RS 的计算方法是,将建议的最大输入电压除以正常工作时的峰值电流。例如,如果电机的最大有效值电流为 30 A,并且在正常运行时会出现高达 50%的过载,那么峰值电流就是 63.3 A (= 30 • 1.414 • 150%)。假设最大输入电压为 200 mV,则分流电阻的最大值约为 30 mΩ。后置放大器电路中使用的特定运算放大器并不重要。然而,它应该具有足够低的偏移和足够高的带宽和转换速率,以免对电路性能产生不利影响。增益由电阻 R4 至 R7 决定,假设 R4 = R5 且 R6 = R7,则后置放大器的增益为 R6 / R4。

        当下部 IGBT 开启时,轨电压通过 R1、R2 和 C1 将电容器 C2 充电至 18 V,同时为 HCPL-3120 和稳压器供电,从而为电流传感器供电。当下部 IGBT 关闭时,C2 放电并将其电流分配给栅极驱动器和 78L05 稳压器。自举电源的阈值电压为 15V,这是栅极驱动器 (HCPL-3120) 所需的电压。当下部 IGBT 关断时,C1 上存储的能量将向 C5 放电,与 DZ2 一起产生负电压源。半桥低侧的自举电源与高侧电路相同。

4 线性输入范围

        除了线性度性能的差异外,在选择元件时还有一点值得考虑,那就是电路的线性输入范围(LIR)。电路的线性输入范围决定了输入信号的动态范围,而输入信号的动态范围又取决于光耦合器数据表中规定的线性响应范围。例如,HCNR200 和 HCNR201 数据表规定,在 5 nA < IPD < 50 μA、0 V < VPD < 15 V 的测试条件下,HCNR200 的直流非线性度(最佳拟合)典型值为 0.01%,最大值为 0.25% 。光电探测器电流的测试条件或相关数据表中已计算出的光电探测器电流(当指定 LED 电流时)用于计算电路的 LIR。

        要比较不同供应商生产的各种线性模拟光耦合器的 LIR,必须对应用电路拓扑        结构做出假设。在这种情况下,我们使用Figure 4 A 所示的应用电路来计算输入电压的 LIR。从Figure 9 所示的比较图中可以看出,HCNR200/201 的线性响应范围更宽,这意味着使用 HCNR200/201 的电路可获得比同类产品更宽的线性输入电压范围(比 Comp A 宽 60 dB,比 Comp B 宽 66 dB)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/270284.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态住宅代理IP选择攻略

静态住宅代理IP&#xff0c;是一种在网络通信过程中提供固定IP地址的代理服务。与动态代理IP相比&#xff0c;静态代理IP提供的是持久且不变的IP地址。这种稳定性使得静态代理IP在需要长期稳定网络身份的场景中&#xff0c;如跨境电商/社媒养号、网络监控、品牌保护、长期数据爬…

【web安全】实战 批量横扫springboot命令执行漏洞

天命&#xff1a;这次目标批量横扫&#xff0c;但是没完全成功&#xff0c;也没完全失败 步骤1&#xff1a;磨刀准备 这次先针对漏洞来寻找目标&#xff0c;所以寻找这种 springboot 的目标 利用CVE漏洞&#xff0c;进行命令执行攻击 先找靶场训练一波&#xff0c;叠加反弹sh…

惯性导航 | 航迹推算与gazebo仿真

惯性导航 | 航迹推算与gazebo仿真 IMU数据进行短时间航迹推算代码gazebo中进行仿真测试 IMU数据进行短时间航迹推算 代码 声明一个用与 IMU积分的类 &#xff0c;来实现 短时间内的航迹推算 类的名字叫 IMUIntegration 构造函数 有三个变量进行私有变量初始化 重力、初始陀螺…

制作一个简单的HTML个人网页

制作一个简单的HTML个人网页 1.1 硬件1.1.1 一台电脑1.1.2 配置要求 1.2 系统1.3 软件 二、制作一个简单的HTML个人网页1.创建一个HTML网页1.1 新建文本文档1.2 另存文本文档1.3 命名为index.html 2.编写HTML代码2.1 打开HTML2.2 复制HTML代码2.3 粘贴HTML代码2.4 保存HTML 3.预…

Map集合体系——遍历,HashMap,TreeMap,LikedHashMap

认识Map集合 Map集合体系特点 方法 代码示例 package com.zz.Map;import java.util.*;public class Test {public static void main(String args[]){Map<String, Integer> map new HashMap <>();//经典代码&#xff0c;按照键 无序 不重复 无索引map.put("…

阻塞队列、生产者消费者模型、阻塞队列的模拟实现等干货

文章目录 &#x1f490;生产者消费者模型&#x1f490;模拟实现阻塞队列&#x1f4a1;注意点一&#x1f4a1;注意点二 阻塞队列是一种“特殊”的数据结构&#xff0c;但是也遵循队列的“先进先出”特性&#xff0c;它的特殊在于&#xff1a; 阻塞队列的两个特性&#xff1a; 1…

学习基于 JavaScript 语言 的计算机界三大神书”之一 ——SICP

如何阅读“计算机界三大神书”之一 ——SICP 《计算机程序的构造和解释》&#xff08;Structure and Interpretation of Computer Programs&#xff0c;简记为SICP&#xff09;是MIT的基础课教材&#xff0c;出版后引起计算机教育界的广泛关注&#xff0c;对推动全世界大学计算…

C switch 语句

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case&#xff0c;且被测试的变量会对每个 switch case 进行检查。 语法 C 语言中 switch 语句的语法&#xff1a; switch(expression){case constant-expression :statement(s);break; /* 可选的 */ca…

【小白友好】LeetCode 打家劫舍 III

https://leetcode.cn/problems/house-robber-iii/description/ 前言 建议还是先看看动态规划的基础题再看这个。动态规划是不刷题&#xff0c;自己100%想不出来的。 基础题&#xff1a; 最大子数组和乘积最大子数组最长递增子序列 最大升序子数组和 小白想法 现在我们想遍…

前端语义化标签及实例

常用的语义化标签的以下几种&#xff1a; header、nav、article、section、aside、footer、abbr、dfn、address、del、ins、pre、meter、progress <header> 定义文章的页眉信息 <header><h1>我的网站标题</h1><nav><ul><li><a …

[GYCTF2020]EasyThinking --不会编程的崽

看标题就知道&#xff0c;这大概率是关于thinkphp的题目。先尝试错误目录使其报错查看版本号 thinkphp v6.0.0&#xff0c;在网上搜索一下&#xff0c;这个版本有一个任意文件上传漏洞。参考以下文章。 https://blog.csdn.net/god_zzZ/article/details/104275241 先注册一个账…

【Android】位置修改相关

获取位置服务总开关状态 //获取LOCATION_MODE值&#xff0c;但adb状态下无法获取 //0为关闭&#xff0c;1 gps、2 network、3 高精度等 int state Settings.Secure.getInt(mContext.getContentResolver(),Settings.Secure.LOCATION_MODE,Settings.Secure.LOCATION_MODE_HIGH_…

three.js可以对3D模型做什么操作和交互,这里告诉你。

Three.js 提供了多种交互功能&#xff0c;可以对 3D 模型进行各种操作和交互。以下是一些常见的交互功能&#xff1a; 鼠标交互 通过鼠标事件&#xff0c;可以实现模型的拖拽、旋转、缩放等操作。例如&#xff0c;可以通过鼠标拖拽来改变模型的位置或角度。 触摸交互 对于支…

PackagesNotFoundError:学习利用报错信息找到解决方法

反思&#xff1a;之前看到报错经常是直接复制报错信息去网上搜&#xff0c;但很多情况下报错信息里其实就给出了解决方案 报错信息&#xff1a; Collecting package metadata (current_repodata.json): done Solving environment: unsuccessful initial attempt using frozen …

MySQL 篇-深入了解多表设计、多表查询

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 多表设计概述 1.1 多表设计 - 一对多 1.2 多表设计 - 一对一 1.3 多表设计 - 多对多 2.0 多表查询概述 2.1 多表查询 - 内连接 2.2 多表查询 - 外连接 2.3 多表查…

cetos7 Docker 安装 gitlab

一、gitlab 简单介绍和安装要求 官方文档&#xff1a;https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介绍 gitLab 是一个用于代码仓库管理系统的开源项目&#xff0c;使用git作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务平台&#xff0c;通过该平…

【C语言】指针初阶2.0版本

这篇博文我们来继续学习指针的其他内容 指针2.0 传值调用与传址调用传值调用传址调用 一维数组与指针理解数组名使用指针深入理解一维数组 二级指针指针数组二维数组与指针 传值调用与传址调用 在开始之前&#xff0c;我们需要先了解这个概念&#xff0c;后面才能够正常的学习…

Material UI 5 学习01-按钮组件

Material UI 5 学习01-按钮组件 一、安装Material UI二、 组件1、Button组件1、基础按钮2、variant属性3、禁用按钮4、可跳转的按钮5、disableElevation属性6、按钮的点击事件onClick 2、Button按钮的颜色和尺寸1、Button按钮的颜色2、按钮自定义颜色3、Button按钮的尺寸 3、图…

vulhub中ThinkPHP5 SQL注入漏洞 敏感信息泄露

漏洞原理 传入的某参数在绑定编译指令的时候又没有安全处理&#xff0c;预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式&#xff0c;在漏洞环境下构造错误的SQL语法会泄漏数据库账户和密码 启动后&#xff0c;访问http://your-ip/index.php?ids[]1&ids[]2…

nodejs安装教程(及过程中的易错)

nodejs&#xff1a;Nodejs 是基于 Chrome 的 V8 引擎开发的一个 C 程序&#xff0c;目的是提供一个 JS 的运行环境。 npm&#xff1a;npm 是 Node Package Manager 的缩写&#xff0c;意思是 Node 的包管理系统&#xff0c;是最大的软件包仓库 下载nodejs 首先我们需要在node…