图1所示的设计实例是一种能够在大动态范围内产生RGB三原色的颜色检测器,对机器视觉应用来说这是一种很有用的特性。该电路通过自动曝光控制达到这个目的。这样,在一定范围的光强内物体的RGB值就能保持不变。
图中的三个共阴极RGB光电二极管(U1)采用反向偏置,并在µC(微控制器)将RES驱动为高时通过三个N沟道的MOSFET(M1,M2,M3)预充电到VR(典型值为0.5V)。复位之后,节点R、G和B上的电压开始增加,并线性正比于每个颜色分量的光强。这些信号通过有线或连接输出馈送给三个比较器(U2)。达到阈值VTH(典型值为2.6V)的第一个信号通过反相器U3A使SH有效,进而选通采样-保持放大器U4。
图1:具有自动曝光控制功能的RGB传感器
保持电压RH、GH和BH由Arduino Nano转换后作进一步处理。模数转换可以不用U4而单独由µC完成,但后续转换将在信号间引入采样误差。对较亮的信号来说这种误差比较大,因为具有较高的摆率。作为替代方案,可以使用具有至少三个ADC的µC。
D1给比较器增加了很大的滞后,D2允许Arduino通过下拉节点T2并保持RGB信号来确定最长曝光时间。这个功能对于保证传感器的固定工作速率非常必要。图2显示了信号时序。在时间点t1,当R = VTH时,比较器U2A拉至低电平,保持三电压[RH,GH,BH],并在处理结束时(TADC)由µC完成转换。在时间点t2——最长曝光时间结束时——由µC将SH1置低,并完成输入信号的转换。
图2:时序图
总之,R、G和B中的最亮信号决定了曝光时间(t1),因此任何信号上都不会发生饱和。这种信号压缩在使用8位ADC时支持约100dB的动态范围。另外,为了达到这样的性能,不必调整任何电路参数。
图3解释了如何通过自动曝光控制功能获得高的动态范围。对于某个给定的目标和每个光照强度,总有一个曝光时间可以保证三色电压[RH,GH,BH]保持不变。
图3:在两种不同光线强度下捕获的以相同目标为基准的两组RGB三色例子。[R1,G1,B1]是亮信号,在Ta点采样,而[R2,G2,B2]是暗信号,在Tb点采样。因为[R1,G1,B1]Ta = [R2,G2,B2]Tb,因此物体的色度与光线强度无关。
虽然市场上有高度集成、数字接口的RGB传感器(比如安华高的APDS-9950,AMS的TMG3993),但它们都无法实现自动曝光功能,因此可能要求多次曝光和µC干预才能实现这样的功能。
《电子技术设计》2017年6月刊版权所有,谢绝转载。