如何为光耦合器选择随附的组件?


22

我正在使用光耦合器(MOC3021)通过微控制器ATmega16L感测电器的开/关状态。我该怎么做?我的电源规格是230V,50Hz。如何设计周围的电路并选择电阻值等元件值?

2012年6月13日 编辑参考此示意图 注意:这是我第一次解决这样的电路。请发送任何有用的反馈。(包括我做错的事情或任何改进)

参考上面的示意图。想法是使用该电路确定负载是开还是关。光耦合器的输出引脚连接到我正在使用的单片机ATmega16L的外部中断。中断将监视负载状态。监视后,我可以使用连接到同一微控制器的继电器(继电器充当控制机制)来切换负载的状态。

现在,我尝试计算R1,R2和Rc的电阻值。注意,微控制器的VIL(max) = 0.2xVcc = 660mV和VIH(min) = 0.6xVcc = 1.98V和VIH(max) = Vcc + 0.5 = 3.8V。

计算Rc非常容易。当晶体管不导通时,输出为高电平(3.3V)。当晶体管导通时,输出被拉低。因此从微控制器的角度来看,输出高电平表示负载已关闭,而输出低电平表示负载已打开。

查看SFH621A-3的数据表,在IF = 1mA时使用最低34%的CTR。因此,在1mA输入下,输出将为340uA。因此,为了使微控制器从光耦合器的输出中检测到低压,我可以使用1Kohm的电阻值吗?这样光耦合器的输出将具有340mV的电压(低于VIL(max)

此后的更多时间是漫长的一天。

于2012年6月15日编辑

注意:解决电源线上的电阻(R1和R2)。请检查我的计算和任何适当的反馈。

目的:目的是在10ms的半个周期(20Hz的50Hz全周期)内将LED保持* ON **的最大持续时间。假设LED必须在90%的时间内处于开启状态,这意味着在该半周期内90%的时间内LED至少需要1mA的电流,这意味着LED在10mS的半周期内将处于激活状态,持续9mS。因此,9mS / 10mS = 0.9 * 180(半周期)= 162度。这表明电流在9deg至171deg之间为1mA(从0deg至9deg和171deg至180deg小于1mA)。不要认为接通时间是95%,因为处理整数是整洁的,至少5%在此应用程序中没有任何区别。

Vpeak-peak = 230V x sqrt(2)= 325V。考虑公差。最小公差为6%。325 x 0.94(100-6)x sin(9)= 47.8V

因此,R1≤(47.8V-1.65V)/ 1mA = 46.1 Kohms选择一个比39 Kohms(e12系列)的46.1 Kohms小1的值。现在,与计算得出的电阻相比,选择了较小的电阻值,这意味着流过二极管的电流将大于1mA。

计算新电流:((325V x 110%)-1.25V)/ 39 Kohms = 9.1mA(太接近二极管的最大If)。稍后再讨论[标签-1x]

首先计算电阻器的额定功率(考虑39 Kohm)((230 + 10%)^ 2)/ 39K = 1.64瓦(太高)。

返回计算[标签-1x]让我们选择两个22 Kohm电阻。它们加起来达到44 Kohm,这非常接近46.1 Kohm(上面计算得出)

检查两个电阻组合的额定功率:((230 + 10%)^ 2)/(2 x 22)Kohm = 1.45W。选择22个Kohm电阻,每个电阻的额定功率为1W。

现在,所有这些之后,初始CTR为34%,这意味着1mA输入将输出340µA。但是现在由于有了2x22 Kohm电阻,输出端的电流将略有增加。这意味着上拉电阻Rc两端的电位更高。将光耦合器的输出电压降到500mV以下会不会有问题?



1
@Kortuk-感谢您帮助解决问题。我认为这是值得的。干杯!
stevenvh 2012年

@stevenvh,它总是值得的,一切出现的方式我只需要努力在噪声中找到信号:)
Kortuk 2012年

1
大卫,请在个人资料中添加一些有关您自己的信息。就像奥林(Olin)总是说那不是给你的,那是给我们的。它可以帮助我们评估您的知识水平,以便我们做出适当的回答。
stevenvh 2012年

编辑:1k电阻两端将具有340 mV (欧姆定律)。因此,输出电压仍将为3.3 V-340 mV = 3V。如果您希望uC将其视为低电压,则必须低于VIL(max)。因此,将1k增加到例如10k。然后,电压电阻器将3.4V的理论上,但不限于电源,和输出将是0 V.
stevenvh

Answers:


28

MOC3021是具有三端双向可控硅开关输出的光耦合器。通常用于驱动双向可控硅开关电源。三端双向可控硅开关元件只能在交流电路中使用。

您需要一个具有晶体管输出的光耦合器,最好是一个在输入端具有两个反并联的LED的光耦合器。所述SFH620A是这样的部分。

在此处输入图片说明

反并联的两个LED确保晶体管在市电的两个半周期都被激活。许多光耦合器只有1个LED可以工作,但在20Hz的周期内以50Hz的频率提供10ms的输出脉冲。在这种情况下,您还需要将二极管与输入反并联放置,以保护LED在反极化时免受过压影响。

重要的是CTR或电流传输比,它表示对于给定的LED电流,晶体管将吸收多少输出电流。CTR通常不是很高,但对于SFH620A,我们可以选择一个最小值为100%的值,仅在10mA输入时才是,在1mA时它仅为最小值为34%,因此1mA的输入意味着至少的输出。μ

Ωμ

μΩμ

如果要使1mA时的CTR至少为34%,则必须使用SFH620A-3。

V一世ñV大号Ëd

×ΩΩ× 2 ×Ω

ΩΩ,这不是E24值。我们可以选择最接近的E24值并检查我们的计算,或者选择E96。让我们做后者。

就是这样,伙计们。:-)

编辑
我在评论中建议要解决的问题还很多,这个答案的长度可能是原来的3倍。例如,AVR的I / O引脚的输入泄漏电流可能是晶体管的10倍。(不用担心,我检查了一下,我们很安全。)


× Vdd
具有足够的输出电流,只是1mA输入电流如此之高,以至于我们需要使用功率电阻器。如果达林顿也仅指定为1mA,则不一定解决此问题。CTR为600%时,集电极电流为6mA,但我们不需要。我们不能对1mA的电流做任何事情吗?大概。对于光耦合器,我提到的电气特性仅为1mA。数据表中有一个曲线图,图5:CTR与正向电流的关系,表明在0.1mA时CTR超过300%。您必须谨慎使用这些图表。虽然表格通常会为您提供最小值和/或最大值,但图表通常会为您提供典型值。您可能有300%,但可能更低。降低多少?没有说 如果您只生产一种产品,则可以尝试,但是可以
μμ


@stevenvh注意一点-根据数据表,SFH620A系列的CTR在二极管电流为1mA时不能保证100%(您需要10mA)-我相信您的1mA示例是假设的,但可能会使新手感到困惑。
亚当·劳伦斯

@stevenvh非常感谢您的解决方案。您确实付出了很多努力。好的,现在的问题。我没有得到的是这一段(引自上面)[重要的是CTR或电流传输比,它表示在给定的LED电流下晶体管将吸收多少输出电流。CTR通常不是很高,但是对于SFH620A,我们可以选择一个最小值为100%的值,仅在10mA输入时才是,在1mA时它仅为最小值为34%,因此1mA的输入意味着至少340μA的输出。]看看如何获​​得1mA的电流。是指“电流传输比(Ic / If)”下Pg3的数据表吗?
David Norman 2012年

@stevenvh,也可以将Vcc用作3.3V,而不是将Vcc用作5V,这样Vce将为3.3V。我的电路没有大于3.3V的电源
David Norman

@DavidNorman CTR是通过二极管电流提供的电流与由晶体管吸收的电流之比。通常,您需要通过二极管驱动足够的电流,以满足制造商在其数据表中指定的要求,以确保“保证”的点击率,而在处理光电二极管时,这是限制设计的最小点击率。我认为略微降低的Vce不会给您带来太大的痛苦-根据我的经验,始终由二极管电流决定CTR。
亚当·劳伦斯

2
@David-串联组件的顺序无关紧要,跨不同组件的电压将始终相同,例如LED的1.25V,即使直接连接到电源相也是如此。的确,当它们处于中立状态时触摸它们的危险性较小,但是我认为这不是必需的功能。此外,当您使用电源插头连接到电源时,您不确定哪个相位和哪个零线。假设它是中性线,切勿触摸电线!这可能是您犯的最后一个错误。
stevenvh 2012年

7

在我的另一个答案中,我解释了为什么我不在那里使用达林顿光电耦合器:主要原因是达林顿的饱和电压,该电压比普通的BJT高得多,它可以高达1V。对于ATmega16L,您可以低电平时最大使用最大输入电压为0.2×VDD,或者在3.3 V电源下为0.66V。1 V太高。

但这不是无法解决的事情,它只需要几个额外的组件。同时,我们还将对1 mA输入电流进行处理。

要开始使用输入电流,我们必须使用1 mA电流,因为数据表中没有提到任何更低的值,然后您可以尝试尝试,但您只能靠自己,无法保证。但是,FOD816的数据表中有一张有趣的图表。

在此处输入图片说明

就是那个。这确实为输入电流提供了低至100 µA的点击率,甚至还很高:350%(请记住这是达林顿)。但是您必须谨慎使用这些图表。表格通常会为您提供最小值或最大值,除非另有说明,否则此类图表将为您提供典型值。那么最低限度是什么?我们不知道,但是100%安全。为了获得更高的安全性,我们将点击率设为50%。因此,对于100 µA的电流,我们将得到50 µA的电流。让我们看看是否足够。

这是修改后的输出阶段。U1的晶体管是光电达灵顿,开通时提供50 µA的电流。我们为R4选择10 µA,因此其值为0.6 V / 10 µA = 60kΩ。稍后我将返回R4的功能。

在此处输入图片说明

HFË

×

R4仍然需要一些解释。假设我们忽略它。然后,达林顿的所有电流都流向T1。断开时,FOD816的泄漏电流(数据表中称为“暗电流”)可高达1 µA。T1将最坏情况下的最大情况放大到250 µA,这足以使R5两端下降3.3V。因此,输出可能会永远低。
我们为R4选择了一个60kΩ的值。然后,只要其两端的压降小于0.6 V,所有达林顿的电流都将流经R4,而没有流经T1,因为未达到最小基极-发射极电压。那是10 µA。因此,1 µA的暗电流只会引起60 mV的压降,而不会产生基极电流。

我们拥有所有组件的值,唯一剩下的就是将每个输入电阻增加到220kΩ。您可以为此使用1/4 W电阻器。


谢谢史蒂夫。不幸的是,我被Kev(主持人)阻止了,我无法再发布任何问题了。下周我将回到我的项目。最近工作了很长时间。问候
大卫·诺曼

您可以说R4提供了一个阈值,电流必须超过该阈值才能使T1导通。
抵抗

2

要确定电路的参数,请从输出所需的内容开始,然后反向进行。对于输出上拉电阻,10kΩ是一个很好的值。除非您有非同寻常的要求,例如电池操作(低功耗非常重要),否则,要在足够低的水平(足以将线路拉高以防止泄漏)和合理的噪声之间进行权衡,但要降低10kΩ,就不能太低,以至于需要太多电流。

当光电二极管中的输出晶体管导通时,Rc两端将最多施加3.3 V电压。3.3 V / 10kΩ= 330 µA,这是晶体管必须能够吸收的最小电流。您需要一些额外的东西,以使该线在应该为低的情况下始终保持在低水平。我要说的是,它至少应该能够吸收500 µA的电流,但是除非您有特殊理由将其切断,否则我将使用1 mA的电流。

既然我们知道输出必须吸收1 mA的电流,那么我们就在光敏电阻的数据表中查看如何驱动它以输出1 mA电流。您正在使用这部分的“ -3”变体,根据数据表的第一页,其保证的最小电流传输比为100%。这意味着该晶体管至少可以吸收与通过一个LED放置的电流一样大的电流。但是,请注意CTR指标上方的“±10 mA”。这实际上是在说,如果您将10 mA穿过LED,那么晶体管将能够吸收至少10 mA的电流。实际上,它在任何其他输入电流下都没有任何承诺。

从数据表中查找更多内容,您会在第3页顶部找到更多信息。在这里,它们实际上显示了1 mA输入的CTR。请注意,现在只能保证为34%。这意味着要获得1 mA输出灌电流能力,您必须以1 mA / 34%= 2.9 mA驱动LED,因此我们的目标是绝对最小电流为3 mA。

您说必须感应的电压是230 V AC。由于这是一个正弦,它将具有325 V的峰值。光电的输出信号进入微型,因此在通电时无需将其作为稳定信号。实际上,对微型电脑来说,能够克服短暂的干扰和故障是一个好主意。我可能会保留一个计数器,该计数器在信号关闭时每ms递减一次,在开启时重置为50。这意味着您必须在50毫秒内看不到任何信号来声明电源已关闭。所需要的只是在生产周期的高峰期出现一点点毛刺,并且该系统将正常运行。请注意,以50 Hz的功率每10毫秒出现一次线路周期峰值。

让我们看看我们在哪里。当电源电压为325 V时,我们希望流过LED的电流至少为3mA。LED的电压将下降至1.65 V(第2页底表的顶部),并且仍应在最低的合理电源线电压下工作。我们的目标是能够检测200 VAC的最小值,即283 V峰值和LED下降后的281V。281 V / 3 mA = 94kΩ。从理论上讲,这就是与LED串联所需的全部功能,每个功率峰值至少触发一次输出。

在实践中,增加一些余量是一个好主意。您希望在每个半周期的合理有限时间内断言输出,而不仅仅是保证有一点点瞬态。考虑到所有这些,我将电阻减半至47kΩ。这将为所有合理条件下的利润提供坚实的基础。

您可能会认为这就是您需要做的,但是等等,还有更多。想一想在高线电压(例如240 V)下会发生什么。峰值为340 V,这将导致通过LED产生7.2 mA的电流。您必须检查允许的最大LED电流,即60 mA,这样就可以了。但是,请考虑电阻器中的功耗。如果我们说最坏的情况是线电压为240 V,则进入电阻器的功率(忽略LED压降)为(240 V)2 /47kΩ= 1.23W。该电阻至少应为“ 2 W”然后,它会明显变暖。

另一个问题是需要考虑电阻的额定电压。它必须能够承受340 V的峰值,因此总的来说,您需要一个额定值为2 W和400 V的47kΩ电阻。可以找到这些电阻,但串联使用多个电阻可能更简单。这样可以在串联电阻之间分散峰值电压和功耗。四个12kΩ电阻可以做到这一点,并且仅消耗300 mW的功率,每个功率为85V。除非这是一个批量产品,您可以大量购买该产品,否则它将比单个电阻器更容易找到并且更便宜。因此,所提出问题的答案是将四个普通的12kΩ1/2瓦电阻与LED串联。

请注意,当您显示R1和R2时,不需要在光电二极管的每一侧将它们分开。只需要在某处与LED串联一个电阻即可。由于在这种情况下,该电阻恰好由四个单独的电阻组成,因此您可以按照自己喜欢的任何方式对其进行分压,以使电路的高压端机械地工作最佳。优选地,它们将首尾相连以最大化高压的爬电路径并散发热量。

但是,对于这种应用,我真的不喜欢这种光耦合器,因为它具有如此低的电流传输比,这迫使我们提供大量的LED电流,这会导致电阻消耗大量功率。对于这种应用,其中高电流传输比是有用的,并且速度并不重要,我喜欢便宜且可用的FOD817。该部分的D版本在5 mA时的保证CTR为3倍。他们没有确切说出您获得1 mA的电流,但是可以肯定的是,当输入1 mA电流时,输出可以吸收至少1 mA的电流。

FOD817具有单个LED,但易于处理(FOD814具有背对背LED,但可用性较低,并且不包含某些更高增益的产品)。使用上述的50 ms方案,如果每个线周期获得一次脉冲(每20 ms)就没有问题。除电阻器外,还需在LED上串联一个二极管,并在LED两端串联一个高阻值的电阻,以确保不会因二极管泄漏而产生高反向电压。100kΩ很好,并且足够高,以使其电流与我们的其他计算无关。这样做的另一个优点是,由于只需要较少的LED电流,您不仅可以降低功耗,而且由于LED仅沿一个方向驱动,因此还可以降低功耗两倍。

所以这是我的最终答案:


嘿,奥林。我正在考虑是否可以SFH620A-3仅使用一个1/4W 250V电阻和两个电阻。对于R1=R2=47K输入电阻,我的平均电压2.45mA为230VAC 。对于更高的输出电阻(例如15K),应该可以,对吗?还是我需要使用峰值电压进行计算?并考虑公差。
Vorac 2015年

哦,电源不起作用。这些就是我手头上的组件。这些组件类型和最少的组件数量真的可以做到吗?
Vorac

最后保证,我保证。我将以上评论扩展为一个问题
沃拉克2015年

@Vorac:不清楚你在问什么。我在答案中详细介绍了如何进行计算。电阻器必须能够处理耗散的平均功率,但要承受其两端的峰值电压。
奥林·拉斯罗普

-2

如果您正在寻找此类应用的较高点击率,请查看Liteon LTV-8xxx系列。至少600%在1mA IF时


欢迎来到EE.SE!如果您要引用零件,请在文章中提供指向数据表的链接。
尼克·阿列克谢夫

您是否有理由相信更高的点击率会帮助OP?如果是这样,您能解释一下吗?如果不是,则应将此信息添加为问题的注释,而不是答案。
Joe Hass 2014年

尼克,下次将添加建议的链接。
GoneCamping

乔,点击率较高的给你降低AC限流电阻的电流给定输出电流,从而降低功率的机会(和相关成本。)
GoneCamping
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.