直立型电磁智能车机电系统的设计与实现(6)

2018-12-20 10:27

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

(5)系统界面:状态显示、上位机监控、参数设定等。 上述功能可以分成两大类:

第一类包括1-3功能,它们属于需要精确时间周期执行,因此可以在一个周期定时中断里完成。第二类包括4-5功能。它的执行不需要精确的时间周期。可以放在程序的主程序中完成[10]。这两类任务之间可以通过全局变量实现相互的通讯。主程序框架如图5.1所示。

图 6.1.1 主程序框架

图6.1.1中,程序上电运行后,便进行单片机的初始化。初始化的工作包括有两部分,一部分是对于单片机各个应用到的模块进行初始化。第二部分是应用程序初始化,是对于车模控制程序中应用到的变量值进行初始化。初始化完成后,首先进入车模直立检测子程序。该程序通过读取加速度计的数值判断车模是否处于直立状态。如果一旦处于直立状态则启动车模直立控制、方向控制以及速度控制。程序在主循环中不停发送监控数据,在通过串口发送到上位机进行监控。同时检查车模是否跌倒。跌倒判断可以通过车模倾角是否超过一定范围进行确定,或者通过安装在车模前后防撞支架上的微动开关来判断。一定车模跌倒,则停止车模运行。包括车模直立控制、速度控制以及方向控制。然后重新进入车模直立判断过程[13]。车模的直立控制、速度控制以及方向控制都是在中断程序中完成。通过全局标志变量确定是否进行这些闭环控制。中断程序框架如图6.1.2 所示。

22

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

图 6.1.2 中断服务程序框架

图6.1.2中,使用XS128的一个定时器,产生一毫秒的周期中断。中断服务程序的任务被均匀分配在0-4的中断片段中。因此每个中断片段中的任务执行的频率为200Hz。将任务分配到不同的中断片段中,一方面防止这些任务累积执行时间超过1毫秒,扰乱一毫秒中断的时序,同时也考虑到这些任务之间的时间先后顺序[11]。这些任务包括:

(1)电机测速脉冲计数器读取与清除。累积电机转动角度。累积电机速度,为后面车模速度控制提供平均数;

(2)启动AD转换。由于AD转换启动到完成需要一定时间。所以读取AD 转换在下一个时间片段中。

(3)读取AD转换值。这些值包括有陀螺仪、加速度计数值、电磁场检测电压值等。读取完毕之后,便进行车模直立控制过程。包括车模角度计算、直立控制计算、电机PWM输出等。

(4)车模速度控制:在这个时间片段中,又进行0-19计数。在其中第0片段中,进行速度PID调节。因此,速度调节的周期为100毫秒。也就是每秒钟调节10次。

(5)车模方向控制:根据前面读取的电磁场检波数值,计算偏差数值。然后计算电机差模控制电压数值。 6.2调试与参数整定

好的开发和调试工具以及测试环境能够加快产品开发速度,提高调试精度,减少工作量。本章将对开发和调试工具以及测试环境作相关说明。本智能车在开发和调试中所使用开发环境为CodeWarrior IDE5.0,并配合BDM。通过以上各软件工具配合使用,再加上良好的测试环境,使得小车开发和调试能够顺利而快速地完成。调试界面如图6.2.1

23

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

所示:

图6.2.1 CodeWarrior IDE5.0调试界面

实际优化参数需要通过一定的工程步骤最终确定,这个过程称为参数整定。为了保证调试顺利,一般需要配合上位机串口监控程序,能够实时显示程序运行采集到的各种数据,通过曲线或者数字显示出来,帮助确定一些待定参数,判断程序BUG,加快程序调试,确定控制参数的优化数值[12]。俗话说,欲善其工,必先利其器。开发制作相应的辅助调试工作,不仅可以大大加快调试的进度,同时也会锻炼同学们解决工程问题的能力。

下面给出程序调试的一般步骤,作为参考。

(1)电机PWM输出调试:程序给出两个电机固定的PWM输出。测试电机转速以及转向是否符合设定的要求。在此过程中,测试车模电机死区补偿电压数值:MOTOR_OUT_DEAD_VAL。

(2)陀螺仪和加速度计零偏调试:获得这两个传感器零点的偏移量。保持车模直立静止。读取两个传感器AD转换值,记录下来,作为后面程序中的零偏常量。

(3)测试车模直立判断程序和跌倒判断程序。此时禁止车模直立控制环节,通过读取加速度计的数值,判断车模是否直立或者跌倒。

(4)车模直立控制调试:

只启动车模直立控制,调整两个控制参数:倾角比例和角速度比例,使得车模能够稳定的直立。此时由于没有速度控制,车模可能会朝一个方向加速行驶。

可以通过微调加速度计的零偏值,减小车模在直立的时候朝一个方向的加速度。尽

24

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

量控制车模静止。

(5)车模速度控制调试:

启动车模的直立控制和速度控制,调节速度控制的PI参数,使得车模能够静止稳定在一个地点。然后再给定一个设定速度,车模可以稳定的前行或者后退。

(6)车模方向控制调试:

启动车模的直立控制、速度控制和方向控制。将车模放在电磁导引跑道上,车模可以稳定在跑道上运行。

7.总结与展望

(1)制作成果

经过大半年的“飞思卡尔”智能车的制作和研究过程中,从赛道的电源制作、信号检测模块再到小车的主板的制作;从小车可以勉强直立,分析其可行性来让小车得到提速。我们一步一步地走过来,从中学到了不少的知识,总结了不少的经验。在每个阶段中,我们都尽量地将小车改进和完善,争取达到最优效果。

(2)问题与思考

在智能车的制作过程中,我们的小车曾经出现过很多问题,如小车在行驶的中途突然趴下,循迹传感器撞坏,电机驱动烧毁,因为信号微弱经常冲出赛道等问题,或多或少拖慢了我们的进度,但经队员们不断的努力,和指导老师的帮助,我们从硬件和软件上做了一步步的改良和升级,渐渐对各模块有了深入的认识,对整体有了清晰的把握,我们在不断的前进的同时,小车也不断的加速前进。

(3)不足与改进

从小车总体性能各因素考虑,小车系统分为采集、处理、控制三部分。对于采集部分:由于电磁组特点决定了小车的前瞻比较小,而前瞻的大小对速度是有着很大的影响。在这个过程中,我们分析了电感的各种摆放方式对磁场的检测结果。电磁组的传感器的摆放具有比较大的灵活性,这是优点。但对采集回来的信息如何进行有效处理是个难题。由于我们对空间磁场的具体分布的认识不足,也没找到比较好的分析方法,只是运用最简单的左右手法则来确定。这是我们队不足的地方,没有科学的分析方法。关于处理和控制部分:传感器的摆放决定了控制算法。由于没有太多的时间与分析,我们采用的是最简单的摆放方式,但也是很有效的方式,因为信号变化在区间内单调,而双排传感器的摆放能够得到一定的前瞻距离(电磁组的车长度不限)。但长度不是越长越好,太长

25

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

的话容易在过弯的时候检测到临近的赛道而冲出跑道。在控制算法上,由于整车控制为三闭环控制系统,直立为根本,为直接实现,而调速和循迹作为间接实现。若参数整定不到位,极可能出现环路与环路之间的耦合现象,导致小车无法稳定行使。除此之外,机械结构的布局也从侧面决定了小车提升的空间。

26

湖北师范学院机电与控制工程学院2013届学士学位论文(设计)

参考文献

[1] 卓晴等.学做智能车--挑战飞思卡尔杯[M]. 北京:北京航空航天大学出版社,2007 [2] 孙同景,陈桂友.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].北京:机

械工业出版社.2008

[3] 王威等.HCS12微控制器原理及应用[M]. 北京:北京航空航天大学出版社.2007 [4] Ramon Pallas-Areny, John G. Webster. 传感器和信号调节(第二版)[M].北京:

清华大学出版社,2003

[5] 张肃文.高频电子线路(第四版)[M].北京:高等教育出版社.2007.6

[6] 华成英,童诗白.模拟电子技术基础(第四版)[M].北京:高等教育出版社.2007 [7] 毛振珑.磁场测量[M].北京:原子能出版社.1985

[8] 张吴肠,马旭,卓晴.基于电磁场检测的寻线智能车设计[J].电子产品世界,2009.11 :

48-50

[9] 李仕伯,马旭,卓晴.基于磁场检测的寻线小车传感器布局研究[J].电子产品世界,

2009.12 :41-44

[10] 邵贝贝. 单片机嵌入式应用的在线开发方法[M].北京.清华大学出版社.2004 [11] 邵贝贝. 嵌入式实时操作系统[LC/OS-Ⅱ(第2版)[M]. 北京.清华大学出版

社.2004

[12] 安鹏,马伟.S12单片机模块应用及程序调试[J]. 电子产品世界. 2006年第211

期.162-163

[13] 谭浩强.C语言程序设计[M].清华大学出版社,2006.1

27


直立型电磁智能车机电系统的设计与实现(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于韵达快递公司成本控制的分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: