新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 基于激光扫描原理的路径检测方案

基于激光扫描原理的路径检测方案

作者:陈妮亚 林位腾 北京航空航天大学仪器科学与光电工程学院时间:2009-06-19来源:电子产品世界收藏

本文引用地址:http://www.eepw.com.cn/article/95474.htm

  由公式1可知,要得到小车的位置偏移y,必需先确定零位偏移ref及直线斜率k。故在软件中设置自动校准环节:零位校准与斜率校准。具体流程如下:

  首先将小车置于赛道中心,程序计算当前的x值,则零位偏移值ref = -x。然后,将小车平行移至一固定位置y(如引导线右方12cm),程序计算当前的x值,则斜率k = y / (x +ref)。至此校准环节完成。

  要计算脉冲信号中心点相对于同步信号中心点的偏移量x,需要得到脉冲信号上升沿时刻s0、下降沿时刻s1,同步信号起始时间t0、同步信号结束时间t1,则有

  x=(t1-t0)/2-(s1-s0)/2 (2)

  要获得以上参量,最好方法是利用DG128的输入捕捉功能(ECT)。DG128总共包括8个输入捕捉通道,当任意通道的捕捉事件发生时,ECT即将当前的计数器值锁存到相应通道的输入捕捉寄存器。可以使用通道0作为同步信号输入端,通道1作为脉冲信号输入端。将通道0,1均设置为中断允许、任意跳变沿捕捉的方式。脉冲信号中断程序流程图如下:

  如图7,index用于保存脉冲个数(可能检测到多个目标),每次同步信号发生跳变后index被清零,表示一个扫描周期的开始。脉冲信号产生跳变时,即进入此中断程序,首先读取输入捕捉寄存器的值(即跳变发生的时刻)、之后判断此跳变是否为本次扫描周期内的首次跳变(index是否等于0),若是,且本次跳变为下降沿,则忽略并退出中断;若首次跳变为上升沿,则将此次跳变的时刻存入数组s0[index]。假如并非首次跳变,若该跳变为上升沿,则将跳变的时刻存入数组s0[index];若为下降沿则存入数组s1[index],并将数组索引号index自加,以准备保存下一脉冲。



评论


相关推荐

技术专区

关闭