【无刷电机学习】光耦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+ 将导致电流流过 R1,LED 光输出将被 PD1 检测到,产生电流 IPD1 。假设 A1 是一个完美的运算放大器,没有电流流入 A1 的输入端(即我们常说的“虚断”);因此,流经 R1 的所有电流都将流经 PD1 。由于 A1 的“+”输入为 0 V,因此流过 R1 的电流以及 IPD1 等于 VIN+ / R1,即
请注意,IPD1 仅取决于输入电压和 R1 的值,与 LED 的光输出特性无关。当LED的光输出随温度变化时,放大器 A1 调节 IF 以补偿并维持 PD1 中的恒定电流。另请注意,IPD1 与 VIN+ 完全成比例,从而在输入电压和光电二极管电流之间呈现非常非常线性的关系。光电二极管的输入光功率和输出电流之间的关系也非常线性。因此,通过稳定和线性化 IPD1,LED的光输出也稳定和线性化。由于 LED 发出的光落在两个光电二极管上,因此 IPD2 也很稳定。
由于 PD1 和 PD2 彼此相同,因此理想情况下 IPD2 应等于 IPD1。实际上,该关系包括系数K3 。所以我们有
其中, K3 是数据表中定义的传输增益(K3 = IPD2/IPD1 = 1)。放大器 A2 和电阻器 R2 形成跨阻放大器,将 IPD2 转换回电压 VOUT,其中
结合上述三个方程可得出将输出电压与输入电压相关的总体表达式:
因此,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)的框中框出)。从图中可以看出,电阻 R2 和 R5 分别测量高压直流母线电压和直流母线电流,电阻 R3 和 R4 测量电机相电流。温度和位置等参数可以通过连接到电机的适当传感器来感测,其输出被馈送到另一个模拟隔离块。然后所有参数都通过隔离栅传输并由 MCU 收集。
【HCPL-7800/7840 & HCPL-3120】
- 电压检测
电压源 Vs(Figure 11)经电阻 Rs 和 R1 分压后,可根据以下公式得到 ±200 mV 的典型电压信号:
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)。
相关文章:

【无刷电机学习】光耦HCNR200基本原理及应用(资料摘抄)
【仅作自学记录,不出于任何商业目的。如有侵权,请联系删除,谢谢!】 本文摘抄翻译自: https://docs.broadcom.com/wcs-public/products/application-notes/application-note/331/6/av02-1333en-an_5394-16jul10.pdfhtt…...
【LeetCode】1768_交替合并字符串_C
题目描述 给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 https://leetcode.cn/problems/merge-strings-al…...
C#解析JSON
https://blog.csdn.net/weixin_43046974/article/details/131449900 C#解析JSON 1. JSON定义2. JSON一般构成及解析方法3. 解析举例子 1. JSON对象解析,只包含一层对象{}2. 嵌套JSON对象解析,包含多层对象{}3. JSON数组解析1(数组循环遍历&…...
AI图像识别算法助力安全生产*提升风险监测效率---豌豆云
2024年开年来安全生产事故频发,工厂爆炸、工程坍陷等重大安全生产事故的发生再次为我们敲响了警钟。 安全生产是企业发展的生命线,而传统的安全监测手段存在盲区和延迟,难以及时发现和应对潜在风险。 AI图像识别算法通过利用先进的计算机视…...

CSS技巧:实现两个div在同一行显示的方法
css如何让两个div在同一行显示 - web开发 - 亿速云 在Web开发中,经常遇到需要将多个元素水平排列在同一行的情况。其中一个常见的需求是将两个div元素放置在同一行上,使它们并排显示。在本文中,我们将介绍几种实现这一效果的CSS方法。 1. 使…...

【Unity】Node.js安装与配置环境
引言 我们在使用unity开发的时候,有时候会使用一些辅助工具。 Node.js就是开发中,经常会遇到的一款软件。 1.下载Node.js 下载地址:https://nodejs.org/en 2.安装Node.js ①点击直接点击Next下一步 ②把协议勾上,继续点击…...

Vue3:使用 Composition API 不需要 Pinia
在 Vue.js 开发的动态环境中,在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理,但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法,说明开发人员…...
ExoPlayer 播放视频黑屏的解决方法
最近项目中在使用 ExoPlayer 来进行视频的播放,开发过程中遇到了部分视频打开后黑屏的问题,报错日志如下。 E Audio codec error android.media.MediaCodec$CodecException: Error 0xe E Playback error androidx.media3.exoplayer.ExoPlaybackExcept…...

C语言初阶—数组
数组是一组相同类型元素的集合。 在C99标准之前,数组的大小必须是常量或常量表达式。 在C99标准之后,数组的大小可以是变量,可以支持变长数组,但变长数组不能初始化。 不完全初始化,剩余的元素默认初始化为0 。 数组访…...
飞桨(PaddlePaddle)数据预处理教程
文章目录 飞桨(PaddlePaddle)数据预处理教程1. 安装飞桨2. 了解飞桨的数据预处理方法3. 应用单个数据预处理方法4. 组合多个数据预处理方法5. 在数据集中应用数据预处理5.1 在框架内置数据集中应用5.2 在自定义数据集中应用 6. 总结 飞桨(Pad…...

MYSQL C++链接接口编程
使用MYSQL 提供的C接口来访问数据库,官网比较零碎,又不想全部精读一下,百度CSDN都是乱七八糟的,大部分不可用 官网教程地址 https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html 网上之所以乱七八糟,主要是MYSQL提供了3个接口两个包,使用…...
并发编程中常见的设计模式,c++多线程如何设计
C多线程设计(任务的“多对一”、“一对多”、“多对多”情况 该如何设计线程?) C书籍中并未找到对多线程设计,有很完整详细的总结!!C并发编程书籍中也只是一些理论或则零散的多线程实例。无奈,…...

解决android studio build Output中文乱码
1.效果如下所示: 代码运行报错的时候,Build Output报的错误日志中中文部分出现乱码,导致看不到到底报的什么错。 2.解决办法如下: 点击Android studio开发工具栏的Help-Edit Custom VM Options....,Android studio会…...

[云原生] K8s之pod进阶
一、pod的状态说明 (1)Pod 一直处于Pending状态 Pending状态意味着Pod的YAML文件已经提交给Kubernetes,API对象已经被创建并保存在Etcd当中。但是,这个Pod里有些容器因为某种原因而不能被顺利创建。比如,调度不成功(…...

[Unity3d] 网络开发基础【个人复习笔记/有不足之处欢迎斧正/侵删】
TCP/IP TCP/IP协议是一 系列规则(协议)的统称,他们定义了消息在网络间进行传输的规则 是供已连接互联网的设备进行通信的通信规则 OSI模型只是一个基本概念,而TCP/IP协议是基于这个概念的具体实现 TCP和UDP协议 TCP:传输控制协议,面向连接,…...
Tomcat的配置文件
Tomcat的配置文件详解 一.Tomcat的配置文件 Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中,主要有以下几个: 1.server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息&#x…...

猴子吃桃问题(python版)
文章预览: 题目python解法一:运行结果 python解法二:运行结果 python解法三:运行结果 题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早…...
C语言入门到精通之练习49:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。 程序分析:无。 实例 #include<stdio.h> #include<stdlib.h> int main() {int n,i,j;printf("请输入…...
如何在Windows轻量应用服务器上安装和配置SSH?
如何在Windows轻量应用服务器上安装和配置SSH? 检查OpenSSH的可用性:首先,需要以管理员身份打开PowerShell并运行命令Get-WindowsCapability - Online | Where-Object Name - like OpenSSH*来检查OpenSSH服务是否可用。如果服务未启动或不可…...

leetcode日记(36)全排列
想思路想了很久……思路对了应该会很好做。 我的思路是这样的:只变化前n个数字,不断增加n,由2到nums.size(),使用递归直到得到所有结果 代码如下: class Solution { public:vector<vector<int>> permut…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...

结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】
1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...
IP选择注意事项
IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时,需要考虑以下参数,然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...