光电对管模拟信号检测

前言:上个月做电赛培训,做到了轨迹检测,但是笔者发现现在市面上有售的光电对管模块都是调阈值输出逻辑量,而且会被环境光影响。所以在老师的指导下,设计了一款脉冲调制的可检测面反射参数的模拟量模块,不仅可用来测量灰度还可以用来测距,在本文中将分享这款模块的电路设计和原理分析。

What’s 光电对管

本文中使用的是ST188型号光电管,所以也将以该器件的技术手册作为介绍展开。

ST188

上图是截取自手册上的器件图,可见光电对管内部,就是一个发光二极管和光电接收管。只不过不是可见光,而是特定频率的红外光。当发射出去的光,经过反射回到光电管时,将会激发一定的光电流,正如下图所示,是在反射面参数不变的情况下,光电流相对距离的变化特性曲线。

这里注意,在8mm距离左右有最大值,记住了后面要考

Dis2Cur

电路设计

scheme

上图是设计的模块电路,显然发射管是由一个下MOS控制,而接收管以射极输出的方式与高通滤波器组合成脉冲提取电路。这里注意,在发射管的供电上我们做了一个低通滤波结构,这是因为该模块的输入电源同时对发射管和接收管进行供电,而在后面的调制解调中(建议跳着看)我们将会知道,对发射管调制的信号为高频脉冲信号,所以若直接拓扑两路电源,则发射管的高频噪声将会被耦合到发射管。

所以,设计发射管电源的原则为,滤除脉冲频率,即:

$$
f_{t} = \frac{1}{2\pi R_4C_4} \ll f_{PWM-m}
$$

上面PWM频率角标中多了一个m(main),表示我们要选取的频率为发射管驱动PWM信号中频谱分量最大的高频点。这里要注意,电阻和电容在选择的时候,要把电阻尽量往小了设计,算一下均值压降

然后发射管的限流电阻,根据手册推荐的最大工作电流进行设计就好,即:

$$
R_3 = \frac{Vcc}{I_{f-max}}
$$

不用保留余量,笔者认为甚至比额定值大一些也没问题,因为我们采用的是脉冲调制

MOS的选择上,选择符合驱动电流的小MOS即可,因为这个级别的MOS一般可以用MCU直接驱,而且频率一般也可以满足需求的。

接着是接收管端电路,我们首先计算射极输出电路的偏置电阻:

$$
R_2 = \frac{Vcc-V_{ce(sat)}}{I_{light}}
$$

使用饱和电压计算是为了获得最大的输出信号幅度,但是要注意留一点余量。或者如果模块电源高于ADC输入范围,也可以采用最大输出电压来计算,即:

$$
R_2 = \frac{V_{adc(\max)}}{I_{light}}
$$

此时,考虑射极输出的电压就是光电流和输出电阻的乘积,但是光电管收到的除了反射回来的调制信号,还有环境光的分量(虽然这常常较小,但还是有影响的),所以我们设计了后级的高通滤波器,通过脉冲调制的分量,尽量滤除环境光量(当作直流或低频考虑),即:

$$
f_t = \frac{1}{2\pi R_2C_2} \ll f_{PWM-m}
$$

最后在输出至ADC的位置并联了一个输出电容,是为了提高交流输出能力(MCU片上ADC采样时间一般是us级)。也注意这构成了一个低通滤波器,电容不能做太大,比如笔者选取的pF级别电容,是根据实际波形效果调试的。

检测原理与程序设计

scheme

上图是检测原理,在左边向MOS输入脉冲信号(本例为脉冲70us,周期1ms)驱动发射管,则经过反射在接收端收到含环境光直流偏移量的脉冲信号,再经过高通滤波去除环境光后,在输出电容上获得如图所示的脉冲波形。

根据设计脉冲时间参数,对ADC采样时间进行设计。比如本例中脉冲周期1ms,相对是非常慢的一个速度,脉冲宽度70us,则在模块输出端看到的锯齿形波形(示波器图片后面有机会补上吧)上升沿宽度大约就是70us,那么设置ADC的采样开始时刻由产生脉冲的定时器触发(比如在20us时开始采样,采样时间50us左右)就可以采集到信息了!

在固定平面检测距离(选取8mm)的情况下,ADC采集到的数据即为灰度相关的特征值;在固定光学参数的面环境中,采集的数据即距离信息。

根据上面讨论的原理,很容易设计如下程序流程图。

程序流程

实物模块

实物

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2023 RY.J
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信