光耦的原理就是通过光电转换器件(比如发光二极管和光敏三极管)实现信号传输。光耦的意义在于电路的隔离,通过光耦传输信号的两部分电路,无需共地,因此避免了很多干扰。
我手上有几个Fairchild(仙童)公司生产的4N35光耦,今天早上做了一个实验。
光耦的原理图:
我使用Arduino的PWM输出作为信号源,使用LED作为负载,电路连接方式如下:
Arduino的11脚作为PWM信号输出,串接一个1K的电阻连接到4N35的1脚。
Arduino的GND脚连接到4N35的2脚。
4N35的4脚连接LED电源的负极。
4N35的5脚串接一个1K的电阻连接LED的负极,LED的正极连接LED电源正极。
Arduino的测试例程如下,实现的是一个呼吸灯效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
void setup() { pinMode(11,OUTPUT); } int i=0; int f=0; // the loop function runs over and over again forever void loop() { if(f==0) { i++; if(i>=255) { f=1; } }else { i--; if(i <= 0) { f = 0; } } analogWrite(11, i); delay(10); } |
下图是混乱的连接效果图:
使用示波器对比输出和输出信号:
Fairchild 4N35的Datasheet下载地址:
https://www.fairchildsemi.com/datasheets/4N/4N35M.pdf