悬挂运动控制系统(设计报告)

上传人:jiups****uk12 文档编号:90844833 上传时间:2019-06-19 格式:DOC 页数:13 大小:462.51KB
返回 下载 相关 举报
悬挂运动控制系统(设计报告)_第1页
第1页 / 共13页
悬挂运动控制系统(设计报告)_第2页
第2页 / 共13页
悬挂运动控制系统(设计报告)_第3页
第3页 / 共13页
悬挂运动控制系统(设计报告)_第4页
第4页 / 共13页
悬挂运动控制系统(设计报告)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《悬挂运动控制系统(设计报告)》由会员分享,可在线阅读,更多相关《悬挂运动控制系统(设计报告)(13页珍藏版)》请在金锄头文库上搜索。

1、 悬挂运动控制系统设计报告一方案的选择与比较1主体控制方案比较方案1. 闭环数字控制方式闭环数字控制方式,主要利用光电传感器检测法,结构图如图1所示。首先单片机根据输入的数据来计算物体要移动的距离并控制物体往坐标的大概方向运动,红外发射接收器来探测悬挂物体移动了多少个1*1cm的小方格,并经过A/D送给单片机,单片机通过特定的算法计算出物体的坐标,并控制电机的转动来控制物体往坐标进发,在此过程中单片机不断计算,不断调整电机的转速和方向使悬挂物体做一定路线的移动。但其缺点是,电路复杂,不但要求要有A/D电路,光电探测电路,还要其电路要做得十分精确。任何一个电路设计得不好,也会使物体运动产生很大的

2、偏差。 图1 闭环数字控制方案2. 开环数字控制方式开环数字程序控制方式,即没有反馈系统,开环数字控制的结构图如图2所示。由图可看出,此种控制方式与上面的控制方式少了反馈电路。单片机由输入的数据来计算物体要移动的距离,直接发出控制脉冲来控制电机的转动,进而控制物体的运动方向。由于少了反馈电路,系统的精度只与单片机所采用的算法准确性有关,此种方式电路结构简单,成本低且易于调整和维护,是一种较理想的方式。 图2 开环数字控制方式综合上面所述,考虑时间和调试的复杂性,本设计采用方案2。 2电机选择方案1. 直流电机。直流电机又分为直流无刷电机和直流有刷电机,是最早实现调速的电动机,其优点是有良好的线

3、性调速特性,简单的控制性能,高的效率,但其数字控制方面较难把握。方案2. 步进电机。步进电机是多种机电设备中被广泛应用的一种电机,它主要由定子和转子构成。定子的主要结构是绕组。三相、四相、五相步进电机分别有三个、四个、五个绕组,其它以此类推。绕组按一定的通电顺序工作着,这个通电顺序我们称为步进电机的“相序”。转子的主要结构是磁性转轴,当定子中的绕组在相序信号作用下,有规律的通电、断电工作时,转子周围就会有一个按此规律变化的电磁场,因此一个按规律变化的电磁力就会作用在因此转子上,使转子发生转动。它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电动机就转动一个角度,因此非常适合于单片机控制。另外

4、步进电机还有动态响应快易于起停,易于正反速及变速等优点。 综合上面所述,为易于单片机控制,本设计采用方案2。 3驱动方式的选择 我们知道步进电动机使用脉冲电源工作。开关管是按照控制脉冲的规律“开”和“关”,使直流电源以脉冲方式向绕组L供电,这一过程我们称它为步进电动机的驱动。(1)单电压驱动 单电压驱动是指电动机绕组在工作时,只用一个电压电源对绕组供电(如图3所示)。它的特点是电路简单,一般只用于小功率步进电动机的驱动。 图3 单电压驱动原理图 图4 双电压驱动原理图 (2)双电压驱动 双电压驱动是用提高电压的方法使绕组中的电流上升波形变陡(如图4所示)。它的基本思路是在低频段使用较低的电压驱

5、动,在高频段使用较高的电压驱动。这种驱动方法在低频段具有单电压驱动的特点,在高频段具有良好的高频性能。 本设计考虑到变压器,因采用了单电压驱动.4系统组成 经过方案比较与论证,最终确定的系统组成框图如图5所示.其中单片机用89S52,驱动用1TIP122,驱动用液晶显示. 图5 系统控制硬件总框图二软件设计 对与一个开环控制系统来说,最重要的就是它的算法的选择,然后就是针对算法的编程.1控制算法的比较方案1. 逐点比较直线插补算法逐点比较法是数控机床中广泛采用的一种软件插补算法,该方法普遍用于二坐标数控加工系统.所谓逐点比较法就是在绘图过程中,绘图笔每移动一步都要与理想线路进行比较,然后决定下

6、一步的移动方向用步步修正的方法画出所期望的线段. 逐点比较法的基本原理是斜率比较法即线段的起点与笔当前的位置构成的直线斜率与要绘线段斜率进行比较当前者斜率小于后者斜率时,笔应该向方向走一步当前者斜率大于后者斜率时,笔应该向方向走一步如图6所示,为欲画的路线,为画笔开始所在的位置,当的斜率小欲画线段的斜率时,向方向移动一步,到达点然后再用线段的斜率与的斜率进行比较,当的斜率大欲画线段斜率时,向方向移动一步。图6逐点比较直线插补算法方案2. 逐点比较圆弧插补算法 圆弧轨迹插补不同于直线,一段圆弧可能跨越几个象限。每当一段圆弧跨过象限后,原来的偏差计算、坐标计算式必须进行修改。在插补过程中每走一步必

7、须检查是否会跨越象限,一旦查到跨越象限,就要根据顺圆或逆圆改进进入该象限的一套计算方法。传统的过象限处理是采用查表的方法,即用旧的标志字通过查表取得新标志字,替换旧标志字,当再次进行插补时,根据新的标志字进行插补和进给。查表法处理起来相当麻烦。符号判别法是根据动点坐标本身位置的变化自动转换运算和判别,自动转入其他象限,改变偏差计算、坐标计算式。方案3. 数学建模法。数学建模法是指用数学方法,运用几何知识(极坐标)把圆上的点和两个电机所在的位置联系起来,通过相关计算把圆上的点的坐标用数学表达式表示出来,并转换成电机所要转动的偏移量,最后把偏移量转化为电机所要转的速度。此方法,计算复杂,但所得数据

8、较为准确,只要编程正确,用电机所画出来的线就不会编差大。 上述几种方法我们都尝试编程,但在调试过程中,前两种方法的误差比较大.达不到比赛的要求,最后我们只能采用方案3。采用方案3的算法相当复杂, 而且要经过了无数次调试.2程序的总流程在设计系统的总流程中.比较简单. 但在子程序相当复杂.程序总图如图6所示 图6 程序的总流程2.1直线的计算和编程 从图7我们可以看到假设原点坐标X0,Y0,要达到的坐标点X1,Y1 图7 直线算法图那么到坐标点的距离LL=我们没有采用Y=KX+B的直线方程,而是把L的长度分为COUNT_L等分即 COUNT_L=我们计算出每一个增量INC_X,INC_YINC_

9、X=INC_Y=我们假设一个变量,的范围从1-COUNT_L所以每走一步的坐标值XX =*INC_X+X0YY =*INC_Y+Y0部分程序如下所示:/*任意寻点*/void draw_line(uint x0,uint y0,uint x1,uint y1) /(x0,y0):起点坐标,(x1,y1):停止点坐标float L_l0,L_r0,L_l,L_r; int uinc_Ll,uinc_Lr;int m,n; L_l0=sqrt(x0+15)*(x0+15)+(115-y0)*(115-y0) ;/左边绳的原长 /*write_coor(L_l0);*/L_r0=sqrt(95-x0

10、)*(95-x0)+(115-y0)*(115-y0) ;/右边绳的原长/*write_coor(L_r0);*/L_l=sqrt(x1+15)*(x1+15)+(115-y1)*(115-y1) ;/到达指定坐标后左边的绳长 L_r=sqrt(95-x1)*(95-x1)+(115-y1)*(115-y1) ;/到达指定坐标后右边的绳长if(L_l=L_l0 & L_r=L_r0) /12都正转uinc_Ll=(L_l-L_l0)/0.125;uinc_Lr=(L_r-L_r0)/0.125;if(uinc_Ll=uinc_Lr)m=uinc_Ll-uinc_Lr;n=uinc_Ll-m;w

11、rite_coor(n);drive_motor12_F(n);drive_motor1_F(m);elsem=uinc_Lr-uinc_Ll;n=uinc_Lr-m;write_coor(m);drive_motor12_F(n);P1=0x00;drive_motor2_F(m); if(L_lL_l0 & L_r=uinc_Lr)m=uinc_Ll-uinc_Lr;n=uinc_Ll-m;drive_motor12_B(n);drive_motor1_B(m);elsem=uinc_Lr-uinc_Ll;n=uinc_Lr-m;drive_motor12_B(n);drive_motor

12、2_B(m); if(L_l=L_l0 & L_r=uinc_Lr)m=uinc_Ll-uinc_Lr;n=uinc_Ll-m;drive_motor12_FB(n);drive_motor1_F(m);elsem=uinc_Lr-uinc_Ll;n=uinc_Lr-m;drive_motor12_FB(n);drive_motor2_B(m); if(L_l=L_r0) /1反2正 uinc_Ll=(L_l0-L_l)/0.125;uinc_Lr=(L_r-L_r0)/0.125;if(uinc_Ll=uinc_Lr)m=uinc_Ll-uinc_Lr;n=uinc_Ll-m;drive_motor12_BF(n);drive_motor1_B(m);elsem=uinc_Lr-uinc_Ll;n=uinc_Lr-m;drive_motor12_BF(n);drive_motor2_F(m); 我们可以看到画直线的程序的复杂性.2.2圆的的计算和编程在圆弧的编程中,它的算法比直线的算法更复杂.从图我们可以看到假设圆心坐标X0,Y0,半径为R圆上的一点坐标为XQ,YQXQ=X

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号