悬挂运动控制系统创新设计
《机械创新设计》课程设计2
机械创新设计说明书
1
悬挂运动控制系统创新设计 院(系) 机械工程学院 专 业 机械电子工程 班 级 11机电2班 学 生 李楠 任课老师 严天宏 2014 年 12 月 15 日
目录
1
2
3 摘 要 ............................................................................................................................. 3 系统设计要求 ................................................................................................................... 4 方案设计 ........................................................................................................................... 5
3.1
3.2
3.3
3.4
3.5 控制方案选择 . ........................................................................................................... 6 电机选择 . ................................................................................................................... 7 电源部分方案选择 . ................................................................................................... 7 寻线机构设计以及TRIZ 理论应用 . .......................................................................... 8 其它部件的机构选择 . ............................................................................................... 9
顶部滑轮 ............................................................................................................ 9
传输线 .............................................................................................................. 10
电机轴套 .......................................................................................................... 10
重物 .................................................................................................................. 10 3.5.1 3.5.2 3.5.3 3.5.4
4 软件设计 ......................................................................................................................... 11
4.1
4.2
4.3
4.4
4.5 点到点移动的设计 . ................................................................................................. 11 画圆方案设计 . ......................................................................................................... 12 自定义轨迹设计方案 . ............................................................................................. 12 实时显示点坐标设计方案 . ..................................................................................... 12 寻迹程序设计 . ......................................................................................................... 13 5
6
7 部分程序附录 ................................................................................................................. 13 参考资料 ......................................................................................................................... 15 致谢 ................................................................................................................................. 16
2
1 摘 要
在现代的工业控制、车辆运动和医疗设备等系统中,悬挂运动控制系统的应用越来越多,在这些系统中悬挂运动部件通常是具体的执行机构,因而悬挂部件的运动精确性是整个系统工作效能的决定因素,而在实际中实现悬挂运动控制系统的精确控制是非常困难的。靠改变悬挂被控对象的绳索长短来控制被控对象运动轨迹的悬挂运动控制系统,在生产控制等领域有很广的应用范围,但受技术上的制约,使用也有一定限制。
悬挂轨迹控制系统是一电机控制系统,控制物体在80cm*100cm的范围内作直线、圆、寻迹等运动,并且在运动时能显示运动物体的坐标。设计采用STM8单片机作为核心器件实现对物体运动轨迹的自动控制,通过多圈电位器实现对悬挂物位置的精确测量,并引入局部闭环反馈控制环节对误差进行修正。以达到对物体的控制和对坐标点的准确定位。采用脉冲宽度调制技术控制直流电机驱动芯片L298,以实现对电机的转速、转向、启停等多种工作状态进行快速而准确的控制。采用红外光电传感器实现检测电机速度和画板上黑色曲线轨迹。
3
2 系统设计要求
设计一个电机控制系统,控制物体在倾斜的板上运动(仰角=100度)。 在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm*100cm,物体形状不限,质量大于100克。物体上固定有浅色的画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm 的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点,示意图如下:
图2.1 实物示意图
基本要求:
(1)控制系统能够通过键盘或其他方式任意设定坐标点参数;
(2)控制物体在80cm*100cm的范围内作自行设定的运动,运动轨迹长度不小于100cm ,物体运动时能在板上画出轨迹,限时300秒;
(3)控制物体作圆心可任意设定、直径为50cm 的圆周运动,限时300秒;
4
(4)物体从左下角坐标原点出发,在150秒内到达设定的一个坐标点(两点间直线距离不小于40cm )
扩展要求:
(1)能够显示物体中画笔所在位置的坐标;
(2)控制物体沿板上标出的任意曲线运动,曲线在测试时现场标出,线宽
1.5cm-1.8cm ,总长度约为50cm ,颜色为黑色,曲线的前一部分是连续的,长约30cm ,后一部分是两段不连续的,总长约20cm ,间断距离不大于1cm ,物体沿连续曲线运动时间在200s 以内,沿不连续曲线运动时间在300s 以内。
3 方案设计
采用单片机作为数据处理及控制的核心, 经过驱动电路与直流电机A 和电机B 联接, 对被控物体做出控制, 光电检测用来检测被控物块的运动轨迹与预定轨迹的偏差, 再反馈给单片机, 再由单片机发出调整控制指令。
根据掌握知识及实际考虑,系统总体框图如图下图所示。
5
3.1 控制方案选择
方案1. 闭环数字控制方式
闭环数字控制方式,主要利用光电传感器检测法,结构图如图1所示。首先单片机根据输入的数据来计算物体要移动的距离并控制物体往坐标的大概方向运动,红外发射接收器来探测悬挂物体移动了多少个1*1cm的小方格, 并经过A/D送给单片机,单片机通过特定的算法计算出物体的坐标,并控制电机的转动来控制物体往坐标进发,在此过程中单片机不断计算,不断调整电机的转速和方向使悬挂物体做一定路线的移动。但其缺点是,电路复杂,不但要求要有A/D电路,光电探测电路,还要其电路要做得十分精确。任何一个电路设计得不好,也会使物体运动产生很大的偏差。
图1 闭环数字控制
方案2. 开环数字控制方式
开环数字程序控制方式, 即没有反馈系统,开环数字控制的结构图如图2所示。由图可看出,此种控制方式与上面的控制方式少了反馈电路。单片机
由输入的数据来计算物体要移动的距离,直接发出控制脉冲来控制电机的转动,进而控制物体的运动方向。由于少了反馈电路,系统的精度只与单片机所采用的算法准确性有关,此种方式电路结构简单,成本低且易于调整和维护,是一种较理想的方式。
图2 开环数字控制方式
综合上面所述,考虑时间和调试的复杂性,本设计采用方案2。
6
3.2 电机选择
方案1. 直流电机。
直流电机又分为直流无刷电机和直流有刷电机,是最早实现调速的电动机,其优点是有良好的线性调速特性,简单的控制性能,高的效率,但其数字控制方面较难把握。
方案2. 步进电机。
步进电机是多种机电设备中被广泛应用的一种电机,它主要由定子和转子构成。定子的主要结构是绕组。三相、四相、五相步进电机分别有三个、四个、五个绕组,其它以此类推。绕组按一定的通电顺序工作着,这个通电顺序我们称为步进电机的“相序”。转子的主要结构是磁性转轴,当定子中的绕组在相序信号作用下,有规律的通电、断电工作时,转子周围就会有一个按此规律变化的电磁场,因此一个按规律变化的电磁力就会作用在因此转子上,使转子发生转动。它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电动机就转动一个角度,因此非常适合于单片机控制。另外步进电机还有动态响应快易于起停,易于正反速及变速等优点。
综合上面所述,为易于单片机控制,本设计采用方案2。
3.3 电源部分方案选择
方案一:所有器件都采用单一电源。这样供电虽然比较简单,但是由于电动机启动瞬间电流很大,而且给定脉冲信号驱动的电机电流波动较大,会造成电压不稳、有毛刺等干扰,对单片机系统造成严重的干扰,缺点十分明显。
方案二:双电源供电。将电机驱动电源(12V )和单片机的供电电源(5V )完全隔开,这样设计可以彻底消除电机驱动所造成的干扰,提高了系统的稳定性。 基于上述考虑,所以选择方案二。
7
3.4 寻线机构设计以及TRIZ 理论应用
悬挂物沿曲线运动的轨迹分为两段,连续段和间断段。 通常思路是,可采用4个光电一体化传感器TCRT5000作为检测元件,其放置方式如下所示。
4个光电传感器放置方式
也即方案一:在连续段寻迹时,通过判断四个传感器的16种组合状态,使电机作出相应的伸缩动作。当轨迹为间断线时,电机拉动传感器在大角度方向内位移,直到在某一方向检测到新的黑线为止。然后再调用连续段的寻迹程序。 该方案不仅容易判断失误,导致往错误的方向行驶,而且红外对管的数目多,接线复杂,所以不好。
利用TRIZ 理论的40条基本措施中的第5条联合原则,把相同的物体或完成类似操作的物体联合起来,该寻迹可等效为常见的寻迹小车的控制方案,于是有了方案二。
方案二,使用小步进电机和两个光电对管组合进行寻线,如下图所示:
8
在方案二中,首先将步进电机放在起点处,并且规定前进方向为右上,当左右红外对管其中有一个检测到黑线时,前进方向向该方向旋转1度,并且步进电机也旋转1度。该模型采自常见的寻迹小车的控制方案。只不过在前进方向上更为复杂,需要将原来的前进方向转化为画板上的前进方向。
虽然方案二相比方案一结构和程序复杂,但是考虑到易用性和可靠性,选择了方案二。
3.5 其它部件的机构选择
3.5.1 顶部滑轮
9
3.5.2 传输线
本系统中采用的为鱼线,因为鱼线的直径很细。在电机轴套上的叠加误差很小,在旋转圈数不多的情况下完全可以忽略不计,而且鱼线的硬度选择上我们采用相对硬度高一些的,这样鱼线的韧性要低一些,不会有太大的弹性。在负重不大的情况下,笔划出的曲线不会出现太大的毛刺。
3.5.3 电机轴套
电机轴套的选择主要体现在轴套直径的选择。步进电机及轴套示意图如图7 所示。
采用两相步进电机, 步进角为1.8°/ 步,转一圈需200 步, 轴套的直径R 为26mm ,根据圆的周长公式 C=2πr, 此轴套的周长为81.68mm, 故电机的每一步移动的距离为0.408mm ,在电机分时控制时,每次输入的连续脉冲数为25 个,这样每个电机分时运转的距离近似认为10mm 这样在根据运行点的坐标来计算S1、S2 时,单片机容易计算线的长度,从而实现精确定位。
3.5.4 重物
重物重量对整个系统的精度有很大的影响,若重物过重,会使精度降低,在符合要求的同时,选择重物的重量为105g ,重物的重心也对系统的精度有影响,应尽量使重物的重心在重物的下部。因此采用三角形状,这样重物的重心会偏下,能得到理想的值。画笔应放在挂点,这样可以减小误差。
10
4
软件设计
软件设计是该设计的灵魂,所有的数据采集,数据运算,产生电机控制信号,
都是由软件完成,软件质量高低直接决定系统的功能和精度。
4.1 点到点移动的设计
实现从一点移动到设定的坐标点,一点坐标和其对应的S1,S2 线长存在如
下几何关系,如图8所示。
图8 点到点移动原理示意图
程序先由起始点的坐标计算出其对应的S1,S2 值;再计算结束点对应的s1,
s2 值, 求出S1 和s1,S2 和s2 之间的差值,由其差值决定与S1,S2 对应的电机的正反转和转动的圈数。驱动电机转动,使画笔移动到指定坐标点。
11
4.2 画圆方案设计
本设计要求悬挂物能够画一个圆,采用微分曲线直线逼近法。首先将圆周等
分为N 份,将每小份弧线段等效为直线段画出,N 越大,曲线就光滑。 设所画圆的圆心坐标为(x0,y0)半径为固定的25cm ,(x,y )为圆周上的任意一点,由此确定圆的方程为:
X=x0+25sint,Y=y0+25cost,(x0,y0)为圆心坐标
这样,则圆的坐标仅与参数t 有关,因此,使角度t 以某一设定的角度步长
v 累加,使t=q*v在周期[t,t+2π]内变化,其中q 为累加值。这样就可以采样到圆上均匀的点,显然,角度步长v 越小,在圆周上取得点越多,控制也会更精确。
4.3 自定义轨迹设计方案
自定义轨迹的思想等同于画圆的思想,取轨迹上的微分点,调用点到点子程
序实现。
4.4 实时显示点坐标设计方案
两滚轮和待求坐标点构成一个三角形,由海伦公式可推导出高H 和三条边
(S1,S2,a1+a2) 的关系式,H=2[P*(P - S1)(P - S2)(P - a1 - a2)] /(a1+a2),即可轻易推导出该点坐标,具体公式和原理如图10 所示。
12
图10 实时显示点坐标原理示意图
在程序中根据当前坐标计算出起始点的S1,S2 长度, 程序实时存储当前
S1,S2 当前坐标下的S1,S2 的值,通过上述几何实时计算出当前画笔坐标并显示输出。
4.5 寻迹程序设计
给定前进方向,并朝前进方向前进。每时每刻都计算出当前的位置,并且计
算下一个位置点。下一个位置应该是前进方向的附近点,通过不断调整S1和S2使寻迹机构沿近似的直线行驶。
一旦左右红外对管检测到黑线,则旋转红外对管,并调整前进方向,直到行
驶到终点为止。寻迹结束。
5 部分程序附录
#include "stm8s.h" #include "bujin.h"
#include "ir.h" #include "1.8tft.h"
#include "iostm8s.h"
13
/* Private defines -------*/ #define hei 1 #define bai 0
/* Private function prototypes -------*/
_Bool h1 @PD_IDR:6; _Bool h2 @PD_IDR:7;
int jiaodu;
/* Private functions ------------*/ int Get_3Num(void){ char i; int ir=0,num=0; for(i=0;i
void Xunji_Init(void){
GPIO_Init(GPIOD, GPIO_PIN_7, GPIO_MODE_IN_PU_NO_IT); GPIO_Init(GPIOD, GPIO_PIN_6,
GPIO_MODE_IN_PU_NO_IT); }
void Xunji_Jiance(void){ int ir; while(1){ TFT_Clear(0x00,0x00); Displayd(0,0,h1,0xffff); Displayd(8*1,0,h2,0xffff); } }
void Xunji(void){ double jiaodu; char End=0; unsigned int ir; TFT_Clear(0x00,0x00); TFT_Display_String(0,0,"jiaodu=",0xffff); jiaodu=Get_3Num(); Displayd(7*8,0,jiaodu,0xffff); GetTo_Jiao(jiaodu); while(End==0){ if(h2==hei) { 14
GetTo_Near(jiaodu+90); GetTo_Near(jiaodu+90); jiaodu+=10; } if(h1==hei) { GetTo_Near(jiaodu-90); GetTo_Near(jiaodu-90); jiaodu-=10; } if(jiaodu>=360) jiaodu-=360; if(jiaodu
void Set_Start(void){ int x,y; TFT_Clear(0x00,0x00); TFT_Display_String(0,0,"x0= ,y0= ",0xffff); x=Get_3Num(); Displayd(3*8,0,x,0xffff); y=Get_3Num(); Displayd(10*8,0,y,0xffff); Set_L1L2(x,y); }
void Set_Draw_O(void){ int x,y; TFT_Clear(0x00,0x00); TFT_Display_String(0,0,"x0= ,y0= ",0xffff); x=Get_3Num(); Displayd(3*8,0,x,0xffff); y=Get_3Num(); Displayd(10*8,0,y,0xffff); Draw_50r(x,y); }
void Set_Draw_a(void){ int x,y; TFT_Clear(0x00,0x00); TFT_Display_String(0,0,"x0= ,y0= ",0xffff); x=Get_3Num(); Displayd(3*8,0,x,0xffff); y=Get_3Num(); Displayd(10*8,0,y,0xffff); Draw_50a(x,y); }
void Set_GetTo(void){ int x,y; TFT_Clear(0x00,0x00); TFT_Display_String(0,0,"x0= ,y0= ",0xffff); x=Get_3Num(); Displayd(3*8,0,x,0xffff); y=Get_3Num(); Displayd(10*8,0,y,0xffff); GetTo(x,y); }
void main(void) { unsigned int ir; int i; Clk_Init(); ir_Init(); Dianji_Init(); Xunji_Init(); TFT_Init(); TFT_Clear(0x00,0x00); //Xunji_Jiance(); Set_Start(); //Xunji_Jiance(); /* Infinite loop */
while (1) { ir=Get_irData(); if(ir==0x0cf3) { Set_Draw_a(); } if(ir==0x18e7) { Set_Draw_O(); } if(ir==0x5ea1) { Set_GetTo(); } if(ir==0x08f7) { Xunji(); } } }
6 参考资料
[1] 顾瑞娟, 王宇, 张善从. 基于FPGA 的步进电机驱动控制系统设计 [J]. 计算机工程与设计. 2012 (01)
[2] 邹林儿, 王国日, 范定环. 棱镜耦合自动测试系统设计 [J]. 微型机与应用. 2012 (01) [3] 高玉章, 陈世夏, 任秀芳. 基于SPCE061A 的智能报警系统设计 [J]. 现代电子技术. 2011 (21)
[4] 李兴春, 李兴高. 电机与拖动虚拟实验平台搭建及实验项目建模的实现 [J]. 实验室科学. 2011 (04)
[5] 徐玲, 邓震宇. 基于FPGA 的程控滤波器的设计 [J]. 电子设计工程. 2011 (11) [6] 陆斌, 苏成功. 基于FPGA 的直流电动机PWM 控制系统 [J]. 工矿自动化. 2011 (03) [7] 张世辉, 陈霞. 基于UC3843升压式程控开关稳压电源的设计 [J]. 电脑开发与应用. 2011 (02)
[8] 晏英俊, 张自强. 基于STM32的步进电机转速控制实验设计 [J]. 实验室科学. 2010 (06) [9] 王征, 常卫国, 栾鑫. 气体压力自调节系统的设计与实现 [J]. 气象水文海洋仪器. 2010 (04)
[10] 梁龙学, 杜永文. 基于分辨率可调的频谱分析仪设计 [J]. 自动化与仪器仪表. 2010 (06)
[11] 彭礴, 李科举, 赵月明, 鲁斌, 侯志春, 李旭. 基于AT89C52悬挂运动控制系统的设计 [J]. 电子测量技术. 2010 (09)
[12] 刘华章, 张晨亮, 唐建华. 悬挂运动控制系统设计 [J]. 海军航空工程学院学报. 2006 (03)
[13] 费婷婷, 刘蓉, 周乐意, 袁子晴. 基于MSP430F449的悬挂运动控制系统设计 [J]. 电子设计工程. 2011 (11) [3] 叶敦范, 刘金全, 欧阳才校. 一种悬挂运动控制系统的近似插补算法研究 [J]. 机械与电子. 2009 (03)
[14] 李积英. 基于单片机的悬挂运动控制系统设计 [J]. 自动化与仪器仪表. 2009 (01)
15
7 致谢
经过一段时间的课程设计忙碌之后,设计最终完成,心理有一种说不出的轻
松,设计过程中遇到许多的问题,在众多老师和同学的帮助下予以解决。首先要感谢吴老师对我的指导和督促,在设计过程中老师给我指出了正确的设计方向,使我加深了对知识的理解,同时也避免了在设计过程中走弯路,老师的督促使我一直把课程设计放在心理,保证按质按量的完成;还要感谢同组同学,是大家营造了良好的学习环境,在做设计的过程中互帮互助,使我的操作水平比以前有了很大提高,同时较全面的掌握了Word 的编辑功能,使我能够按时完成课程设计。
该系统设计来源于
大学生活即将画上句号,在这四年中我是充实的、快乐的,这要感谢学校领
导给我们提供了一个好的学习环境和丰富的课余生活,同时也要感谢所有老师对我们的辛勤培育。
16