基于瑞萨单片机自动寻迹智能车的设计
摘要 以瑞萨超级MCU模型车大赛为背景,设计并实现了一种智能车自动寻迹系统。采用瑞萨16位微控制器H8/3048F作为核心控制单元,使用光电对管RPR220采集路面信息,自动控制舵机转向,并对直流电机转速进行PID调节,从而实现智能车稳定、快速的行驶。实验结果表明,该套设计方案简单可靠,具有良好的控制性,满足设计要求。
关键词 瑞萨;自动寻迹;智能车;PID控制
随着计算机、通信、传感器等技术的发展,智能车成为汽车发展的趋势。传感器技术在智能车的应用中越来越广泛,如在夜间、雾天、高危高污染等环境下的行驶。智能车将成为人们生活的一部分。文中以瑞萨智能车大赛为背景,设计了一种以16位微控制器H8/3048F作为小车的控制核心,采用红外反射传感器检测路面引导线,能根据给定参数行驶的电动车。文中从硬件和软件方面详细阐述了智能车工作原理和设计方法,设计的小车具有电路设计简单、软件控制高效等优点。
1 系统总体设计方案
本智能车利用车体前方的光电传感器采集赛道信息、后轴上的光电编码器采集车轮转速的脉冲信号。这些信号经单片机调理后,用于控制小车的运动。同时,内部模块产生的PWM波驱动直流电机,对智能车进行速度及转角控制,使赛车在赛道上能够自动、平稳行驶,并以最短的时间和最快的速度跑完全程。此外,本系统还增加了按键和显示设备,以便于调试。智能车系统总体模块图如图1所示。
硬件设计是设计的基础,包括整车供电的电源管理电路设计、电机的驱动电路设计,以及单片机的各个接口电路的连接设计等。
2.1 控制器模块
H8/3048F单片机是的日立公司生产的16位高性能微控制器。H8/3048F内部有16个16位通用寄存器。其最高时钟频率可达18 MHz,寻址空间为16 MByte。芯片内部包括:9个I/O口、32 kByte Flash、2 kByte RAM、16位的集成定时单元(ITU)、可编程定时式样控制器(TPC)、j监视定时器(WDT)、串行通信接口(SCI)以及A/D、D/A转换器等。控制器I/O口分配如下:P70~P77光电传感器信号的输入;PB用于车速检测信号的输入;PA用于启动传感器板信号的输入。控制器根据检测到的路况和车速信息,控制转向舵机和直流驱动电机,相应地调整小车行驶方向和速度,最终使智能车按给定路线稳定、快速地行驶。
2.2 电源模块
选用8节1.2 V镍氢电池为直流电机供电,并经降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能,且性价比高。电源部分采用LM2940CT芯片。该芯片最大能提供3 A的电流输出,完全满足系统要求。模块采用两片2940芯片,一片单独给MCU供电,一片给其他部件供电。
2.3 寻迹传感器模块
模块采用一体化反射型光电对管RPR22D。其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度的硅平面光电三极管。RPR220具有如下特点:结构紧凑、抗干扰能力强、反应速度快。内置可见光过滤器能减小离散光的影响。当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。传感器检测与调理电路如图2所示。经示波器观察,输出波形规则,可以直接供单片机查询使用。
小车对白线的检测使用了9个等距排列的红外管采集路径识别路面信息。从左边的光电管开始循环采集数据,检测其是否在白钱上,如果在白线上,则接着检测其右边的光电管是否亦如此,依次向右推进,当出现3个以上光电管同时处于白线上方,则过滤掉当前采样数据,采用历史值。
2.4 电机驱动模块
电机驱动板为一个由分立元件制作的可逆双极型桥式驱动器,其功率元件由4支n沟道功率MOSFET管组成,大幅提高了电动机的工作转矩和转速。该驱动器主要由以下部分组成:PWM信号输入接口、逻辑换向电路、死区控制电路、电源电路、上桥臂功率MOSFET管栅极驱动电压泵升电路、功率MOSFET管栅极驱动电路、桥式功率驱动电路、缓冲保护电路等。通过设置HS/3048F输出的PWM波的盼占空比可以实现控制电机正反转。当输出的占空比为50%时,电机不转,当占空比>50%时,电机正转;50%则反转。
2.5 测速模块
为提高检测精度,本模块最后确定为使用精度较高的光电编码器。光电编码器使用5 V电源,输出方波信号,具有质量轻、可靠性高、安装简单等优点。
3 算法及软件设计
3.1 方向控制算法
智能车方向的控制采用对预定轨道的闭环控制,即输出方向和测得的白线位置成分段比例关系。舵机的转角公式为
θ=arctan(e/b) (1)
式(1)中,θ为舵机的转角;e为偏移量;b为前轴到传感器间距。
通过实验可得舵机的转角与PWM脉宽呈线性关系,转向公式为
PWM=θ×K+M (2)
式中,K为比例系数;M对应于舵机位没有发生偏转时的PWM控制脉宽。实验证明,在一定范围调节K,可以起到良好的控制效果。
智能车检测到的路面情况有16种状态,其中每种状态都有一个舵机转角与之对应。这样就可以在程序中创建出每种传感器状态中对应的白线偏差e与舵机转角θ之间的关系,如表1所示。
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)