光耦合器亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件,通常把发光器(红外线发光二极管LED)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电—光—电”转换。以光为媒介把输入端信号耦合到输出端的光电耦合器,由于它具有体积小、寿命长、无触点,抗干扰能力强,输出和输入之间绝缘,单向传输信号等优点,在数字电路上获得广泛的应用。
所谓电平,是指两功率或电压之比的对数,有时也可用来表示两电流之比的对数。电平的单位分贝用dB表示。常用的电平有功率电平和电压电平两类,它们各自又可分为绝对电平和相对电平两种。
使用光耦进行电平转换
首先要根据要处理的信号的频率来选择合适的光耦。高频(20K~1MHz)可以用高速带放大整形的光藕,如6N137/TLP113/TLP2630/4N25等。如果是20KHz以下可用TLP521。然后搭建转换电路。如将3.3V信号转换为5V信号。电路如下图:
CP是3.3V的高速信号,通过高速光耦6N137转换成5V信号。如果CP接入的是5V的信号VCC=3.3V,则该电路是将5V信号转换成3.3V信号。优点:电路搭建简单,可以调制出良好的波形,另外光耦还有隔离作用。缺点:对输入信号的频率有一定的限制。
光电耦合器电平转换电路图
对于不同电平的转换电路或输入、输出电路的电位需要分开时,采用光电耦合器就显得十分方便了。图中的(a)与(b)图示电路,就是5V电源的TTL集成电路与15V电源的HTL集成电路,相互连接进行电平转换的基本电路。图(a)中,TTL门电路导通时,即输出低电平,发光二极管导通,光电三极管输出高电平;TTL门电路截止时,发光二极管截止,光电三极管输出低电平。图(b)中,则是利用TTL截止输出高电平,发光二极管导通,光电三极管输出低电平;TTL导通输出低电平,发光二极管截止,光电三极管输出高电平。在进行具体应用时,因CMOS集成电路在低电平时的电流只有1~2mA,难以直接驱动所接的负载,故一般需加一级三极管放大电路来驱动。
光耦隔离的串口电平转换器
光耦隔离的串口电平转换器关键经过改进,现在形成了如下的电路。虽然非原装的MAX232很便宜,但是电路两边是共地的,有时候就不那么方便了。用光耦隔离需要解决的主要问题是:RXD线上的正电压和负电压从哪里得到? 当然,必须从串口上“取电”,只要没打算用隔离DC-DC电源的话。串口取电也不能大了,安全起见在正负4mA以内。我这个电路假定串口是PC上的9针串口,否则不保证能工作。
U4是74HC14,U3 AMS1117-1.8的稳压电路使发送时候光耦中LED的电流不随电源电压变化。这个电路在3.0V--5.5V都能稳定跑到115200bps的波特率。在232这边,DTR和RTS这两根信号线至少需要有一个是正电压(软件打开串口以后一般是这样的)。D1~D6都用1N4148, Q1, Q2用9015, A1015这些通用管就可以了。232口的RXD需要的正压和负压分别由DTR+RTS, TXD提供。TXD空闲时候是输出负压的,PC在发送数据时,TXD也会有负压,经R10和D4给C1充电后,使Q2的集电极保持有一定的负压。光耦U1未导通时,Q1截至,RXD上出现负压。Q1在这里起到放大光耦信号的作用,4N37工作在非饱和态,才能满足速度要求。
U1也可以用4N25, 4N26等,R6和R11要作些调整。U2本人也试用过6N136 (因为6N137是10Mbps级的,在这里大材小用了),但调试发现大不如6N137好用