在现代的车辆运动、医疗设备和工业控制等系统中,悬挂运动系统的应用越来越多,在这些系统中悬挂运动部件通常是具体的执行机构,因而悬挂部件的运动精确性是整个系统工作效能的决定因素,因而实际实现悬挂运动控制系统的精确控制具有极其重大的现实意义。本系统采用低功耗MSP430F449单片机系统平台设计了悬挂运动控制系统,采用高效的PWM电路,提高电源利用率;红外传感检测,提高纠错能力。由单片机产生脉冲信号驱动有精确步距的步进电动机,电机带动悬挂部件在平面上做特定的准确运动。
方案①:直流电机。直流电机的优点是输出功率大,带负载能力强;缺点是不能精确地控制直流电机的转动角度。
方案②:步进电机。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。给电机加一个脉冲信号,电机就转过一个步距角,具有较强的快速启停能力。步进角方面,选用的三相六拍式步进电机,步进转角最小可以达到1.5°,可以满足系统控制精度要求。并且可以通过对其转动步数的控制实现对位移的精确控制。
方案③:使用伺服电机,伺服电机是一种内带编码盘,可以通过驱动器精确控制转动角度(0.001°级别),而且过载能力强,常用于精密控制,但其驱动电压一般较高,体积较大,在本题目的实现上并不适用。
综上所述,选择方案②。采用步进电机。
方案①:使用分立元件搭建。利用大功率三极管放大功率给步进电机提供驱动电压和电流。但本实验对功率要求较大,精度有限。
方案②:集成步进电机驱动器。集成驱动块能力强,工作稳定,其内部加入了光耦隔离器将控制电路与驱动电路完全隔离,防止了电动机在启动和制动时对控制电路造成影响。并且其只需要两三根线便实现电机的精确控制,控制相当简单。
综上所述,由于本系统需尽量采用高性能的驱动电路以保证步进电机良好的运转性能,故选择方案②。
方案①:发光二极管和光敏二极管组成发射-接收电路。发光二极管为可见光,故光敏二极管的工作受外界光照影响很大,很容易造成误判和漏判。
方案②:反射式红外发射-接收器。采用红外对管替代普通可见光管,能极大地降低环境光源的影响。并且,红外线波长大,近距离衰减小,故探测近距离黑线更加可靠。
综上,选择方案②,采用发射时红外传感器ST188。
方案①:DDA算法。根据直线起始坐标得出斜率。取合适的步进量,根据斜率得出直线上每点的坐标,直接计算出两侧电机步数,控制画笔画线。该算法简单易行。
方案②:Bresenham微元算法。该算法只做整数加/减运算和乘2运算,运算速度很快,适于用硬件实现。
本系统采用软件实现算法,故选择方案①。
方案①:图形扫描Bresenham算法。该算法采用直角坐标系,但画圆时采用该坐标系算法不够清晰。
方案②:用自行设计的极坐标法。极坐标法公式简单,算法清晰。运算速度较快,完全能达到要求。
故选择方案②。
将8个传感器均匀分布予画笔周围,并形成一个八边形以细化物体的运动方向。由于黑色物体和白色物体的反射系数不同,传感器的输出电平亦有不同,用硬件比较器LM311标定传感器的阈值,将曲线的有无变换为高低电平送单片机I/O口,由软件寻找反射最弱的传感器方位,从而实现定位。
基于对步进电机步进方式的考虑,采取一种将物体运动坐标移动转化为步进长度的策略。控制悬线在一定时间内伸缩的长度就可以控制物体的运动方向。电机正转,则悬线伸长;反转,则悬线缩短。悬线变化的长度和电机转动的步数成正比。题目指标要求物体可以行走直线、圆周和一段现场给出的不确定间断曲线,对此3种运动线型采取统一处理的策略,即都是用微小直线段组合成复杂曲线。这样做不仅能使电机的步进直接实现,还可以将所有线型集中转化为对直线运动的研究之后再拼接组合复原。对于不确定的运动曲线,物体上的光电传感器阵列实时采集路线信息,将其传送给处理器进行方向判断,给出下一步运动目标点的相关信息。
根据设计要求和方案选择,本系统主要由3个模块电路组成:步进电机控制模块、红外传感和人机交互模块。电机驱动模块采用集成电机驱动器,驱动能力强;循迹采用红外对管,抗干扰能力好。MSP430单片机微控制器控制电机的旋转方向,以实现画直线、画圆及循迹过程。用户可通过4x4键盘选择运动坐标及画笔行动方式的设定。同时所有状态均在LCD上实时显示,及时跟踪电机行动状态。
系统总体实现框图如图1所示。
在本系统中,左侧使用的是常州微特电机总厂的45BC340F三相步进电机,能精确到1.5°;右侧用二相步进电机C6696-9012K,步进角1.8°,额定电压3.1V,额定电流1.55A。这里以三相步进电机为例介绍步进电机的控制原理。
三相步进电机定子上有6个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接。6个齿构成三对磁极l.jpg,所以称为三相步进电机,磁极上有均匀分布的矩形小齿,转子上没有绕组,但有小齿均匀分布在其圆周上。其工作过程是:当一相绕组通电时,相应的两个磁极就分别形成了N极和S极,产生磁场,并与转子形成磁路。磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他四个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准,即使转子齿与定子齿对齐,从而步进电机实现向前“走”了一步。
如果给绕组施加有序的脉冲电流就可以控制电机转动起来,从而实现电脉冲信号到角度的转换。转动的角度大小与施加的脉冲数成正比,转速与脉冲的频率成正比,转向则与脉冲顺序有关。三相电机电流脉冲的施加方式有3种:
1)三相单三拍方式(按照单向绕组施加脉冲):
正转:→A→B→C→;反转:→A→C→B→。
2)三相双三拍方式(按照双向绕组施加脉冲):
正转:→AB→BC→CA→;反转:→AC→CB→BA→。
3)三相六拍方式(单向绕组和双向绕组交替施加脉冲):
正转:→A→AB→B→BC→C→CA→;反转:→A→AC→C→CB→B→BA→。
其中,三相六拍式的步距角是1.5°,其他两种方式为3°。为了不产生累积误差,必须保证电机不失步,这和其运行矩频特性密切相关,值得注意的是步进电机的驱动信号存在一个必须避开的频率——共振频率£0。
由于两边电机型号不一样,系统控制时需要注意两者的同步问题,从而以最佳的配合实现对画笔的精确圆滑控制。
前提:画纸和步进电机都是量化设备。画纸为坐标纸(1cm间隔),如图2所示,步进电机步进角度恒定(1.5°或1.8°)。
公式推导:由勾股定理:
初步方案:
1)以直线或圆的量化算法计算出轨迹上的下一个点坐标,磁电机为步进电机的驱动目标。
2)根据推导公式计算出步进电机的驱动距离3)将驱动距离量化为驱动圈数,为降低累积误差,量化余数算入下一次的驱动距离当中。
具体方案流程图如图3所示。
本系统中画直线直接用数字微分分析式DDA(Digital DifferenTIal Analyzer)算法。具体实现过程如下:
设直线的起点为(x1,y1),终点为,则斜率m为:
直线中的每一点坐标都可以由前一点坐标变化一个增量而得到(Dx,Dy),即表示递归式:
递归式的初值为直线的起点(x1,y1),这样,就可以用加法来生成一条直线。
本系统画圆采用极坐标法实现。
当θ从0到2π做递增时,由此式便可求出圆周上均匀分布的360个点的(x,y)坐标。利用圆周坐标的对称性,此算法还可以简化。将圆周分为8个象限,只要将第1a象限中的圆周光栅点求出,其余7部分可以通过对称法则计算出来。图中给出了圆心在(0,0)点时的对称变化法则。
循迹中,将传感器阵列的八个方向分成正向反向两大类。其中,有效检测方向分以下3级:
第1级:原方向。
第2级:原方向紧邻的两个方向。
第3级:与原方向垂直的两个方向。
其他3个方向均为反方向。
循迹运动方向选取原则:首先滤除前4步的所有反方向(由位或得到),防止按反方向倒退。滤除之后,剩下的有效方向中,如果仍有原方向,则按原方向继续执行;若没有,则依次寻找第2级,第3级。若最后均没有(遇到黑线的间断处),则回归到第1级,即继续往前行。综上,就是只有上一级循迹不成功才会依次寻找下一级。
三相步进电机使用的是UP-3BF04型电机驱动器,操作方便,控制信号可由MSP430直接引出,编程实现对它的控制,如图4所示。
其特点是:1)PWM恒流驱动,三相六拍励磁方式,电源损耗极低且具有极高的开关效率;2)自动半流锁定功能,驱动电流可达4 A;3)所有控制信号与功率驱动部分光电隔离;4)散热外壳与驱动器内部完全绝缘。
由图可看出,只用控制两根线即可实现对驱动器的控制:
CP:步进脉冲输入端,上升沿有效;
U/D:方向控制器,U/D=1时电机正转,U/D=0或悬空时电机反转。
两相步进电机C6696-9012K驱动器控制方法与三相十分类似,不再赘述。
我们选用红外对管ST188。ST188由高发射功率红外光电二极管和高灵敏度光电晶体管组成。检测距离可调整范围大,4~13mm可用。其响应时间受检测表面光洁度及平整度的影响,所以实验时要保持白板平面的洁净与黑色轨道的平整。
红外传感器电路如图5所示。当传感器处于黑线上方时,由于黑线红外光线的反射能力很弱,光敏三极管截止,输出端为高电平;反之,传感器离开黑线时,输出端为低电平。将此电平送至比较器LM311,与标准电平比较,若高于标准电平,则比较器输出高电平,反之,输出低电平。实验中,调节R4测量出最合适的标准电平为2.4 V。处理器通过判断比较器输出电平的高低来辨别受控物体的位置,从而通过控制步进电机来控制物体运动。
系统软件设置了两种模式:INPUT和CONTROL模式。
1)CONTROL模式下,按健操作直接对电机进行命令,主要完成手动或自动控制左右电机正反旋转,画固定的直线、圆,循迹等功能。
2)INPUT模式下,本系统软件中采取了输入命令+参数的模式,设置了3个命令,其功能列表如下:
本系统软件主要用基于430单片机的C语言,主要完成用户输入输出处理和系统控制,故软件设置了INPUT和CONTROL两种模式。最主要的部分是:画直线控制、画圆控制、循迹等几个控制算法。其中按健的处理很重要,有限的按键要用于多方面控制,包括电机的一步或多步控制、电机控制或按键输入,一键多用导致整个程序的复杂。不过,该软件模仿DOS系统输入命令进行操作的方式选择所有功能,搭建了一个大框架,思路清晰,移植性强,人机交互良好。系统初始化后,等待按键输入,选择控制或输入功能后进行相应操作。系统软件总流程图如图6所示。
本悬挂运动控制系统很好的完成了设计要求中的各项基本指标和发挥要求,并有不同程度的提高。通过按键即可完成整个测试过程,如画任意直线、任意圆点和半径的圆,红外传感数据采集、处理和结果显示、记录均由测试系统自动完成。但如果电机转轴半径及悬线半径都变小,白板表面变平滑,系统性能会更大幅度提高。