自造星球-创客空间  - 讨论区

标题:使用光耦(opticalcoupler)实现电路隔

2015年06月12日 星期五 09:40

光耦的原理就是通过光电转换器件(比如发光二极管和光敏三极管)实现信号传输。光耦的意义在于电路的隔离,通过光耦传输信号的两部分电路,无需共地,因此避免了很多干扰。

光耦的原理图:

我手上有几个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的测试例程如下,实现的是一个呼吸灯效果:

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

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号