悬挂运动控制系统_第1页
悬挂运动控制系统_第2页
悬挂运动控制系统_第3页
悬挂运动控制系统_第4页
悬挂运动控制系统_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、悬挂运动控制系统(E题)摘要:本设计采用单片机AT89C55作为悬挂运动的检测和控制核心。采用四只反射式红外传感器检测板上的黑色曲线,控制物体沿黑线运动。利用可编程器件GAL16V8实现的脉冲分配器和大功率驱动电路L298共同组成步进电机的驱动电路,结合软件控制电机的转向和转速。基于可靠的硬件设计和稳定精确的软件算法,实现了物体在斜板上作圆周运动、定点运动和画板上标出的任意曲线运动。LCD作为液晶显示界面容量大,显示内容丰富,通过与键盘结合设置坐标点和选择运动方式,并能直观显示画笔所在的位置,具有良好的人机交互功能。系统增加了由AT89C51控制的无线数据传输功能实现了对系统的远程控制,并采用

2、双口RAM IDT7132将主控制CPU AT89C55和AT89C51进行隔离,保证数据传输的稳定性和可靠性。关键词:步进电机,红外检测,双口RAMAbstract: In this design, microcomputer AT89C55 was applied as the control center. Four reflecting-infrared sensors were used to detect black lines and to keep the object moving along the black line. Stepping motorss turning

3、and rotating speed were controlled by the drive circuit, which are constituted by GAL16V8 and L298. Based on the reliable hardware design and the precise software algorithm, the object has successfully fulfilled circular movements, movements on a certain point and arbitrary curvy movements shown on

4、the board. In order to make the design more intelligent, LCD was employed as display interface, indicating the location of the painting brush intuitionistically. By combining the keyboard and DS1302 LCD, this design has also achieved coordinate points setting and movement manner selecting. The addit

5、ional function of radio data transmission which is controlled by AT89C51,made available the long-distance control of the system. CPU AT89C55 and AT89C51 are separated by IDT7132 to ensure data stability and security.Key word: stepping motor, reflecting-infrared sensors, dual-port RAM 目 录1. 系统方案论证与比较

6、 41.1 设计思路 41.2 方案选择与论证41.2.1 总体方案选择与论证 41.2.2 各模块方案选择与论证 51.2.2.1 控制器选择与论证 51.2.2.2 电机驱动方案的选择与论证 51.2.2.3黑线检测方案的选择与论证 61.2.2.4 键盘方案的选择与论证 61.2.2.5 显示方案的选择和论证 71.2.2.6无线数据传输方案的选择与论证 71.3系统各模块的最终方案 72. 系统的硬件设计与实现82.1系统硬件的基本组成部分82.2 主要单元电路的设计 8 2.2.1 单片机控制电路82.2.2 电机驱动电路92.2.3 黑线检测电路102.2.4 键盘/显示电路 11

7、2.2.5 无线发射接收电路122.2.6 自制电源电路133. 系统的理论分析与计算143.1物体到达设定坐标点过程的理论分析与计算14 3.2 圆周运动理论分析与计算 15 3.3 黑线检测理论分析 174. 系统的软件设计184.1系统主程序流程图184.2 键盘子程序 204.3 指定坐标运动子程序204.4黑线检测子程序 205. 系统测试与分析 225.1 测试仪器 225.2 测试方案、数据及结果分析 235.2.1 自行设定运动测试 235.2.2 圆周运动测试235.2.3 指定坐标运动测试245.2.4 黑线检测测试256. 结束语 25参考文献 25附录1:主要元器件清单

8、 26附录2 系统原理图 27附录 3 系统使用说 28附录4 程序清单 291. 系统方案设计与比较1.1 设计思路 题目要求设计一电机控制系统来控制物体在倾斜(仰角100)的板上运动。根据要求需采用两只电机来控制物体在斜板上的运动方向。采用传感器检测黑色曲线,使物体能够沿任意给定的曲线运动,运动轨迹偏差4cm。坐标点参数的设定可以通过键盘来实现。为了提高系统数据的可读性并实现对系统的远程控制,本次设计增加了显示和无线数据传输和控制功能。1.2 方案选择与论证1.2.1 总体方案选择与论证方案一:采用步进电机作为控制物体运动的动力源,根据悬挂物体的两段吊绳的长度来调整物体在斜板上的位置,完成

9、作曲线、画圆、寻找坐标点等功能。利用几何原理分别计算出物体在当前坐标位置和目的坐标位置下两段吊绳的长度,分别比较各段吊绳的变化情况,以此判断电机的转向;并根据变化值的大小确定电机转动的步数,即电机驱动所需的脉冲数,系统控制器根据要求向驱动发出相应的脉冲数,驱动步进电机转过要求的步数,使物体运动到达相应的目标点。步进电机的一个显著特点就是具有快速启停能力,只要负载不超过步进电机所能提供的动态转矩值,就能使步进电机立即启动或停止。我们采用常用四相八拍的步进电机转动一圈有800步,转换精度高,正转反转控制灵活。 方案二:总体设计思想与方案一相似,也是根据吊绳长度来调整物体的坐标位置,采用直流伺服电机

10、控制物体运动。直流伺服电机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,可实现频繁的启动和反转;且伺服电机自带光栅,具有高扫描精度,能精确的检测出电机转过的角度。但是在方案一的基础上,在物体在运动过程中,绳子与竖直方向的夹角是随物体的运动而变化的,这使伺服电机在牵引物体时其牵引力随物体的位置的改变而改变,其中力的变化和位置的改变是一个非常复杂的函数关系,这要求系统具有高速的数据处理能力,同时对执行系统的驱动电路参数做出迅速改变。这对于DSP等具有高速数据处理能力的系统来说相对容易,但对于MSC-51系列的单片机来说其要求实现难度较大。上述两种方案都能实现本次系统的设计要求,而且控

11、制灵活,精度较高,经过仔细地分析讨论,考虑到方案一在数据处理上相对简单,本设计采用方案一。1.2.2 各模块方案选择与论证1.2.2.1 控制器选择与论证 方案一:采用CPLD(复杂可编程逻辑器件)作为系统的控制器。CPLD内部各类门电路齐全,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定度,也可以运用VHDL(超高速硬件描述语言)语言软件来实现,而不必画出各逻辑电路的器件框图。CPLD采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模的实时系统的控制核心。由检测模块输出的信号并行输入CPLD,CPLD通过软件程序设计对数据进行处理,

12、并控制各模块的正常工作,而且掉电数据不丢失,但由于CPLD的集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和焊接的工作,若用实验箱的导线来连接,则可靠性不高,也影响美观。方案二:采用单片机AT89C55作为系统的控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程来实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术熟练和成本低等优点,使其在各个领域应用广泛。基于以上分析,采用方案二。由于本次设计中添加了无线数据传输功能,需要对数据进行实时传输,为了保证数据的正常传输,本设计采用双CPU作为控制系统。两片单片机分别对各模块进行检测和控制,

13、这样减轻了单个CPU的负担,提高了系统的工作效率和稳定性。1.2.2.2 电机驱动方案的选择与论证 电机的驱动电路主要通过控制电机的正转和反转实现物体在斜板上的运动。对于电机的驱动电路有以下几种方案。方案一:采用继电器对电机的开关进行控制,通过控制开关的切换速度实现对电机转速的调整。该方案的优点是电路较为简单,但是继电器的响应时间长,易损坏,所以不符合高速控制系统且寿命较短,可靠性不高。方案二:采用软件法。按照给定的通电换相顺序,通过单片机的I/O口向驱动芯片电路发出控制脉冲,并通过改变延时的时间来改变输出脉冲的频率,从而实现对步进电机转向和转速的控制。该方法需要占用大量的CPU时间,难以处理

14、其它任务,降低了CPU的工作效率。方案三:采用可编程器件GAL实现脉冲分配。GAL可采用ABEL语言按照给定的通电换相顺序实现脉冲分配,并向驱动电路发出控制脉冲。该方案的一个显著特点就是采用软硬件结合的方法,大大减轻了CPU的负担,只有向GAL发出两个控制信号就可实现对电机的控制。另一个特点就是电路简单,只需两片芯片即可,不需外加任何元件。基于以上分析,采用方案三。1.2.2.3黑线检测方案的选择与论证方案一:采用光电三极管作为采样传感器。利用光电三极管的光生伏特效应,利用黑色物体与白色物体对于光线的反射的不同,控制光电三极管的导通与截止,来反映当前传感器正对的是黑线或者是白色的底板。由于利用

15、自然光容易受环境的干扰,也难适合环境的变化。同时底板的浅色网格线造成的干扰难以消除或者减弱。 方案二:采用一体化红外对管作采样传感器。一体化红外对管,与其他光电传感器具有相同或者相似的工作原理。但由于其工作在不可见的红外光波段而具有一定的优势。同时由于红外对管本身带有滤光片,能减少环境光线的干扰。配合其他措施,甚至可以基本消除环境光线干扰。图1.1为红外传感器检测框图。 图1.1 红外检测框图基于以上分析,为了提高系统的抗干扰性,本设计采用方案二。1.2.2.4 键盘方案的选择与论证在该系统中需要通过键盘对坐标点参数进行设置,以实现对物体状态的控制,此处对以下两种方案进行比较。方案一:采用单片

16、机AT89C2051与地址译码器74LS138组成控制和扫描系统,并用AT89C2051的串口对主电路的单片机进行通信,这种方案既能很好的控制键盘及显示又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。但是该系统所接的按键数目有限,且占用了对应主CPU的串行端口,其应因此用受到限制。 方案二:采用HD7279,实现对按键的扫描、消除抖动、闪烁等功能。同时该芯片还可连接多达64键的键盘矩阵,软件编程简单。用7279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案一虽然也能很好的实现电路的要求,但考虑到电路设计实际需求和电路整体的性能,采用方案二。1.2.2.5

17、显示方案的选择和论证 用来实时显示物体中画笔所在位置的坐标,同时也可显示设定坐标点。方案一:使用传统的数码管显示。数码管具有以下优点:低功耗,低能,寿命长,耐老化,防潮,防晒,防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,精确可靠,操作简单。但是数码管体积大,显示位数有限,不适用于显示数字信息量大的情况。方案二:采用液晶显示屏显示坐标。液晶显示屏(LCD)具有轻薄短小、低功耗、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,可显示的信息量大,画面效果好,分辨率高,抗干扰能力强等特点。而且现在很多液晶都自带字符库,程序简单,应用方便。根据液晶型号的不同,有些液晶还可显

18、示中文和图片。基于上述分析,考虑到本次设计所要显示的信息量,采用方案二。1.2.2.6无线数据传输方案的选择与论证方案一:采用双向无线数据传输模块。该模块以通信RF芯片Nrf401为核心,具有通信速率高,功耗低,应用简便等特点,但费用相对较高。方案二:采用SP多用途无线发射接收模块。该模块的频率稳定度高,抗干扰能力强。同时由于该模块自身辐射极小,可以减少自身振荡的泄露和外界干扰信号的侵入,在小型数据传输终端应用广泛。比较以上两种方案,考虑到实际经济和应用问题,本次设计选用方案二。1.3 系统各模块的最终方案经过仔细地分析和论证,选定了系统各模块的最终方案如下:控制器:采用单片机AT89C55和

19、AT89C51组成的双CPU控制系统;电机:采用两只四相八拍步进电机;电机驱动:采用两片GAL16V8和两片L298;黑线检测:采用四对红外传感器;键盘:采用7279智能显示驱动芯片;显示:采用液晶显示屏(LCD)显示;无线发射/接收:采用SP多用途无线发射接收模块对;2. 系统的硬件设计与实现2.1 系统硬件的基本组成部分系统利用红外传感器将检测到的黑线信息转换为可被控制器辨认的电信号,控制器根据这些电信号和键盘发出的信号进行逻辑判断,控制电机转动,实现物体在斜板上的运动。该系统主要分为以下几个部分电路:单片机控制电路,电机驱动电路,黑线检测电路,键盘/显示电路,无线数据收发电路,自制电源电

20、路。系统原理框图如图2.1所示。 图2.1 系统原理框图2.2 主要单元电路的设计2.2.1 单片机控制电路 该系统采用AT89C55和AT89C51组成的双CPU控制电路。其中单片机AT89C55接收从传感器、键盘检测到的电信号和逻辑脉冲信号,并将输入的信号进行运算处理,控制各单元电路。AT89C51作为数据传输系统,主要控制远程数据传输,以保证数据传输的可靠性。两片CPU之间用双口RAM连接,起到隔离的作用,减少数据传输的干扰。控制电路原理图如图2.2所示。 图2.2 单片机控制电路原理图2.2.2 电机驱动电路本次设计选用的步进电机工作在四相八拍方式,驱动电路由GAL16V8和L298组

21、成。电路原理图如图2.3所示。 图2.3 电机驱动电路原理图其中GAL16V8为可编程器件,采用ABEL语言产生电机四相的控制时序。由于GAL的OUT端输出电流很小,无法驱动电极运转,所以后级采用L298驱动芯片来放大输出功率而不改变四相的时序状态,从而实现电机的驱动。当CLK口输入一个脉冲时,电机转动一拍,步角为0.45,因此可以通过给定脉冲的个数来确定电机转动的角度。In1端为电机转动方向控制端,为高电平时电机正转;低电平时反转。由于该系统使用两只步进电机,需要两个如图2.3的驱动电路分别控制各电机,GAL16V8的输入端与单片机相连,由单片机发出控制脉冲信号。2.2.3 黑线检测电路为了

22、确保对于任意黑色曲线寻迹,本系统采用了四个红外传感器来检测黑线。在实际使用中将传感器嵌入物体内部,使物体底面与斜面完全接触,基本消除了环境光线的干扰,提高了系统的可靠性。图2.4为其中一路红外传感器的具体实现电路,其余三路与本路使用同一参考电压UREF,增强系统的对称性,同时也方便电路的调试,简化了电路形式。该电路检测原理:光电传感器利用黑线与白线的反射光的强弱做出判断。当检测到黑线时,传感器接收头收到少量的光线,传感器截止,输出低电平。当没有检测到黑线时,底面白色反射大量光线,传感器导通,输出高电平。由于板上有浅色坐标线,也会被传感器到,产生干扰信号。 图2.4 红外检测电路原理图本模块电路

23、采用+5V供电,符合运放+3V30V的单电源电压要求,红外发光管限制最大电流50mA,导通压降约为1.1V,为取得比较好的使用效果,减少干扰,设定工作电流在10mA 左右 ,选择限流电阻R2:R2=U/I =4V/10mA =400,实际使用取电阻标称值360。接收管采用100K精密绕线电阻作为采用电阻,通过调节使传感器工作在最佳状态。为了减少网格线的干扰,需要调整VREF ,采用R3,R5,R6组成分压电路,为有较大的调节范围选取R3,R4,R5分别为:1.2K,500欧姆,100欧姆。考虑使用四路完全相同的传感器,本系统采用了由通用4运放LM324组成的过压比较器,输出经过1K的限流电阻和

24、5.1V的稳压管使输出电压被钳制在0V5V,使输出的高电平更高,低电平更低,对黑线的判断能力更强。2.2.4 键盘/显示电路由于添加了远程控制部分,本设计采用两块键盘显示电路,键盘部分均采用HD7279来读取按键值,送到单片机处理;系统电路部分采用LCD320*240LCD显示,远程控制电路采用1602LCD显示。键盘/显示电路主要实现坐标设定、运动方式的选择和显示坐标的设定值和当前值、运动时间等功能。图2.5为主系统的键盘显示电路原理图。液晶和7279均采用串行方传输数据,当有键按下时,7279的KEY脚由高电平变为低电平,单片机检测到这一信号后从DATA脚图2.5 主系统键盘显示电路原理图

25、读取键盘数据,并根据键值做出相应的动作。该液晶显示屏拥有320*240个点阵,分辨率高,显示界面清晰,信息齐全。本次设计中将制作多个显示界面,可以通过键盘来选择不同的界面,设置物体的运动状态,具有良好的人机交互功能。远程控制系统的键盘电路与图2.5相同,液晶选用1602,数据采用并口传输,其显示162个字节,不能显示文字和图片。本系统只需显示设定坐标值,将设定的坐标值发送给主系统控制物体运动。2.2.5 无线发射接收电路本次设计采用现成的SP多用途无线数据发射接收模块。图2.6(a)为SP数据发射模块,其工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,声表谐振器的频率稳定度仅次于

26、晶体。具有较宽的工作电压范围312V, 当电压变化时发射频率基本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。这套模块的特点是发射功率比较大,传输距离比较远,天线最好选用25厘米长的导线,远距离传输时最好能够竖立起来,因为无线电信号传输时受很多因素的影响,所以一般实用距离只有标称距离的一半甚至更少。该SP数据模块采用ASK方式调制,以降低功耗,当数据信号停止时发射电流为零。(a) 发射模块 (b)接收模块图2.6 无线发射接收模块实物图图2.6(b)为SP数据接收模块,其工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为105dbm,接收天线最好为2530厘米的导线,

27、最好能竖立起来。接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便。SP接收模块工作时一般输出的是高电平脉冲,不是直流电平,所以不能用万用表测试,该电路采用一个绿发光二极管串接一个3K的电阻来监测SP模块的输出状态。当有数据接收到时,绿灯亮,否则为暗。本设计将发射模块与远程控制系统相连,接收模块与系统主控制系统的AT89C51相连当该系统通过键盘设定坐标点和运动方式后,通过发射模块向主控制系统发送数据;接收模块负责接收这些数据并送给单片机处理。2.2.6 自制电源电

28、路为了调试方便并保证所用的电源满足系统功率的要求,该系统采用自制电源供电,该电路直接采用电网输入,即将220V、50HZ的交流电直接输入该模块,输出为本系统正常工作所需的三种电压:+5V,+15V,-15V。 图2.7 电源模块电路原理图电源供电部分电路如图2.7所示。该部分电路比较简单,不作详述。要说明的就是由于输出电压需提供较大的电流,所以相应的滤波电容取值较大,均为2200uF。三端稳压的负载重,功耗大,在工作时温度很高,为了保证其正常工作,需安装散热片。输出端的三只发光二极管作为指示灯,当电路各端有输出时,对应的指示灯亮。3. 系统的理论分析与计算3.1 物体到达设定坐标点过程的理论分

29、析与计算该系统采用计算两滑轮到物体吊绳的距离来实现步进电机对物体的运动轨迹的控制,控制实物图如图3.1所示。选用物体为长方体铁盒,其长(沿y轴方向)为14cm,宽(沿x 轴方向)为9cm。在物体的中心放置画笔,所指的物体坐标就是画笔所在的位置。设物体中心当前所在的坐标为,则物体上固线处C的坐标为C。如图所示滑轮中心到坐标格最左端的水平距离为15cm,则图中两个滑轮、物体和吊绳AB、DE分别构成两个直角三角形ABC、DCE,滑轮半径越小越精确。图3.1 定点运动示意图由图可得,AB=DE=(108-)cm,BC=(15+)cm,CE=(95-)cm根据勾股定理:斜边cm cm若物体要运动到坐标点

30、,则C点的坐标为C,此时构成直角三角形ABC、DCE,同理可得斜边的长度: cm cm比较吊绳和、和的长度,从而判断图中左右两电机的转动方向和角度。当时,左电机反转拉线;同理可根据和的大小来控制右电机的正反转。电机转动的角度分别由和、和长度差的绝对值决定,即|-|、|-|。本次设计采用的步进电机转动一周的周长为8.2cm,最小步进为0.45,即电机每转动一步,转过的位置为据此可以计算出物体要完成从C点到C点的运动,两个电机分别需转动的步数。甲电机的转动步数为乙电机的转动步数为步进电机转动的步数即为其收到的脉冲个数,单片机根据所得的脉冲数向电机驱动器发出脉冲,控制电机转动,使物体从一设定坐标点到

31、达另一设定坐标点,或从原点达到任意设定坐标点,并可实时显示画笔所在坐标位置。3.2 圆周运动理论分析与计算题目要求控制物体作圆心可任意设定、直径为50cm的圆周运动,可采用上面分析的到指定坐标点的方法,即把圆看成是有由无数各点组成的,取其中的有限个点来一步步完成圆周运动。这就要求物体在作圆周运动时要知道下一点的坐标值,可以通过软件计算或查表法来得到这些数据。 若采用查表法,为了保证圆的精度,需在圆周上等间隔取较多的点,将处理好的数据以表格的形式保存在单片机内。由于数据量大,这一工作量是很庞大的,而且这些数据占用了大量的CPU内存。而软件计算只多了两步运算,对CPU的工作效率影响不大。所以本次设

32、计采用软件计算方法。物体作圆周运动的实质就是到达指定坐标点的运动。若设定圆周运动的圆心为(x0,y0),如图3.2所示,设作圆周运动的起点为圆最左端的点,即(x0-25,y0)。则物体在系统的控制下首先找到该起点,然后自该点沿顺时针方向运动。根据图3.2得,圆周上各点(x,y)可有下列公式计算所得: ,其中的值由到-变化,的步进越小,取点数越多,精度越高。3.3 黑线检测理论分析由于题目要求所画曲线为任意曲线,并且线宽在1.5cm到1.8cm之间,颜色为黑色;并且中间存在2个间断点,间断距离不大于1cm。坐标上曲线轨迹如图3.2所示。根据前面分析,我们采用四只红外传感器进行黑线检测,根据信号处

33、理后输出的高低电平来判别传感器是否在曲线上,从而通过单片机控制两只步进电机使物体保持沿曲线运动,并能顺利通过断点到达曲线终点。四只传感器的序号和位置分别如图3.3所示,安装在物体中央区域。1、3水平放置,2、4垂直放置,物体中心为画笔所在位置。放大曲线轨道区域如图3.4所示。图3.3 光点传感器位置分布图图3.4 放大曲线轨道区域及传感器分布图示意图物体沿曲线运动过程中,要求4对光电传感器保持在曲线上;当有1只或2只传感器脱离曲线时,立即通过2只步进电机进行运动方向纠正,使其回到曲线上。电机以单步进行调整,1、2、3、4分别代表左、上、右、下首先出界点。调整纠正方法如表1所示。曲线上断点检测是

34、通过物体运动方向上首先信号发生变化的点,但又不是偏离运动轨迹的点,即确认为间断点。此点不为纠正调节点,继续维持原来运动方向。直至通过间断线并记录2个间断线后到达第3个间断线既为曲线终点,执行停止操作。并适时显示物体通过曲线轨迹的位移和时间,并保存数据。(注:第1 间断线不计长度和时间,第二间断线计长度和时间)。表1 物体运动调整表步进电机运动出界方向运动纠正方向步进电机纠向转动状态左左上右下正转右下左上反转右右上左下正转左下右上反转注:步进电机反转为拉线,正转为放线。4. 系统的软件设计系统的软件设计采用C语言对单片机进行编程实现各项功能,其中可编程器件GAL采用ABEL语言来描述换相状态。C

35、语言程序在Windows XP环境下采用KeiluVision 2 软件编写,实现对红外传感器的信号查询、电机方向、输出脉冲数控制、键盘显示等功能。同时由于本次系统需要进行大量的运算,采用C语言编程可以大大简化程序,与汇编语言相比,体现出明显的优势。4.1 系统主程序流程图系统主程序流程图如图4.1所示,物体的运动方式通过键盘选择,设定的坐标点在不同的运动方式下表示不同的含义:作圆周运动时,该点为圆心;作到指定坐标点运动时,该点为运动的目标点;作黑线检测时,为黑线的起始点。系统根据设定方式作出控制物体作出相应的动作。从远程控制电路中接收到的数据有坐标值和代码,系统通过代码值来判断物体做何种运动

36、。 图4.1 系统主程序流程图4.2 键盘子程序流程图单片机对按键有效输出端进行检测,当有键按下时,发送读键盘数据指令读取键值。程序对每个键值的功能都预先作了设定,根据读取的键值判断下一步将要执行的功能。本设计中的两个键盘采用相同的子程序。键盘子程序流程图如图4.2所示。4.3 指定坐标运动子程序设定坐标点(x1,y1),控制物体从当前位置运动到指定坐标的过程。该子程序流程图如图4.3所示,图中的字母代表的点如示意图3.1所示。4.4黑线检测子程序根据四个红外传感器的组合状态,单片机分别控制两只电机进行相应的运动,使物体沿黑线运动,并能准确地判断出断点并能通过断点继续运动,直到走完黑线。黑线检

37、测子程序流程图如图4.4所示。 图4.4 黑线检测子程序流程图5. 系统测试与分析为了确定系统实现的功能与题目要求的符合程度,需要对系统的关键部分进行实际的测试。5.1 测试仪器测试所用的仪器设备如表5.1所示。 表5.1.1 测试所用仪器设备 序 号名 称型号、规格 1示 波 器TDS1012 2秒 表精度0.01s 3卷 尺最大测量距离500.0cm,最小量程0.1cm5.2 测试方案、数据及结果分析5.2.1 自行运动测试题目要求系统能控制物体在坐标网格范围内作自行设定的运动,运动轨迹不小于100cm。根据要求,将物体放置在右上角(78,85)处,设定运动坐标为(12,16),控制物体运

38、动.测量数据如表5.2.1所示. 表5.2.1 自行运动测试测 量 次 数轨迹长度(cm)时间(s)1115.395.122114.694.353116.195.61由上表中的数据可以看出,物体可以实现自行设定的运动,且运动轨迹长度大于100 cm,所用时间远远小于限定时间。5.2.2 圆周运动测试测试方法:给系统上电控制物体作圆心可任意设定、直径为50cm的圆周运动。根据画笔在板上所画的圆,取出部分数据比较它与理想圆周上的对应点之间的偏差,并测量出作圆周运动所需的时间。设定圆心为(60,60),运动中所画圆的具体数据比较如表5.2.2所示。 表5.2.2 圆周运动测试理 论坐标值(cm)实

39、际坐标值(cm)偏差(cm)运行时间(s)1(35.0,60.0)(35.1,60.5)(0.1,0.5)163.482(45.3,80.2)(45.5,80.)(0.2,0.2)3(60.0,85.0)(59.2,84.1)(0.8,0.9)4(85.0,60.0)(83.5,61.2)(1.5,1.2)5(67.7,36.2)(66.5,36.7)(1.2,0.5)6(74.6,80.2)(74.0,79.3)(0.6,0.7)7(45.3,39.7)(45.0,38.6)(0.3,1.1)8(36.2,52.2)(36.9,51.3)(0.7,0.9) 由表5.2.2可以看出,物体作圆周

40、运动时离y轴最远点误差最大,这主要是由于物体作顺时针运动,在该点时向下走,受重力的影响最大,但总体误差均在1.5cm以内,远远小于4cm ,运动时间也符合题目指标要求。5.2.3 指定坐标运动测试物体从左下角坐标原点出发,在150s时间内达到设定的一个坐标点(两点间的直线距离不小于40cm)。设定坐标点为(61,87 ),物体运动时间如表5.2.3所示 表5.2.3 定点运动测试测试次数实际到达点坐标(cm)误 差 (cm)运行时间(s)1(61.8,86.1)(0.8,0.9)126.212(61.4,86.3)(0.4,0.7)125.463(61.7,85.9)(0.7,1.1)125.

41、87 从上表可以看出,物体作定点运动时误差在1.1cm以内,在预定时间内到达指定坐标点,实现题目要求。5.2.4 黑线检测测试根据题目要求,在板上任意标出一曲线,线宽为1.8cm,总长度约50cm,颜色为黑色;曲线的前一部分是连续的,长约30cm;后一部分是两段总长约20cm的间断线段,间断距离不大于1cm;沿连续曲线运动限定在200秒内完成,沿间断曲线运动限定在300秒内完成。实际运动状况如表5.2.4所示。 表5.2.4 黑线检测测试 测试次数 1234连续线段时间(s)75.1686.5974.8278.67间断线段运行时间(s)197.95167.95240.5172.4 由上表可得,

42、物体在检测连续曲线时速度较快,运动过程比较顺利,在检测断点时速度明显减慢,用时较长。6. 结束语本设计在硬件上使用红外传感器来检测存在断点的黑色曲线,采用可编程器件GAL16V8和L298组成的驱动电路解决了电动机驱动的效率问题和单片机的利用率问题。软件上利用C语言编写算法方面的优势,实现距离的精确测量,能够准确地控制物体的做圆周运动,定点运动。从最终的测试结果来看,本系统能够较好的完成题目的要求。参考文献1余永权 单片机在控制系统中的应用 电子工业出版社 2003年10月2丁淑敏 GAL器件在步进电机控制中的应用郑州纺织工学院学报 1999年6月 第十卷第二期3Applicationa of

43、 monolithic bridge driversSGS-THOMSON MICROELECTRONICS AN240/12884全国大学生电子设计竞赛获奖作品选遍(2003)北京理工大学出版社 2005年附录:附录1 主要元器件清单附录2 系统原理图附录3 系统使用说明附录4 程序清单附录1 主要元器件清单序号元件名称型号、规格数量1MSC-51 CPUAT89C5512MSC-51 CPUAT89C5123电机驱动芯片L29824可编程逻辑器件GAL16V825通用运算放大器LM32416红外对管TCRT500047数据锁存器74LS57328双口RAMIDT713219晶体振荡器22.

44、11B4MHZ110晶体振荡器12MHZ211三端稳压器LM7805112三端稳压器LM7815113三端稳压器LM7915114三端稳压器LM317115步进电机四相八拍216无线收发模块117其他常用器件附录2 系统原理图附录3 系统使用说明 系统键盘界面如图6.1所示。使用时结合液晶显示屏上显示的界面进行操作。系统上电后,按“设置”键,LCD进入坐标设置界面,按“”键可改变光标的位置,在对应的位置按数字键输入给定的坐标值,按“确定”键,LCD进入运动方式选择界面,通过“”键选择运动方式,按“确定”键,系统控制物体在斜板上作相应的运动。按“归位”键,物体回到原点。 远程控制系统键盘界面如图

45、6.2所示。该模块采用电池供电,可直接使用。按“设置”键,液晶显示屏有光标闪烁,按数字键设值坐标值(x0,y0),按“确定”键表示完成坐标设置。若按“画圆”则物体在斜板上做以(x0,y0)为圆心的圆周运动;若按“定点”则作到点(x0,y0)的定点运动。附录4 程序清单#include#include #include#include/#define uchar unsigned char#define uint unsigned int#define ufloat unsigned float/*子函数定义*/void long_delay(void);void short_delay(voi

46、d);void delay500us(unsigned char);void write7279(unsigned char,unsigned char);unsigned char read7279(unsigned char);void send_byte(unsigned char);unsigned char receive_byte(void);void initialize_7279(void); /*7279初始化*/void init_initialize(void); /*串口初始化*/void send_char_com(unsigned char); /向串口发送一个字符

47、/ void send_string_com(unsigned char,unsigned int);/向串口发送一个字符串,strlen为该字符串长度void disply_initialize(void); void keyboard_answer(unsigned char);/*7279键盘响应*/void send_string_com11(unsigned char,unsigned int);void display_picture02_shuju(void);void send_zbdq(void);void reverse_pic02_zb_sd(void);/-void c

48、hange_number_in_picture(unsigned char);void send_zbsd(uchar ,uchar);void reverse_pic03_sd_x1(void);/ SD picture03void reverse_pic04_ziyou_fs(void);void change_str_int(uchar);void bushu_jisuan(uint,uint);void left_light_buju_js(void);void char_int_str(void);void xunji_yundong_panduan(void);void yundo

49、ng_up_right(void);void xinhao_panduan(void);void duandian_go(void);/-/sfr p3=0xb0;sfr p2=0xa0;sfr p1=0x90;sfr p0=0x80;/-/uchar idata right_s_x;uchar idata duandian_geshu;bit wancheng;/*宏定义*/#define CMD_RESET 0x0a4#define CMD_TEST 0x0bf#define UNDECODE 0x90 /*下载数据但不译码*/#define DECODE0 0x80 /*下载数据并按方式0译码*/#define DECODE1 0xc8 /*下载数据并按方式1译码*/#define CM_READ 0x15/-控制部分定义-start-/uint left_bushu=0; / 左边电机要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论