基于慧鱼模型下的循迹小车设计_第1页
基于慧鱼模型下的循迹小车设计_第2页
基于慧鱼模型下的循迹小车设计_第3页
基于慧鱼模型下的循迹小车设计_第4页
基于慧鱼模型下的循迹小车设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

湖北理工学院毕业设计(论文)PAGE摘要利用慧鱼创意模型组合拼建后轮驱动的电动小车模型,其动力装置安装在底板,由发动机提供。慧鱼创意组合模型是一种技术含量较高,经拼接后形成的工程类模型,是展示科学原理和科学技术的理想教学器材。而本文设计是以德国慧鱼创意积木所搭建而成的模拟机器人为基本构架,通过圈形式人机界面LLwin,再由智慧型电脑界面板去控制驱动机器人,使机器人的细节部分动作达到我们的要求,再而取代我们以后常用的由硬体描述语言所驱动的构架,通过慧鱼模型拼接组装,程序编制,任务达到要求,简明扼要的阐释了机械之间的配合关系,各种传感器安装使用,软件编写,实现对伺服电机,电磁线圈的控制,操作简单易懂,更加方便快捷。自动循迹小车是智能机器人的一种,这种智能小车可以适应不同的环境,在不受湿度,温度,磁场及重力等条件影响下可发挥很大的作用。关键词:智能机器人慧鱼模型循迹小车边界识别AbstractFischertechnikmodelsuseacombinationofcreativespellbuiltrear-wheeldriveelectriccarmodels,thepowerdeviceinstalledinthefloor,providedbytheengine.Fischercreativecombinationmodelisahigh-tech,engineeringmodelformedaftersplicing,istodemonstratethescientificprinciplesandidealsofscienceandtechnologyteachingequipment.Inthispaper,designstudiosandGermanFischercreativebuildingblocksaremade​​ofsimulatedrobotbuiltasabasicframework,intheformofman-machineinterfacebyringLLwin,thenbyintelligentcomputerinterfaceboardtocontrolthedriverobots,robotpartstomakethedetailsofactiontoachieveourrequirements,Welaterusedagainandreplacedbyahardwaredescriptionlanguagedrivenarchitecture,withthemodelbystitchingassembly,programming,meettherequirementsofthetask,withaconciseexplanationoftherelationshipbetweenmechanical,Installanduseavarietyofsensors,softwaredevelopment,toachieveservomotors,solenoidcontrol,easytounderstand,fasterandmoreconvenient.Automatictrackingcarisanintelligentrobot,thissmartcarcanadapttodifferentenvironments,canplayasignificantroleintheunaffectedbyhumidity,temperature,magneticfieldandgravityconditionsaffected.Keywords:Robot;Fischertechnik;TourLine;Boundaryidentication目录摘要 1第1章绪论 11.1课题背景与选题意义 11.2慧鱼机器人 11.3设备与制作环境介绍 21.4研制小车过程 21.5设计工作原理 21.6慧鱼模型操作规程: 31.7慧鱼机器人发展前景 3第2章.总体设计 52.1机器人的设计方法 52.2参数及部件设定 52.3基本构件 6第3章硬件设计 103.1ROBO接线设计 103.2红外线控制设备 103.3慧鱼ROBO接口板 113.4ROBOI/O扩展板 14第4章程序设计 164.1软件介绍 164.2程序单元的介绍 17第5章C语言下的循迹小车程序设计 25第6章实验慧鱼机器人步骤 346.1组装模型 346.2编程控制 35第7章结论 36致谢 38参考文献 39PAGEPAGE39第1章绪论1.1课题背景与选题意义由于机器人技术的发展和快速的被人们和科学研究所广泛运用,由此可知科学家对于机器人的功能和工作环境也相对提高,除了一些超强的记忆能力和逻辑思考能力,还有在机器人的能不结构以及外部形体上,科学家们更希望机器人能够进一步的模仿人类,对于外界信息的选集,也通过各种传感器的使用,试图达到类似人类各种感官的功能,选集外在环境变化,一旦外在环境发生了改变,机器人也会随着环境的变化,自身做出反应的动作,更新自己的条件发射资料库,达到类似于人类后天学习的功能。移动式机器人分为车轮式,特殊车轮式,不限轨道式,不行式等,如果是在平坦的地面上移动,那么车轮式是最有效率的,,不但机构的构架简单易懂,且具有很强的使用性,但是缺点在于不能在凹凸不平的地面上行走,除此之外,由于普通车轮无法再阶梯或者有高低差距的地面上行走,所以需要研究一种有车轮,三种以上连接构造的特殊形态。本次课题即为慧鱼模型机器人设计及其控制器实现机器人的行走以及自动躲避障碍,当机器人在轨道中行走做出动作时,遇到障碍物或者能打断行走的物体时,会通过微动开关将信息传回到电路板中,然后系统进行判断,再配合计数器的面对程序来使机器人躲避障碍并且进行下一个路径动作,再达到目标。1.2慧鱼机器人怎么样利用慧鱼创意模型来构造我们所需求的机器人是我们需要思考和学习的,而在机器人拼接的过程中,传感器如红外传感器,动力装置如发动机的拼接也是必不可少的,然后加上许多的机械零部件,组成所需要的机器人模型,正如本文所介绍利用慧鱼各个构件进行拼接,最后建立后轮驱动电动小车模型,该后轮驱动电动小车后轮装有1个电机,通过电机的旋转带动车轮转动。动力来源于电机M,这是慧鱼创意组合模型组合包中的大功率发动机,拥有固定的减速比为30∶1的齿轮组,动力经过涡轮蜗杆传动传至车轮,来带动小车运动。车架由弹簧连接来实现柔性连接,从而方便汽车转向,避免转弯时发生干涉。1.3设备与制作环境介绍先从一个简单测试的安装系统来检查接口板和各个传感器的基本功能特点。然后我们继而可以组装起一个简单的模型来,让它具备一定的功能,随后可以调试更多的程序来尝试更加复杂的系统。而在拼接过程中,小车需要各种各样的零部件来增加其活跃性和灵敏性,这就需要一个完整和科学的制作环境,在一个固定的环形跑道上,安装不同的障碍物,设定不同的调试程序,让智能小车能够在程序的牵引下成功的绕过障碍,并且最终完成所需步骤。1.4研制小车过程第一个阶段是可编程的示教阶段,展现出智能小车,由于本身不具备有传感器,所以不能接收外界所发出的信息,所以在行驶过程中不能根据外界环境的变化而发生调整,故而其应用范围狭窄。第二个阶段是具有一定的感觉功能和自动适应能力后的离线编程型的智能小车。这种小车具备了一定的简单外部传感器,如红外传感器,它可以确定自身的位置和方向,通过已经编排好的程序来进行运行。第三个阶段是能够感应外界环境变化的智能小车,此类小车可以面对复杂的环境变化,然后精确地分析外界信息的来源,再做出正确的反应,这样的机器人小车配备了多个传感器,可以有效的适应各种环境。1.5设计工作原理机器人指的是可程式控制的机械,可分为以下两个部分。(1)机械构架本次设计机器人的机械构架采用慧鱼创意模型组成,它的优点在于方便组装,能在设计的初级阶段起到一定的辅助作用,减少制作成本以及更好的观察设计时的可行性和优缺点,以便更好的改进设计中的缺点,一般所用到的机械如齿轮,发动机,传感器等都可以在零部件中找到,功能也相当。该架构由两个丝杆和一个发动机连接而成,两个丝杆街上传动齿轮或者涡轮蜗杆就能实现对小车的运动控制了。(2)程序的整体采用了主/从结构的编程方式,主要是为了解决更多不同频率的循环和不同循环之间的信息交替使用。程序中嵌入了并联在一起的机器人反解模型及控制算法,采用了全局变量,局部变量,共享变量等来实现各个程序模块之间的信息交换,依此来避免两个循环同时操作一个对象一类的竞争问题的出现,称为同步技术。由于程序内容比较大,反应的信息量大,所以程序再管理上,我们也充分利用了LLwin里的高级编程技巧,如,在面向机器人的轨迹控制与I/O逻辑控制程序时,像回零,连续运转,单个轴向调增,轨迹选择,系统自我调试等。该软件一方面负责完成对智能小车驱动环节(电机)的精确同步控制,同时实现了末端执行器的轨迹控制;而另一方面,该软件需完成一组通用的I/O输入输出控制,实现对机构运动时的控制以及协调。驱动软件可实现单轴或多轴的运动控制,D/A转换,I/O硬件控制集合,它包含了轴配置,运动类型设置,电机的运行和停止操作设定。1.6慧鱼模型操作规程:1.实验前先按照清单写下零件的数量和种类;2.了解零件的拆分方式和大致的分装的规律;3.检查密封袋的封装口;4.每次只取出所需要的零件;5.取完零件后需将袋子封装好;6.拆除模型之后需将零件放回拆装前的袋子;7.实验完成后再次庆典零件个数防止丢失。1.7慧鱼机器人发展前景慧鱼创意模型主要提供了包括组合包,培训模型,工业模型三大块。包含了机械,液压,气动,遥控,机电一体化等科学知识于一身,利用工业标准的基本构件如机械元件,电器元件,气动元件等,再加上一些传感器,执行器和控制器等和一些软件的配合使用,运用设计构思和实践理论的分析,实现了任何技术过程的原理重现,更加可以实现工业生产过程中的模拟操作过程,从而为实验教学和科研发展提供了理论成果。慧鱼教具作为简单便捷的操作用具广泛运用于各方面的创新思维教学上,并且获得了无数专家学者的好评,同时在欧洲,美洲等各大高校中广泛运用,当来到中国之后,也广泛运用于国内各大高等学府,它以浓厚的趣味性和开发创新性,使学生能够更加直观方便的把抽象的复杂的理论知识,通过模型的建立来具体化,大大的激发了我们的学习能力和动手能力,对于我们了解机械运动以及工业机械设备控制等都有着很大的好处,是我们学习机电一体化最理想的教学器材。

第2章.总体设计2.1机器人的设计方法机器人的设计一定要做到目标明确,通过对命题的分析我们得到了比较清晰开阔的设计思路。作品的设计需要有系统性规范性和创新性。设计过程中需要综合考虑材料、加工、制造成本等给方面因素。自动循迹小车的设计是提高机器人性能的关键。在设计方法上我们借鉴了参数化设计、优化设计、系统设计等现代设计发发明理论方法。采用了CAD、PROE等软件辅助设计。下面是我们设计机器人的流程(如图)图2.1总体方案2.2参数及部件设定利用慧鱼各个构件进行拼接,最后建立后轮驱动电动小车模型,该后轮驱动电动小车后轮装有1个电机,通过电机的旋转带动车轮转动。动力来源于电机M,这是慧鱼创意组合模型组合包中的大功率马达,拥有固定的减速比为30∶1的法兰齿轮组,动力经过涡轮蜗杆传动传至车轮,来带动小车运动。车架由弹簧连接来实现柔性连接,从而方便汽车转向,避免转弯时发生干涉。小车没有偏转轮及其偏转轮转向系统,没有自由轮和半自由轮,后车轮通过涡轮蜗杆与电机相连由电机控制。不管是直行或是转弯,所有车轮,任何时候,都严格遵循行驶意图转动,不受任何干扰。车轮通过齿轮与电机相连,前后结构相同。实现了用改变两侧电机的调速的汽车动力差速转向,行驶非常稳定可靠。它还可较高速转弯。同侧前后车轮转速始终相等,前后车轮行驶轨迹始终重合。小车转小弯时,车身、车轮行驶宽度也几乎不变,也就是没有内轮差,完全避免了转小弯时内后轮无法通过的现象。小车在小弯道行驶时也更加方便、灵活和自由。此外,小车中没有主减速器和差速器,电机小巧,越野通过性好,簧下质量小,行驶平顺性好,整车中也不用分动器和差速锁等,没有转向机构,也就不再需要其它动力系统和操纵系统,电动机功率全用于驱动牵引。因此,小车动力相当强悍。2.3基本构件一.六面拼接体如图所示,六面拼接体的6个面上各有一个U形槽或凸起的接头,两者相互配合,实现六面体的连接。它有多种长度,可根据模型的不同加以选用。在实现有角度连接时,可选用三角形连接体,这些连接体有多种角度7.5°,15°,30°等,具体角度在其侧面有标注。图2.3六面体构件图2.4楔形构件二.齿形构件慧鱼模型的齿形构件种类较多,有斜齿,直齿;齿轴,齿条;单齿轮,组合齿轮等。图2.5齿形构件三.涡轮,蜗杆慧鱼模型的蜗杆的类型较多,除图所示的涡轮外,所有的外啮合齿轮都可以用作涡轮。图2.6涡轮蜗杆四.导轨和连杆慧鱼模型提供了多种长度的金属,塑料杆件,如图所示可用作导轨,连杆和传动轴等。五.开关慧鱼模型的开关有三个针脚:1针脚和2针脚形成常闭开关;1针脚和3针脚形成常开开关。当按键被按下,开关通断状态改变,即1和2针脚断开,1和3针脚接通。如果开关接入慧鱼接口板的两个针脚接通,那么计算机认为该开关处于1状态;否则开关处于0状态。根据开关的状态改变,其在慧鱼模型中常起到机构的限位,定位作用。开关也常与脉冲齿轮配合,对运动件的运行位置进行精确定位。将脉冲齿轮与电机相连,电机每转动一圈,脉冲齿轮压下开关4次,使开关在0,1状态间变化8次,即0→1,1→0各变化4次。通过检测开关状态变化的次数,可精确控制电机的转动圈数,从而精确控制机构的位置,如图所示。图2.7开关类别六.传感器光敏传感器:用于检测光源强度,当光线足够强时,传感器内部的电路闭合,与接口板相连的1,2针脚处于接通状态,接口板检测到该光敏传感器处于1状态;否则为0状态。它可与灯泡一起使用,作为定位和限位开关;也可利用深色物体吸收光线,浅色物体反射光线的原理来鉴别物体颜色的深浅。磁敏传感器:用于检测环境中磁场的强度,当磁场强度达到一定值后,传感器内部电路闭合,其通断状态发生改变,原理与光敏传感器相同。热敏传感器:热敏传感器是一个模拟信号传感器,接口板检测到的是其电阻的阻值,其电阻的阻值随温度的上升而减小。

第3章硬件设计3.1ROBO接线设计程序控制的硬件部分包括:慧鱼接口板(ROBOInter-face)1块,COM口电缆线1根,慧鱼可充电电源1块,电线若干。利用COM口与电脑通信,将电机M连接到慧鱼接口板(ROBOInter-face)的输出M通过控制电机的转速实现汽车的S弯道行驶。3.2红外线控制设备红外线远距离控制设备使得慧鱼模型的许多功能更加容易控制。这套设备包括一个功能强大的遥控器和一个微处理控制的接收装置。将接收装置直接安装在模型上,可控制3个电机或灯泡。遥控器产生不可见的红外线。一个微控制器被安装在接收设备上,它接收光信号,控制指定的电机。在封闭的空间内,它的有效范围为10m。也可能在一个模型中使用两个接收器,并用一个遥控器控制两个接收器。图3.1红外控制示意图一.遥控器电源:两节1.5V,AAA型号的电池,遥控距离为10m。7,8号键,遥控器用于控制接收器上M1电机的正转和反转。按一次电机旋转,再按一次则电机停转。9,10号键控制M2电机正反转,1,2号键控制M3电机正反转,与7,8号键不同:按下按键电机旋转,放开按键电机停转。3,4,5号键分别控制M1,M2,M3的转速:按一次电机的转速降低;再按一次则电机回到原先转速。当你用一个遥控器控制两个接收器时,按压6号键遥控器就可转到控制接收器2,接收器1不再接收信号。如需控制原先的接收器1,则按压11号键即可。按下遥控器的各键时LED指示灯点亮。图3.2遥控按钮显示二.接收器使用9V直流电源,通过图中电源线1与电源连接。实验室提供了可充电电源。M1-M3连接电机。接收器的红外线探测二极管安装在图中4所示位置,接收器安装在模型上时需确保该二极管不被遮挡。接收器接通电源后,绿色发光二极管点亮,一旦接收器接收到信号,发光二极管闪烁。图3.3接收器示意图3.3慧鱼ROBO接口板ROBO接口板用于计算机与慧鱼模型之间的通讯。它能将来自软件的命令转化成电机运转,也能将来自扫描器,感光晶体管,簧片触点和热敏电阻等传感器的信号转换成能被计算机处理的信号。图3.4慧鱼接口板1.电源慧鱼ROBO接口板使用9V,1000MA直流电源,有两处电源接口,如图1,3所示,插孔1用于连接9V直流电源,插孔3用于电池电源,并且由插孔1优先提供电源。接口板接入电源后,所有发光二极管首先被测试,然后6,7绿色发光二极管交替闪烁,标志着接口板准备就绪。2.数字信号输入接口I1-I8插孔12作为数字传感器如按钮,感光晶体管和簧片触点开关的接入口。当传感器闭合,感光器感光时,接口板检测到数字信号1并反馈给计算机,否则数字信号为0。3.模拟阻抗输入接口AX,AY插孔11是连接电位计,感光电阻和热敏电阻的接口。检测范围0-5.5KΩ。4.模拟电压输入接口A1,A2插孔10是输入电压为0-10V传感器的接口。5.距离传感器输入接口D1,D2插孔9用于连接距离传感器。6.红外线输入红外线接收二极管使用,那么红外线控制设备的手动发射器按键能被作为数字信号输入。7.红外线遥控器键的设置接口板上的输出M1-M3可以用发射器上的相应的键控制电机是否运转及其转速。输出M4能用键1和2激活,这两个键也能正常转换接收器1和接收器2。M4的电机转速不能由发射器改变。8.26个针脚插座如图所示通过这些针脚可以再次为模型提供所有的输入和输出端,这样就可以将模型通过带状传输线和26个单针插座连接到接口板上。针脚功能如表如图3.5所示。针脚针脚功能针脚针脚功能1提供9V电源14142模拟连接,传感器,固定仪表输入的地线,但不能用于O1-O8电源输出的负极15153AX16164AY17175A118186A219O17距离传感器D120O28距离传感器D221O39固定仪表输入22O410O1-O8电源输出的负极23O5111124O6121225O7131326P8图3.5针脚功能表9.ROBOI/O扩展板插口如图所示,使用ROBOI/O扩展板可增加输入,输出的接口数量。一个扩展板可额外增加4个调速的电机输出,8个数字输入和一个0-5.5KΩ的模拟阻抗输入。10.接口板程序标准的ROBO接口板程序软件是图形化的程序语言,ROBO程序语言。接口板按下列操作方式运作。(1)在线模式。接口板通过USB接口,排线,无线电数据线一直与计算机相连。程序在计算机上运行,显示器作为用户的接口板。(2)智能接口板模式通过上图的5指示按钮连续按压3s以上,接口板就转换到“智能接口板模式”。此时图中7所指示的发光二极管闪烁。这样接口板能用LLWin3.0软件在线控制,程序不能下载。再次按压图中5指示按钮,就能回到自动模式。(3)下载模式。在这种操作模式下程序被加载到接口板,并能独立于计算机运作。接口板的Flash存储器能存储两个程序,即使失去电源,程序也会被保留。程序也能下载到其RAM存储器中,但只要失去电源或Flash存储器的程序运行后,RAM存储器中的程序就会被删除。3.4ROBOI/O扩展板ROBOI/O扩展板能增加ROBO接口板的输入和输出。扩展板与接口板之间用10个针脚的排线相连。扩展板也能通过USB接口与计算机相连,由在线模式激活。图3.6慧鱼扩展板1.电源接入端使用9V,1000mA直流电源,有两处电源接口,插孔1用于连接9V直流电源,插孔2用于电池电源,并且由插孔1优先提供电源。2.输出端M1-M4或O1-O8M1-M4可控制4个电机的正转,反转,8个转速,停转。O1-O8可控制8个灯泡或电磁铁。3.数字输入端I1-I8用于连接传感器如:扫描器,簧片接触式开关,感光晶体管。4.模拟阻抗输入接口AX插孔3是连接电位计,感光电阻和热敏电阻的接口。检测范围0-5.5KΩ。5.与ROBO接口板的连接ROBOI/O扩展板能用所给的10个针脚的排线ROBO接口板相连。排线的一端连接ROBOI/O扩展板的“Ext.IN”,另一端连接到ROBO接口板上的“Ext”处。一旦ROBOI/O扩展板连接到接口板上且两者均连接上电源后,ROBOI/O扩展板上的绿色发光二极管“Ext.mode”闪烁,此时扩口板准备就绪。在扩展板上“Ext.OUT”处最多只能连接3个扩展板。图3.7扩展板连接接口板6.与计算机的连接ROBOI/O扩展板能通过USB接口与计算机连接,作为独立的接口板使用:没有与ROBO接口板连接的USB模式。这种模式在扩展板只有与计算机相连才能使用,既不能下载程序到扩展板上。扩展板第一次与计算机相连时必须安装驱动程序。当扩展板从USB接口处接收到数据时绿色发光二极管“USBmode”闪烁。如果发光二极管“Ext.mode和“USBmode”交替闪烁,那么扩展板处于自动搜索模式,即扩展板等待来自ROBO接口板或USB接口的数据。第4章程序设计4.1软件介绍慧鱼模型组装完成并与计算机相连后,必须通过软件来实行对模型的控制。ROBOpro软件在Windows平台上运行,使用图形化的控制单元。在编写程序之前需进行测试,很明显,我们首先必须先将接口板和电脑相连,方便稍后可以测试我们要新建的程序,根据所连接的接口板,必须进行适当的软件设置和连接的测试。一旦连接正确建立,我们就可以通过接口板测试窗口来测试接口板和与它相连的模型。测试窗口显示了接口板的各种输入和输出:一.数字量I1-I8I1-I8是接口板数字量输入。可接受各种传感器。数字量输入智能有两种状态分别为0和1.或者是Y和N。开关盒光电传感器或者是磁性传感器都可用作数字量输入来连接。二.发动机输出M1-M4M1-M4是接口板的输出。在这里可以连接执行器,可以是发动机,电磁铁或者灯。这四路发动机可以改变方向和8级调速。速度可以用滑块的数量来控制,一旁也有数字作为速度显示出来,如果你要测试输出量的话,可以将一个发动机接收到输出端。在测完硬件之后,接口板和连接在上面的开关和发动机测试完成后,可开始编程。我们利用ROBOpro软件精确地画出这张流程图,并依此为连接硬件创建控制程序。其他任务可由软件完成。如下图所示图4.1小车行驶程序图4.2程序单元的介绍一.当所需要的程序单元被拖进编程窗口之后,必须将其连接在一起才能形成可执行的程序。如图所示连接方式。图4.2程序单元连接方式如果移动程序中的单元,ROBOPro程序会以合理路线来调成程序单元的连线。或者在通过移动程序单元就能在两个程序单元间自动形成连线,方法是将一个程序单元的入口移动至另一个程序单元的出口处。二.基本程序单元“start”单元:每个程序都必须有这个开始单元,否则程序不会被执行,如果同时有几个单元,那么他们会一起启动,开始单元不能更改属性。“End”单元:如果一个过程被终止,那么在最后一个单元的出口就要连接结束单元。不同单元的出口可以连接在同一个结束单元,当程序一直循环时程序可以无结束单元。“DigitalBranch”单元:数字分支单元。运用此单元,可以根据I1-I8的数字输入值,控制程序流向。“AnalogBranch”模拟分支单元。慧鱼接口板上有6个模拟输入接口:2个电阻输入接口AX,AY;两个电压接口A1,A2;两个距离传感器接口D1,D2。用这个分支单元可以比较输入值和设定值大小不同,从而控制程序从出口流出。“Timedelay”:延时单元。通过该单元可以展缓程序的执行下一个单元。‘Motoroutput’:电机输出单元。运用这个单元可以转换接口板上M1-M4任何一组的两个接线柱的输出。此但愿不仅仅可以控制电机,还可以控制灯泡和电磁阀。控制电机时,可以设定电机转速和换向。三.主程序与子程序如图所示图4.3主程序与子程序生成图用子程序使模型实现以下功能:(1)使模型处于初始位置(I1,I2开关闭合)。(2)设置启动开关15,要求如下,按下时主程序不执行;松开开关后,主程序执行。即此开关下降沿触发。(3)主功能:M1电机旋转10圈;M2电机旋转几圈后灯泡M3即亮,并且每隔1S会闪烁一次,在闪烁5次之后灯泡将熄灭。(4)程序结束:如下图所偶是程序结束后的助攻能子程序。图4.4电机转向图当程序控制电机先以转速8逆时针旋转,每隔疫苗降低一次转速,直到电机停止转动;然后电机顺时针旋转,每隔1S增加一次转速,直到电机转速为8的时候,电机停止转动,此时程序结束。则有以下程序图。图4.5电机循环启停图在运转后为电机转动要求所示结果。四.Control(控制)单元控制单元接口板输入类似开关和传感器,但无实体。Button(按键)面板单元:能如同连接到慧鱼接口板上的传感器或开关一样使用该按键单元。其通过“PanelInput”单元受程序控制。一旦通过“PanelInput”单元的属性窗口将其与“Button”单元连接,“PanelInput”单元的图标,名称将发生变化。该单元像接口板的数字输入,能连接到程序单元的数据入口,按下“Button”单元,其输出值为1,否则其值为0。其属性如图所示。图4.6程序单元接口Slider(滑块)单元:滑块单元的使用与连接到接口板模拟输入的电位计的使用方法相同。与按键单元不同的是,滑块单元不仅仅能输出0和1,而且能输出许多不同的值,这些与模拟输出一致。输出值的范围能在其属性窗口中设定。如图可知。一旦通过“PanelInput”单元的属性窗口将其与“Slider”单元连接,“panelinput”单元的图标,名称将发生变化。而滑块单元常与命令单元数据输入口连接,控制电机转速。图4.7生成滑块单元五.Panels仪表板单元在慧鱼程序中能定义自己的仪表板,它能更加容易的控制复杂模型。仪表板能显示在电脑屏幕上,智能以在线模式工作。在慧鱼软件上选择“Panel”功能键,即可创建一个仪表板。在灰色区域能插入仪表板单元,仪表板单元隶属于主程序或者子程序,因此在创建仪表板单元的时候,在子程序组中选择出正确的子程序至关重要。仪表板单元通常是指在主程序下创建的包括显示单元和控制单元。用显示单元可以显示各种变量的值或文本信息。控制单元的功能如逻辑输入传感器。对每一个插入到“Panel”中的仪表板单元,在程序中都有其对应的单元:“Panelinput”对应于“Panel”中的仪表板单元,在程序中都有与其对应的单元:“panelinput”对应于“panel”中的控制单元,“paneloutput”对应显示单元。1.43.程序单元的运用LLwin3.0软件的程序也是由一系列可视化的单元构成,其单元的图标和属性窗口与ROBOPRO程序有一定的区别。1.输出单元(Output):该单元可控制发动机,灯泡,电磁铁的状态。在Output中可选择输出单元控制的接口板输出端口M1-M8;在Type中确定端口控制的输出设备,在Action中设置对应设备的运转情况。2.输入单元(input):该单元可接收接口板上的开关,光敏三极管,簧片触点的信号。在input选项中可选择输入单元的接口板端口E1-E22;在TYPE选项中可选择输入设备的类型。3.边沿触发单元(Edge):该单元一旦接收到指定输入设备出现特定的触发沿便向下执行,否则在此等待。在input中设定输入端口,在Edge中选择触发沿的状态,前者为上升沿;后者为下降沿。4.定位脉冲计数单元(Position):该单元对指定端口的输入设备产生的脉冲信号进行计数,脉冲次数与设定值进行比较,一旦两者相等,程序向下执行。在input中指定脉冲计数的端口;在counter中,如果选中Usestandardcount(使用标准计数器),则程序自动分配计数器Z1-Z16对应输入端口E1-E16。如果要自定义计数器,则不要勾选该功能,并在Counter中输入计数变量;在Result中输入用于比较的数值;在Counterdirection(计数方向)中可设置计数器正计数+(增加)或负计数-(减少)。5.复位单元(reset):一旦程序执行中出现该单元设定的状态,那么程序将复位后重新执行。复位单元为独立单元,不需与其他单元连接。一个程序项目中智能有一个复位单元。在Condition中可输入复位的条件,如果输入的是接口板端口名,当E2端口的输入设备的状态再由1→0时,程序重新开始执行。Dondition中也可以输入方程或逻辑条件,如果输入“Var2>10”,那么当变量2的值大于10时程序复位;若输入“E1ORVar3=5”,那么一旦E1由0变1时或变量3等于5时,程序复位。6.停止单元(stop):与复位单元类似,但其功能是停止输出端口的输出,即与M1-M8端口连接的设备停止运转,而程序可继续执行。7.终端显示单元(Terminal):该单元功能较多,可在程序运行时显示输出端口的状态,信息,也可作为数字输入端口,模拟输入端口,可停止和复位程序等。终端显示单元为独立单元,不需要与其他的单元连接在一起。如图所示。图4.8A:显示接口板输出端口M1-M8的状态。B:显示指定变量的值,参数EA-ED的值,任意的整数,但需要与显示单元配合使用。C:文字显示窗口,与信息单元配合使用,最大可显示17个字符串。D:参数EA-ED输入窗口,在程序运行时可通过该窗口修改参数的值。E:数字输入按键,可作为开关使用,鼠标左键单击该按键松开,表示开关闭合,输入数字信号1;再次单击,开关断开,输入数字信号0。F:数字输入按键,可作为开关使用,鼠标左键单击该按键不放,表示开关闭合,输入数字信号1;松开按键,开关断开,输入数字信号0。G:停止按键,在程序运行时单击该按键可停止输出端口上的运行设备。H:复位按键,在程序运行时单击该按键可使程序复位,再次单击该按键,程序重新执行。8.显示单元:该单元可用于在终端显示单元中显示指定变量的值,模拟输入值EX-EY,参数EA-ED的值和特定数值。,如图所示,在Display中选择显示位置,即选择在终端显示单元B区的左侧还是右侧显示,在Value中可设定要显示的数值,变量,参数。图4.99.信息单元:该单元可在终端显示单元的C区文字显示窗口中显示最长为17个字符串的信息,在Text栏中可输入需要显示的文本。10.显示值单元:该单元可显示指定变量的当前值。其为独立单元,不需要与其他单元相互连接,同时直接在对话框中输入变量名或输入端口名,在程序执行过程中就能显示其数值。11.变量单元:该单元用于将变量值加1或者减1,常用于计数,在Varuable中输入变量名或者标准计数器名,可使用的变量名从Var1-Var99,标准计数器名从Z1-Z16。12.比较单元:该单元式判断输入的条件的真假,符合所给条件,程序从1分支流出,否则从0分支流出,如图所示,在Condition中输入方程式就可以了,在Branchtotheright中选择0或1的分支为右边流出的分支。图4.9113.等待单元:该单元能使程序保持以前的执行状态,直至其等待的时间结束,程序再继续执行下去。在Duration中可输入等待时间,在Type中如果选择Defined,那么程序将在等待设定的时间再继续执行;如果选择Random,那么程序将在设定的时间内随机等待一定时间久继续执行。

第5章C语言下的循迹小车程序设计用C语言模块化编程,将各模块编写为各个功能函数,程序清晰、实时性高。机器人行驶模块:在行驶过程中,安装在机器人左端的红外传感器A检测到的黑白线条分别对应全局变量toc的不同数值,通过检测toc的数值从而控制两个减速直流电机的转速差进行左右修调,达到机器人在规定范围内行使。安装在机器人中部的红外传感器B检测到黑线时,全局变量value加1,通过检测value的数值确定机器人在轨道中的位置,从而使机器人在适当的地点作出相应的动作。该方案使得机器人能在偏离线路时做到自我修正,可以平稳有效的在指定的范围内行驶,适应性强。则可编写以下程序:源程序:inttime;intvalue=0;intbt=0;intsw=0;intuld=0;inttoc=2;inticc=0;intds=0;floatx=50.0;floaty=50.0;floatz=50.0;floatdistance=200;intservopin1=5;intservopin2=6;intservopin3=7;intTrigPin1=14;intEchoPin1=15;intTrigPin2=16;intEchoPin2=17;intTrigPin3=10;intEchoPin3=11;intMA1=9;intDO=18;intMOT_B_1=4;intMOT_B_2=8;intMOT_B_PWM=3;intMOT_A_1=20;intMOT_A_2=21;intMOT_A_PWM=22;voidMoter_work(intspe2,intspe1){digitalWrite(MOT_A_1,LOW);digitalWrite(MOT_A_2,HIGH);analogWrite(MOT_A_PWM,spe1);digitalWrite(MOT_B_1,HIGH);digitalWrite(MOT_B_2,LOW);analogWrite(MOT_B_PWM,spe2);}floatchaoshengbo(intTrigPin,intEchoPin){floata;digitalWrite(TrigPin,LOW);delayMicroseconds(2);digitalWrite(TrigPin,HIGH);delayMicroseconds(10);digitalWrite(TrigPin,LOW);time=pulseIn(EchoPin,HIGH);distance=time/58.0;distance=(int(distance*100.0))/100.0;a=distance;delay(30);returna;}voidservopulse(intangle,intpin){intpulsewidth=(angle*11)+500;digitalWrite(pin,HIGH);delayMicroseconds(pulsewidth);digitalWrite(pin,LOW);delayMicroseconds(20000-pulsewidth);}voidCatch(){inti;delay(1000);for(i=0;i<200;i++)servopulse(105,servopin2);delay(1000);for(i=0;i<200;i++)servopulse(120,servopin1);delay(1000);for(i=0;i<200;i++)servopulse(68,servopin2);delay(1000);for(i=0;i<200;i++)servopulse(95,servopin3);delay(1000);for(i=0;i<200;i++)servopulse(0,servopin1);}voidSeize(intval){if(sw){sw=0;Moter_work(0,0);for(inti=0;i<200;i++)servopulse(val,servopin3);delay(1000);z=chaoshengbo(TrigPin3,EchoPin3);while((x<20.0&&x>0.0)||(y<20.0&&y>0.0)){if(z<20.0&&z>0.0){delay(1100);Moter_work(0,0);Catch();break;}else{Work(48,25,23,45);delay(15);x=chaoshengbo(TrigPin1,EchoPin1);y=chaoshengbo(TrigPin2,EchoPin2);z=chaoshengbo(TrigPin3,EchoPin3);}}delay(500);}}voidWave(){x=chaoshengbo(TrigPin1,EchoPin1);y=chaoshengbo(TrigPin2,EchoPin2);if((x>20.0||x<0.0)&&(y>20.0||y<0.0)){delay(10);if((x>20.0||x<0.0)&&(y>20.0||y<0.0))sw=1;}if(x<20.0&&x>0.0){Seize(16);x=100.0;delay(500);Moter_work(63,63);}if(y<20.0&&y>0.0){Seize(176);y=100.0;delay(500);Moter_work(63,63);}}voidWork(intright0,intleft0,intright1,intleft1){if(bt){toc=digitalRead(MA1);delay(10);if(digitalRead(MA1)!=toc)toc=2;}switch(toc){case0:Moter_work(right0,left0);break;case1:Moter_work(right1,left1);break;case2:Moter_work(63,63);break;}}voidsetup(){pinMode(MOT_A_1,OUTPUT);pinMode(MOT_A_2,OUTPUT);pinMode(MOT_A_PWM,OUTPUT);pinMode(MOT_A_1,OUTPUT);pinMode(MOT_A_2,OUTPUT);pinMode(MOT_A_PWM,OUTPUT);pinMode(TrigPin1,OUTPUT);pinMode(EchoPin1,INPUT);pinMode(TrigPin2,OUTPUT);pinMode(EchoPin2,INPUT);pinMode(TrigPin3,OUTPUT);pinMode(EchoPin3,INPUT);pinMode(servopin1,OUTPUT);pinMode(servopin2,OUTPUT);pinMode(servopin3,OUTPUT);pinMode(DO,INPUT);pinMode(MA1,INPUT);}voidloop(){switch(value){case1:bt=1;break;case39:Moter_work(0,0);while(1);break;}if(ds==0){if(digitalRead(DO)==0){delay(10);if(digitalRead(DO)==0)ds=1;}}if(ds){if(digitalRead(DO)==1){delay(10);if(digitalRead(DO)==1){value++;ds=0;}}}Wave();Work(75,25,23,70);}经多次实验,该方案可使机器人在偏离预定路线时做到自我修正,机器人能在规定范围内平稳有效的行驶,并且在指定区域内作出相应动作。

第6章实验慧鱼机器人步骤6.1组装模型目的:熟悉慧鱼模型的构件和拼装方法。模型必须像在组装图中展示的那样,一步一步组装起来。组装图中新安装的组件颜色为其自身的颜色,而前面已装的组件为白色。在开始一个新的步骤之前,先找出所有该步骤需要的组件,并把它们装配到模型上,除非已用完了拿出来的组件,否则不要开始下一步,注意保证组件的安装位置与图纸相同,以免重装,组装图中有各电机,开关,感光器等元器件与慧鱼接口板的连接位置。在实验室进行慧鱼模型小车组装工作,首先将如图6.1所示六面体模型和齿轮,涡轮蜗杆,取出多组,并且长度大小不一致。图6.1六面体模型与齿轮模型然后通过楔形卡槽将六面体构件连接固定,并且串联起来,当整体框架搭建完成之后,如图所示电机通过六面体孔连接轴再与涡杆相连接,而蜗杆再连接上涡轮,涡轮固定在车轮轴上,这样简单的传动方式如图6.2所示就确定了。车轮车轮轴涡轮蜗杆电机电源车轮车轮轴涡轮蜗杆电机电源图6.2传动示意图在传动方式确定之后,我们将进行电路分析,进行驱动小车。首选,将线头一端连接在电机上,然后根据慧鱼模型开关原理,将另一头连接在开关的标号1处,然后用另一根线将开关处的线头接出来,线的另一端便可以连接到电源上,同理,电机的另一个接口可以用铜线连接出来,然后通过三角座连接在电源上,当按下开关后,小车便可以向前行走,再次按下开关,小车便停止。这样就基本实现了小车的启动和停止,也证实小车的驱动装置和传动系统没有问题,而小车要实现后退,其实质就是实现电机的反转,由于实验室慧鱼材料有限,最终我选择用另一条线再次接入电机(与第一次接线相反)然后如上所述方式再次连线,在连接电源后,小车实现了后退。至此,本次小车的驱动与传动部分如图6.3所示基本完成。图6.3小车实物示意图然后再用各种慧鱼拼件将小车的各个部分拼接的更加紧凑一点,使小车整体外观看起来美观。6.2编程控制模型组装完成后,必须将其与计算机连接才能编程控制。将9V电源下接入慧鱼接口板的1中,此时6,7绿色发光二极管交替闪烁,标志接口板准备就绪。再将接口板通过串口16与计算机相连。在熟悉ROBO程序界面和其他程序单元之后,编程控制慧鱼模型实现模型的规定动作。且编程时所需条件及需解决问题。(1)一旦出现程序单元规定的状况后,将执行下一个程序单元。即M1-M4,O1-O8的电器程序控制单元的执行时瞬时的。(2)由于电机与接口板插孔的不同链接将使电机在同一命令下转向不同,所需编程应用Test键明确每个电机的转动方向如何运转。(3)由于开关常用于限位作用,故这些开关的初始状态必须清楚,因而开关最后都连接为同一种状态。第7章结论本次设计利用了慧鱼模型教学用具及其创意组合模型来建立的机器人小车模型,通过ROBO接口板与LLwin软件的程序设计形成了自动循迹小车模型的构造,本文既介绍了设计自动循迹小车的研究背景,和国内外发展现状以及本次课题研究的意义,同时通过查阅资料介绍了本次课题所需要

温馨提示

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

评论

0/150

提交评论