光耦合器亦稱光電隔離器或光電耦合器,簡稱光耦。它是以光為媒介來傳輸電信號的器件,通常把發光器(紅外線發光二極管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好用