opt3101是ti新一代基于tof原理的模拟前端测距芯片,用户可以利用ti官网提供的数据手册,设计工具,评估板等开源资料,根据应用场景实现灵活的定制化设计。同时,在大批量生产期间,需要对每一片opt3101进行校准,我们把这个环节称为工厂校准。 本文重点介绍在工厂校准环节中的具体步骤,产线工装的搭建指南,以及分享常见问题的调试经验,以帮助用户顺利完成opt3101系统的量产工作。
1. opt3101校准概述
opt3101与传统红外,超声波等方案对比具体高精度,宽视角,以及对温度,光照免疫等优势,还可以在某些应用场景下避免专利问题(如扫地机器人避障功能)。同时,该方案为1d tof,从系统成本上同样具备竞争力,因此应用范围非常广泛。但是,无论哪一类型的应用场合,opt3101一个必须解决的应用挑战便是校准环节。
opt3101校准指的是:为了补偿opt3101系统由元器件,pcb布板以及环境干扰带来的负面影响,为了保证测距的性能和一致性,opt3101在正常使用前用户需要对其进行一系列的校准动作,包括寄存器的操作,数据的计算,转换和存储等。 opt3101校准大致可以分为两种类型:
第一类校准是串扰校准和相位校准。这类校准无论是在调试阶段,还是在批量生产阶段都需要对每一片opt3101进行操作。该环节我们称为工厂校准。在工厂校准结束后,数据会存储于外置非易失性存储器中。在opt3101系统重新上电正常使用时,该数据会自动加载进入opt3101,从而使其正常稳定工作。 大致步骤如下所示:
图1 opt3101出厂前后流程示意图
第二类补偿包括温度校准,和环境光校准。这类校准动作在设计确定下来后,只需挑选少量的样品单元(如5片)进行操作即可,而无需对每一片opt3101进行操作。确认后,该校准参数可以应用于其他所有的单元。
本文重点介绍的是第一类校准环节,即需要在自动化生产线上完成的校准环节 – 工厂校准。要实现该目标,用户需要了解两方面的信息:一、工厂校准的具体步骤是什么;二、如何搭配量产工装一起实现工厂校准。以下分别从这两个方面进行详细展开。
2. 工厂校准具体步骤
2.1 工厂校准流程介绍
工厂校准主要由以下4大部分组成:
1)内部串扰校准:任何芯片本身或者周围器件由于数字开关信号带来的噪声,都可以视为内部串扰。这个串扰的校准步骤只需要在程序中实现即可。
2)发射灯串扰校准:由光电发射管引起的噪声,被定义为发射灯串扰。 该串扰的校准过程描述如下:
首先,需要用黑色遮挡物(不透光)遮挡接收头,以避免任何光线被芯片接收头采样。常用的遮挡物如黑色胶带等。
然后,在程序中通过i2c读取amp_out的数值,通常如果硬件电路设计正确,该数值为几百范围。 如果大于1000,甚至更大,则说明发射灯串扰太大,优先建议重新进行硬件电路设计。
再次,确定amp_out数值在正常范围后,调用sdk中关于发射灯串扰的程序,执行完毕后,再次读取amp_out的数值。 整个过程都保持接收头被遮挡。
最后,通常在校准完毕后,残余串扰值(amp_out)会在10以内(也可能20左右)。 但如果校准完一次后,发现效果不佳,可重复执行第二遍。如果依然不行,则需要重新优化硬件设计。具体调试经验会在第四章内容中说明。
3)相位校准:在完成串扰校准后,需要对相位(距离)信息进行校准。过程描述如下:
首先,把接收头的遮光罩移除。 将一个参考物体放置在opt3101模块正前方。 该参考物体的选择原则上避免深色,最好保持光滑和连续。典型选择为白色墙面。物体放置的距离不宜太远,需要确保该距离能够使得amp_out的数值大于10000。 可以推荐工程经验值为100mm~150mm。
然后,调用sdk程序中关于相位校准的程序,程序执行完毕后,可以直接读取此时phase_out,通过判断phase_out是否满足参考物体的预设距离。 距离与phase_out的转换关系如下: distance(mm) = phase_out * 0.2287
4)载入存储介质:在完成上述所有校准后,需要把校准数据载入存储介质,如eeprom。直接调用sdk中的写入eeprom语句即可。
上述步骤用具体流程图可总结如下:
图2 工厂校准流程图
2.2 sdk使用介绍
以上校准步骤以及流程图的描述中有多次提及,校准过程有赖于调用sdk的程序实现。sdk工具包是开发opt3101必不可少的部分,以下对sdk进行基本介绍:
1)sdk的目的:
opt3101的工厂校准过程涉及一系列的操作,如配置opt3101工作模式;将测得数据写入opt3101;从opt3101中读取数据;在不同变量和寄存器中进行数据转换;把所有校准相关的参数写入对应eeprom等。
sdk就是对于opt3101相关的寄存器读写操作,各类功能(如校准环节)都进行打包,以库文件的形式给用户提供便捷的开发工具包。如果没有sdk,以上所有操作(从底层代码到逻辑执行)都需要用户自行完成,工作量会非常大。因此,sdk可以大大加速软件开发的过程。
2)sdk的资源介绍:
opt3101的sdk可以在官网页面下载:
http://www.ti.com/product/opt3101/toolssoftware
其中包含了sdk的c++源文件,sdk详解文档等;
2.3 工厂校准程序介绍
用户可以将以下参考代码介绍结合图2流程图一起阅读,有助于熟悉整个流程的具体细则。以下代码可以在sdk中查询,也可以在ti官网发布的参考设计tida-010021相关链接中查询源文件。以下进行工厂校准程序介绍:
首先,工厂校准程序需要调动以下指令集:
然后,我们对工厂校准程序分步骤进行分析:
第一步: 复位,初始化,启动内部串扰校准程序(sdk)
第二步: 控制工装把黑色遮挡物覆盖接受管: 用户自定义
第三步:执行发射串扰校准程序。
循环三个发射管的寄存器配置,进行串扰校准并载入校准数据(sdk)
第四步:移除接收头遮光罩,并放置参考物至预设距离。
用户需在程序中编写给目标距离语句赋值:150; 并且控制工装挪开黑色遮挡物, 并且控制弧形墙面的位置距opt3101模块150mm处: 用户自行定义
第五步:执行相位校准程序。
循环三个发射管的寄存器配置,进行相位校准,并载入相位校准数据;(sdk)
第六步:将校准数据载入eeprom。
3. 产线工装搭建
3.1 工装方案推荐
产线工装需要满足上述校准的流程,用户可以根据理解自行设计。 以下提供一个系统框架供案例以作参考:
方案一:在测距模块中加入一颗mcu,完成工厂校准的工作。同时,该mcu也执行测距程序,与主机用ic/uart进行通信以输出测距信息。 该mcu的选型需要有足够的存储空间,以确保能够执行sdk语句并且保存数据。
优点:把opt3101从工厂校准到正常工作测距的代码都集中在一个控制器内,可简化开发复杂度,方便更新升级,以及实现模块化设计。
缺点:增加额外的mcu成本。
图3 工装方案一
方案二:在模块中加入一颗eeprom,完成存储工厂校准的数据。同时,在产线工作上外置一颗mcu专用于执行工厂校准步骤。而测距程序则放在主机侧的mcu中完成。
优点:整体成本最优。
缺点:软件开发较第一种方案复杂,需要用户在两颗mcu中分别完成程序的编写。
图4 工装方案二
总的来说,对于成本敏感的应用场合,方案二是更好的选择。 对于希望加速开发进度,以及实现模块化设计的应用场合,可以考虑使用方案一。
3.2案例说明
接下来对于方案二,我们举例说明产线工装的搭建细则。
系统框架如图3所示:otp3101模块中包括一颗opt3101,以及reerpom,选型为24c02。
工装上的mcu我们选取了ti的msp430fr5994评估板。msp430评估板的作用是1) 通过对otp3101寄存器进行读写,校准,把数据写入eeprom。2)控制工装机械装置,配合完成校准步骤。3)用户生产线人机交互的控制(按键,显示等)。 评估板的i/o控制逻辑可以按照用户需求自行定义,该案例中我们定于了state, reset, start, ready, 具体用途如下图所示:
图5 msp430评估板引脚定义
内部串扰校准阶段: state信号由低变高,工装就绪。 reset信号由高变低,msp430就绪。开始调用sdk语句进行内部串扰校准。
发射串扰校准阶段: start信号由高变低,msp430发出指令开始遮挡接收头。 等待接收头完全被遮挡后,工装发出ready指令,由高变低,遮挡动作完毕。 开始调用sdk发射串扰校准语句,进行串扰校准。
相位校准阶段:串扰校准完成后,msp430发出指令开始移除遮挡物。等待遮挡物完全被移除后,工装发出ready指令,由低变高。 发射灯此时直对预置参考物,开始调用sdk相位校准语句,进行相位校准。
校准完毕: 校准完毕后调用sdk语句将数据加载入24c02,然后msp430发出reset指令,由低变高,通知工装推出工作模式。 工装退出工作后state信号由高变低,完成一次校准循环。
以上步骤用图6流程图可以一一对应如下:
图6 工装执行步骤流程图
4. 常见问题调试经验
4.1 发射串扰校准失败
如上文所述,用户可以通过判断残余串扰数值(amp_out)是否低于20来判断发射串扰是否校准成功。如果判断失败,通常可以从以下几个方面进行调试:
1) 硬件电路问题: 如果残余串扰数值很高,则需要考虑进行优化硬件设计。 常用的有几种途径:
a) 检查inp和inm匹配电容;数字地与模拟地的隔离问题(磁珠在10mhz的阻抗需要足够大,建议500欧姆以上);电源电路中使用低esr的瓷片电容。
b) pcb布局不理想。 关于pcb布局的详细介绍可以在opt3101数据手册第10节以及opt3101系统设计文档第8节中查询。
c) 使用负电压给接收管阳极进行供电。 采用ti电荷泵方案,如lm2664可以实现低成本,设计简单的负压产生电路,具体如下图所示:
图7 opt3101接收灯负电压供电
图8 基于lm2664电荷泵负压方案
2) 光学隔离问题:在做发射串扰的校准以及验证的过程中,需要保证接收管始终被遮光罩屏蔽。 该遮光罩通常为系统所用波长不透明物体,如黑色胶带,黑色塑料件等。对于发射管和光电二极管之间的光学隔离细节,也可以在opt3101系统设计文档中查询。
4.2 相位校准失败
opt3101的相位校准过程中需要借助参考物体。因此,必要确保该参考物体的合理摆放:
1)参考物满足条件: 如上文所述,参考物的距离要足够的近,确保采样的幅值足够的高(amp_out>10000)。 同时注意的是,不同材质,不同颜色的物体,也会对幅值信号产生不同的影响。最后, 发射电流的大小也会对幅值信号产生不同的影响。以上因素,用户都需要根据实际的情况进行调整。
2)无机械装置遮挡视线:在工装上由于机械装置繁多,可能出现部分线缆,支撑臂等装置遮挡了opt3101视角范围的情况。另外,在程序逻辑的控制中,也需要确保接收头遮光罩完全打开后,程序才进一步执行相位校准环节。
4.3 eeprom读写失败
opt3101内部没有非易失性存储器,因此所有工厂校准数据需要存储到外置非易失性存储器中。 一个常用的方式是外置eeprom。如果发现读写失败,可以从以下两个方面进行检查:
1) 硬件电路:如下图所示,opt3101有两个i2c接口:i2c_m接外置eeprom,i2c_s接主机mcu。 在工厂校准结束前,opt3101通过i2c_m把数据载入eeprom。在校准结束后opt3101重新上电初始化后,eeprom会自动通过i2c_m把工厂校准数据写入opt3101寄存器。opt3101则通过i2c_s把测距数据给到主机mcu。因此,可以通过观察i2c_m上的波形,来判断eeprom是否有数据读写。 如需判断该数据是否正确,则可以通过程序,截取读写前后i2c的数据进行判断。此外,由于大部分eeprrom具有写保护(wp)引脚,在调试时需要确保该引脚具有正确的电平信号。
图9 opt3101连接eeprom示意图
2)opt3101初始化配置:由于opt3101可以配置为外接eeprom模式,或者不外接eeprom (转而将数据存入主机mcu内存储器)。 其配置需要在初始化函数,即initialize();中完成。ti推荐的方式为利用ti官网提供的opt3101 configuration tool进行设计,生成c++代码后,移植到initialize();函数段内。如下图所示:
图10 opt3101 configuration tool设置eeprom界面
硼砂检测仪检测食品中硼砂含量
关于用5V或3.6V电源给Zynq SoCs供电的方法介绍
机器人如何改变酒店行业?
如何挑选4K电视?海信50K700和创维50E6200对比拆解
SIEMENS自动化系统的架构设计及硬件功能解析
OPT3101工厂校准指南与调试经验
微雪电子16QN50K23030 QFN16测试座介绍
币圈大鹏:为何行情到来的时候你却在观望
首款移动消防机器人在美国上岗
杨格锁业YGS-2000门锁简介
大龄程序员的出路
电磁波的干涉、衍射原理
美国运营商US Cellular宣布将在明年第一季度推出5G服务
无功补偿怎么升级自动投切?
重构品牌形象,美国XNUO心诺转型升级的挣扎与蜕变
智慧灯杆的应用对通信行业会造成哪些影响
日常运营中网站受到安全威胁时该怎么办
控制电缆在日常使用中容易出现哪些问题
别墅安防系统解决方案
Dialog半导体公司推出最新超低功耗Wi-Fi SoC,加速IoT部署