基于单片机MC9S12XSl28的智能车的硬件系统设计

2012-10-12 13:29孙宝法张佑生
制造业自动化 2012年6期
关键词:飞思舵机编码器

张 庆,孙宝法,张佑生

ZHANG Qing, SUN Bao-fa, ZHANG You-sheng

(安徽三联学院 计算机科学与技术系,合肥 230601)

1 智能车设计概述

智能车设计与“飞思卡尔杯”智能车竞赛密不可分。“飞思卡尔杯”智能车竞赛起源于韩国,2000年,在飞思卡尔半导体公司的资助下,韩国汉阳大学汽车控制实验室承办了首届韩国大学生智能车比赛。2006年,清华大学举办了中国首届大学生“飞思卡尔杯”智能车邀请赛[1]。

“飞思卡尔杯”智能汽车竞赛,要求各个参赛队在统一的车模平台上,使用飞思卡尔公司的16位微控制器作为核心控制模块,自主构思控制方案进行系统设计。大赛组委会向各个参赛队提供一个带有差速器的后轮驱动模型车、一个直流电机和一个充电电池。各个参赛队制作一个能够自主识别路径的智能车,于指定日期、指定地点到各分赛区参加比赛,在获得决赛资格后,参加全国决赛。比赛时,参赛队伍让智能车在赛道上独立行驶。参赛队伍的成绩由两部分组成,以赛车现场成功跑完赛道全程的时间为主,以技术报告和制作工艺评分为辅[1]。

智能车的设计涉及模式识别、传感技术、电子、控制、计算机、机械和电源等多个学科,对扩大学生的知识面、培养学生的知识融合能力和训练学生的动手能力具有重要的促进作用。

2 智能车硬件系统的框架

智能车硬件系统包括电源管理、路径识别、车速检测、控制器、舵机和电机等模块[2]。按照各个模块的功能,整个小车的硬件系统可以分成四大部分:电源部分、信息采集部分、数据处理部分和运动控制部分。智能车的硬件系统结构如图1所示。

图1 智能车的硬件系统结构

中国大学生“飞思卡尔杯”智能车竞赛分成三个组:光电组、电磁组和摄像头组。其中,光电组的小车用发射管发射红外线或激光,根据接收管采集到的反射光线,对小车运行实施控制。本文讨论的智能车属于光电组,用激光管采集道路的信息,用单片机MC9S12XSl28处理采集到的数据,用转向舵机和驱动电机控制小车的运动状态。

智能车设计的完整方案是:用激光发射管发射集束光线,用激光采集管采集反射的光线;把采集到的反射光线送到ADC进行A/D转换,根据A/D转换的数值,判断智能车与道路的相对位置;对于不同的位置,结合当前的车速,分别用不同的PWM控制舵机的转向角度和电机的旋转速度,使小车能够自主寻迹,快速跑完全程。

3 智能车硬件系统各部分的设计

3.1 电源部分

整个智能车硬件系统的电力供应,来自于大赛组委会提供的充电电池。正常情况下,电池的额定输出电压为7.2V,电流容量为2000mAh。由于各个模块对电源的要求不同,特别是对电压的要求不同,因此,需要采用不同的稳压芯片,从电池中分流出不同电压的分电源,给不同的模块供电。智能车的供电系统如图2所示[2]。

图2 智能车的供电系统

单片机MC9S12XS128的工作电压是5V,要求电源稳定,防止电机工作时产生的干扰。为此,采用稳压芯片LM7805,从7.2V电池上取电,输出电压为5V,单独为单片机供电。

用于采集道路信息的激光管、电机驱动电路、用于采集小车速度信息的编码器,工作电压都是5V,对电源质量要求不太高,这里采用稳压芯片LM7805,从7.2V电池上取电,输出电压为5V,同时为激光管、电机驱动电路、编码器供电。

舵机需要较大功率的电力供应,要求电源低内阻、大电流、电压稳定。为此,采用稳压芯片LM7806,从7.2V电池上取电,输出电压为6V,单独为舵机供电。

电机需要大功率的电力供应,要求电源低内阻、大电流、电压稳定。为此,直接从7.2V电池上取电,单独为电机供电。

3.2 信息采集部分

3.2.1 道路信息采集模块

本智能车采用激光管阵列来采集道路信息。激光管阵列的特点是价格低廉、电路简单、设计方便,缺点是采集的道路信息少、前瞻小、对复杂道路环境的判断能力较弱。

一组激光管传感器包括若干个激光发射管和一个激光接收管。本智能车采用的激光传感器是手创科技公司的SOC2212。激光发射管波长是650nm,出孔功率是5mw,工作电压是5VDC,工作电流是40mA。一组激光管的电路原理图如图3所示。

在图3中,位于上部的是调制管,其引脚1调制输出的是发射管L11的发射频率,接收管JP12的接收频率与L11的发射频率相同,接收管采集到的发射光线首先转化成电压值,然后,由其引脚2输出到单片机进行A/D转换。

本智能车共用7组激光管传感器,采集到的7路反射光线,分别经过7只接收管转化成7路电压值。7只接收管的引脚2按照顺序分别连到单片机的引脚ATD0~ATD6。这样,7路电压值就被送到单片机进行A/D转换。

3.2.2 速度信息采集模块

本智能车采用欧姆龙公司的增量型旋转编码器E6A2-CS3C采集小车的速度信息。编码器E6A2-CS3C的优点是获取信息准确、精度高,缺点是体积大、增加后轮负载。

图4 编码器的安装

在小车的后部安装一个支架,把编码器固定在支架上,编码器的齿轮与电机的齿轮啮合。编码器的安装如图4所示。

编码器有五根线,棕色线接电源正极,蓝色线接电源负极,粗的黑色线接地或剪去,橙色线没有用到,为了防止接错而烧坏编码器,应该把橙色线剪去,黑色线连接单片机的引脚PT0[3]。

3.3 数据处理部分

智能车最重要的部件是中央处理单元,它负责对信息采集部分送来的数据进行处理,并将这些信息转化成转向舵机和驱动电机的控制信号,使小车按照预定的方案前进。因此,要求中央处理单元具有较强的数据处理能力。根据中国大学生“飞思卡尔杯”智能车竞赛的规则,只能采用飞思卡尔半导体公司的单片机MC9S12XS128作为智能车的核心控制芯片。六年来,中国几百所高校数千支队伍的智能车设计实践表明,MC9S12XS128完全能够满足智能车控制的要求。

如3.2所述,7只光电接收管的引脚2按照顺序分别连到单片机的引脚ATD0~ATD6,7路采样所得的电压值送到单片机进行A/D转换,A/D转换后所得的7路数字,就反映了小车与赛道引导线的相对位置;编码器黑色线连接单片机的引脚PT0,统计A相输出脉冲的个数,获得电机的速度。

把光电管经A/D转换后的7路数字,以及编码器输出脉冲的数字,保存在一个数组里。设定一组控制规则,根据数组的数值,对转向舵机和电机进行控制。

3.4 运动控制部分

1)舵机控制

在行驶过程中,小车不断对路况信息进行采样,通过分析小车与赛道中心线的相对位置,计算小车转弯的方向和角度。舵机控制程序流程如图5所示。

图5 舵机控制程序流程图

本智能车采用Futaba公司的舵机S3010,标准PWM周期为20ms,转动角度最大为45°。在程序设计上,通过改变占空比PWM来控制舵机的转角。本车用单片机的引脚PWM1输出PWM,对舵机进行控制。

2)电机驱动

智能车的动力部分使用小型永磁式直流电机,可用分离元件组成的驱动器来驱动,也可用一体化的集成驱动芯片来驱动。为了简化电路板,减轻小车的重量,本智能车采用一体化的专用集成驱动芯片MC33886。用单片机的引脚PWM3输出PWM,对电机的转速进行控制。

4 结束语

智能车系统包括硬件系统和软件系统,本文介绍的是智能车硬件系统的设计方法。显然,只有硬件系统而没有相应的软件系统的小车还算不上智能车,因此,在构建了智能车硬件系统之后,接下来就需要构建智能车的软件系统,即进行程序设计。限于篇幅,本文不再介绍,将另文阐述。

[1]吴怀宇, 程磊, 章政. 大学生智能汽车设计基础与实践[M]. 北京: 电子工业出版社, 2008.

[2]卓晴, 黄开胜, 邵贝贝. 学做智能车——挑战“飞思卡尔”杯[M]. 北京: 北京航空航天大学出版社, 2007: 87-88.

[3]段颖康. 基于MC9S12XSl28单片机的智能循迹小车的硬件设计[J]. 电子元件应用, 2010, 12(1): 33-35.

猜你喜欢
飞思舵机编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
舞台机械技术与设备系列谈(二)
——编码器
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于双增量码道的绝对式编码器设计
基于高速同步485总线通信的多通道舵机控制器设计
基于数字信号处理的脉冲编码器
基于云模型的舵机同步控制
物联网改变生活
现代飞思1.6T:不再“软脚”