关键词:MK60DN512ZVLQ10;线性CCD;追逐
Abstract: The paper introduced the hardware design of the chase intelligent car system based on MK60DN512ZVLQ10 singlechip as a microcontroller and linear CCD Collecting track information. Hardware design of chasing intelligent car system based on linear CCD, the main controller module and power supply circuit module and track information acquisition module and direction control module and speed control circuit module and parking line recognition and dual car distance control module is described in detail in the paper. By testing, the photoelectric chasing intelligent car realized fast straight line and tracking turn functions.
Keywords:MK60DN512ZVLQ10; Linear CCD; Chasing
1 引言
智能循迹小车涵盖机械、电子、电气、单片机、控制等多学科领域,是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统,是高新技术的综合体。目前,企业生产技术不断提高,对自动化技术要求不断提高,智能车以及在智能车基础上开发出来的产品成为自动化物流运输设备的关键,因此智能车的设计具有很强的实际意义。
本文以“恩智浦”杯智能车竞赛为背景,重点介绍线性CCD追逐智能车系统的机械结构和硬件设计,结合相应的程序算法,经过不断改进、调试与优化,追逐智能车的行驶速度和稳定性得到明显的提高。
2 线性CCD追逐智能车系统的整体结构
线性CCD追逐智能车系统分为7大模块:主控制器模块、电源模块、赛道信息采集模块、方向控制模块、速度控制电路模块、双车距离控制模块和停车线识别控制模块,线性CCD追逐智能车系统硬件整体设计框图如图1所示。
图1 线性CCD追逐智能车系统硬件整体设计框图
主控制器模块由K60最小系统板构成,是整个追逐智能车的大脑,完成整个智能车的各项任务的分配和执行[1]。
电源模块负责给其它各电路模块提供不同的电压,其中主控芯片MK60DN512ZVLQ10需要3.3V电压;赛道信息采集模块中的TSL1401线性CCD供电电压为5V;方向控制模块中的FutabaS3010舵机供电电压为6V;速度控制模块中的电机驱动电路需要7.2V电压,驱动芯片74HC244需要5V电压,测速编码器E6A2-CW3C需要5V供电;双车距离控制模块超声波需要5V电压;停车线识别模块需要5V电压。赛道信息采集模块采用TSL1401线性CCD,通过CCD采样以及曝光处理得到数据保存在数组中,然后通过软件滤波、二值化处理和赛道识别算法处理提取赛道中线。方向控制模块使用的是Futaba S3010模拟舵机,该舵机转向灵活,反应速度快,赛道中心线位置与小车位置的偏差经PD算法控制舵机灵活转向。速度控制电路模块由主控、电机驱动电路、电机、编码器组成;控制器、电机驱动电路、电机、编码器形成一个闭环控制系统;通过调整合适的PID参数,小车的运行速度由给定控制器的脉冲数间接获取,小车的实际速度为左右编码器测量的脉冲数的平均值来间接获取。双车距离控制模块采用有来有去超声波模块实时监测两车之间的距离。停车线识别控制模块采用多个光电传感器来识别停车线处的斑马线。线性CCD追逐智能车的实物图如图2所示。
图2 线性CCD追逐智能车实物图
3 线性CCD追逐智能车机械结构设计与调整
3.1 前轮的调整
智能车的前轮是转向轮,直接决定车行驶的方向,前车轮的位置是由主销内倾、主销后倾、前轮外倾和前轮前束4个因素决定,它们反映了转向轮、主销和前轴等三者在车架上的位置关系[2]。
3.2 齿轮传动结构的调整
调整传动齿轮轴保持平行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,传动部分要轻松、顺畅、容易转动,不能有卡住和迟滞现象。调整好的齿轮传动噪音小,没有碰撞类的杂音。
3.3 舵机的安装
智能车是由后轮驱动前进的,所以为了小车更加平稳的前进,小车各个模块的安装应本着使重心尽量靠后尽量低的原则。舵机的安装有立式和卧式两种,本次制作的智能车采用立式安装,既节省空间也有合适的力臂长度,使舵机能够快速响应。
3.4 线性CCD传感器的安装
本智能车采用两个线性CCD传感器,两线性传感器布局为垂直赛道方向上下位置,下方CCD1传感器采集赛道信息用于方向控制,上方CCD2传感器采集赛道信息用于不同赛道类型不同的速度控制。智能车依靠线性CCD采集赛道信息,前瞻对整个智能车系统至关重要,采用强度高、质量轻的碳素杆制作线性CCD支架安装在智能车上,合理的前瞻使智能车更加平稳快速的行进,前瞻太近对弯道不能起到提前预判的作用,前瞻太远光线对CCD的影响太大,经过反复测试,下方CCD1的前瞻为30cm、上方CCD2的前瞻为45cm最合适。
4 线性CCD追逐智能车系统各模块的硬件设计
4.1 主控制器模块硬件设计
主控制器采用的芯片是MK60DN512ZVLQ10单片机,共有144个外部引脚。线性CCD智能车用到主控板上的引脚如下:PWM信号引脚4个,用来控制两个电机的正反转、加速和减速;两CCD传感器采集图像的通用I/O接口和两A/D采集引脚;舵机PWM信号控制引脚PTA8,用来控制舵机转向;编码器速度采集分别使用正交解码PTB18和脉冲累加计数PTC5,作为速度反馈模块的输入捕捉引脚;超声波通讯接口PTC6、PTC16,作为两车的通信,实现两车的实时跟踪;以及多个通用I/O接口,分别用来OLED液晶屏显示参数、图像、按键调整参数、光电传感器输出、拨码开关调控智能车速度。主控制器模块硬件图如图3所示。
图3 主控制器模块硬件图
4.2 电源模块硬件设计
电源模块是整个智能车系统正常工作的基础,它为系统的各个模块提供稳定的工作电压。因此供电电路的稳定性和可靠性就不言而喻了。线性CCD智能车的原始电源为可充电镉镍电池(7.2V、2000mAh),由于线性CCD智能车各模块所需的供电电压和电流都不相同,所以需要对原始电源进行转换以满足各模块所需要的稳定工作电源。
方向控制电路中Futaba S3010舵机正常工作的供电电压为6V,故选择LM2941芯片来实现7.2V到6V电压的转换,LM2941为三端可调的稳压器,可根据不同的匹配电阻输出所需要的电压,且输出电流大(约1A),其内部还有故障保护电路,使用方便、可靠。
线性CCD传感器、测速编码器、隔离芯片74HC244、超声波模块、停车线识别模块、OLED 液晶屏、以及按键和拨码开关等所需电压均为5V,故选择输出电压恒定、稳压精度高的稳压器TPS7350,TPS7350与其他的5V稳压器相比具有更低的工作压降和最小的静态工作电流,即具有更低功耗的优点。由于所需5V电压的模块较多,采用多片TPS7350分别给各模块供电,避免采用单个芯片因负载过多、分流较大对模块的正常工作产生影响。
MK60DN512ZVLQ10单片机正常工作电压为3.3V,而K60最小系统板没有自带稳3.3V芯片,需要自行设计稳压电路输出3.3V给单片机供电。故选择低压差线性稳压器AMS1117将5V转换成3.3V,AMS1117能够提供完善的过流保护和过热保护功能,确保芯片和电源系统的稳定性。电源电路模块原理图如图4所示。
图4 电源电路模块原理图
4.3 赛道信息采集电路硬件设计
线性CCD智能车沿着赛道中心线运行,赛道中心线的信息提取依靠TSL1401线性CCD传感器。线性CCD传感器由128×1个光电二极管,内部集成了电荷放大器电路,以及像素数据保持功能,可同时集成启动和停止所有像素位。线性CCD传感器每次只拍摄图像的一条线,有模拟电压输出AO、时钟输入CLK、串行输入SI、供电电源VCC、地GND等5个引脚,SI和CLK通过一个开关逻辑控制和移位寄存器电路控制128个像素电压的一次输出。时钟输入CLK和串行输入SI通过单片机提供,CCD传感器采集一行图像产生128个模拟电压,模拟电压经过AD处理,产生对应的灰度值。
线性CCD智能车在不同曲率赛道上沿着赛道中心线运行,主要依据线性CCD在不同赛道上采集的图像对应的灰度值排列方式不同,通过软件处理可得智能车所在位置与赛道中心线位置的偏差,偏差通过PD算法控制舵机灵活打角,使智能车沿着赛道中心线循迹。
4.4 方向控制模块电路硬件设计
线性CCD追逐智能车能够围绕着赛道中心线运行依靠舵机转向功能。方向控制模块采用的是Fuatba S3010模拟舵机,Fuatba S3010舵机安装方式采用的是立式安装,该舵机具体低成本、高扭矩、响应速度快的优点。舵机有三根接线,红色线接6V电源、黑色线接GND、白色线为舵机信号控制线,接PWM输出端。本智能车舵机信号线接单片机的PTA8引脚,通过单片机的控制信号来调节舵机的脉冲占空比来实现舵机的转向功能。
4.5 速度控制模块电路硬件设计
速度控制模块主要由电机、电机驱动电路、编码器等组成,与主控器一起构成闭环控制系统[3]。如果单片机输出的PWM信号直接给到电机,会造成电机转动产生过大的电流可能将单片机烧毁,故需要通过电机驱动电路来控制电机。因为电机采用的是RN-260直流小电机,驱动电路可采用驱动芯片为BTN7971B半桥驱动芯片,该芯片具有低内阻、大电流的特点。测速编码器采用的是欧姆龙生产的E6A2-CW3C型500线双向编码器,通过左右编码器在单位时间内返回的脉冲个数平均值可间接得到智能车的运行速度。实际运行速度: ,上式中V为智能车的运行速度,R为车轮半径,Left、Right分别为单片机捕捉到左右电机的脉冲个数,Z为齿轮的齿数比(编码器齿轮与车轮齿轮之比),t为程序中设置的控制测速周期。E6A2-CW3C型500线双向编码器采用5V电源供电,共用到3根引线,蓝色线接GND、棕色线接5V、黑色线编码器输出信号接到单片机的PTC5和PTB18输入捕捉引脚,用来计单位时间内返回脉冲的个数,由于编码器输出是集电极开路,此时是不明状态,所以必须要接上拉电阻(10K)才能正常工作。速度控制模块电路中电机驱动电路原理图如图5所示。
图5 电机驱动电路原理图
4.6 双车距离控制模块硬件设计
双车之间的距离控制使用有来有去超声波模块[4]。而有来有去超声波模块分发送模块和接收模块,最远接收距离大于5米,最短接收距离小于3厘米,数据发送频率为50HZ。发送模块安装在前车车模后面,只有当发送模块的使能端EN(接单片机PTC6)为高电平时,超声波自动每20ms发送一次信号;当使能端为低电平时,超声波不发送信号。接收模块安装在后车车模前面,接收端数据可以通过PWM和UART两种方式将距离信息发送出来,本智能车采用UART模式输出(TXD接单片机PTC16),通信波特率为115200,串口模式直接输出距离,输出频率是1秒发送50个数据包,数据包格式是0XA5加两个字节的数据,数据的单位是毫米。当后车接收到的距离大于设定的目标值时,后车加速;如果小于设定目标值,后车减速。从而实现两车直接的距离控制,避免两车相撞。
4.7 停车线识别模块电路硬件设计
由于停车线处采用的白色赛道上贴有黑色胶带的“斑马线”。线性CCD难以识别停车线处是否为正常赛道,处理不当会产生误判。故采用多个光电传感器分别安装在车模的左右边缘各三个,当左右侧的光电传感器同时检测到黑线时,判断出停车标志位[5]。光电传感器对环境的适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号,其检测的有效距离(2-60cm),可通过电位器来调节。
5 小结
本智能车系统对机械结构和硬件设计进行了合理的设计,以K60为微控制器,线性TSL1401 CCD传感器采集赛道信息,编码器测速,超声波作为通信器件,光电传感器检测电路控制智能车顺利停车,应用PD和PID算法控制智能车方向和速度,通过实验测试,硬件设计符合本系统的要求,小车能够快速平稳的行驶。
参考文献:
[1]张仁尊. 线性CCD智能车的控制系统设计[J]. 山东农业大学学报(自然科学版),2016,47(5):731-735.
[2]卓晴.学做智能车[M].北京:北京航空航天大学出版社,2007.
[3]江总.基于单片机的智能车控制系统的设计[D].南昌大学硕士学位论文,2011:12-20.
[4]李倩.基于单片机的超声波测距系统设计与实现[J].无线互联科技,2018,24(12):36-38.
[5]李国柱.智能车起跑线识别算法及停车策略[J].价值工程.2012:147(18):166-167.
通讯作者简介:
叶梦君,女,1983年9月出生,讲师,工学硕士,现为湖北师范大学机电与控制工程学院教师,主要研究方向为智能控制、检测技术。
项目:2018年湖北省大学生创新创业训练计划项目;项目名称:基于线性CCD追逐智能车系统的设计;项目编号:201810513090.
共0条 [查看全部] 网友评论