舵机工作原理:
原理介绍:
舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。
6)、LCD显示模块
1602原理图
液晶的使用方便调试中需要知道的数据的显示。在调试中,可以显示每个磁传感器的当前的AD值,速度反馈值,当前驱动电机及舵机的PWM信号的频率等信息,很直观地显示当前状态。这是比较简单使用的人机界面。
第五章 软件设计
1)概述
赛车控制系统的设计主要由赛道信息的采集与数据分析、方向控制、速度控制着三个部分组成。框图如下:
赛道信息的采集与数据分析 转向控制 HC9S12XS128 速度控制 图 5.1 系统框图
由上图,我们就可以将系统细分为:AD采集赛道信息、数据分析、舵机PWM控制、定时测速、电机PWM控制、起跑线检测这六个部分。将系统细分可以让软件与底层硬件模块接口的配合更紧密,同时也是把软件系统的实现从具体的硬件中尽量抽象出来,使控制更方便,程序更易读,也是把团队分工整合起来的有效途径。
2) 赛道信息的采集与数据分析
赛道信息的采集分为路况信息的采集和起跑线的采集这两个部分。 路况信息的采集主要是由安装在赛车前面的多排感应线圈来完成。感应线圈通过检测赛道上方的磁场,采集到的信号经过谐振、放大、检波,然后直接送到单片机的AD口。单片机通过AD采样模块直接就可以得到感应线圈感应到磁场信号的大小。另外,赛车安装完成后,感应线圈之间的距离以及对地的高度都是恒定的,因此通过多次对比采集得到的感应线圈信号的大小即可得到赛道中心相对于感应线圈的位置,为赛车的转向控制提供依据。
起跑线的采集主要是由安装在车头上的一排干簧管来完成。由于干簧管是连接在单片机的T3口上的,当采集到起跑线时触发单片机的中断,然后使赛车停止。
数据处理方面要分别对采集的两部分信息进行处理。赛道信息的处理,主要是对AD采样得到的数据进行归一化,以消除不同的感应线圈之间的差异。而起跑线信号则主要是去抖动,防止因抖动而误动作。
程序开始 初始化 AD采样 Y 数据有错? N 归一化
结束 赛道信息的采集与数据分析的程序流程如上图所示:
3) 转向控制
赛车的转向主要是由舵机来完成的。赛车的转向控制就是对舵机的控制,并考虑速度对于转向的影响。
舵机的角度分配一般有两种方式:查表方式、PID方式。分析比赛的要求,不难看出精确的转向控制是完成比赛的关键,而我们采样得到的电压值也是连续变化的,如果采用查表方式的话,还需要对数据进行模糊化的处理,很难完成精控制的要求。实践也发现,采用查表方式时,舵机的转角会出现不连续的状况,影响赛车的稳定性。而使用PID调节方式对舵机进行控制,该方式在不论是反应速度,还是舵机转向连续以及转角预测上都优于查表方式,因此,在实际过程中,我们使用的是PID方式。
方向的控制主要是根据预瞄区赛道中心的位置,初步确定舵机转角,并根据赛道变化的趋势对舵机转角进行修正。简单的说,转向控制就是以偏离纠正的思想为原则。
在实际的系统中,数据进行归一化的处理,一方面消除了传感器差异的影响;另一方面也为获得赛车与跑道的偏离度提供方便。下图为赛车与赛道偏离的示意图,ABCD表示赛车,Y轴是赛车的中轴线,EF为赛道的趋势线。在实际的转向过程中,赛车的转向是靠前轮来完成的。结合下图,传感器之间的距离以及安装的高度都是确定的,我们就可以将赛车的偏离度简单的转化成车前方左右两边传感器电压的差值。并以电压差为输入量,用增量式的PID控制算法直接计算,获得舵机的动作增量。
de计算公式如下: u?Kpe?KIedt?KD?dt?KP[E(k)?E(k?1)]?KIE(k)?KD[E(k)?2E(k?1)?E(k?2)]
赛车与赛道偏离示意图
4)速度控制
在正确检测跑道的前提下,速度是本设计的重要特性。由于赛道的情况是未知的,速度过高很可能会使赛车不稳定或者来不及转向而冲出赛道。在随动控制系统中,如果速度控制采用开环控制其鲁棒性很差,极易受到扰动量的干扰使使系统不稳定。赛车对稳定性和速度的要求都很高,因此要求系统的抗干扰性能很强。所以开环控制不适合赛车的控制系统,必须使用闭环控制。一般而言在采集到实时的速度以后速度控制方式是对动力进行控制,当速度高于一定值的时候减小赛车的动力,而速度过小的时候需要增加赛车的动力。这种方法有很大的缺点,它不能快速降低速度,可能会使赛车在直道进入弯道的时候因速度过高而转向不及时。另外电磁前瞻距离很小,对赛道类型的判断也不能保证很准确,为了稳中求胜,我们在速度控制时只对速度进行了控制。
此处的程序原理于方向的控制相似,利用PID控制,快速、准确地控制速度值。具体程序见附页。