智能循迹小车硬件设计及路径识别算法
主电机驱动电路采用大赛组委会指定的竞赛用电池直接为MC33886及主电机供电。MC33886的所有输入、输出信号均采用TLP521-4光电耦合芯片隔离,以避免驱动电路对单片机的正常工作造成干扰。为了保证MC33886散热良好,该电路板上依据MC33886数据手册的推荐样式设计了散热敷铜并为MC33886安装了散热片。焊接、装配时,将电路板正面的敷铜与MC33886底部的裸露的散热铜焊盘焊接在一起,可大大增强芯片的散热能力。
1.3 舵机转向模块
利用汽车转向机构原理,为了保证小车在转弯过程中,既能快速响应,又防止速度过快冲出跑道,把舵机的位置进行了提升,可以增大力矩,使小车快速响应,按照轨迹进行快速转弯。测量出摄像头能够检测到的黑线位置,并量车距离为b,测量车正中间和黑线的横向距离为a,那么转角的正切就等于b/a,如图3所示。可以使用这个方法,把黑线从视野最左端移动到最右端,分别测量出转角。由于舵机连杆加长,可发现转角于舵机的PWM值基本是线性的,所以舵机控制采用P控制即可。再考虑到转弯必须有一定的及时性,所以并不采用PID控制。本文引用地址:https://www.eepw.com.cn/article/172988.htm
1.4 速度测量模块
考虑到成本要求,采用了红外对管和黑白码盘作为测速模块的硬件构成。其中码盘为32格的黑白相间圆盘,如图4所示。
红外传感器安装在正对码盘的前方,虽然这样做精度比编码器要低很多,但是成本低廉制作容易,如果智能车速度较快,可以考虑再减少码盘上黑白色条的数量即可。
当圆盘随着齿轮转动时,光电管接收到的反射光强弱交替变化,由此可以得到一系列高低电脉冲。设置MC9S12DG128的ECT模块,同时捕捉光电管输出的电脉冲的上升沿和下降沿。通过累计一定时间内的脉冲数,或者记录相邻脉冲的间隔时间,可以得到和速度等价的参数值。
2 图像采集及处理
2.1 图像采集
常用的摄像头视频输出信号是PAL电视机制式,它的工作原理与电视机的工作原理相似:在一定分辨率下,每秒扫描25帧图像,每帧图像含有625行信息,分为奇、偶场,进行隔行扫描,总共每秒50场信号,每场有312.5行信息,从奇数行开始扫描,即依次扫描第1、3、5、7、
9……行,当扫描完奇数场后,再开始扫描偶数场,构成一帧图像。
对图像的采集即是根据摄像头的行信号和场信号对图像模拟量采集。输出信号包括行同步信号,场同步信号,图像时间,以及各种消隐时间。行同步信号代表一行的图像数据扫描开始,场同步信号代表一帧的图像数据扫描开始。要完成图像的正确采集,必须严格遵守时序的要求:当捕捉到一行信号时,开始对该行各点的模拟量进行采集,当下一行信号发生时表明该行采集完毕,需要对下一行的模拟量进行采集。
2.2 图像采集的主要硬件设计
摄像头产品说明上通常会给出有效像素和分辨率,分辨率即为每场信号中真正为视频信号的行的数目。但产品说明上通常不会具体介绍视频信号行的持续时间、它们在每场信号中的位置、行消隐脉冲的持续时间等参数,而这些参数又关系到图像采样的有效实现。因此需要设计软、硬件方法实际测量一下这些参数。
经过测量,所采用的CMOS摄像头每秒能够输出25帧图像信号,每帧分为奇场和偶场,每场包含312线,那么,每条线的扫描时间大约为64 μs。
通常,摄像头横向(行方向)的像素数远多于对单行视频信号A/D采样的点数。真正决定赛车图像采样模块实际横向分辨能力的不是摄像头横向的像素数,而是A/D采样单行视频信号的点数。所以,把摄像头旋转了90°使用,把以前的线信号组合起来,变成行信号,所以在一行的赛道信息上最多采集到312个点,这样就可以满足路径识别的需要了。
摄像头使用12 V的电源供电,所以设计了升压电路,如图5所示。
评论