写在前面: 

本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。

 

光耦,常作隔离器使用,因此,也称为光电隔离器;由于它对输入、输出电信号有良好的隔离作用,所以在各种电路中都得到了广泛的应用

光耦一般会有两个用途:线性光耦逻辑光耦

非线性光耦的电流传输特性曲线是非线性的,这类光耦适合于开关信号的传输,不适合于传输模拟量。(工作在开关状态的光耦副边三极管饱和导通,管压降 < Vce_max,Vout约等于Vcc(Vcc – Vce左右),Vout 大小只受Vcc大小影响。此时Ic < If * CTR,此工作状态用于传递逻辑开关信号)

线性光耦的电流传输特性曲线接近直线,并且小信号时性能较好,能以线性特性进行隔离控制。(工作在线性状态的光耦,Ic = If * CTR,副边三极管压降的大小等于Vcc – Ic * RL,Vout = Ic * RL = (Vin - Vf) / Ri * CTR * RL,Vout 大小直接与Vin 成比例,一般用于反馈环路里面)

 

对于光耦的理解,我们可以把它近似看成用光电二极管替代基极的带隔离功能的三极管

下图为常见的光耦设计电路

 

上面说了,可以把光耦看作一种特殊的三极管,那么对于光耦的开关和线性状态可以类比为普通三极管的饱和与放大两个状态

 

好了,看到这里或许你不懂,那我们一步步来,后面再回来查看前面

首先先认识一下图中各个参数的说明:

Vin:输入电压

IF:LED二极管工作电流

RI: 输入端限流电阻

Vcc:光敏三极管的电源电压

IC:光敏三极管的集电极电流

RL:输出端限流电阻

Vout:输出电压

CTR:电流传输比

 

学习的最好方法就是实际应用,所以下面以一些常见的光耦作为例子,例如:EL3H7,那么接下来我们就来进行分析

 

上面说了,光耦的最大作用就是拿来作光电隔离,现在我们假设有一台工作在60伏的设备,同时我们要实时监测他是否工作正常(即电压是否正常),这个简单,我们经常利用单片机I/O检测电平(有没有电看是否是高电平就行了),但单片机的I/O口输入一般为3.3伏,而且设备的电压也远超人体安全电压了,那么我们得进行电压转换和进行隔离处理,于是乎设计出下面的电路

 

至于电阻取值啊,会不会烧元件啊,这个我们看这个光耦的datasheet,毕竟这东西不能乱说的,不像教科书那样,哪个数值好算就直接,设:xxx

同样的,一些要用到的数据也已经标出来了

(datasheet链接:https://atta.szlcsc.com/upload/public/pdf/source/20170616/1497588116899.pdf

OK,准备就绪后,我们开始进行电子器件参数计算及初步选择(实际参数取值要根据实际调试结果来确认)

 

由上表可知

/* 前级输入 */

设备工作电压 Vin = 60V

 

二极管导通压降(常规值) Vf = 1.2V

二极管导通压降(最大值) Vf_max = 1.4V

 

二极管工作的最大电流 If_max = 50mA

 

输入端限流电阻的最小取值(小于这个电阻值,光耦就死翘翘了)

Ri_min >= (Vin - Vf_max)/ If_max = (60 - 1.4)/ 0.05A = 1172R

 

要让二极管工作就需要工作电流,给它10mA(够它用),所以得到:If = 10mA < If_max,小于它的极限工作电流,所以符合

If = (Vin - Vf) / Ri = (60 - 1.2) / Ri = 10mA

得:Ri = 5880R > Ri_min,取常用阻值5.6KR,因为Ri的值远大于它的最小取值,所以不用怕二极管 gg了,由此,输入端参数都在正常值中,我们再看看输出端是否满足;

 

/* 副边的电流限制 */

电流传输比 CTR = 50%,取最小值

副边电流限制 Ic ' <= If * CTR = 4.9mA

(开关状态的光耦,实际计算时,一般将电路能正常工作需要的最大Ic 与原边能提供的最小 If 之间 Ic / If 的比值与光耦的 CTR 参数做比较,如果 Ic / If ≤ CTR,说明光耦能可靠导通。一般会预留一点余量(建议小于 CTR 的90%

 

/* 后级输出 */

I/O转换的电平电压 Vcc = 3.3V

 

光敏三极管饱和电压 Vce = 0.2V

 

光敏三极管工作的最大电流 Ic_max = 50mA

 

输出端限流电阻的最小取值

Rl_min >= (Vcc - Vce)/ Ic_max = (3.3 - 0.2)/ 0.05A = 62R

 

由于输出端只是用来输出到单片机的 I/O口检测电压电平而已,所以我们不需要很大的电流,以降低功耗,因此我们按照常识取电阻值:Rl = 10KR(4.7KR)> Rl_min

Ic =(Vcc - Vce)/ Rl =  (3.3 - 0.2) / 10000

得:Ic = 310uA < Ic_max,消耗电流不是很大,Ic范围也符合

 

最后,我们看看这个表

可以发现导通时是在饱和区的(我们不想它出现在放大区),这样就确保了我们 I/O接收到的单压是稳定(因为 Vce变化不大)

这样就得到初步的参数,如下图

 

同样的,光耦还可以隔离驱动电机什么的、485隔离通讯啊、pwm信号传输等等;

作隔离开关处理就更简单了,跟三极管控制差不多,这个可以看之前的三极管作开关应用的链接: 

https://blog.csdn.net/qq_42992084/article/details/99172543

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐