通用循迹传感器主要用于普通赛道元素(直道、弯道、圆环等)循迹,根据赛道提供的循迹标识,可以选用图像传感器和电磁传感器。
图像传感器是利用光电器件的光电转换功能将感光面上的光像转换为与光像成相应比例关系的电信号。与光敏二极管、光敏三极管等“点”光源的光敏元件相比,图像传感器是将感光面上的光像分成许多小单元,将其转换成可用的电信号的一种功能器件。图像传感器分为光导摄像管和固态图像传感器。与光导摄像管相比,固态图像传感器具有体积小、质量轻、集成度高、分辨率高、功耗低、寿命长、价格低等特点,因此在各个行业得到了广泛应用。
图像传感器主要分为CCD(Charge Coupled Device,电荷耦合器件)和CMOS(Complementary Meta Oxide Semiconductor,互补金属氧化物半导体)两种。CCD特有的工艺,具有低照度效果好、信噪比高、通透感强、色彩还原能力佳等优点,在交通、医疗等高端领域中广泛应用。CMOS传感器采用一般半导体电路最常用的CMOS工艺,具有集成度高、功耗小、速度快、成本低等特点,最近几年在宽动态、低照度方面发展迅速。
1)原理介绍
CCD图像传感器从功能上可分为线阵CCD和面阵CCD两大类,线阵CCD通常将CCD内部电极分成数组,每组称为一相,并施加同样的时钟脉冲。线阵CCD有单沟道和双沟道之分,其光敏区是MOS电容或光敏二极管结构,由光敏区阵列与移位寄存器扫描电路组成,特点是处理信息速度快,外围电路简单,易实现实时控制,但获取信息量小,不能处理复杂图像。面阵CCD结构复杂,它由很多光敏区排列成一个方阵,并以一定的形式连接成一个器件,获取信息量大,能处理复杂的图像。考虑到价格因素和实际应用需要,智能汽车上的CCD图像传感器选用的是线阵CCD。线阵CCD的核心是由一行光电二极管(每个光电二极管都有各自的积分电路,此电路统称为像素)组成的感光阵列,阵列后面有一排积分电容,光电二极管在光能量冲击下产生光电流,构成有源积分电路,那么积分电容就是用来存储光能转化后的电荷。积分电容存储的电荷越多,说明前方对应的感光二极管采集的光强越大,当光强接近饱和时,像素点灰度趋近于全白,呈白电平。由此可知线阵CCD提取信号是被动接受反射回的光线,因此采集的信号易受外界环境的影响。下面以TSL1401CL为例简单介绍线阵CCD的工作原理。
TSL1401CL线性传感器阵列由一个 128×1 的光电二极管阵列,相关的电荷放大器电路和一个内部的像素数据保持功能电路组成,它提供了同时集成起始和停止时间的所有像素。该阵列有128个像素,其中每一个像素具有光敏面积3524.3μm 2 。像素之间的间隔是8μm,内部逻辑控制简单,只需要用串行输入信号(SI)和时钟信号(CLK)就可以实现。TSL1401CL的引脚功能如表2.1所示,工作时序波形如图2.1所示,操作波形如图2.2所示。
表2.1 TSL1401CL引脚功能
图2.1 TSL1401CL工作时序波形
在图2.1中,SI信号变为高电平后,可在每个CLK信号上升沿到来后进行数据的AD采样,即相应的AO引脚开始不断对外输出电压信号,一直连续输出了128个时钟周期,第129个周期用于结束本次采集。每个SI信号之后采集到的像素均是在SI信号之前曝光所得到的数据。前18个时钟周期是复位时间,不进行积分(曝光),这是因为电容在使用时已被充满,需要将其内部电荷全部释放。第19个CLK信号到下一个SI信号开始的这段时间(SI正脉冲和HOLD正脉冲之间的时间减去18个时钟周期)就是CCD的积分时间,即曝光时间。时序中需要注意以下几点:
①前18个时钟周期是像素复位时间,不进行积分(曝光),但是此时仍然可以进行采集。在每个SI信号之后采集到的像素均是这个SI信号之前曝光所得到的图像。
②每个像素的值可以在CLK信号的下降沿时从AO采集。
③单个像素点的采样时长为500ns ~0.2ms,那么128个像素点全部采样时间为64μs ~24.6 ms。
④在采集了128个像素后,还必须生成第129个CLK信号以结束本次采集。
图2.2 TSL1401CL操作波形
TSL1401CL曝光时间(积分时间)定义为第19个CKL信号到下一个SI信号开始的这段时间,器件具有最大曝光时间,设置曝光时间超过最大曝光时间是没有意义的做法。积分时间可被改变,光线越强,积分时间应越短,因此在不同的比赛场地应注意对积分时间的调试。增加曝光时间,则图像采集周期变长,系统反应能力变弱;相反的,减少曝光时间,图像可能变得模糊,不利于图像处理。即便如此,由于比赛的原因,线阵CCD需采集变化较快的图像,因此应尽量减少曝光时间。
如果竞赛环境各个方向的光线均匀一致,则可以在赛车出发前根据环境光线调节一个合理的曝光时间,以得到合理的输出,这样赛车就能采用一个固定的曝光时间跑完全程。不过由于赛道上方的灯光等光源影响,投射在赛道上的光线也并不均匀一致,因此需要动态调整曝光参数。自适应策略如图2.3所示。曝光量调节器用K p 乘以e(设定的曝光量减去实际曝光量)再加上上次的曝光时间作为新的曝光时间进行曝光。实际曝光量应该是一段时间和一定像素点强度的函数,一种简单的做法为取一次采集到的128个像素点电压的平均值作为曝光当量,设定的曝光量也就是设定的128像素点平均电压。
图2.3 自适应曝光控制
2)线性CCD赛道识别
线性CCD如果扫到白线AD值为一个较高的电压值(接近3V),扫到黑线即为一个较低的电压值。为了准确判断黑线的位置以及减弱赛道上噪点的干扰,需将CCD采集的图像进行二值化处理,把模拟信号转换成0和1的二值信号,便于后期的数据处理。处于黑线上像素点的模拟量(灰度值)远远小于处于白线上像素点的模拟量,故选取处于黑线和白线两个模拟量之间的一个值作为阈值,灰度值大于该阈值为 1,反之为 0。虽然说二值化是为了呈现黑白图像,而赛道刚好就是黑白的,但考虑到现场光线的影响,黑线也可能因为反光识别成白线,因此对于阈值的确定还是要有所注意的;同理,若采用了动态曝光时间,也建议采用动态阈值。
①直道识别
赛道引导线处于赛道两边,在进行边缘检测时(即扫描像素二值化之后0和1的跳变沿),可通过从中心向两边扫描的方式实现(图2.4),从左右两边同时寻找从 1跳变到0的像素点位置,具体过程为第64个像素点向第1 个像素点扫描,得到左边引导线的位置L,第65个像素点向第128个像素点扫描,得到右边引导线的位置R,L和R符号相反。从中心到两边分别取值为 64~ 1和-64 ~ -1,赛道偏差E = L+R。由于线性CCD采回的数据在左右两个边沿不准确,所以左右各略去4个点,使用120 个点的数据,此时60即为期望的中心值。当小车处于期望的赛道中心位置时,E = 0;当赛车位置与期望中心出现偏差时,E可为正也可为负,通过一个方向PD算法就可以得到需要的转向值,来控制舵机转向。
图2.4 直道识别
②弯道识别
弯道识别与直道识别原理一样,当小车处于弯道时,L和R绝对值不同,两个值求和之后就可以计算出赛道偏差。由于小车驱动电机的反应具有滞后性,高速行驶于弯道时容易出现第64个像素点与第65个像素点同时落在黑线上的情况,如图2.5所示,此时从中心到两边像素点都没有从1到0的跳变,E就为 0,从而出现丢线的情况。
图2.5 固定扫描中心丢线情况
为了避免这种情况的发生,采用浮动中心点的方法,即扫描并不是固定的从第 64、65 个像素点向两边进行,而是根据上一次的赛道偏差计算出本次扫描的起始位置。如图2.6所示,当小车处于左转弯时扫描起始位置向左移动,反之向右移动,这样可以很好地避免了因扫描中心点落在黑线上而导致的丢线。
图2.6 浮动扫描中心
1)原理介绍
外界光照射像素阵列,发生光电效应,在像素单元内产生相应的电荷。行选择逻辑单元根据需要,选用相应的行像素单元,行像素单元内的图像信号通过各自所在列的信号总线传输到对应的模拟信号处理单元以及A/D转换器,转换成数字图像信号输出。其中的行选择逻辑单元可以对像素阵列逐行扫描也可隔行扫描。行选择逻辑单元与列选择逻辑单元配合使用可以实现图像的窗口提取功能。模拟信号处理单元的主要功能是对信号进行放大处理,并且提高信噪比。另外,为保证摄像头质量,芯片中必须包含各种控制电路,如曝光时间控制、自动增益控制等。为了使芯片中各部分电路按规定的节拍动作,还要求芯片能输出一些时序信号,如同步信号、行起始信号、场起始信号等。下面以OV7725 为例介绍摄像头工作原理。
OV7725 数字摄像头输出图像时,一般都是从左到右、由上到下逐个输出(部分芯片可配置输出顺序),如图2.7所示。有些摄像头有奇偶场,是采用隔行扫描方法,把一帧图像分为奇数场和偶数场两场(OV7725 没有奇偶场之分)。图2.8是行中断时序图,图2.9是场中断时序图。
图2.7 OV7725 摄像头输出图像顺序
2)图像采集
摄像头图像采集主要有以下四种方法:
①使用for循环延时采集
需要采集图像时,开场中断,场中断信号有效时就开启行中断,关闭场中断;行中断里用for循环延时采集像素,可以在行中断里添加标志位,部分行不采集,即可跨行采集。行中断次数等于需要采集的图像行数时即可关闭行中断,标志图像采集完毕。这种方法最简单,也最常用,但也是采集图像最不稳定的方法,经常出现消隐区等问题。
图2.8 行中断时序图
图2.9 场中断时序
②使用场中断、行中断和DMA传输
需要采集图像时,开场中断,场中断信号有效时,开启行中断和初始化DMA传输;行中断信号有效时就设置DMA地址,启动DMA传输;如果需要过滤部分行不采集,则设置一个控制变量,每次行中断信号有效时,控制变量加 1,根据控制变量值来选择采集或不采集某些行。每个PCLK信号上升沿有效时都触发DMA传输,把摄像头输出的值读取到内存数组里,当触发n次(n =图像列数目)后就停止DMA传输。行中断次数等于一幅图像的行数,或者下一个场中断有效时就结束图像采集,关闭行中断和场中断。该方法如果不用DMA传输,直接用for循环延时来采集也可以实现,也不需要用PCLK信号。不过延时值需要设置合适,否则不是采集到消隐区,就是只采集图像的左边部分。
③使用场中断,DMA传输
需要采集图像时,开场中断,场中断信号有效时,初始化DMA传输,并启动DMA传输;每个PCLK信号上升沿有效时都触发DMA传输,把摄像头输出的值读取到内存数组里。当触发n次(n =图像像素数目)后就停止DMA传输。DMA停止传输时触发中断,中断里关闭场中断,图像采集完毕。或者等待下一个场中断有效时才关闭场中断,标记图像采集完毕。
OV7725 的最高帧率为150帧,理论上摄像头的帧率越高越好,但在实际的使用过程中,并不会使用到那么高的帧率,因为图像的解压需要一定的时间,同时还要考虑到其余代码的运行时间。如果取完150帧的图像,就要求在 6.67ms之内完成对图像进行解压、循线及其他一些程序的运行,这对微处理器的主频要求较高,因此在实际的使用过程中,需要根据程序运行时间和需求合理进行摄像头帧率配置。
3)摄像头图像处理
单片机采集到的原始图像信息并不都是有用信息,需要通过软件处理,滤除干扰信息,提取主要的赛道信息。以OV7725 为例,图像采集采用DMA方式将硬件二值化后得到的整幅图像数据存入单片机,然后解压成 160×120 的数组,该数组便代表着一帧图像的信息,如图2.10所示。
图2.10 摄像头一帧图像图示
在图像信号处理中需要提取的赛道信息主要包括:赛道两侧边界位置、赛道中心点位置以及不同赛道类型的判断。采集到赛道图像后,采用循线算法进行处理,确定出赛道两侧边界位置,并计算出对应的赛道中心线位置,从而引导舵机转向和电机的加减速。循线算法的基本思想如下:
①循线首先从离车头最近的第119行开始,找到每一行的左右边界,至第21行结束,第20 行到0行的图像畸变过大,不作为循线依据。
②左边界是从上一行中心的列(119 行从80列开始)开始,向左边逐列搜索,直至找到最近的由白点跳变到黑点的列(硬件二值化处理后,像素点只有黑点和白点),该列即为该行的左边界。如果该行找不到左边界,则认为该行左边界值为 0。
③右边界是从上一行中心的列(119 行从80列开始)开始,向右边逐列搜索,直至找到最近的由白点跳变到黑点的列,该列即为该行的右边界。如果该行找不到右边界,则认为该行右边界值为 159。
④对于每一行的中心点,该行中心点为该行左右边界值的平均值。
4)摄像头选型
循迹传感器是智能汽车进行路径识别的关键检测元件,选择一款好的循迹传感器有助于提高车模运行的整体性能,对于摄像头的选择,主要考虑7个参数:芯片大小、自动增益、分辨率、最小照度、信噪比、标准功率、扫描方式。市面上的摄像头主要分为模拟和数字两种,模拟摄像头主要有OV5116、BF3003、MT9V136 等,数字摄像头主要有OV7620、OV7670、OV7725等。大多数摄像头都支持SCCB通信,可以很好地实现单片机与摄像头之间相互通信。
全国大学生智能汽车竞赛比赛环境干扰较小,对图像的分辨率要求并不高,但是对动态特性要求非常高,特别是车模在高速行驶入弯或者出弯的时候,图像变化较大,这就对摄像头的自动增益有较高的要求。一般来说,在图像发生突变时,感光芯片本身会有一段适应时间,这段时间要求越小越好。
综合前14届比赛情况,常用的摄像头类型有以鹰眼为代表的硬件二值化摄像头OV7725,以及以总钻风摄像头MT9V032 和数字摄像头OV7620 为代表的灰度摄像头,还有少部分的队伍使用了模拟摄像头OV5116。其中,有超过一半的队伍使用了鹰眼摄像头(OV7725),其次是总钻风摄像头(MT9V032),还有一小部分的队伍使用了数字摄像头(OV7620)和线阵CCD(TSL1401)及模拟摄像头OV5116,使用其余型号摄像头的队伍数量基本可以忽略不计了。
在第十四届全国大学生智能汽车竞赛规则中,对比赛场地光线要求放宽,不再要求遮光,导致赛道干扰因素增加,因此在第十四届竞赛中大部分队伍使用的是灰度摄像头,但灰度摄像头对图像的处理算法以及单片机的主频都要求较高,需要压缩赛道元素处理时间。虽然OV7725 在光线分布不均匀或强光斑时处理赛道元素存在较大的缺陷,但其对于场地光线分布均匀,无论是均匀暗光还是均匀强光,其处理效果和速度都比较好。目前大部分比赛场地为体育馆,场地光线一般不会出现大面积光斑直射赛道情况,OV7725 信噪比高、速度快、稳定性好、微光灵敏度更高,因此OV7725 仍然是较好的选择。竞赛中,摄像头的帧率是十分重要的,因为车模运行速度达到一定值后,图像变化很快,帧率低会导致道路实时性差,不能及时刷新赛道信息,会影响车模提速。OV7725 的最高帧率可以设置为150帧,完全满足竞赛要求。同时,硬件自动进行全局域二值化,不占单片机处理资源,节约MCU运算时间。当然,硬件二值化会丢失部分信息,导致在复杂场景可能无法进行正常判断与识别。
MT9V032 灰度摄像头在信标组用得比较多,下面介绍其工作原理。MT9V032 的有源像素阵列是 752H×480V,它在芯片上集成了先进的相机功能,例如 2×2 和 4×4 像素着色功能,提高在较小分辨率下工作时的灵敏度以及开窗、列和行镜像。这项功能可以通过简单的双线串口编程实现。MT9V032 可以在其默认模式下运行,也可以针对帧大小、曝光、增益设置和其他参数进行编程,默认模式以每秒60帧(fps)的速度输出VGA大小的宽图像。片上模数转换器(ADC)为每个像素提供 10bit分辨率,用户也可通过使能设置为 12bit分辨率,来为图像较暗区域提供更精准的数字化。除了传统的并行逻辑输出外,MT9V032 还具有串行低压差分信号(LVDS)输出。MT9V032 结构框图见图2.11。
图2.11 MT9V032 结构框图
MT9V032 的像素陈列配置成782列乘492行,如图2.12(a)所示。左侧的26列和上方的8 行像素为光学黑色,用来监测传感器的黑色等级。黑色行数据在内部用于自动黑电平调整。但是,通过将传感器设置为原始数据输出模式,也可以读取中间的四个黑色行。有753列乘481 行的光学有源像素。有源像素被光学透明的虚拟行和列包围,以提高有源区内的图像均匀性。像素颜色图案调节如图2.12(b)所示。
MT9V032 的图像数据可以按照逐行扫描或者隔行扫描方式输出。有效的图像数据被水平和竖直的空白行包围,如图2.13所示。水平和竖直方向的空白行数可以通过改写寄存器0x05H和 0x06H来设置。当输出图中阴影部分时,芯片输出的LINE_VALID信号为高电平。
图2.12 MT9V032 像素阵列描述图
图2.13 图像读出的空间展示
MT9V032 的像素信息时序如图2.14所示,MT9V032 的数据输出和PIXCLK信号输出同步,当LINE_VALID信号为高电平时,每个PIXCLK周期有一个10bit的像素数据输出。PIX CLK信号通常是时钟信号(SYSCLK)的翻转,PIXCLK可以用作锁住数据的时钟。当数据分箱功能启用时,每一个(column bin为2时)或两个(column bin为4时)主时钟周期,PIXCLK才翻转一次。PIXCLK信号是连续的,即使是在空白数据期间(blanking period),设置寄存器0x74 的第四位为 1,也可以翻转PIXCLK信号。行和帧的时序关系如图2.15所示,其中,A为活动数据时间,Q为水平消隐时间,P 1 为帧开始消隐时间,P 2 为结束消隐时间。
图2.14 像素信息时序
图2.15 行有效和帧有效的时序关系
竞赛赛道中心线位置铺设有一条通 100mA交变电流的导线,通过识别导线产生的电磁场可以实现路径检测。测量磁场的方法有很多,下面列出一些常用的方法:
①磁通门法。磁通门法是利用在交变磁场的饱和激励下,处在被测磁场中磁芯的磁感应强度与被测磁场的磁场强度间的非线性关系来测量磁场的一种方法。这种方法主要用于测量恒定的或缓慢变化的弱磁场,在测量电路稍加变化后,也可用于测量低频交变磁场。
②霍尔效应法。霍尔效应是指当外磁场垂直于流过金属或半导体中的电流时,会在金属或半导体中垂直于电流和外磁场的方向产生电动势的现象。霍尔效应法是在实际应用中比较成熟的一种磁场测量方法,利用霍尔效应法可以连续线性地读数,而且可以用于测量小间隙磁场,还可以使用多探头实现自动化测量和数据处理。
③磁阻效应法。磁阻效应是指某些金属或半导体的电阻值随外加磁场变化而变化的现象。磁阻效应广泛应用于磁传感、磁力计、电子罗盘、位置和角度传感器、车辆探测、仪器仪表、磁存储(磁卡、硬盘)等领域。
④磁共振法。磁共振法是利用物质量子状态变化而测量磁场的一种方法,一般可用来测量均匀的恒定磁场。用磁共振原理测量的方法主要有核磁共振、顺磁共振、光泵磁共振等。
⑤超导效应法。超导效应法是利用弱耦合超导体中约瑟夫森效应的原理测量磁场的一种方法,它可以测量 0.1T以下的恒定磁场和交变磁场。
⑥磁光效应法。磁光效应法是利用磁场对光和介质的相互作用而产生的磁光效应来测量磁场的一种方法。当偏振光通过磁场作用下的某些各向异性介质时,会造成介质电磁特性的变化,并使光的偏振面(电场振动面)发生旋转,这种现象被称为磁光效应。磁光效应法测量磁场具有耐高压、耐腐蚀、耐绝缘的优点。
以上各种磁场测量方法所依据的原理各不相同,测量的磁场精度和范围相差也很大,对用于智能汽车竞赛的电磁传感器来说,除了考虑检测磁场的精度之外,还需要对检测磁场的传感器的频率响应、尺寸、价格、功耗以及实现的难易程度进行综合考虑。从近14届全国大学生智能汽车竞赛来看,参赛队伍几乎都是采用竞赛组委会推荐的方案,选用最为传统的电磁感应线圈方案,它具有原理简单、价格便宜、体积小、频率响应快、电路实现简单等特点。
通电导线周围的磁场是一个矢量场,场的分布如图2.16所示。如果在通电直导线旁边竖直放置两个轴线相互垂直并位于与导线相垂直平面内的线圈,则可以获得感应磁场向量的两个垂直分量,进而可以获得磁场的强度和方向。
导线中的电流按一定规律变化时,导线周围的磁场也将发生变化,则线圈中将感应出一定的电动势。根据法拉第定律,线圈磁场传感器的内部感应电压E与磁场B(t)、电磁线圈的圈数N、截面积A的关系有
感应电动势的方向可以用楞次定律来确定。由于本设计中导线中通过的电流频率较低,为 20kHz,且线圈较小,令线圈中心到导线的距离为 ,认为小范围内磁场分布是均匀的。再根据如图2.16所示的导线周围磁场分布规律,则线圈中感应电动势可近似为
即线圈中感应电动势的大小正比于电流的变化率,反比于线圈中心到导线的距离。其中常量K为与线圈摆放方法、线圈面积和一些物理常量有关的一个量,具体的感应电动势常量需实际测定来确定。
图2.16 导线周围的感应电磁场
不同的线圈轴线摆放方向,可以感应不同的磁场分量。这里讨论一种最简单的线圈设置方案:双水平线圈检测方案。在车模前上方水平方向固定两个相距L的线圈,两个线圈的轴线为水平,高度为h,如图2.17所示。
图2.17 双水平线圈检测方案
为方便原理分析,在赛道上建立如图2.18所示的坐标系,假设沿着赛道前进的方向为 z轴,垂直赛道往上为 y 轴,在赛道平面内垂直于赛道中心线为 x 轴。xyz 轴满足右手定则。假设在车模前方安装两个水平的线圈,这两个线圈的间隔为 L,线圈的高度为 h。左边线圈的坐标为(x,h,z),右边的线圈的位置(x-L,h,z)。由于磁场分布是以 z 轴为中心的同心圆,所以在计算磁场强度时仅仅考虑坐标(x,y)。由于线圈的轴线是水平的,所以感应电动势反映了磁场的水平分量。根据式(2. 2)可以知道感应电动势的大小与 成正比。
图2.18 感应线圈布置方案
假设h =5cm,x∈(-15,+15),k = 1,计算感应电动势E = 随着线圈水平位置x的变化取值一,如图2.19所示。如果只使用个线圈,感应电动势E是位置x的偶函数,只能够反映水平位置的绝对值| x |的大小,无法分辨左右。为此,需要使用相距长度为L的两个感应线圈,计算两个线圈感应电动势的差值:
图2.19 线圈中感应电动势与它距导线水平位置x的函数
下面假设L = 30cm,K = 1,计算两个线圈电动势差值(图2.20)。从图2.20中可以看出,当左边线圈的位置x = 15cm的时候,此时两个线圈的中心恰好处于赛道中央,感应电动势差值E d 为 0,当线圈往左偏移,x∈(15,30)时,感应电动势差值小于零,反之,当线圈往右偏移,x∈(0,15)时,感应电动势大于零。因此在位移0~30cm,电动势差值E d 与位移x是一个单调函数。可以使用这个量对车模转向进行负反馈控制,从而保证两个线圈的中心位置跟踪赛道的中心线。通过改变线圈高度h,线圈之间距离L,可以调整位置检测范围以及感应电动势的大小。
图2.20 感应电动势差值E d 与距离x之间的函数
1)磁感应线圈
磁感应线圈可以自行绕制,也可以直接使用 10mH工字电感,实物如图2.21所示。
图2.21 工字电感
这类电感体积小,Q值高,具有开放的磁芯,可以感应周围交变的磁场,如图2.22所示。
使用电感线圈可以对其周围的交变磁场感应出响应感应电动势。这个感应电动势信号具有以下特点:
①信号弱:感应电压只有几十毫伏,在检测幅值之前必须进行有效的放大,放大倍数一般要大于100倍。
②噪声大:一般环境下,周围存在着不同来源、不同变化频率的磁场。
图2.22 工字磁材电感
所以必须对信号进行放大、滤波等处理后再输入单片机进行A/D转换,信号处理流程如图2.23所示。
图2.23 信号处理流程
2)信号选频放大
赛道选择 20kHz的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其他磁场的干扰,因此信号处理的第一级选用选频放大,使得 20kHz的信号能够有效放大,并且去除其他干扰信号的影响。可以使用LC串并联电路来实现选频电路,如图2.24所示。
如图2.24所示电路中,E是感应线圈中的感应电动势,L是感应线圈的电感量,R 0 是电感的内阻,C是并联谐振电容,电路谐振频率为:f 0 = 。已知感应电动势的频率f =20kHz,感应线圈电感为L =10mH,可以计算出谐振电容的容量为
3)信号二级放大
经过选频放大后的信号幅值较小,随着电感离赛道的距离变化而衰减较快,必须进一步放大后,单片机才能更加准确地采集信号,如果单片机A/D转换的参考电压为 3.3V,一般将电压峰值放大到2V左右。信号放大最简单的电路就是用三极管进行放大,但是三极管放大电路温度漂移较大,实际应用时稳定性不好,从参赛队伍的技术报告看都是选用运算放大器来实现。
图2.24 RLC并联谐振电路
4)信号检波
经过二级放大后的信号幅值测量有多种方法,可以直接接入单片机的A/D端口,使用单片机直接采样交变电压信号,只要保证单片机的A/D采集速率大于 20kHz的8~10 倍。最简单的方法是就是使用二极管检波电路将交变的电压信号检波形成直流信号,然后通过单片机的AD采集获得正比于感应电压幅值的数值。电磁信号放大和检波电路设计在第4章有详细介绍。
谐振电容理论计算值为 6.33×10 -9 (F),通过查阅电容标准容值表得知,6.2nF不是标准容值。为了利用标称电容串联或并联,尽可能地构造出 6.2nF的电容,选用的 5.6nF和 560pF的电容并联得到接近于 6.2nF的电容,因电感和电容都存在制造误差,若所选的电容值和电感值不匹配,会导致谐振频率与 20kHz存在较大的差异,则电感和电容构成的谐振电路不满足完全互换性。在匹配过程中,应先测量电感,再进行电容匹配。电感值确定后,计算与之谐振后频率在 19.8~ 20.2kHz的电容值范围,然后选取并联后电容值在此范围内的电容组。
将焊接完成的谐振电路接入示波器,并利用标准信号源进行测试。如图2.25所示,将谐振的两路输出端接至示波器,将工字电感靠近电磁线,电感尽量保持与电磁线垂直,且距离尽可能小,以便观察输出波形。为了使示波器测量更加精准,调节纵向刻度,使得波形占据屏幕区域2/3 以上且不超出屏幕,同时保证屏幕内存在波形2~3 个周期的图像。调节后纵向刻度为 500mV/ div,横向刻度为10μs/ div,输出波形如图2.26所示。
图2.25 谐振电路的测试
图2.26 谐振电路的输出波形
电路输出为标准正弦波,谐振频率为 19.992kHz,误差为 0.4‰,输出信号峰峰值为 2.32V。通过改变电感与电磁线的位置,可以改变幅值,当角度不变时,距离越近,幅值越大;当距离不变时,电感与电磁线的夹角越大,幅值越大。实际匹配时,若输出信号峰峰值大于2 V,即可满足使用要求。
电磁循线中最核心的部分是电感的个数与布局,常见电感个数为2~6 个,少数组别会采用更多电感。以下仅介绍常见的两电感至六电感循线以及布局分析。
1)两电感循线算法
两电感安装效果如图2.27所示。横电感用于检测赛道磁场信息,计算转向环,要尽量安装于支撑横杆的外侧,但同时要满足比赛规定宽度不超过 25cm的限制。电感安装高度也要注意,太高会造成电感值过小,太低会造成电感值过大,需要根据车模实际运行情况来调整电感高度。电感值越靠近赛道中心线的时候越大,所以可以根据两个电感的值来确定车头当前的位置以及行进的方向,计算出方向环的偏差,两电感循线的偏差计算如式(2.4)所示,K p 是PID控制的比例调节系数。
图2.27 两电感安装示意图
计算方法采用两个横电感的差比和,如果单纯只计算两个横电感的差值,在某些时候会出现车头偏转越多,偏差反而越小的情况。例如,在急弯处,车头会伸出赛道外,所以两个电感的值都会偏小,此时直接作差得到的偏差会很小,不符合实际情况,而差比和的方式可以有效解决这个问题。
两电感循线适用于初学者入门,如果参数调校适当,车模运行速度也可以很快,但是对于某些特殊赛道,双电感循线存在一定的缺陷。
2)三电感循线算法
在两个横电感循线的基础上,加入第三个电感,用于识别特殊赛道元素,以及优化行驶路径。电感安装效果如图2.28所示。
图2.28 三电感安装示意图
左右两侧的横电感安装方式与两电感的安装方式相同,中间位置横电感保证绝对居中,同时要注意中间横电感的放大倍数要比两侧横电感的放大倍数小,因为在赛道某些特殊元素位置,中间电感输出信号比其在普通元素位置大很多,例如在环岛元素的交叉位置,电感输出信号比普通元素位置大三倍以上。三电感循线的偏差计算方法如式(2.5)所示。
在三电感的循线策略中,将中间电感加入差比和的分母中去,可以有效地优化行驶路径。在正常直道时,中间电感的值接近最大值,这样可以计算得到一个较小的偏差,以减少车模的抖动,而在进入弯道时,中间电感的值会迅速减小。不同于两个电感作差比和所计算出的偏差与车头偏离赛道中心线距离的一次线性关系,三电感循线计算方法得到的近似于二次方的关系,可以使车模过弯的时候更好地切内道,从而达到优化行驶路径的效果。同时,中间电感也可以用于判断特殊赛道元素,比如坡道、十字、环岛等。以环岛元素为例,在环岛附近中间电感值会远超在其他赛道元素的值,如图2.29所示(其中的 03:0263 即为中间横电感的归一化数值)。
图2.29 车模经过环岛元素过程
相比于两个横电感循线,三个横电感能更好地适应多变的赛道元素,获得更佳的行驶效果。当然,除了将中间横电感的归一化数值加在分母上之外,还有其他的处理方式。例如,将其归一化数值当作一个变量型参数,作为除数直接与两个横电感的差比和做商等,如式(2.6)所示。
3)四电感循线算法
四电感循线方式与前两种方式不同的地方在于它引入了竖电感安装方式。竖电感主要用于赛道的辅助循线以优化路径、特殊赛道元素的识别以及特殊赛道内的循线(这部分内容在环岛循线中介绍)。四个电感主要包括两个横电感与两个竖电感,具体安装方式如图2.30所示。
图2.30 四电感安装示意图
在四个电感的安装中,横电感安装位置及方式同两电感的安装方式,竖电感也要尽量靠近外侧,以获得更多的赛道有效信息。但要注意,横电感与竖电感距离过近时会发生谐振现象,直道上竖电感与通电导线平行,理论上竖电感是没有值的,但如果发生谐振现象,竖电感也会有较大的值,会严重影响正常的偏差计算。四电感循线的偏差计算方式见式(2.7)。
四电感循线在横电感循线的基础上加上了竖电感的差比和的值。因为竖电感在直道上基本没有值,但是在接近弯道时,会与通电导线形成夹角,竖电感的值会迅速增大,即竖电感对于弯道的灵敏度会远大于横电感,可以使车模过弯时更好地切内道。需要注意的是,要提前限定电感归一化数值乘以100之后的值不能小于 1,因为这个值是一个int型的整型变量,如果采到的值都很小,尤其是在直道上的竖电感的值,若不加限制会出现0/0 的情况,造成程序BUG,出现不可预料的后果。同时,竖电感也可以用于特殊赛道的循线,例如环岛循线就主要依靠竖电感来进行。
4)五电感循线算法
五电感的循线方式是利用三个横电感和两个竖电感来计算方向环的偏差。相当于融合了三电感循线和四电感循线的优点,这也增大了参数调试方面的难度。具体的电感安装方式如图2.31所示。
图2.31 五电感安装示意图
五电感的循线思路在于用中间横电感加上两个竖电感来辅助循线,优化路径。具体的方向环偏差计算方法如式(2.8)所示。
利用五电感循线可以更加稳定的识别赛道元素,如坡道、环岛、十字路口等,可以更及时地作出相应处理,从而提升速度。
5)六电感循线算法
六电感循线是利用两个对称放置的横电感来代替中间的横电感,用以辅助循线和识别特殊赛道元素。六电感的具体安装方式如图2.32所示。
图2.32 六电感安装示意图
利用中间两个横电感辅助循线,可以使普通赛道元素不再单纯依靠左右两侧的横电感,具体的方向环偏差计算如式(2.9)所示。
以上介绍了五种常见的循线策略,需要注意的是,电感数量越多,获得的赛道信息越多,从而增加结果的可靠性。但是,过多的数据也会增加处理难度,同时电感数量增加会造成安装位置过近,导致互相谐振,影响数据准确性。