悬挂运动控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

悬挂运动控制系统(E题)
摘要
本系统在嵌入式操作系统基础上,使用两块单片机协调工作,对悬挂物体的运动进行实时控制。

系统通过两个步进电机的配合完成了平面任意曲线运动,通过光电传感器配合循迹算法迅速有效地完成了循迹运动。

运动的精度为毫米级,过渡时间不超过1分钟。

同时,使用了点阵式LCD配合PS/2鼠标等外围设备,提供了良好的交互界面。

Abstract
This design bases on an embedded operating system, and uses two pieces of SCM to take real time control of a suspender’s movement in a planar plane. The system can move in any designed way with the cooperation of two step-motors, and do a quick tracing movement because of a special arithmetic, which is based on an array of photoelect ric sensors. The position’s precision of the movement can achieve a level of millimeter, and its transition time is less than 1 minute. Meanwhile, with a LCD and a mouse which follows PS/2 protocol and other input/output devices, it can provide a friendly and humanistic man-machine conversation.
一、方案论证与比较
从控制系统的角度来看,采用闭环控制方式比采用开环控制的效果要好。

但在闭环方式的控制系统中,一般都需要反馈信息。

就本赛题而言,如果使用闭环方式进行控制,系统必须得到物体位置的反馈信息。

在方案论证的过程中,我们发现要取得物体位置反馈信息相当困难,采用纯粹的闭环方式控制的难度太大。

同时,我们发现如果采用步进电机作为控制系统的执行机构的话,由于步进电机在不失步时不产生累计误差的特性,可以使用开环的控制方式。

经计算表明,采用较小步距角的电机和不太大的绕线轴半径时,系统可以很好地满足赛题的设计指标要求的。

因此,决定使用步进电机控制的方案,整个系统的总体控制结构是开环的。

以此为基础,下面对系统各子模块的方案进行论证。

1)电机驱动方案
方案一:使用专用电机驱动芯片。

专用驱动芯片内部的压降一般比较低,在
驱动电路上的功耗较低。

因此是一种比较合适的选择。

方案二:使用分立器件自做电机驱动电路。

可以用场效应管搭建H桥式驱动电路,简单方便。

但如果器件选择不当,可能会产生较大的压降,附加功耗增加,使电路过热甚至烧毁电路。

从系统稳定性和功耗上考虑,本系统选择了方案一。

2)单片机结构方案
方案一:使用单MCU结构。

单MCU结构可以有效利用单片机的硬件资源,在系统现有硬件的基础上尽量实现系统更多的功能,这是每一个系统的设计者努力追求的目标。

为了降低系统硬件成本,使用单MCU结构是较好的方案。

方案二:使用双MCU结构。

就本赛题来说,其硬件制作相对较少,如何在有限的几天内更好地利用人力资源,开发出更好的、更完善的系统将成为一个必须面对的问题,而且双MCU结构易于扩展升级。

因此,本系统使用了双MCU的结构来开发系统软件。

3)循迹模块方案
方案一:采用CCD传感器,通过图像识别确定黑线轨迹。

此方案循迹稳定,但实现难度较大。

方案二:采用反射式红外传感器,根据白纸与黑线的反射率不同辨别轨迹。

使用传感器组成阵列可以探测出轨迹的所有延伸方向,满足循迹的要求。

本系统使用了方案二。

4)输入输出模块方案
良好的人机交互界面使得设计更加人性化。

为方便操作者对整个控制过程有直观的认识,决定使用240×128点阵式LCD实时地显示运动物体的运动轨迹和参数。

同时,为了扩展系统性能和方便操作,系统在使用4×4键盘的基础上再添加一个PS/2鼠标,打算用来任意操作物体的移动。

经上述方案设计与论证,得到系统的总体框架图如图1所示。

图1 系统总体方框图
二、系统原理与分析
1.步进电机特性
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,使得步进电机只有周期性的误差而无累积误差。

这一特性是整个系统方案的基础。

为了不产生累积误差,必须保证步进电机的运行不失步。

这和其运行矩频特性密切相关,如图2所示。

图2 运行转距-频率特性
可见,对步进电机的驱动信号存在一个必须避开的频率――共振频率f0。

在本系统中,使用了电机是四相步进电机,步距角为1.8°,采用四相八拍驱动方式,最小区分角为0.9°,实测共振频率在510Hz左右,故系统所使的用每秒脉冲数(简称PPS,Pulse Per Second)应远小于共振频率以避开共振点。

2.物体运动的处理办法
根据“以直代曲,以割代弧”的思想,所有曲线上的弧线上都可用其割线代替。

只要能够平滑、精确地完成任意两点的移动,就能够完成按任意曲线的运动。

由于重力作用,在由过悬挂滑轮的直线分割的二维平面的下半平面内,由X-Y 坐标系的一对坐标(X,Y)能唯一确定物体到两悬挂滑轮的距离。

为了处理方便,可以使用以两悬挂滑轮为原点的自然坐标对(L(x,y),R(x,y))来表示物体的位置。

此时,L 为物体到左边悬挂滑轮的距离,R 为到右边悬挂滑轮的距离。

设有两点间的移动:(x1,y1)→(x2,y2),则可转化为(L1,R1)→(L2,R2)的移动。

记ΔL=L2-L1,ΔR=R2-R1,设fL 为左边步进电机驱动的PPS ,fR 为右边步进电机驱动的PPS ,欲使两点间的运动曲线为直线,则应满足以下关系:
L
R fR fL ∆∆= (式1) 而步进电机的转动方向则由ΔL 及ΔR 的正负来确定。

实践证明,这种驱动方式可以得到平滑的直线轨迹。

3.循迹黑线的探测及循迹算法
在以画笔为中心,半径22毫米的圆周上安装了8个反射式红外对管作为轨迹探测传感器,安装方式如图3所示。

6
+1

8运算
图3 轨迹探测传感器安装方式 图4 方向调整示意图
根据图3安装方式及安装半径,只要系统的采样频率足够高,轨迹是无法脱离探测范围的。

但由于使用了8个传感器,不同传感器信号间的组合太多,使用一般穷举办法难以实现循迹控制,因此自己设计了一套循迹算法。

如图4,定义了物体循迹时运动的8个方向,图中黑箭头(1号方向上)表示物体当前的循迹方向。

循迹时,使用变量Direct表示当前物体运动方向,物体每次运动时先按当前方向向前步进一段固定的距离,然后检测采样传感器信号并调整Direct,再沿新的Direct方向步进。

由于所给的曲线是连续的,所以每次调整Direct只能是+1或-1。

如图4所示,Direct在需向左偏时则Direct 加1,需向右偏则减1,继续前进则保持不变。

由于只有8个运动方向,所以对Direct的运算需在模8的范围内(0~7)进行。

现在考虑如何决定左偏或右偏的问题,使用上述调整办法只需要根据Direct 的前后方向及左右方向的四个信号对Direct调整即可。

如图4中仅需根据1、3、5、7方向的信号对Direct调整。

由于每个方向上±1和保持不变的传感器信号是一定的,故对8个方向上的调整策略用一个静态数组的形式保存起来,调整时直接查表即可,方便编程。

这种循迹算法大大地减少了循迹运动的调试时间,为整个作品成功的完成打下了基础。

当每次步进的距离较小时,若在Direct方向的前、左、右三处的传感器同时发现是白纸,则表明传感器探测到了曲线的间断部分或尽头,此时应根据前几次(2~3次)Direct的平均值作为探索方向,再向前步进2~3步,保证循迹的正确停止。

在取平均值时,需对7→0和0→7的转变作特殊处理,否则可能出错。

实践证明,按照上面的办法循迹迅速稳定,并且不会受交叉线的影响。

由于轨迹线有一定宽度,实际的轨迹不可能转折得十分迅速,当步进距离较小时,甚至可以完成锐角的循迹。

本系统使用的步进距离是8毫米,效果很好。

三、系统各模块电路设计及分析
1.步进电机驱动模块
图5为采用L297和L298所组成的步进电机驱动电路。

图5 四相步进电机驱动电路
2.LCD显示模块(略)
3.PS/2鼠标模块
本作品使用了240×128点阵式LCD作为显示工具,屏幕相对较大,故添加了PS/2鼠标作为输入设备。

PS/2鼠标使用TTL逻辑电平,与单片机接口方便,使用串行数据传输方式工作,占用单片机IO口少,且价格便宜,是一种实用的外围设备。

图6为PS/2鼠标接口的连接图。

图6 PS/2鼠标接口图
当系统启动时,鼠标需要完成初始化工作。

本作品仿照个人电脑启动的方式完成了鼠标的初始化工作,并且最终将鼠标设置为如下方式:
工作模式:Stream 模式
采样速率:100采样点/秒
分辨率:4个计数值/毫米
缩放比例:1:1
数据报状态:禁止
滚轮功能:未开
没有使用滚轮功能,其数据包格式如表1所示。

表1 鼠标数据包格式
数据包即可知道鼠标的全部动作,然后用软件根据需要处理即可完成移动、单击、双击等功能。

4.串行键盘模块(略)
5.传感器模块
采用了8个反射式红外对管ST168组成探测轨迹的传感器阵列。

8个传感器信号通过一个移位寄存器74HC165转换成串行数据,送往单片机处理,为循迹算法提供必要信息。

电路如图7所示,图中仅画出一路传感器的连接,其它7路传感器的信号分别连接到P1~P7引脚上。

图7 传感器及信号处理电路
6.电源模块
用了三片大功率稳压片LM78H05K作为电源,其中两个分别给两个步进电机供电,第三个给其它所有器件供电。

四、系统软件设计
1.作品软件特色
嵌入式操作系统可以有效地管理硬件资源,加快开发周期,增加系统稳定度。

使用嵌入式操作系统开发系统,是对设计者思维的一种解放,使系统设计者可以将精力集中在对整个系统核心的设计上,而无需把精力过分地消耗在硬件细节上。

因此,本作品使用了嵌入式操作系统来进行软件开发。

由于使用的是凌阳公司的单片机SPCE061A,所以选用了凌阳公司相配套的Mini OS作为软件开发的操作系统。

2.系统软件总体设计
系统需完成人机交互、电机控制、循迹算法等功能。

在此基础上对软件设计进行分析、优化,得到系统软件总图如图8和图9所示。

图中各子任务是被Mini OS所管理的线程,线程间的调度切换由操作系统进行管理。

同时,利用Mini OS 提供的中断管理功能,更是方便了整个系统的软件设计。

图8 系统软件总图(其一)
图9系统软件总图(其二)
3.步进电机驱动算法子程序流程图
设dL,dR分别为物体从一点移到另一点时左右自然坐标的变化量,LSteps、RSteps为对应的电机所需的总脉冲数,则根据(式1)可得两点间直线运动的驱动算法,图10是程序流程图。

图10步进电机驱动脉冲流程图
4.双机通讯协议
由于在本系统中所传递的信息种类较多,并且某些信息需带有数据,单纯地使用UART收发数据难以满足本系统要求。

系统采用了使用数据帧传送信息的办法解决这个问题。

经过优化处理,下面是通讯所使用的数据帧格式。

表2 系统所使用数据祯格式
上述数据格式中,在信息部分每个0xff发送为两个0xff,每帧数据必带首部和尾部。

利用0xff在数据帧中的特殊地位,可以简化接收端的软件设计。

图11是接收端的流程图。

图11 接收端数据帧接收流程五、系统测试与数据分析
1.测试仪器
FLUKE17B多功能数字万用表;
秒表、卷尺;
数字示波器TDS1002;
凌阳SPCE061A单片机系统;
YB1620P功率函数发生器;
直流稳压电源。

2.测量结果
1)自设运动的测量
表3 自设运动测量数据
2)
表4 圆周运动测量数据长度单位:毫米
3
表5 定点移动的测量数据(从原点出发)长度单位:毫米
4
表6 循迹运动测量数据
3
1)坐标转换的误差。

(X,Y)坐标向(L,R)坐标转换时使用几何分析的方法,但为了处理方便,将悬挂滑轮视为一点,没有考虑其半径。

本作品以减小其半径的办法降低误差。

同时,进行坐标变换时,单片机在计算精度上也会引进误差,由于使用浮点运算,该误差不大。

2)笔尖和悬挂点不在同一平面引入误差,应尽量使三点处于与地板平行的平面以减小误差。

3)步进电机的步进脉冲个数和步进线距离之间的折算误差。

作品使用了直接测量一段距离和步进个数再求平均值的办法降低误差。

4)牵引线引入的误差,包括拉伸误差和由松弛产生的误差。

改进措施是使用变形系数小的牵引线和增加悬挂物体的重量。

5)绕线产生的误差。

解决办法是根据力学分析采用机械的办法保证绕线不重叠,并且使用半径小的牵引线使绕线在横向延伸的距离减少,从而减少误差。

6)读数误差。

初始定位时需提供物体坐标,测量结果需人为读数,这会引入误差。

六、设计小结
本作品完成的功能和题目中要求的功能对比如下。

参考文献
[1] 康华光.电子技术基础模拟部分.武汉:华中理工大学出版社,1998.
[2] 谢自美.电子线路设计实验测试.武汉:华中科技大学出版社,2002.
[3] 全国大学生电子设计大赛获奖作品选编.北京:北京理工大学出版社,2001.
[4] 第六届全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,2003.
[5] 罗亚非.凌阳16位单片机应用基础.北京:北京航天航空大学出版社,2003.
[6] 薛钧义.凌阳16位单片机原理与应用.北京:北京航天航空大学出版社,2003.
[7] 谢希仁.计算机网络(第4版).北京:电子工业出版社,2003.。

相关文档
最新文档