电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx

上传人:b****9 文档编号:25560937 上传时间:2023-06-09 格式:DOCX 页数:19 大小:124.15KB
下载 相关 举报
电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx_第1页
第1页 / 共19页
电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx_第2页
第2页 / 共19页
电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx_第3页
第3页 / 共19页
电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx_第4页
第4页 / 共19页
电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx

《电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx》由会员分享,可在线阅读,更多相关《电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx(19页珍藏版)》请在冰豆网上搜索。

电子大赛二等奖 凌阳SPCE061A悬挂运动控制系统 江苏大学 张寿龙 田兆垒 赵生禄.docx

电子大赛二等奖凌阳SPCE061A悬挂运动控制系统江苏大学张寿龙田兆垒赵生禄

悬挂运动控制系统(6)

作者:

江苏大学张寿龙田兆垒赵生禄  来源:

凌阳科技教育推广中心  录入:

随风  字体:

    

摘要:

本系统以凌阳SPCE061A单片机为控制核心,采用L298芯片作为两只步进电机的驱动模块,利用1×4键盘完成对相关参数的设定,采用液晶显示器显示参数信息,采用1个反射式光电传感器来检测板上所标黑线的位置;使用了一套精确的软件算法,有效地实现了两路电机的配合转动,使得悬挂物体能够按照几种不同的设定路径准确移动,完成题目的各项要求。

一、方案论证

  1、单片机的选择

  方案一:

采用89C51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。

但是89C51需外接模数转换器来满足数据采样,硬件电路相对复杂。

另外,51单片机在线操作不易掌握,需要用仿真器来实现软硬件调试,较为繁琐。

方案二:

采用凌阳SPCE061A单片机实现,该单片机内部资源丰富,集成了A/D,D/A,易于数据的采集,同时由于其在线仿真技术,软硬件调试方便,对于电子设计竞赛这种时间紧,任务多的开发来说是极为有利的。

基于上述分析,我们拟选择方案二。

  2、电机的选择

  方案一:

采用直流电机控制悬挂物体的运动,直流电机力量大,能获得较大的启动转矩,转动速度快,但由于存在机械触点,直流电机容易产生噪声,而且单独使用时不能完成位置控制,需要配以传感器才能控制定位。

  方案二:

采用步进电机控制悬挂物体的准确运动,步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定距运动较精确。

虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。

  基于上述理论分析,我们拟选择方案二。

  3、黑线检测模块选择

  检测板上黑线的基本原理是:

光线照射到板上并反射,由于黑线和白纸的反系数不同,根据接收到的反射光强弱判断是否黑线。

  方案一:

可见光发光二极管与光敏二极管组成的发射-接收电路。

这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大干扰,一旦外界光亮条件改变,很可能造成误判和漏判,即使是采用超高亮发光二极管可以降低一定的干扰,但这将增加额外的功率损耗。

  方案二:

脉冲调制的反射式红外发射-接收器。

采用带有交流分量的调制信号,可以大幅的减少环境光源的直流分量的干扰,但由于该红外发射管的最大工作电流取决于平均电流,该最大电流需要通过调节占空比来调节;而且需要添加额外的电路和程序,本题中并不需要很大的电流,故不需要采用该管子。

  

  方案三:

不调制的反射式红外发射-接收器。

由于采用红外管代替普通可见光管,可以有效的降低环境光源的干扰,尺寸小、质量轻、灵敏度高,对辅助装置的要求最少,对人眼无伤害,采用不调制的反射式红外发射-接收器完全可以有效的降低干扰,而且方便可行,能够准确的实施检测。

  基于上述考虑,我们决定采用方案三。

  4、电源的选择

  方案一:

所有器件都采用单一电源。

这样供电虽然比较简单,但是由于电动机启动瞬间电流很大,而且给定脉冲信号驱动的电机电流波动较大,会造成电压不稳、有毛刺等干扰,对单片机系统造成严重的干扰,缺点十分明显。

  方案二:

双电源供电。

将电机驱动电源(12V)和单片机的供电电源(5V)完全隔开,这样设计可以彻底消除电机驱动所造成的干扰,提高了系统的稳定性。

  基于上述考虑,所以我们选择方案二。

  5、显示的选择

  方案一:

用LED数码管显示设定的坐标,本题中只需要六只LED数码管进行动态显示即可以显示X轴和Y轴的坐标,优点是接口简单,易于控制,缺点是只能用于比较简单的数字显示。

  方案二:

用LCD液晶显示器显示,优点是能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂。

由于凌阳SPCE061A单片机有着丰富的硬件资源,加上现代社会的发展对人机界面的要求越来越高。

  基于上述考虑,所以我们选择方案二。

二、详细软硬件设计

  根据题目要求和上述论证,本系统的系统框图如图2.1。

图2.1  系统结构框图

  总体设计方案的硬件连接图如图2.2所示。

图2.2  硬件连接图

  1、硬件设计

  

(1)单片机最小系统  

  由凌阳单片机SPCE061A及键盘和LCD显示器组成。

  SPCE061A是凌阳科技推出的一款16位结构的μ'nSP系列微控制器。

SPCE061A里内嵌32K字的闪存(Flash),较高的处理速度使μ'nSP能够非常容易地、快速地处理复杂的数字信号。

SPCE061A单片机内置8路ADC,2路DAC,且集成开发环境中,配有很多语音播放API函数,用SPCE061A实现语音播放极为方便。

另外,该芯片内置在线仿真、编程接口,可以方便实现在线调试。

 

考虑到本题目所应用的复杂程度和系统资源的分配,采用最简单的直接1×4键盘数据输入端口。

 

  显示模块用的是OCM4X8C液晶显示器,它是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM(GDRAM)。

具有多种功能:

光标显示、画面移位、睡眠模式等。

界面比较丰富,人机操作更直观。

其外接接口可直接与CPU连接,提供两种方式来连接微处理机:

8-位并行方式和串行方式。

串行进行数据传输,可以节省单片机资源。

本系统中就用了串行方式。

  

(2)步进电机驱动模块电路的实现   

  系统中选用二相四拍步进电机,L298N(用于输入标准TTL逻辑电平、输出电压、电流要求比较高的驱动电路,诸如继电器、电磁阀、DC或步进电动机等设备中)作为双桥驱动器件。

每次绕组受到激励,电动机轴就旋转一圈的几分之一。

为使其正确的旋转,绕组必须按正确的顺序受到激励。

若励磁信号正向传送,则步进电机正转;励磁信号反向传送,则步进电机反转。

由脉冲信号控制电动机,故调节脉冲信号的频率便可改变步进电机的转速。

 

  L298N内电路如图2.3。

图2.3   L298N内电路

  由电路可知,二相四拍电动机的励磁方式输入如表2.1。

表2.1  二相四拍电动机的励磁方式输入

A

B

C

D

1

1

0

0

0

1

1

0

0

0

1

1

1

0

0

1

  利用单片机很容易满足步进电机的工作条件,且容易控制。

电路连接见图2.4。

图2.4   L298N的电路连接

  (3)光电检测模块的电路设计与实现 

  为了检测板上黑线的位置,在悬挂物体中心上固定一个反射式红外发射-接收器。

具体电路如图2.5所示。

图2.5 反射式红外发射-接收器电路

  发射部分采用红外发射管,实现检测系统信号的输出。

接收部分的光敏二极管在不同的的光照强度下,电阻值会大幅改变。

本实验中,我们把电路参数设置为只对黑色敏感。

当检测不到黑线时,发射管发出的红外光经板面反射后被接收管接收,接收管导通,斯密特管输出低电平,当检测到黑线时,发射管发出的红外光不能被反射,斯密特管输出高电平,单片机通过检测I/O口的高低电平来判断电机的运动方向。

由于是采用四个方向的同时检测,故单片机的判断能力就明显提高,缩短了检测判断时间,同时也增强了纠错能力。

  2、软件设计

  

(1)主程序

  要完成上述任务,并且控制的比较准确,实现的算法很重要。

尤其是悬挂物体从一个位置坐标运动到另一个位置坐标的算法,是实现任务的基础。

  按照题目要求在100cm×80cm的图上定出各个点的坐标,现在以左下角为坐标原点,以一厘米为一个单位,标出横轴和纵轴的数据,如图2.6。

图2.6  图板示意

  用x和y来表示坐标的位置,用l表示左边的绳子的长度,用r表示右边的绳子的长度(注意:

我们这里的长度是指悬线与滑轮的触点和图中任一点(x,y)间的直线距离)。

  x和y与l和r的关系函数如下:

  

  

  现在我们来计算出相应的电机转动的拍数。

  设初始位置坐标为(x1,y1),目标位置为(x2,y2)时,△l和△r为l和r的微小变量:

  

  

  通过△l和△r的变化,就可以控制电机的转动拍数,进而控制物体的移动。

  根据圆周的数学关系,要使悬物左右相应移动△l、△r,则左右两电机需转动过的角度为:

  

  

  又知我们采用的二相四拍步进电机,每一步进为1.8°,则得到左右两个电机需转动的拍数为:

   

  

  由此我们就可以根据上面的计算来控制电机输出脉冲,驱动电机以一定的步进节拍运转,拖动悬挂物体从初始位置运动到目标位置了。

  本系统外围电路比较简单,但是软件设计相对较复杂。

既要考虑系统完成任务的具体执行,又要考虑总体组成的易于实现性。

从软件的功能方面看,主程序主要完成坐标设置,键盘的扫描及其显示,相应任务子程序模块的调用等。

其流程图如图2.7。

图2.7  主程序程序流程图

  在发挥部分

(1)中,要求能够显示物体中画笔所在位置的坐标。

本系统主模块中把此项功能独立出去,放在坐标计算后,直接输出并在LCD显示。

这样就与任务子程序的调用分离开来,易于实现。

  

(2)定点运动程序

  定点运动中不需要关心悬挂物体在运行过程中的轨迹,只考虑原点与设定点之间的距离,根据这一距离,利用公式直接计算出左右两根绳子最终应该收放的相对距离,根据这一距离控制电机的转数。

  则基于原点坐标(0,0),设定坐标(x,y),和两边的绳子的长度的函数关系为:

  设定点左右绳长,

   

  

  原点左右绳长,

   

  

  左右电机运线所需差值,

   

  

  其步进角度为,

   

  

  代入电机步进单位1.8°,得左右电机步进拍数,

   

   

  其实现程序流程图如图2.8所示。

图2.8  定点运动程序流程图

  (3)自定义轨迹程序

  在自定义轨迹模块中需要让悬挂物体沿任意设定形状的一条曲线来运行。

在该模块中,设定的曲线是一条一个周期的正弦波,该正弦波的波长是72cm,从(0,25)沿轨迹走到(72,25),幅值为20cm。

其基本原理是在程序中预先设计一个正弦波坐标表格,表中放置72个数据,基本可以达到精度要求。

  正弦波初始点坐标(0,20),则所行轨迹上各点(x,y)坐标为:

  

  

  其中k为0,1,2,3,……,72。

  依次计算k=0,k=1,k=2,……,直到k=72所对应的(x,y)坐标值数据。

  系统运行时,单片机每控制电机拖动悬挂物体到一个位置前,会先查正弦波表,将查表得到的坐标结果按照定点运动模块的算法算出左右两线与上一个位置的长度差,以及各个电机所需转动的角度和拍数。

这样从微观上看还是从一个点运动到另一个点,从宏观上看就是一个连续的正弦波形图了。

选取的取样点越多,运动的轨迹就越精确。

  程序流程图如图2.9所示。

图2.9  自定轨迹程序流程图

  (3)圆形轨迹运动模块

  与

(2)相似,要让电机控制悬挂物体走圆形轨迹,只要在程序中建立一张圆形轨迹坐标表,单片机在运行中不断去查表,以获得下一步的位置坐标。

本程序中以半径R,圆心(xc,yc)(运行前设置)为参考点,为满足精确度,共设定取样点为N个,算出每一个点(x,y)的横坐标和纵坐标。

则坐标计算公式为:

  

  

  其中BI为角度值(单位弧度),为Nπ/45。

  代入预定数值:

R=25cm,N=(1,2,……90),

  BI取值为π/45,2π/45,3π/45,……,90π/45。

  按下面公式, 

  

  

  依次计算得到90个采样点的坐标值。

  程序运行时,先读取圆心坐标值,由软件程序算出圆形坐标表。

通过不断的查询表格可以获得相应的坐标信息,按照定点运动模块的算法算出悬物在前一位置和后一位置左右两线的长度差,以及各个电机所需转动的角度和拍数。

 

  圆形轨迹程序流程图如图2.10所示。

图2.10  圆形轨迹程序流程图

  (4)轨迹跟踪程序

  在该程序模块中,题目要求悬挂物体沿现场任意标示的轨迹运行。

在悬挂物体运行过程中需要有寻迹反馈,这样才能对悬挂物体的行进路线进行纠偏。

我们在悬挂物体底下安装了1个红外反射对管,以完成对反馈信号的采样。

由上面硬件介绍可知,当对管被黑色物体挡住时,接收管没有反射光源照射,则其输出端为高电平,反之为低电平。

单片机通过不断查询采样信号端的状态,控制电机的运动。

  在此模块的算法中,首先确定待寻轨迹初始位置的坐标,以此坐标数据为基础寻找待寻轨迹的下一个点。

寻下一点程序是本模块的关键。

为了能够准确找到该点的下一个点,我们定义了两层查询结构。

  第一层是记住该点,并以这一点为中心,向上行进1cm,若传感器信号输出端为低电平,则按此方向向上运动;若为高电平,则回到记忆点。

按照上述方法依次向右、向下、向左行进1cm,若沿某方向检测出低电平,则在此点开始下一点的查询;若检测输入信号始终为高电平,则在悬挂物体回到记忆点以后,进入第二层继续查询。

这四个点正面分布如图2.11。

  图2.11   悬物运动第一层查询点分布

  第二层查询在第一层查询没有结果的情况下进行。

首先使悬挂物体沿与x、y轴分别成45°、135°的方向行进,行进距离为2cm,到第1点,若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则水平行进到与记忆点的y坐标相交的位置,为第2点。

  若此时检测信号为低电平,则开始新一轮的下一点查询;若为高电平,则沿水平方向继续行进到与第一点关于记忆点y坐标对称的位置,是第3点。

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则竖直行进到与记忆点的x坐标相交的位置,是第4点。

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则竖直行进到与第三点关于记忆点的x坐标对称的位置,是第5点。

 

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则水平行进到与第二点关于记忆点的x坐标对称的位置,是第6点。

 

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则水平行进到与第五点关于记忆点的y坐标对称的位置,是第7点。

 

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则竖直行进到与第七点关于记忆点的x坐标对称的位置,是第8点。

 

  若检测为低电平,则在此位置进行新一轮的下一点查询;若检测为高电平,则证明已无轨迹可寻,退出跟踪程序的运行。

  这八个点的正面分布为图2.12。

图2.12   悬物运动第二层查询点分布

  轨迹跟踪程序流程图如图2.13。

图2.13   轨迹跟踪程序流程图

  检测到低电平信号以后,根据上面通用的算法,可知坐标差值,进而算得电机运行的步进拍数。

三、测试说明

  1、测试仪器

  海星顺达科技806秒表:

最小刻度值:

1/5s

  地牌3米卷尺(JC-353W-4):

精度0.001m

  2、测试数据

  

(1)键盘设定坐标点测试

  通过键盘设定(0,0)~(80,100)之间的任何一点的坐标,结果正确,准确率100%。

  

(2)自定义轨迹测试

  测试数据如表3.1所示。

表3.1  自定义轨迹测试记录

次数

1

2

3

起始点

(0,25)

(1,24)

(1,25)

终止点

(72,25)

(70,24)

(71,23)

所用时间(s)

50.0

48.5

49

  测试中设定的路径是一个周期的正弦波,测试显示物体实际运行的轨迹与算法中理论设定的轨迹基本相符,而且所画波形比较圆滑,误差很小,达到设计要求。

  (3)圆周运动测试   

  测试数据如表3.2所示。

表3.2   圆周运动测试记录

次数

1

2

3

圆心

(40,50)

(40,50)

(50,30)

直径(cm)

52

51

51

直径误差(cm)

2

1

1

所用时间(s)

90

89

88

  通过测试,我们发现实际测得的直径总是稍有偏大,但在误差范围之内,我们分析原因可能在于滑轮的摩擦力和细线的变形,而我们的实际走完全程所用时间远小于规定的时间,原因在于我们的算法较优。

总体看来,我们这一模块的设计速度快,精度高。

  (4)定点运动测试     

  测试数据如表3.3所示。

表3.3   定点运动测试记录

次数

1

2

2

设定点

(40,50)

(40,40)

(50,55)

实际点

(39.5,50)

(39.5,39.5)

(49,55)

误差(cm)

X轴

0.5

0.5

Y轴

0

0.5

两点的直线距离(cm)

64

56

74

所用时间(s)

31

27

36

  从测试的数据来看,我们所测的几组数据的横坐标都稍有偏大,但误差很小,原因可能在于右边电机由于绕线偏密,实际轴径增大,以至右拉过大,导致到达点右偏。

但本模块运行过程所用时间都比较短,而且我们所走的距离远大于题目所要求的距离,因此整个模块性能优良,完全符合要求。

  (5)轨迹跟踪模块测试   

  测试数据如表3.4所示。

表3.4   轨迹跟踪测试记录

次数

1

2

起点

(17,31)

(8,19)

连续曲线用时(s)

123

132

间断曲线用时(s)

132

87

  我们设计的算法,完全满足了题目的要求,很准确的寻找到黑线,并且能够按照所画曲线的轨迹正确运动,所用时间很短,精度很高,基本上没走多余的路,效果非常好。

五、结论

  本设计以凌阳61单片机为核心,利用软件编程,实现了定点运动,自定义正弦轨迹运动,圆形轨迹运动,轨迹跟踪以及坐标的实时显示。

测试结果表明,本设计很好地完成了题目基本部分和发挥部分的全部要求,速度快、精度高。

整个系统从软件到硬件都体现优良简约的风格。

主要有以下几个优点:

  

(1)采用二相四拍步进电机,悬绳收放控制较精确;

  

(2)设计只用一个传感器,在完成任务的前提下尽可能的降低了处理和接线的复杂度;

  (3)程序算法优良,易于误差处理和提高精确度;

  (4)LCD液晶显示,界面友好。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1