从上图可以看到,R6和R8为电流采样电阻将输入电流转化为0.6V~3V电压信号(因为输入为4~20mA电流信号),然后电路采用了线性光耦HCNR200加两颗运算放大器将采样电阻上的电压转化为隔离电压输出给MCU的ADC端口采集。下图是主要的电流路径:
光耦HCNR200中包含一颗发光二极管,以及两颗接收二极管,其中一颗接收二极管作为隔离后的接收管,一颗二极管作为隔离前的反馈(这两颗接收管的参数一致性很好较好),即发光管发出的光会同时被两颗接收管接收,下图截取字HCNR200的数据手册:
下图是对电路进行的仿真(为了仿真方便没有进行电源和地隔离),可以看到输入为1V输出也为1V,通过仿真的电流也可以看出刚刚分析的电流流向是正确的:
输出公式为Vout = K3*Vin*R3/R2,其中K3为光耦内接收二极管光电流一致性系数,例如HCNR200的K3典型值为1,公差±15%。也就是说最终的输出Vout可能会有15%的公差(还是蛮大的)。另外可以看到HCNR201的K3是更好的,有5%。
如果不想用这种集成型的线性光耦,也可以使用两颗分立的光耦,将发光管串联(保证发光二极管电流IF一样),这样也可以实现这一电路(不过效果肯定会差一些,除非两颗光耦的CTR一致性很好),大致电路图如下: