二维物体斜面黑线运动算法

上传人:QQ40****828 文档编号:442587 上传时间:2018-10-02 格式:DOC 页数:43 大小:605.50KB
返回 下载 相关 举报
二维物体斜面黑线运动算法_第1页
第1页 / 共43页
二维物体斜面黑线运动算法_第2页
第2页 / 共43页
二维物体斜面黑线运动算法_第3页
第3页 / 共43页
点击查看更多>>
资源描述
I二维物体斜面黑线运动算法摘 要该系统设计运用机械运动原理、自动控制技术、传感器技术及单片机控制技术让物体能沿 2 厘米宽无规则黑曲线运动、到达指定坐标点、画圆等二维空间运动要求。在凌阳 SPCE061A 单片机的控制下,采用键盘作为外部数据、命令控制输入。同时系统采用了两个交流减速齿轮电动机、两个定滑轮、以及其他的辅助设备作为悬挂物体运动控制装置。系统实现了数据处理、电机控制、识别黑色曲线轨线、选择正确的移动方向等功能,也实现了画圆、寻迹等功能及其指标。关键词 凌阳 SPCE061 单片机,光电传感器,交流减速齿轮同步电动机,二维自动控制IIABSTRACTThat system design makes use of the machine sport principle, automatic control technique and transducer technique and the singlechip control technology letting physical ability does not have the rule black curvilinear motion along 2 centimeters widths, arrives assigns to sit the punctuation, the picture circle and so on, the two-dimensional space movement request. Under the control of SPCE061A, exertion the keyboard to be the exterior data and importation of the order control. That system adopts two alternating current gears down wheel gear electrometers, two settle pulley and other assistances equipments to be to Suspended the sport device of the object control system, eagling with the data, controlling the electromotor, identifying the black lines and choosing the direction of movement etc.Completed the required circle drawing and track seeking function.Keywords The SPCE061 singlechip, Photoelectricity transducer, Alternating current gear down wheel gear electrometers, Two-dimensional automatic control1目 录摘 要 .IABSTRACTII1 绪论 .11.1 关于本设计 11.2 设计要求 .11.3 系统整体操作运动 .22 系统基本方案 .32.1 各模块器件选择 .32.1.1 单片机选择模块 .42.1.2 电机选择模块 .42.1.3 电机控制模块 .52.1.4 显示模块 62.1.5 输入模块 62.1.6 信号检测模块 .72.1.7 电源设计模块 .72.2 系统各模块的最终方案 82.3 系统各模块的硬件电路 82.3.1 电动机及其光电开关检测电路 82.3.2 光电传感器检测电路 92.3.3 电机控制部分的单元电路设计 92.3.4 键盘控制电路的工作原理及设计 .112.3.5 集成显示电路设计 122.4 检测模块的方案论证 132.4.1 一个光电传感器 .132.4.2 三个光电传感器 .142.4.3 四个光电传感器 .152.4.4 八个光电传感器 .163 软件设计 .183.1 系统各部分运动算法 183.1.1 运动距离的算法 .1823.1.2 圆周运动算法 .183.1.3 沿有断续曲线运动算法 .193.2 软件流程图 203.2.1 主程序流程图 .203.2.2 键盘控制子程序 .213.2.3 走设定坐标子程序 223.2.4 画圆运动子程序 .243.2.5 电机自由控制子程序 253.2.6 探测运动子程序 .263.2.7 其他子程序 274 系统测试 .284.1 测试指标 .284.1.1 仪器及器件测试 .284.1.2 点到点运动的测试 294.1.3 圆周运动的测试 .294.1.4 轨迹寻迹运动的测试 294.2 误差分析 .30结论 .31附录 A: 主要元器件清单 32附录 B: 程序清单 33参考文献 .37致 谢 .3811 绪论1.1关于本设计二维物体斜面运动算法是 2005 年全国大学生索尼杯电子竞赛 E 题“悬挂运动控制系统”延伸出的研究课题。在本次设计大赛中,我院获得了二个二等奖一个三等奖的好成绩,但在 E 题设计时,本题发挥部分的设计未做成功,二维物体斜面运动算法主要是研究本部分的方案及其实现。“索尼杯全国大学生电子设计竞赛”是教育部倡导的四大学科竞赛之一,它始于 1994 年,是由教育部高等教育司、信息产业部人事司共同主办、索尼公司协办的面向全国高等学校大学生的学科竞赛活动。本课题是电子专业的合口课题,该课题是自动控制方面的研究性课题,自动控制是近几年来发展飞快的新兴研究科学,它的发展将直接改变人们的生活状况。自动控制技术不仅是计算机的重要门类,而且是实现工业生产自动化,优质、高产、低耗,提高工业企业经济效益的重要技术手段。发展自控技术对实现工业现代化、促进产业信息化和振兴经济有重要意义,研究自控技术和改造传统产业以及促进两个根本转变都有很大意义。 自动控制理论在近 50 年里得到很大发展。对机制较简单、环境较理想、控制目标单一的系统,在理论上得到较好解决,并且得到大量成功的应用。本课题拟采用实验性研究方法对二维物体斜面运动算法的研究,对个模块进行了理论分析和方案论证,分析各方案的可行性,再进行合理的选择,选出符合实际要求的方案,参考各种已有的资料,设计出方案所要求的硬件电路并进行相应的调试,通过程序在硬件上的调试来成功的完成本次设计。经过专业知识积累,已具备了研究本课题的理论知识的基础,且在本次电子竞赛中,已具备了一定的电子操作能力及设计经验,相信能通过自身的努力来完成本次课题的设计,本课题可充分培养动手、实际操作能力,是有很高的操作性、实践性及创新性的,要运用到各种已学的专业知识才能很好完成本课题的设计。拟采用的设计过程:总体方案框架设计各模块器件选择系统硬件的主要单元电路的设计方案可行性分析程序算法实现软件流程各部分实现的子程序系统各部分测试总结1.2设计要求设计任务:2设计一个电机控制系统,控制物体在倾斜(仰角100 度)的板上运动。在一个白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮吊绳控制一个物体在板上运动,运动范围为 80CM100CM,左下角为直角坐标原点。物体的形状不限,质量大于 100k。 控制物体在 80cm100cm 的范围内做自行设定的运动。 控制问题作圆心可任意设定、直径为 50CM 的圆周运动。 控制物体跟随板上标出的任意曲线运动,线宽 1.5cm1.8cm,总长度约50cm ,颜色为黑色,曲线的前一部分是连续的,长约 30cm,后一部分是两段总长约 20cm 的间断线段,间断距离不大于 1cm,沿连续曲线运动限定在 200 秒内完成,沿间断曲线运动限定在 300 秒内完成。1.3系统整体操作运动 控制系统通过键盘方式设定坐标点参数。采用自制的 44 键盘就能完成本次功能,在程序中执行时,按下固定的按键,将生成坐标参数键盘,这时按下的键位即是所生成的坐标。输入至单片机,生成程序控制字,控制电机 1 或电机2 运动或电机 1 与电机 2 同时运动,通过定滑轮拉动控制物体运动,同时电机上的光电传感器对电机转盘上的黑白条感应,转换成电脉冲信号,输出给 2 位显示电路显示其脉冲数,同时输入给单片机,告诉单片机物体现在所走过了的距离,当受控制物体到达所要到达的坐标,进入程序中断,使电机停转。 控制物体作自行设定的运动。在程序执行时按下指定一个键位,系统进入控制物体自行设定的运动程序,生成程序控制字,控制电机运动,通过定滑轮拉动控制物体作自行设定的线路运动,直至运行结束。 控制物体作直径为 50cm 的圆周运动。在本题的画圆控制中,从一个坐标运动到下一个坐标,首先在凌阳单片机的程序中,有从这个坐标到下个坐标的控制字,控制字使单片机相应的端口置为高电平,高电平输出给电机控制板,控制电机运动,拉动控制物体运动,当受控制物体到达所要到达的坐标,进入程序中断,单片机运行下一个控制字,如此循环,直至画成一个圆。 控制物体沿板上标出的任意曲线运动。该功能要通过控制物体上的光电检测器来完成,在前部分的连续曲线的运动中,当受控制物体到曲线的弯折处时,光电检测器检测到信号,再输出给单片机,由单片机来控制电机,是电机正转还是反转,是单个电机转还是二电机同时转,从而使控制物体沿曲线运动。在后部分的断续曲线运动中,当到达曲线的断点处时,由于光电检测器没有检测到信号,由单片机控制物体沿八个方向作探测性的搜索,检测到曲线信号,确定曲线方向,控制物体继续沿曲线运动,完成本部分功能。32 系统基本方案根据题目要求,系统可以分为控制部分和信号检测部分。其中控制部分包括单片机控制模块、电机驱动模块、电机控制模块、显示模块、输入模块、探测模块。本着简易、实用、廉价、易操作等设计理念,对整个模块进行了理论分析和方案论证。 整个系统示意图如图 2.1光电 传感器 1电 机 1(主苾片)单片机44 键盘集成显示器双电源电机控制板 1电机控制板 2光电 传感器 2电 机 2定滑轮 1 定滑轮 2检测器图 2.1 整体系统框图2.1各模块器件选择本题是一个机、电、光一体的综合设计,在设计中运用了检测技术,自动控制技术和电子技术。系统可分为电源部分,智能控制部分和传感器检测部分。电源部分:系统中采用自制的电源将 220V 电压降至恒稳的 12V 和 5V 电压对单片机、电机、电机控制部分、显示数码管、键盘、计数器、光电传感器供电。智能控制部分:系统中控制器件根据由光电传感器变换输出的电信号进行逻4辑判断,控制悬挂系统的电机,显示数码管,完成了悬挂物体的自动寻迹,寻迹移动等各项任务。控制部分包括 4 个主要单元电路:单片机控制电路,左右电机驱动及控制电路,44 按键输入电路,数码管动态显示电路。 传感器检测部分:系统利用光电传感器检测到的外部信息转化为可控制器件能识别的电信号,传感器检测部分主要用于轨迹探测电路。2.1.1 单片机选择模块方案一:采用英特尔的 MCS51 单片机。方案二:采用凌阳公司的 SPCE061A 单片机。方案三:采用 FPGA(现场可编程门列阵)作为系统的控制器,FPGA 可以实现各种复杂的逻辑功能,即将所有的器件集成在一块芯片上,它采用的是并行的输入输出方式,适合大规模实时系统的控制核心,但是由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,使硬件电路板布线复杂,加重了电路设计和实际焊接的难度。 表 2.1 单片机性能比较单片机 SPCE061A MCS51核心 16 位 nsp 核心 8 位 8051 核心GPIO32 位:A(16) 、B(16) ;可以按位单独定义其状态32 位:P0(8) 、P1(8) 、P2(8) 、P3(8) ;不可以按位单独定义其状态中断结构 14 个中断源,两个优先级 5 个中断源,两个优先级存储器 32K 字 FLASH,2K 字 SRAM 4KROM, 128K 字节 RAMCPU 时钟 32768Hz-49.152MHz(可软件选) 2-8MHz位操作 有 无由于本设计对单片机内部资源要求较高,MCS 51 单片机不能满足要求,另外凌阳单片机还有 2 通道 10 位 DAC,7 通道 ADC 和 1 通道 MIC 输入,触键唤醒功能,PWM 输出,看门狗的外围电路大大减化,并且凌阳的单片其语音动能比较全面,所以选择凌阳 SPCE061A。 2.1.2 电机选择模块 电机选择方案一:采用 220V、50Hz、20 转每分交流齿轮减速同步电机,这种电机的内部是永磁铁的转子,定子旋转磁场与内部转子转速相同,其优点是:成本低、使用方便、控制电路简单,能够很好对电机的转动时间进行实时控制;缺点是:启动时转矩小,转速随电源电压波动较大,但可通过采用恒定的电源电压为电源,5减小这种影响。方案二:采用直流步进电机,当输入电流脉冲时,电流产生磁场,由脉冲数来控制转角。其优点是:控制逻辑电路简单,只需要控制脉冲数,就能够达到很精确的定位。缺点:成本较高,需稳定性较高的驱动电路。方案三:采用直流电机,这种电机的优点:转矩大,转速平稳。缺点:所需电源电压要求较高,成本较高。考虑到本设计的实际情况和成本,选用 220V、50Hz、20 转每分交流齿轮减速同步电机能够满足设计要求和所要达到的精度要求。 电机驱动模块选择电机的驱动电路主要通过电机的正转和反转实现悬挂物体的上升或下降的方向选择。对于电机驱动电路有下面的几种方案:方案一:采用步进电机对悬挂物体进行定位,该方案的优点是可以精确地控制转子转动的角度,来对悬挂物体进行定位。缺点是步进电机的编码较复杂,成本也相对较高,并且一般步进电机需要驱动。方案二:采用两个 220V / 50Hz / 20r/min / 10W 的齿轮式减速同步电机。采用继电器对电动机的开或关进行控制,通过引脚电平的切换对电机的转向进行调整。这个方案的优点是电机转速恒定,停止转动时转子被抱紧,因此能够对悬挂物体进行定位,电路比较简单,缺点是继电器的响应时间慢,机械结构易损坏,寿命较短可靠性不高。基于上述理论分析,拟定方案二。通过两个电机的配合动作,再对两个电机运动的矢量合成来完成对悬挂物体的定位和运动。2.1.3 电机控制模块在电机选择模块中选用的是交流齿轮减速同步电机,因此电机控制模块有以下两种设计方案:方案一:采用脉冲宽度调节方式来控制电机,通过桥驱动电路来控制电机,达到控制电机转速的目的。调节脉冲宽度的占空比可精确调节电机转动时间,由于要采用桥式电路,斩波频率比较高,提高了电源的利用率,但由于开关管有一定的压降,功率损耗较大,死区不易控制,容易烧坏脉冲宽度调节开关管,给调试带来不便,增加了设计的不确定因数。方案二:利用继电器的打开和闭合,来控制电机的转停,从而实现对电机的控制。在实际控制中,用 12V 直流电压来控制光耦继电器,并由此来控制电机的转动、停止、正转、反转,并用光电传感器来检测控制电机的转数,以控制电机绕线运动的距离。即在电机的转轴上面安装 60 条黑白线条的转盘,利用光电传感器(光电传感器的型号为 LTH155001)对黑、白线条的反射不同来得到高低6电平。 利用继电器和光电传感器的组合来控制电机的转数是比较精确的,最大程度减小了系统误差,且其操作简单易行。通过对以上两种方案的比较,选择利用继电器的打开和闭合,来控制电机的转停,以实现对电机的控制。2.1.4 显示模块方案一:使用液晶显示器屏显示。液晶显示器屏(LCD)具有轻薄短小,低耗电量、无辐射危险,平面直角以及影像稳定不闪烁等优势,可视面积广,画面效果好,分辨率高,抗干扰能力强等特点。但由于只需显示少量的数字,信息量比较少,且由于液晶是以点阵的模式显示各种字符,需要利用控制芯片创建字符库,编程工作量大,控制的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用 VFD 驱动芯片显示。VFD 模块即真空荧光显示模块,是一种新型的显示模块。应用于高档的音响,影碟机及仪器仪表上。其亮度高,工作温度范围大,寿命长,外围电路简单,只需单+5V 电源就可以工作,功耗低。但其编程工作量大,控制的资源占用较多,其成本也偏高。 方案三:使用传统的数码管显示。数码管具有:低耗能、低损耗、寿命长、耐老化、防晒、防潮、防火、防高温(低温) ,对外界环境要求低,易于维护,同时其精度比较高,称量快,精确可靠,操作简单,传统的 8 位数码管 LED 动态扫描显示以能满足本设计的显示要求,且其编程容易,资源占用较少。为实现本设计的廉价、易操作性,选用方案三来实现显示功能。2.1.5 输入模块方案一:键盘控制输入,考虑到本设计系统的要求,44 的键盘已能够完成题目的要求,另外 44 的键盘结构简单,制作方便,能够很好的与单片机系统结合起来,信号也能够及时的、完整的送到单片机内,不容易受外界环境的干扰、影响,能够很好的达到人机结合的操作界面。对于命令输入、控制、操作方便。方案二:语音控制输入,由于在设计中只使用单片机组成的最小系统,因成本及外接电路的原因,没有外接其他的 DSP 处理芯片,另外凌阳 SPCE061A 单片机具有的数字语音信号处理系统,但是由于语音输入信号控制受外界环境影响较大,且易受操作人员自身条件的影响,而且数字语音信号处理系统的局限性,即只能识别初始化系统时输入的语音,即其可操作性不便。 方案三:遥控控制输入,能够用一般的遥控集成块、遥控器、发射接收信号(一对红外二极管)装置,进行遥控控制,输入命令、数据达到系统的控制要求,该方式操作方便,但其编程量大、外接电路复杂,不便整个系统的简化。方案四:通过使用触摸屏,确定坐标点参数。触摸屏可以形象显示坐标点位7置,工作稳定。但由于只需输入两个字节的坐标点参数,信息量比较少,且是以点阵的模式处理数据,需要利用控制芯片创建坐标点库,编程工作量大,其成本也偏高。方案五:使用通用可编程键盘。键盘编程容易,可实现对键盘的自动扫描,识别闭合键的键号,可以节省单片机处理键盘的时间,提高单片机的工作效率,但其编程工作量大,其成本也偏高。综上所述,方案一能够很好的与单片机配合在一起,而且操作简单,方便。因此在输入命令、数据控制方案上选择第一种方案。2.1.6 信号检测模块方案一:采用 CCD/CMOS 光电成像传感器,通过图像识别得到悬挂物行走轨迹。实地拍摄坐标纸图像,由单片机处理后分析找出黑线延伸方向,控制悬挂物体沿黑线前进。但此方案实现难度较大,短期内无法完成。方案二:采用反射式红外传感器阵列,通过多个红外光电头的探测信号得到悬挂物行走轨迹。由于黑色物体和白色物体的反射系数不同,从而实现对黑白物体的分辨。方案二易实现,采用反射式红外发射接收传感器,可以减少外界光干扰,对黑色物体的检测效果好。考虑到传感器需要安装在重物上面,反射式红外发射接收传感器,无外围电路,安装、使用简单,很适合本系统使用。利用反射式光电传感器检测黑线的电路如图 2.3 所示,其示意图如图 2.2 所示。电路工作过程如下:当探测到黑线时,红外光电二极管 U1 发射出的光被反射回来的强度很弱,光敏三极管无法导通,所以 A 点此时为高电平,通过带施密特功能的反相器 74HC14,单片机收到的信号是低电平。当探测到白色底板时,红外光电二极管 U1 发射的光被反射回来的强度很强,光敏三极管导通,所以 A 点此时为低电平,通过 74HC14,单片机收到的信号是高电平。图 2.2 光电反射原理图 图 2.3 光电电路图2.1.7 电源设计模块设计电机控制系统,控制物体在倾斜(仰角100 度)的板上运动。供电系统8须对单片机、电机、电机控制部分、显示数码管、键盘、计数器、光电传感器供电。单片机的工作电压为 5V,电机的工作电压为 220V,电机控制部分工作电压为 12V,计数器工作电压为 5V,光电传感器工作电压为 636V,显示数码管、键盘是直接连接在单片机上的附件,由单片机直接供电。对于电源的选择有多种方案,这里有选择两种方案。方案一:采用双路直流稳压电源。双路直流稳压电源可以分出两路电压,分出的电压范围在 032V 之内,这样可直接对单片机、计数器供 5V 电压,对光电传感器供 12V 电压,对电机和电机控制电路直接供 220V 电压。这样可以解决系统供电问题。该方案优点是对低压电路(尤其是光电传感器)电压可微调,有较强的选择性,缺点是它为成品,体积、重量较大不便安装。方案二:采用变压线圈自制电源。自制电源可将 220V 电压降至稳定的 12V和 5V,偏差为0.2 V ,在这个偏差范围内不会对系统造成影响。考虑到系统只需 3 种电压 5V、12V 和 220V。各模块对电压微调的要求不高,可对单片机、计数器供 5V 电压,对光电传感器供 12V 电压,对电机和电机控制电路直接供 220V电压。该方案的优点是体积小、重量轻便于安装,成本低。缺点是不可微调电压。基于以上分析拟定方案二。在电源设计中,设计采用自制电源对单片机、显示数码管、键盘、计数器、光电传感器等供电。2.2系统各模块的最终方案经过分析和论证,确定了系统各模块的最终方案如下: 单片机选择模块:选用凌阳 SPCE061A 单片机; 电机选择模块:选用齿轮减速同步电机; 电机控制模块:选用继电器和光电传感器组合控制电机; 显示模块:选用 8 位数码管 LED; 输入模块:选用 44 的键盘; 信号检测模块:选用反射式红外传感器;2.3系统各模块的硬件电路2.3.1 电动机及其光电开关检测电路由于本题是利用电动机的正反转来带动控制物体运动,而要知道控制物体的运动情况,就必然要把控制物体在画板上的坐标运动,转换成电动机所转的圈数,即电动机接收脉冲数的多少。在该设计中采用在电机的转盘上安装一个 60 条黑白线均匀的圆盘,再用光电开关来检测,如下图所示,当要控制物体在画板上运9动时,电机转动,光电传感器利用接收黑白电平时输出的高低电平,当光点传感器检测到黑色条纹时,输出高电平给单片机,相反当检测到白色条纹时,输出低电平,从而把连续输出高低电平转化为脉冲数,也就把电机转动时带动有黑白线的圆盘黑白条数转换成脉冲数,从而触发光耦 U1 或 U2,经 IOB2 或 IOB3 口输入信号给单片机来控制电机的转动,计算物体运动轨迹,从而控制物体的运动。Optoisolator1U11KR111KR2+5传传传传传+5Text74HC14IOB2 or IOB3图 2.4 电机上光电传感器2.3.2 光电传感器检测电路要控制物体能够跟随板上标出的任意曲线运动,制作了一块光电传感器电路以识别板上所标出的曲线,输出脉冲以供单片机识别,从而控制电动机的转向,使控制物体沿板上的曲线运动。其工作原理是当 U1 从低电平到高电平时,即从白纸到黑线,使 U1 触发,经 74HC14 第二次反相,输入一个脉冲给单片机,从而控制电机,使控制物体沿画板上的黑线运动。100R111KR3500R2 +5IOB012图 2.5 探测物体电路102.3.3 电机控制部分的单元电路设计电源电路的设计该电路用于为各模块电路供电,其中向二个电动机控制电路提供+12V 工作电压,向二位显示电路及检测电动机的光电传感器、单片机控制系统提供+5V 工作电压。以保证对电动机的控制,显示当前的脉冲,及光电传感器的正常工作。下图为工作电源电路图Trans EqT1D4D3D1D2104C3 104C5104C4 104C62200uFC12200uFC22200uFC72200uFC87912781212D179057805100uFC9100uFC10104C11104C12100uFC13100uFC14 12D2-12V-5V5V12V220V图 2.6 双电源电路图 电动机控制电路的工作原理及设计电机驱动部分分为左右两部分,两个电机配合工作负责悬挂物体的拉动定位。两个电机为齿轮减速同步电机,转数恒定为 20r/min,设计两个控制电路来控制电机的开关。继电器对电动机的开或关进行控制,通过引脚电平的切换对电机的转向进行调整。电路采用光耦继电器式对电机的转动及转向进行控制。如图所示,当 IOB8或 IOB10 为高电平时,光耦 U1 导通,8050 导通, +12V 电压驱动继电器,从而使交流 220V 电压加到电动机上,电动机正转。当 IOB9 或 IOB11 为高电平时,光耦 U2 导通,8050 导通,+12V 电压驱动继电器,从而使交流 220V 电压加到电动机上,电动机反转。当 IOB8 或 IOB10 与 IOB9 或 IOB11 都为低电平时,电机停止转动。由于所选电动机具有抱闸功能,为齿轮减速电动机,因此在断电的时候,几乎能同时停止运动,保证了物体运动的准确性,而且外围电路简单,很容易操作。 端口说明: IOB8 控制电机 1 的正转,IOB9 控制电机 1 的反转,IOB10控制电机 2 的正转,IOB11 控制电机 2 的反转。具体电路设计如图111KR11KR31KR21KR4Optoisolator1U1Optoisolator1U280508050MMotort t 220V220V12DS2Y-S-DC12VDS2Y-S-DC12VS1S2S3S4P621P621IOB8 or IOB9IOB10 or IOB110.22uC10.22uC2270KR6270KR5图 2.7 电机控制、触发电路图2.3.4 键盘控制电路的工作原理及设计该电路用于向单片机输入数据,生成程序控制字,来达到控制悬挂物体运动方向的目的,能够使每一个按键都有与其相对应的功能,采用自制的 44 键盘就能完成这次模拟系统输入控制要求。 键盘的工作原理为:在程序中,按键值不是通过逐行扫描来获得的,而是通过判定哪个键被按下后其相应位置产生的高电平信号来判断是哪个按键被按下,在程序中,设计用了 IOB 的 IOB47 位和 IOB1215 位,通过程序设定,可以将其作为键盘输入信号的引脚,先把 IOB1215 脚设置为带数据缓存器的高电平输出,则这些端口 IOB1215 位为高电平,把 IOB47 位设置为下拉电阻输入,由下拉电阻的特性可以知道,IOB47 位在没有输入时为低电平,高电平有效。通过键盘的内部电路,IOB47 位与 IOB1215 位是连在一起的,先把 IOB1215 位作为扫描线,把 IOB1215 位作为接收线,这个时候如果有键按下的时候,则相应位的将会有高电平输送到 IOB47 相应位上,通过读 IOB47 位的状态,将会得到一个数据不为 0 的数据,之后把 IOB1215 位作为输入线,把 IOB47 位作为输出到 IOB1215 位上,如果此时按键还依然保持的话,将会得到一个不为 0 的数据,由这两个数据就能得到一个值,在由这个值进行处理就能得到是火线火线零线12哪个键按下,把这个键值送到主程序中,进行相关的操作。S2S6S10S14S3S7S11S15S4S8S12S16S1S5S9S13IOB4IOB5IOB6IOB7IOB12IOB13IOB14IOB15图 2.8 44 键盘电路图2.3.5 集成显示电路设计在该模拟悬挂物体控制系统中,为了能充分的显示物体运动时的状态变化信息,分别采用了三位的 LED 显示电路来显示 X 轴,Y 轴的坐标,共六位 LED 的显示模块,同时也能显示运动时间。LED 显示器中每个发光二极管要通过 5mA-20mA 电流才能达到正常亮度 SPCE061A 的输入电流可达到 12mA,输出高达 5mA,实际上不用驱动电路就可到达正常亮度,这里为了可靠性设计采用晶体管构成电路整个过程中采用动态显示。为了制作电路的简单,及整个系统的简洁、优化,该系统采用了凌阳公司推出的与其单片机相配套的显示集成模块,该模块上还有8 位发光二极管可用于显示信息,还有一个用于显示时间的时钟冒号,能很形象的显示时间。该模块共有 32 个引脚,其中有 16 位用于显示 LED,另外 16 位作为他用。根据单片机的端口设置,可以外接单片机的 IOA 口或 IOB 口,本设计中采用的是单片机的 IOA 口作为显示输出口。由于 B 口的特殊用途,采用了 IOA 口的全部 16 位作为 LED 的输入端,即 A 口设置为输出端口,该集成模块的内置发光二极管为高电平有效,当 A 口输出为高电平时,就能点亮相应位置的数字或符号。13K1 K2 K3 K4 K5 K6 K7 K88050Q1 8050Q2 8050Q3 8050Q4 8050Q5 8050Q6 8050Q7 8050Q8240R1240R2240R3240R4240R5240R6240R7240R81.5KR10 1.5KR11 1.5KR12 1.5KR13 1.5KR14 1.5KR15 1.5KR16 1.5KR17A B C D E F G DPVDDa bfcgdee3 d4dp2c1g5b9f6a10dpG1 8G2 7WD05621CXAABBCCDDEEFFGGHH G6IN 11 IN 22IN 33 IN 44IN 55 IN 66IN 77 GND8 COM 9OUT 7 10OUT 6 11OUT 5 12OUT 4 13OUT 3 14OUT 2 15OUT 1 16ULN2003AU4DGNDDIG1DIG2DIG3DIG4G1G2G3G412345678910SEG12345678910DIGDGNDDGNDVDDVDDDIG1DIG2DIG3DIG4DIG5DIG6DIG5DIG6 G5G6a bfcgdee1 d2dp3c4g5b9f12a13dpG1 14G2 11G3 10G4 6d1d2d1d28G5 7WD05643EXAABBCCDDEEFFGGHH8050Q9240R91.5KR18D_DPABCDEFGDPIIG1G2G3G4G5D_DPAA BB CC DD EE FF GG HH IIDIG7 G7ROW1 ROW2COL1COL2COL3COL4COL5COL6COL7COL8123456789102*4KEYCOL1COL2COL3COL4ROW1ROW2123456789101*8KEYCOL1COL2COL3COL4COL5COL6COL7COL8ROW112345678910KEYTYPECOL1COL2COL3COL4COL5COL6COL7COL8ROW1ROW2DIG7LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8G78050Q101.5KR19DIG8 DGNDDIG810KR20DGNDVDDAVVDDDGND图 2.9 8 位 LED 显示电路图2.4检测模块的方案论证2.4.1 一个光电传感器自制光电传感器用于寻找轨迹,其原理电路图为:1 2VCC VCC图 2.10 光电传感器原理图单片机根据需要直接从端口读取,为了防止出现错误的信号,采用延时行走程序。其原理为:在探测模块,当有信号输入时,物体水平运动,如没有信号输入,则物体按八分圆的八边运动,每运动完一边,延时一次,再检测一次是否有输出14光电信号输入,如有,则转入到有光电信号输入状态。下图为光电轨迹走向:光 电 的 八 种 走 向图 2.11 光电检测的走向在检测时,如光电传感器有输入,则物体沿八分圆的水平边运动。如无光电信号输入,则物体沿八分圆运动,如运动完一个圆后还没有检测到光电信号,则系统停止运动。2.4.2 三个光电传感器采用三个反射式红外发射接收传感器进行组合检测。原理是当红外光照射到纸面并反射,由于黑线和白底的反射系数不同,因此反射输出信号输出到单片机。单片机根据接收到反射信号判断物体是否越出黑线。原理:纸面黑色轨迹的探测,为了探测纸面上的黑色轨迹,使得受控物体沿板上标出的任意黑色断续曲线运动,在物体的左端、右端以及上方安装了三个红外线光电传感器,传感器位置示意图如图 2.12 所示。由于黑线和白纸的反射系数不同,可根据接收到反射光的强弱判断物体是否越出黑线。红外线发射端发射红外线,经纸面反射回来后,接收端接收发射端所发出的信号,红外探测传感器发出的 0(低电平)或 1(高电平)信号送到单片机端口,单片机接收到信号后,可控制物体沿黑色轨迹运动。见图 2.13 物体向右移动举例。控制方法:将物体上端传感器压在黑线上,物体启动,物体向上移动,传感器移出黑线,物体继续向上运动,当左、右传感器中某一个碰到黑线,物体即向左或右运动,方向控制见附表,依次即可使物体沿黑线轨迹运动。为了越过曲线中间约为 1cm 的断续,设置物体移动 1.8cm 距离作为判断物体是否到达曲线末端15的标志,若物体移动 1.8cm 后,仍无任何传感器显示压在黑线上则表示已经到曲线末端,则单片机控制电动机停转,画笔停止画线。光电传感器光电传感器光电传感器物体上端光电传感器控制物体向上行走右端光电传感器控制物体向右行走左光电传感器控制物体向左行走图 2.12 三个传感器原理起始位置右端传感器压黑线向右行走图 2.13 三光电传感器运动原理表 2.2 物体上传感器所在位置及控制物体运动方向的关系传感器 物体左端传感器物体上端传感器物体右端传感器物体左端及上端传感器物体右端及上端传感器控制物体运动方向向左 向上 向右 45向左上 45向右上2.4.3 四个光电传感器16用 4 个光电传感器作为检测元件,其放置方式如图 2.14 所示。图 2.14 4 个光电传感器放置方式在连续段寻迹时,通过判断四个传感器的 16 种组合状态,使电机作出相应的伸缩动作。当轨迹为间断线时,电机拉动传感器在大角度方向内位移,直到在某一方向检测到新的黑线为止。然后再调用连续段的寻迹程序。2.4.4 八个光电传感器由于所寻黑线是任意绘制,因此将全段曲线微元化,截取足够短一小段直线,如图 2.15(a)所示。在传感器尺寸设计时,充分考虑探测曲线的各种情况,使悬挂物在有黑线区域,至少有一个光电传感器能探测到黑线。系统寻迹算法如示意图所示,每次探测均有一个主探测器(A) ,并且将屏蔽本次主探测器其后的三个探测器( 如图 2.15(a)所示) ,即每次使用 8 对光电传感器其中的 5 对。主探测器的确定是在上一个状态探测时,记录探测到黑线的探测器,并将它们相对当前主探测器的角度偏移量取平均,从而得到下一个状态探测的主探测器。在寻迹过程中,主探测器将随着黑线的方向不断变化,与此同时悬挂物也随着黑线运动。ADEFGHC( a ) ABDEFGHC( b )ABDEFGHC主 探 测器被 屏 蔽的 三 对探 测 器( c )图 2.15 任意轨迹寻迹示意图将 8 个光电传感器组成一个环,围绕在画笔周围,调整各传感器之间的间距,可以探测出黑线任意延伸方向。可满足题目的精度要求。光电传感器阵列示意图如图 2.15(c)所示。在以画笔为中心,半径 22 毫米的圆周上安装了 8 个反射式光电传感器作为轨迹探测传感器阵列,安装方式如图 2.16 所示。1701234567-1 +18图 2.16 轨迹探测传感器安装方式 2.17 方向调整示意图根据安装方式及安装半径,只要系统的采样频率足够高,轨迹是无法脱离探测范围的。但由于使用了 8 个传感器,不同传感器信号间的组合太多,使用一般穷举办法难以实现循迹控制,因此要设计一套适合循迹算法。如图 2.17,定义了物体循迹时运动的 8 个方向,图中黑箭头(1 号方向上)表示物体当前的循迹方向。循迹时,使用变量 Direct 表示当前物体运动方向,物体每次运动时先按当前方向向前步进一段固定的距离,然后检测采样传感器信号并调整 Direct,再沿新的 Direct 方向步进。由于所给的曲线是连续的,所以每次调整 Direct 只能是 1 或 1。如图 2.17 所示,Direct 在需向左偏时则 Direct 加1,需向右偏则减 1,继续前进则保持不变。由于只有 8 个运动方向,所以对Direct 的运算需在模 8 的范围内(07)进行。现在考虑如何决定左偏或右偏的问题,使用上述调整办法只需要根据 Direct的前后方向及左右方向的四个信号对 Direct 调整即可。如图 2.17 中仅需根据1、3、5、7 方向的信号对 Direct 调整。由于每个方向上1 和保持不变的传感器信号是一定的,故对 8 个方向上的调整策略用一个静态数组的形式保存起来,调整时直接查表即可,方便编程。这种循迹算法大大地减少了循迹运动的调试时间,为整个作品成功的完成打下了基础。当每次步进的距离较小时,若在 Direct 方向的前、左、右三处的传感器同时发现是白纸,则表明传感器探测到了曲线的间断部分或尽头,此时应根据前几次(23 次)Direct 的平均值作为探索方向,再向前步进 23 步,保证循迹的正确停止。在取平均值时,需对 70 和 07 的转变作特殊处理,否则可能出错。183 软件设计3.1系统各部分运动算法3.1.1 运动距离的算法当控制系统控制物体运动时,其运动算法是:(如图 3.1 所示)采用直接计算当前位置和目的位置左右两个电机线程差的办法实现控制(使用较小滑轮,滑轮半径 r=10mm,本设计忽略轮的半径带来的绕线误差) 。设左右两个定滑轮中心分别为A 和 B,悬挂物当前位置为 C,目的位置为 D。图 3.1 悬挂物直线运动示意图悬挂物处于当前位置时,根据勾股定理,左右线分别长:22)150(AC 式(3.3)22)()8(B 式(3.3)已知左右滑轮间距离 AB,当需要移动至目的位置 D(x,y)时:22)15()(yxAD 式(3.3)22)()9(B 式(3.4)于是得到左右两个电机的驱动距离差值:ACDleft 式(3.5)19BCDright 式(3.6)3.1.2 圆周运动算法当受控制悬挂物完成圆周运动时(如图 3.2 所示) , 设左右两个定滑轮中心分别为 A 和 B,圆心为 O,悬挂物当前位置为 C,因为滑轮半径较小,因此忽略滑轮半径 r 带来的绕线误差。因为悬挂物做圆周运动,因此图中的 AOB一定, 角和 角互补变化,其变化量大小决定画圆准确度。根据余弦定理,计算得到:cos2OAC2 式(3.7)CBB2 式(3.8)且有:AO2 式(3.9)在控制过程中,使 角按照一定精度值步进,最终在纸上将画出一个以 O 为圆心的圆。图 3.2 悬挂物圆周运动示意图3.1.3 沿有断续曲线运动算法在物体沿斜面上黑线运动时,把一个圆分为八等份,后运用走点运动算法计算出走到下个点的坐标。设当前的坐标为(x,y)下上点的坐标为(x1,y1)则电机线要运动的长度为:式2221211 )15()()5()5( YXYXL 20(3.10)式2221212 )15()80()5()80( YXYXL (3.11)在探测模块,当有信号输入时,物体水平运动,如没有信号输入,则物体按八分圆的八边运动,每运动完一边,则检测一次是否有光电信号输入,如有,则转入到有光电信号输入状态,如无,则继续按圆的其它边沿运动,如走完一圈后还没有光电信号输入,则判断曲线已完,物体停止运动。其运动状态如图 3.3:图 3.3 探测运动模拟3.2软件流程图3.2.1 主程序流程图21调整电机找 0 点开始是否按 F 键是否按 F 键按 A 键 按 B 键 按 C 键 按 D 键 按 E 键走直线 画圆 定坐标原点 电机控制 寻 迹继续相关运动 停止相关运动是否是 否图 3.4 主程序流程图 3.2.2 键盘控制子程序程序流程图: 是按 相 应 的 键 (执 行 相 应 的 运 动是 否 按键停 止 相 应 运 动 否否是 否 按 键开 始图 3.5 键盘程序流程各键功能如上表:表 3.1 键盘各键功能特殊功能22A 走指定的坐标B 画圆C 完成坐标原点D 左右电机控制(0-两个停,1-停电机左,2-停电机右,3-电机左正转,4-电机左反转,5-电机右正转,6-电机右反转)E 沿黑曲线运动F 取消所有操作对悬挂物体的运动,采用了键盘的方式来控制。通过单片机 IOB47 及IOB1215 引脚的输出来控制物体的运动。数字 0 9 当成数字运用,A F 作为特殊的按键,其程序是通过扫描键盘来确定所按下的键的。3.2.3 走设定坐标子程序通过对电机运动的长度的控制来控制物体的运动长度及其位置,其基本原理是: 把电机要运动的长度转换成电机控制电路脉冲,从而控制电机转动,光电传感器检测到的电平,把得到的脉冲数输入到凌阳单片机中,到其要的脉冲数则停止相关运动,其原理图如图 3.6 所示 图 3.6 物体运动模拟运动的计算公式:= ; 式)(xyarctg(3.12)23= ; 式)arcos(2l(3.13)= ; 式2(3.14)k= ; 式sinl(3.15)m= ; 式k(3.16)由上式可得:电机运动长度=(运动后的弧长+ 线长)-(运动前的弧长 +线长)再由电机运动长度计算出完成该运动所需的脉冲个数:脉冲个数=电机运动长度 一个脉冲内电机运动的长度一个脉冲内电机的运动长度=转盘周长齿轮个数由计算出的脉冲个数去控制电机的转动数,达到运动到所需坐标的目的。由于存在一个被逐级放大的系统误差,即使采用上面的等效方法也无法消除,故可采用下面这种相对较简单的等效方法。即:电机运动长度=运动前物体到滑轮圆心的距离-运动后物体到滑轮圆心的距离(注:运动前物体到滑轮圆心的距离即 L 和运动后物体到滑轮圆心的距离即 L 均可由程序计算得出。 )程序流程图:24运 动 子 程 序 开 始读 入 设 定 坐 标 值读 入 悬 线 长 度计 算 左 右 电 机 策略显 示 实 时 坐 标控 制 电 机 运 动是 否 运 行 到 设 定位 置子 程 序 返 回NY图 3.7 走坐标程序流程图3.2.4 画圆运动子程序在指定的范围内画直径为 50cm 的圆,本设计采用了 8 分圆的扫描转换方法。下图为当前象素与下一个象素的候选者示意图,工作原理如下: 在上图中,假定 坐标为 的象素中与圆弧最近者已确定,为 ,那么,xp pyx,下一个象素只能是正右方的 或下方的 两者之一。y,11,2pyx构造函数为:式22,RxyF(3.17)对于圆上的点 F(x,y)=0,对于圆外的点 F(x,y)0,而对于圆内的点,F(x,y)0 时,取 P2 点与中点画线法一样,构造判别式。其式如下:)5.0,1()pyxd式22Rp(3.19)若 d0,则 是下一象素,而且下一象素的判别式为。2其式如下:式22 )5.1()()5.1,( RyxyxFd ppp (3.21)所以,沿右下方向,判别式 d 的增量为 。p由于在这里讨论的是按顺时针方向生成第二个 8 分圆,因此,第一象素是判别式 的初始值。R,0d其式如下:式RRF25.1)5.0(1)5.0,(20(3.22)在上述算法中,使用了浮点数来表示判别式 d。其增量是 的线形函数。每yx,当 递增 1, 递增 。每当 递减 1, 递增 。由于初始化象素为xd2xy2(0,r ) ,所以 的初值为 3, 的初值为 。再注意到乘 2 运算可以改用x 2r加法实现。单片机上的实现需要保存上个 8 分之一圆的坐标,根据对称性确定所对应的点,再把各坐标点连接起来就可以构成一个圆的轨迹。程序流程图如:26开始是否按 F键是否按 B键执行画圆程序是否按 F键停止画圆运动 继续画圆运动图 3.8 画圆运动程序流程图3.2.5 电机自由控制子程序本程序是为了成功的执行其它的程序服务,设计了手动调整电机的位置程序,其程序是在按下键 D 后执行相关运动的,各按键的功能可参考表 3.1 键盘各键功能。其子程序可见附件 B(主程序清单)中的 D 按键功能。程序流程图: 开始执行显示坐标停止相关运动 继续相关运动是否是否是否
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!