悬挂控制系统.docx
- 文档编号:2951737
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:14
- 大小:245.99KB
悬挂控制系统.docx
《悬挂控制系统.docx》由会员分享,可在线阅读,更多相关《悬挂控制系统.docx(14页珍藏版)》请在冰豆网上搜索。
悬挂控制系统
悬挂控制系统
张志勇方力余师倩
摘要:
本系统以单片机和FPGA构成的最小系统为控制核心,分为步进电机控制模块、红外检测模块、人机交互模块等部分。
该系统可通过键盘任意设置坐标点参数;控制质量大于100g的物体在仰角不大于100°的80cm
100cm白板上作自行设定的运动,物体携带画笔在白板上画出运动轨迹;控制物体沿板上标出的任意黑色间断曲线运动;实时显示物体所在位置的坐标。
系统完成各项指标,界面友好。
关键字:
红外检测步进电机循迹运动
1方案论证
1.1题意分析
图1.1系统模型
图1.1为系统模型。
题目要求悬挂物体能快速响应控制命令,能连续、准确、平滑地在平面内移动。
这样就要求两侧电机能准确配合,按照设定的角度旋转,进而带动悬线伸缩。
注意系统的执行机构是画笔尖,物体的重心应集中于此。
设计可分为两部分:
(1)控制物体按设定轨迹运动,完成这个部分时让物体到达终点后原路返回看能否正好回到起始点,以此来检测。
画好直线后再去画圆。
(2)循迹运动,须在画笔上安装传感器阵列,以辨认黑色曲线走向,并将数据送控制核心处理,最后接收执行命令,沿曲线逐步前进。
画笔运动过程中,实际所达位置与预定位置之间的误差应控制在要求范围内,因此应采用应变系数小的吊绳,并且尽量使电机转盘同轴。
1.2方案比较与选择
a)电机选择
电机是整个悬挂控制系统的动力源,而题目并没有规定使用何种电机,所以在系统设计之初首先面临的一个问题便是选用什么电机。
方案一:
使用直流电机。
直流电机输出功率大,带负载能力强,驱动电路简单,但精确控制直流电机转动角度不易实现。
方案二:
使用步进电机,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
给电机加一个脉冲信号,电机就转过一个步距角,具有较强的快速启停能力。
其控制特性如图1.2所示。
θ=ck,其中θ为步进电机的角位移量,k
为脉冲数,c为常数。
这一线性关系的存在,使得步进电机只有周期性的误差而无累积误差,这一特性是整个系统方案的基础。
而在步进角方面,图1.2步进电机控制特性
我们选用的三相六拍式步进电机,步进转角最小可以达到1.5度,可以满足系统控制精度要求。
我们最终采用了方案二。
b)控制方案的选择
方案一:
为整体系统进行数学建模,得到物体运动到每一点的速度值和坐标值,对于速度值和坐标值的处理经由上位机PC完成,运用功能强大的数学处理软件Matlab来运算,通过上位机和单片机的通信,给下位机发出下一目标点的运动指令。
但是这样处理的弊端是整个控制系统是以数学理论为中心,其数学结果的形式不和步进电机直接匹配,会使整体的控制误差显著恶化。
方案二:
基于对步进电机步进方式的考虑,采取一种将物体运动坐标转化为步进长度的策略。
通过控制悬线在一定时间内伸缩的长度就可以控制物体的运动方向。
电机正转,则悬线伸长;电机反转,则悬线缩短。
悬线变化的长度和电机转动的步数成正比。
题目指标要求物体可以行走直线,圆周和一段现场给出的不确定间断曲线,对此三种运动线型采用统一处理的策略,即都使用微小直线段组合成复杂曲线。
出于对公式复杂度和程序可重用率的考虑,我们采用第二种方案。
这样做不仅能由电机的步进直接实现,还可以将所有线型集中转化为对直线运动的研究之后再拼接组合复原。
对于不确定的运动曲线,物体上的光电传感器阵列实时采集路线信息,将其传送给处理器进行方向判断,给出下一步运动目标点的相关信息。
c)电机驱动模块的选择
为保证控制的精度,需尽量采用高性能的驱动电路以保证步进电机良好的运转性能。
采用集成电机驱动块。
集成驱动块驱动能力强、工作稳定,其内部加入了光耦隔离器将控制电路与驱动电路完全隔离,防止了电动机在启动和制动时对控制电路造成影响。
集成驱动块选择因所选用的步进电机而异,在本设计中使用三相步进电机,UP-3BF04型号的集成驱动块。
该驱动器使用简单,只需要两根信号线便实现三相步进电机的精确控制,一根信号线通过输出逻辑电平控制电机的转动方向,另一个信号线通过输出频率可变的方波信号来控制电机的转动速度。
d)光电传感器选择
作循迹运动时,物体需要区分黑线和白板。
由于黑色物体和白色物体的光反射系数不同,调节光电传感器与检测对象之间的距离,使光敏三极管只能接收到白色物体反射回来的光束。
对于黑色物体,由于其反射系数小,所反射回来的光束很弱,导致光敏三极管截止。
利用反射光的强弱控制光敏三极管导通和截止,从而实现对黑白物体的分辨。
方案一:
可见发光二极管与光敏二极管组成的发射-接收电路。
这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大干扰,一旦外界光照条件改变,就很可能造成误判和漏判:
虽然采取超高亮发光管可以降低一定的干扰,但这又将增加额外的功耗。
方案二:
采用反射式红外发射—接收器。
由于采用红外管代替普通可见光管,可以降低环境光源干扰。
一般光源红外线频段能量较弱,对红外传感器的干扰较小,且红外线波长大,近距离衰减小,因此用红外传感器探测近距离黑线更加可靠。
我们选用方案二,采用反射式红外传感器ST188。
e)传感器的安装方法
图1.3传感器安装示意图
将8个传感器均匀分布于画笔周围,并形成一个八边形以细化物体的运动方向。
由于黑色物体和白色物体的反射系数不同,传感器的输出电平亦有不同,用硬件比较器标定传感器的阈值,将曲线的有无变换为高低电平送单片机I/O口,由软件寻找反射最弱的传感器方位,从而实现定位。
安装示意图如图1.3所示。
f)算法的选择
若通过对已知曲线计算,将曲线转化为坐标点依次存入存储器,再控制电机使画笔依次移动到存储器中存储的各点,实现简单、执行速度快,但需要较大的存储空间;若实时计算曲线的斜率,根据斜率分别控制两电机的速度,来完成任意曲线的绘制,画出的曲线会很平滑,但算法复杂,控制困难。
本系统适合采用图形扫描算法Bresenham算法,仅使用整数加法和乘2运算即可实现,速度快,精度高。
2系统总体设计
本系统用单片机和FPGA构成的最小系统作控制核心。
FPGA资源丰富,速度快,单片机运算能力强,控制灵活。
充分发挥二者的优势,由单片机接收键盘数据,并对数据进行处理,计算出两步进电机的步数和转向,将参数传递给FPGA,FPGA完成数据存储、精确时序脉冲控制,记录下物体运动过程中的每个位置参数,配合集成驱动电路控制步进电机转动。
该控制系统结构清晰,分为步进电机控制模块,传感器模块,键盘控制模块,显示模块。
图2系统框图
3理论分析与计算
3.1步进电机工作原理
图3.1是三相步进电机结构示意图。
这种电机定子上有六个凸齿,每一个齿上有一个线圈。
线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。
六个齿构成三对磁极(A-
、B-
、C-
),所以称为三相步进电机,磁极上有均匀分布的矩形小齿,转子上没有绕组,但有小齿均匀分布在其圆周上。
图3.1三相步进电机结构示意图 它的工作过程是这样的:
当一相绕组通电时,相应的两个磁极就分别形成了N极和S极,产生磁场,并与转子形成磁路。
磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他四个凸齿并无磁通。
为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准,即使转子齿与定子齿对齐,从而步进电机实现向前“走”了一步。
如果给绕组施加有序的脉冲电流就可以控制电机转动起来,从而实现电脉冲信号到角度的转换。
转动的角度大小与施加的脉冲数成正比,转速与脉冲的频率成正比,转向则与脉冲顺序有关。
三相电机电流脉冲的施加方式有三种:
a)三相单三拍方式(按照单向绕组施加脉冲):
正转:
→A→B→C→;反转:
→A→C→B→。
b)三相双三拍方式(按照双向绕组施加脉冲):
正转:
→AB→BC→CA→;反转,→AC→CB→BA→。
c)三相六拍方式(单向绕组和双向绕组交替施加脉冲):
正转:
→A→AB→B→BC→C→CA→;反转,→A→AC→C→CB→B→BA→。
其中,三相六拍式的步距角是1.5°,其他两种方式为3°。
为了不产生累积误差,必须保证电机不失步,这和其运行矩频特性密切相关,如图3.2所示。
可见,对步进电机的驱动信号存在一个必须避开的频率——共振频率f0。
在本系统中,使用的是常州微特电机总厂的45BC340F三相步进电机,采用三相六拍驱动方式,图3.2运行转距-频率
步距角(步长)是1.5°。
经过实际测试,运行频率为100Hz时效果较好,启动也较快。
3.2算法分析
3.2.1系统模型分析
图3.3悬挂运动控制系统模型简化示意图
在此直角坐标系中,由于底板的左下角为坐标原点,所以两个滑轮的坐标分别为
、
,
是受控物体,设其坐标为
,
、
的长度分别设为a、b,满足:
……
(1)
当受控物体移动到
AC、BC的长度分别为a’、b’,满足:
……
(2)
采用两个相同的步进电机,设步长为
,当物体从
运动到
时,两电机分别运转
步。
由于吊绳长度不变,可得到如下关系式:
;
;
其中[]表示取整。
……(3)
=2πrθ/360°,其中r为转轴半径,θ为电机步距角。
……(4)
当获知受控物体运动轨迹的任意两点位置时,通过以上关系式就可以计算出电机要转动的步数和方向,从而可以实现对物体运动的控制。
3.2.2直线绘制算法
基于上述理论分析,我们用Bresenham算法产生直线,基本思想是微元法,用一段段连续的线段逼近直线。
首先根据起点和终点计算出直线的斜率。
然后根据程序中设置的最小∆x得出∆y,结合起点得出下一点的位置(X’,Y’),如果要画的是竖直直线,则只在Y方向有增量。
第三步,由公式
(1)
(2)(3)可计算出两步进电机要转动的步数(m,n)和方向。
从公式(3)我们可以看到由于电机的转动步数为整数,所以在计算过程中必然会引入舍入误差,而且随着移动距离的增加,这种误差会累积。
我们用∆m、∆n来记录m,n的累积舍入误差,假若∆m超过1,则将当前的m加1,然后将∆m减1。
对∆n,n进行同样处理,以此来减小舍入误差。
为提高计算精度,每一点的位置参数(X,Y)以double型存储。
3.2.3圆绘制算法
画圆的思想与直线绘制思想类同,也用微元法,用正多边形逼近圆。
为使产生的圆尽量精确,需要用尽可能多的在圆周上的像素点来画圆。
将圆等分360份,每一份的角度为1°。
由右图可得
Y1-Y2=Rsinθ;X2-X1=R-Rcosθ……(5)
设置圆心和半径后,一般以过圆心且平行于X轴的割线与圆周的交点为起点。
已知起点后由公式(5)可计算出圆周每一点的坐标,进而得出绳长的变化,同理可计算出电机转动的步数。
图3.4画圆微元法示意图
画圆算法中同样存在上述的累积误差问题,可采用和绘制直线同样的方法解决。
3.2.4寻迹的算法
为精确定位,将8个传感器“米”字形排列,如图。
根据传感器检测黑线的不同情况来判断物体的运动方向。
循迹的难度在于曲线角度的多样性,我们设置这样的传感器阵列保证全方位的检测,但同时也导致了检测结果的多样性,软件设计时很难穷尽所有的情况。
我们采用这样的方法,将运动方向用变量direct保存,direct取不同的值时物体执行相应的子程序按不同的方向运动,按照传感器的排列direct取值依次为1,2……7,8。
判断方向时按邻位优先原则只判断当前direct自身和其左右传感器的电平高低,而不管其他的传感器输出状态如何。
假设当前direct=2,第一种情况,只有2探到,则直接按原方向前进;第二种情况,两个传感器探到黑线,如2和3,则物体转向3运动,同时将direct值改为3;第三种情况,1,2,3都探测到,则运动方向不变。
但在实验过程中可能会碰到这种状况,就是1,2,3都没有检测到黑线,这是可能是因为曲线的间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 悬挂 控制系统