走迷宫电脑鼠毕业设计中期报告.docx
《走迷宫电脑鼠毕业设计中期报告.docx》由会员分享,可在线阅读,更多相关《走迷宫电脑鼠毕业设计中期报告.docx(7页珍藏版)》请在冰豆网上搜索。
![走迷宫电脑鼠毕业设计中期报告.docx](https://file1.bdocx.com/fileroot1/2022-12/10/1ec7b327-e142-4531-93e3-bf51cfc93395/1ec7b327-e142-4531-93e3-bf51cfc933951.gif)
走迷宫电脑鼠毕业设计中期报告
XXXX大学本科毕业设计(论文)中期报告
毕业设计(论文)题目:
走迷宫电脑鼠控制系统的研究与改进
专业(方向):
测控技术与仪器
学生 信息:
学号:
XXXXXX 姓名:
XXX 班级:
XXXXX
指导教师信息:
教师号:
XXXX 姓名:
XXX 职称:
XX
报告提交日期:
2011年4月25日
1.中期报告说明
在这一阶段,我主要对本次设计运用所学的基础理论、专业知识对课题研究的原理和方法进行较为深入的分析,通过实验和参数结果的比较进一步确定设计方案,为最终的设计做准备。
了解了改进电脑鼠加减速和拐弯性能的种类和特点;对电脑鼠运行原理以及电脑鼠各个部分的结构和功能有一定的了解;对传统原地拐弯的缺陷和连续拐弯进行分析确定主要影响电脑鼠运行可靠性和稳定性的因素;对系统中的驱动部分和软件进行了初步分析,力争能对其做一些改进,使电脑鼠加减速和拐弯性能能有一定的提高。
.走迷宫电脑鼠控制系统综述
电脑鼠程序设计的整体结构可以分为两层,底层驱动程序和顶层算法程序。
底层驱动程序主要实现电脑鼠的一些基本功能,比如至极限控制其前进N个单位坐标格,测量它前进的距离,向右或者向左转90度、向后转、迷宫格四周墙壁信息的检测等。
电脑鼠的转弯分为90度转弯和180度转弯两种。
90度转弯又分为前进中转弯和原地转弯两种。
前进中转弯可节约时间,效率高,转弯半径相对于原地转弯要小,但控制相对于原地转弯要困难。
电脑鼠驱动硬件部分采用步进电机,通过控制步进电机的加减速来实现电脑鼠的加减速。
电脑鼠采用锂电池供电。
3.稳定性控制改进
为了减少轮胎的打滑,降低车身的晃动,防止电机的震荡与失步,一种有效的解决方案是对电机进行匀加减速的控制。
步进电机的加减速需要通过设节拍的频率来实现。
假设每步的平均速度等于中心时间的速度。
通过计算得精确的公式:
=
。
但上式需要开平方,不适合没有浮点运算功能的LM3S615处理器,因此利用泰勒公式变换得到近似的递推公式:
。
通过计算发现使
用近似公式得出的相邻项比值除C1/C2外其他各相邻项比值和使用精确公式算出的比值的误差都很小,故可单独令C1=0.414*2C0,而C2,C3,…,Cn可由近似公式计算出。
实际使用公式求每步定时器初值时,也可以把事先计算好的加速和减速表存储在微控制器的ROM中,需要时直接查表即可。
例如可用数组来存储加速度为1200步/
的加速度表。
constunsignedintAccelTable1200[120]={
2041241,845482,657598,556430,490968,444210,408674,380490,357430,338110,321617,307323,294780,283657,273705,264732,256587,249150,242324,236030,230203,224787,219736,215011,210578,206409,202478,198763,195246,191909,188737,185718,182839,180090,177461,174944,172531,170216,167991,165851,163791,161806,159892,158044,156259,154533,152863,151246,149679,148160,146686,145255,143865,142515,141202,139925,138682,137471,136291,135141,134020,132926,131859,130817,129799,128805,127833,126883,125954,125045,124155,123284,122431,121596,120778,119976,119190,118419,117663,116921,116193,115478,114777,114088,113411,112746,112093,111451,110820,110200,109590,108990,108400,107819,107248,106686,106132,105587,105050,104521,104000,103487,102981,102483,101992,101508,101031,100560,100096,99638,99187,98742,98303,97869,97441,97019,96602,96191,95785,95384};
采用齿轮传动,采用轮毂齿轮一体设计,金属齿轮,比塑料齿轮油更好的传效果,更结实耐用,而且有较小的摩擦阻力。
把电池置于底部,将底部传统的面支撑改成点支撑,同时降低其高度,从而使重心降低。
图1 图2
电脑鼠采用锂电池供电电脑鼠在行走过程中,由于需要不停的加减速,电机负载会不停的变化,因此电源电压将在很大范围内变化。
比如锂电池充足电时的电压为7.8V,放完电后的电压为5.0V,如果负载大时会更低。
为了保证供电电压稳定不变,系统采用三端稳压器供电。
原系统采用常见的SPX1117芯片把电压稳到3.3V给微控制器供电,再用SP6641A-5V芯片把3.3V升到5V给传感器接收管供电。
由于SPX1117的输入输出电压差为1.4V,因此SPX1117允许的最小输入电压为3.3+1.4=4.7V。
当某个时刻电机负载较大时电池电压有可能瞬间被拉到很低(尤其是当电池快没电时),甚至会低于SPX1117的最低工作电压4.7V,所以SPX1117的输出电压可能会不稳定。
为了解决这个问题,可以选择支持更低压差且微功耗的三端稳压芯片HT1034,其输出电压为3.3V,且输入输出压差低。
HT1034的主要参数如表一所示。
表一HT1034的主要参数
而且将两路供电改成了三路供电,用两片HT1034分别供给微控制器和传感器,如图3所示,这样进一步保证了传感器和微控制器工作电压的稳定,同时也减小了每一路的电流。
图3三路供电
4.拐弯改进
电脑鼠传统的拐弯方式为原地转弯,即车体先停在转弯口,然后一个轮正转,另一个轮反转。
原地转弯需要减速停下来,转完后再加速,非常浪费时间,故采用连续转弯,即一个电机快转,一个电机慢转,R1表示内侧轮胎划出的轨道半径,R2表示外侧轮胎划出的轨道半径。
当需要转弯时,外侧轮保持当前速度不变,而内测轮的速度降至外侧轮的K=R1/R2倍,电脑鼠便开始转弯,直到走过一定步数或内侧传感器检测到有墙时,此次转弯便结束。
由于摩擦和惯性,实际的K值可能不等于R1/R2,需要在实验中反复调试才能获得。
以左转为例,流程图如下:
图4
代码如下:
voidmouseTurnleft(void)
{
/*
*等待停止
*/
GucMouseState =TURNLEFT; /*标记电脑鼠的运行状态*/
/*
* 开始左转
*/
GmRight.cDir =MOTORGOAHEAD; /*控制右轮向前转动*/
GmRight.uiPulse=GmRight.uiPulseCtr+115; /*设定右轮转动的步数*/
GmLeft.cDir =MOTORGOAHEAD; /*控制左轮向后转动 */
GmLeft.uiPulse =GmLeft.uiPulseCtr+30; /*设定左轮转动的步数 */
TimerLoadSet(TIMER0_BASE,TIMER_A,127287); /*设置定时时间(右轮加速)*/
TimerLoadSet(TIMER1_BASE,TIMER_A,487900); /*设置定时时间(左轮减速)*/
GucTurn=1;
GmRight.cState =MOTORRUN; /* 使能右轮转动*/
GmLeft.cState =MOTORRUN; /* 使能左轮转动*/
/*
* 等待左转完成
*/
while((GmLeft.cState!
=MOTORSTOP)&&(GmRight.cState!
=MOTORSTOP));
GucTurn=0;
/*转弯完成 */
GmLeft.iSpeed =90;
GmRight.iSpeed =90;
TimerLoadSet(TIMER1_BASE,TIMER_A,GuiAccelTable[GmLeft.iSpeed]);
/*设置定时时间返回初始速度*/
TimerLoadSet(TIMER0_BASE,TIMER_A,GuiAccelTable[GmRight.iSpeed]);
/* 设置定时时间返回初始速度*/
}
经实验,可得到该改进算法的以下两个特点:
其一,这种算法与以往传统的电机停转转弯相比,可大大节约电脑鼠搜索迷宫的时间;其二,不同的步进电机会存在不同的失步。
该算法会导致迷宫格信息的记录错误,使电脑鼠无法按照原有路径从终点返回原点,或者在半路就因为迷宫信息的记录错误而导致电脑鼠原地打转。
或者迷宫信息丢失,停在原地。
后期主要消除其失步现象。
5.姿势纠正
由于左右轮摩擦以及初始位置方向不正,要使电脑鼠在直线的迷宫中正常运行,需要电脑鼠在前进的过程中不断调整姿势,以免碰到挡板。
电脑鼠在迷宫中理想的姿势是处于迷宫格的中央,且前进方向平行于挡板,在实践中发现电脑鼠在迷宫格中姿态不需要时时刻刻调整,只需当两侧都有挡板时对电脑鼠姿态进行纠正,这样可以使算法更加简洁高效。
当且仅当电脑鼠处在如图5、6、7、8所示位置时才需要执行纠正。
图5 图6 图7 图8
仔细观察这四种姿势可发现一个共同点,即当发现左边信号强于右边时应向右转,当发现右边信号强于左边时应向左转。
姿态纠正算法的核心是当发现需要对姿态进行纠正时,如何合理控制其左转右转的快慢。
理想的姿态修正算法应该使电脑鼠不仅可以很快的回到中心线上而且在中心线附近的震荡越小越好。
为了同时满足以上两个要求,策略是采用数字PID算法,比例控制具有快速对现状进行纠正的特性,是系统纠正更加灵敏快速,积分控制具有利用历史状态进行修正的特性,可以提高系统的稳态性能,微分控制具有利用系统未来状态进行修正的特性,可以改善系统的动态性能。
数字PID控制的结构图如图9所示。
图9