




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计报告悬挂运动控制系统摘要本悬挂运动控制系统,采用步进电机作为系统的运动源,采用AT89C52作为系统的核心,通过输入脉冲来控制步进电机的运转,从而控制悬挂物体的运动轨迹。该系统能够用键盘输入坐标的参数,设置运动模式;用LCD器件RT12864M作为系统的显示器件,界面友好,能够显示系统的工作模式和及当前坐标值,通过拨码开关还可设置电机的步进。软件采用修正查表法(自行设计)计算电动机需要的脉冲个数,节省大量CPU资源和程序存储空间,代码简洁,便于设计和调试。本系统具有多种画图功能,能够画直径为50CM的(面板内)任意圆心的圆或弧,能够画出任意斜率的直线,任意大小和方向的矩形,且能够动态显示当前的坐标,运行速度快,误差小,基本上完成了所要的功能。关键词AT89C52步进电动机查表法LCD目录第一部分系统原理1本系统包括三大模块1第二部分方案的分析与论证2硬件电路设计、比较与论证2软件算法选择与论证3第三部分硬件电路设计与调试5硬件电路的设计5硬件电路的调试8第四部分系统软件设计和调试9坐标点确定9步进电机脉冲个数确定10定时器中断服务子程序流程图11第五部分软硬件联调和结论13软硬件联调13结论13附录使用工具和仪器15第一部分系统原理一、本系统包括三大模块1、单片机、键盘和显示模块该模块为整个系统的监控中心,单片机接收键盘和黑线检测模块传出的数据,经过处理,对显示器LCD写显示数据,对步进电动机组发出脉冲信号,控制电机做各种要求的运动。2、黑线检测模块该模块主要用于完成发挥部分2中画任意给定曲线。光电传感器识别黑线的位置。当发光二极管发出的光照射黑线时,光线被吸收,接收部分无法接收到光信号。接收光电三极管上输出高电平,经过比较器输出高电平。而没有黑线的地方,光信号被光电三极管采集到,输出低电平,经过比较整形输出低电平。单片机通过采集该电平信号判断黑线的位置,根据这个位置走动,也即实现了发挥部分2。3、电机组模块该模块接收单片机发出的脉冲信号,做正或反转,带动物体按要求运动。系统原理框图如图111图111第二部分方案的分析与论证一、硬件电路设计、比较与论证1、单片机选择考虑到本系统无须特殊功能模块,且有现成的MCS51系列单片机开发工具,我们决定使用价格便宜,供货充足MCS51系列单片机。由于AT89C51和AT89C52在价格上没有多少区别,且AT89C52有更大FLASH程序存储空间和RAM空间,外部引脚也相同。为满足大数据,长代码的要求,我们最终决定选用AT89C52单片机做为本系统的核心器件。2、电机选择方案一直流电动机调速系统直流电动机具有良好的线性调速特性,简单的控制性能,高的效率,优异的动态特。普通的直流电动机虽然能够达到提升或降低物体以控制画笔的目的,但是普通直流电动机在不工作时,其转子受到重物的拉力而旋转,在加电流的情况下,只有某个适当电流使电动机转子的转动力矩和物体拉力力矩平衡。显然使用普通直流电动机实现本系统,将会遇到难以想象的困难。方案二采用步进电动机。可以通过单片机输出数字脉冲来控制电动机,它将电脉冲信号转换角位移,即给一个脉冲信号,步进电动机就转动一个较小的角度,没有累计误差,具有良好的跟随型,可以精确控制电动机转子转动来控制画笔的运动,并且能够很好得解决了普通直流不能满足重物固定的难题。显然我们选用该种电机。3、示器件部分方案一采用数码管显示模块。数码管虽然说成本低,原理简单,但是接口电路相当复杂,控制烦琐,功耗大,不利于系统设计,控制及布局。并且本系统要显示的数据量特别大,用该种设计方案显然不切合实际。方案二采用液晶显示模块。48汉字显示的12864系列液晶可以一屏显示包括汉字在内的多种信息,且功耗小,接口电路简单,控制方便,界面友好,能较好的满足系统的设计要求。经比较,我们选择方案二。二、软件算法选择与论证1、不限定轨迹的运动方案一起点和目标一旦确定,其相应的绳长变化就确定了,那么直接算出电机需要的脉冲数,并通过单片机提供脉冲,画笔自然到达目标点。这种方式运行时间很短,编程非常简单,但坐标难以时实显示,影响后面的发挥部分。方案二所有情况都分段运动,即使不要求运动轨迹也要分段做近似直线运动,该方法运动时间增加,编程麻烦,但是容易动态显示当前坐标。为确保发挥部分,我们选择该方案。2、限定轨迹的运动(1)画圆方案一公式逼近法。在当前位置上,通过在轴向上增加一小段固定位移S,计算下一个坐标,并移动画笔,然后通过圆的公式计算偏离程度,确定下一次在哪个轴线方向上移动位移S及其坐标,如此计算,直到画完一个圆。该方法优点是可以节省数据存储空间,编程容易。缺点是占用大量的CPU资源,且在4个轴点附近的偏差很大。方案二一般查表法。将圆上的均匀采集的数据点存储于表格中供程序调用。该方法优点节省CPU资源,精度比方案一高。但代码程序量很大,而且随着采集点的增加和精度的提高,代码太大,程序的修改也很麻烦。方案三修正查表法(自行设计)。圆周运动比较特殊,在圆上按弧长均分的点,X和Y的增加存在一定关系。Y值变化量加快(或变慢),随之变YY慢(或加快)。且相位相差1/4圆周,幅度相同。这种方法便于修改,代码不大,为方案二的1/4,但精度跟方案二相同。同时用查表法,节省了大量的CPU。我们选择了方案三。(2)直线方案一计算斜率,用斜率直接乘以分段长度,当斜率过大数据溢出会导致严重错误,而当斜率过小,会有较大的舍入误差,计算精度不高。计算出的脉冲误差很大,积累的误差导致运动达不到要求。方案二不计算斜率,比较整个直线长度X和Y分量的大小,取大值先按1CM等份,再用等份数等份小的分量,并且将其值扩大100,取整,其误差很小。我们选择该方案画直线。我们选择方案二。第三部分硬件电路设计与调试一、硬件电路的设计1、步进电动机和驱动选型本系统采用的是常州步进电机及驱动,下面对该型号的电机和驱动作以下简单介绍。特点采用1230V直流或10V24V交流供电H桥双极性恒相流驱动输出驱动电流多档可选多档细分可选(1,2,4,8)输入信号光电隔离短路、错相保护提供节能的半电流锁定功能接口信号选择公共端(COM)电压由拨码开关选择(见表311)表3115V适应控制机5VTTL电平信号24V通用PLC的24V接口信号本题用5V。运行模式本驱动器可以提供整步、改善半步、四细分和八细分四种运行模式,利用驱动器面板上5位拨码开关的第3、第4两位可组合出四种状态(见表312)(0ON,1OFF)表312SW3,SW4运行模式SW3,SW4运行模式00整步01改善半步10四细分11八细分本题用改善半步。电流选择本驱动器利用驱动器面板上的4位拨码开关的第1,第2位组合出四种状态(见下表313)(0ON,1OFF)表313本题用为06A电源电压输入10VAC到30VAC之间选择,本题选择20VAC。输入信号公共端COM本驱动器的输入信号采用共阳极接线方式,用户应将输入信号的电源正极连接到对应的内部光耦导通,控制信号输入驱动器中。脉冲信号输入CP该脉冲信号下降沿被驱动器解释为一个有效脉冲,驱动电机运行一步。脉冲低电平的持续时间不少于10US。方向信号输入DIR该端信号的高电平和低电平控制电机的两个转向。该端悬空被等效认为高电平。控制电机转向时,应确保方向信号领先脉冲信号至少5US建立。与单片机接口电路如下图311图311SW1,SW2电流SW1,SW2电流0006A0112A1018A1125A2、键盘和显示电路的设计由于本系统仅采用4个键,因此将键盘直接连接到单片机的I/O口上去,并且采用软件消抖。液晶主要技术参数和显示特性电源VDD33V5V内置升压电路,无需负压显示内容128列X64行显示颜色黄绿显示角度600钟直视LCD类型STN与MCU接口8位或4位并行/3位串行配置LED背光多种软件功能光标显示、画面移位、自定义字符、睡眠模式等液晶的主要命令如下二、硬件电路的调试1、电机测试使用信号发生器输入5V,102000HZ方波信号到电动机驱动CP端,设置细分模式,COM接5V电源,DIR不接或接电源地,发现电机运转精确。2、键盘和显示键盘和液晶硬件电路比较简单,连接好电路,经过万用表测试,电路连接一切正常。3、黑线检测电路电路上电后检测在纸上画的任意黑线,用信号发生器检测电流信号,一切正常。第四部分系统软件设计和调试所有画线均采用分段画线。一、坐标点确定1、画任意直线图411起点,终点。,如上图411。0,XY1,XY1,0,XY,显然有,不妨取(这样做有两个好处1、防或者止用短的坐标轴向距离等份产生的舍入误差在长的上面放大而导致更大的误差。2、避免直线与轴线平行时,错选0作为除数,导致系统出错)。将以1CMX等份N。由此等份数N去等份,可以得到一系列新坐标Y。此方法可以画任意直线,只需输入所要到达的目标011,XYX点坐标。1画直径为50CM的圆(包括弧线)如图412在四个区域中有图412,则有ABCDA逆时针画圆XYAA相位相差一个区长,变化幅值完全相同。与,按弧长25等份,得到序列。ABX0125,X取其变化量为1024,NN表411ABCCDA序列X024,X240,X024,X240,X序列Y240024240024得到修正值表为(保存于代码段中)024,X为了避免大量浮点数带来的麻烦并兼顾精度,采用扩大100取整的办法,可以精确到001MM,完全满足设计的需要。(3)动态显示每一次画笔运动时,将新坐标输入到LCD即可。二、步进电机脉冲个数确定步进电机带动绳子进而带动画笔运动。唯一可以确定的是两坐标间绳子长度的变化量,左边滑轮坐标为,右边为。画笔运动前后两分别为15,95,1坐标,绳长变化1,NNXY2222115NNNLXYXY左边2195951N右边步进电机转子旋转一周,其绳子运动长度约为转子上轮子的周长C(根据实际运行调试结果定),左右电机(,2细分)需要的脉冲数分别为0个。12/80,/8NLCNLC中断服务程序送入个脉冲即可以。1,电动机画圆子程序框图如下图413。图413三、定时器中断服务子程序流程图图414第五部分软硬件联调和结论一、软硬件联调由于平时训练,软硬件联调过程中,液晶显示和键盘没有什么问题,基本上一次成功。1、直线运动调试过程中,发现相差很大,最大时居然差了3CM。这是步进电机不该有的结果。很快我们发现是因为,两绳子受力交点不在画笔上,而我们的程序就是在交点在画笔上编写的,所以不应该有正确结果。我们用线直接接到画笔上,在开始运行,发现只要输入终点坐标,就可以很好画出任意斜率的直线。2、圆周运动在调试过程中,我们碰到难题(1)由于绳子较粗,很容易导致在圆周另外一端偏差较大。(2)物体在较靠近面板边缘时,偏差增加。(3)物体在最高点的误差很大。我们用很细的铜丝代替的以前较粗的绳子,较细的绳子对周长的影响明显变小,通过尝试,我们得到比较好的周长值,除最高点外,基本上能够按照圆运动。经过分析,物体靠近面板边缘,两绳子受力方向和大小失调,绳子本身有一定的弹性,受力小的绳子伸展小,而受力大的伸展大,而且受力小的绳子本身就没有拉紧,导致误差很大,通过增加物体的质量,这种误差明显减小。通过分析,物体之所以在最高点会有很大误差(主要表现为向圆心偏约1CM左右),是因为在最高点时,绳子所承受的拉力最大,绳子伸长更大所致。这是该系统固有的缺点,虽然增加协调物体的质量,但是误差还是没有多大改善。二、结论1、直线运动测试表511次数起始坐标(CM)给定目标坐标(CM)实际目标坐标(CM)最大误差(CM)目标点误差(CM)时间(S)第一次(750,500)(750,850)(748,849)02022482第二次(750,500)(250,500)(251,501)02013531第三次(750,500)(250,300)(253,302)04043818第四次(400,400)(800,800)(794,9440)09093896第五次(0,0)(750,500)(748,4990)030352912、圆周运动测试表512次数圆心(CM)起始坐标(CM)实际目标坐标(CM)最大误差(CM)目标点误差(CM)时间(S)第一次(500,500)(750,500)(749,500)11015978第二次(400,500(650,500)(650,500)0906023)第三次(300,300)(300,550)(302,552)10046005附录使用工具和仪器1、万利INSIGHTSE52仿真器2、CP386编程器3、数字式示波器4、5V直流稳压电源5、直尺6、万用表7、电子称8、秒表9、锔子10、螺丝刀11、老虎钳源代码INCLUDEINCLUDEINCLUDEDEFINEC406/411SBITDIR1P34/高电平上拉/SBITDIR2P36/低电平上拉/SBITCP1P35SBITCP2P37/定义端口/SBITRSP23SBITRWP22SBITEP21SBITPSBP20SBITBUTTONADDP10SBITBUTTONDIREP11SBITBUTTONENTERP13/定义数据/UNSIGNEDCHARCODESHOW118187,182,/欢/211,173,/迎/202,185,/使/211,195/用/UNSIGNEDCHARCODESHOW12160XBA,0XD3,0XBA,0XA3,0XB4,0XF3,0XD1,0XA7,0XB3,0XA3,0XD6,0XDD,0XD0,0XA3,0XC7,0XF8/河海大学常州校区/UNSIGNEDCHARCODESHOW1380XB2,0XCE,0XC8,0XFC,0XD7,0XF7,0XC6,0XB7/参赛作品/UNSIGNEDCHARCODESHOW21160XD7,0XF8,/坐/0XB1,0XEA,/标/0X3A,/0X58,/X/0X20,0X20,0X20,0X20,0X20,0X59,/Y/0X20,0X20,0X20,0X20UNSIGNEDCHARCODESHOW2280XC9,0XE8,0XB6,0XA8,0X3A,0X20,0X20,0X20/设定/UNSIGNEDCHARCODESHOW22180XD7,0XD4,0XB6,0XA8,0XD2,0XE5,0X31,0X20/自定义1/UNSIGNEDCHARCODESHOW22280XD7,0XD4,0XB6,0XA8,0XD2,0XE5,0X32,0X20/自定义2/UNSIGNEDCHARCODESHOW22380XD4,0XB2,0XD6,0XDC,0X20,0X20,0X20,0X20/圆周/UNSIGNEDCHARCODESHOW22480XB6,0XA8,0XB5,0XE3,0X20,0X20,0X20,0X20/定点/UNSIGNEDCHARCODESHOW22580XC8,0XCE,0XD2,0XE2,0X20,0X20,0X20,0X20/任意/UNSIGNEDCHARCODESHOW23290XD7,0XF8,0XB1,0XEA,0XC9,0XE8,0XB6,0XA8,0X3A/坐标设定/UNSIGNEDCHARCODESHOW23190XD4,0XB2,0XD0,0XC4,0XC9,0XE8,0XB6,0XA8,0X3A/圆心设定/UNSIGNEDCHARCODESHOW2420X58,0X59,/XY/函数原型说明/VOIDLCDINITVOIDWRITEDATAUNSIGNEDCHARDAVOIDLCDWRITEDATAUNSIGNEDCHARCHANGE,UNSIGNEDCHARNVOIDLCDWRITECMDUNSIGNEDCHARCMDVOIDLCDWAITVOIDLCDLOCATEUNSIGNEDCHARPOX,UNSIGNEDCHARPOYVOIDDELAY400MSVOIDDELAY1SVOIDDELAY100USVOIDDELAY100MSVOIDVOIDDELAYMSUNSIGNEDCHARKVOIDWAITVOIDJUMPTOUNSIGNEDCHARNVOIDONEADDVOIDVOIDSHOWXYVOIDVOIDLCDDISPUNSIGNEDINTPOX,UNSIGNEDINTPOYVOIDSHOWXY1UNSIGNEDCHARPOX,UNSIGNEDCHARPOYUNSIGNEDCHARCODEOFFSET501,4,6,9,11,13,16,19,20,23,26,28,30,32,34,37,39,41,43,45,48,49,51,53,54,57,58,59,62,63,64,65,67,69,69,71,71,73,71,76,76,75,77,76,78,78,78,78,78,79UNSIGNEDINTL1,L2,L3,L4,NOWX,NOWY,NEXTX,NEXTY,L11,L22UNSIGNEDINTTIMES1,TIMES2UNSIGNEDCHARS,I,FLAGBITLAST,DRAWFLAGUNSIGNEDCHARPLACEFLAG,MOVEFLAG,AIMX,AIMYVOIDMOVEUNSIGNEDINTPOX,UNSIGNEDINTPOYVOIDSTARTMOTORUNSIGNEDINTLX,UNSIGNEDINTLYVOIDINTER1VOIDVOIDCIRCLEUNSIGNEDCHARCENTX,UNSIGNEDCHARCENTYVOIDCALCULATEUNSIGNEDINTNOWX,UNSIGNEDINTNOWYVOIDDEFMOVE1VOIDVOIDDEFMOVE2VOIDVOIDBEELINEUNSIGNEDINTPOX,UNSIGNEDINTPOYVOIDARCUNSIGNEDCHARN/主函数/VOIDMAINVOIDUNSIGNEDCHARDATAMOVEFLAG1UNSIGNEDINTJUNSIGNEDCHARNDELAY100MSLCDINITDELAY400MSLCDLOCATE1,3/液晶显示“欢迎使用“/LCDWRITEDATASHOW11,8LCDLOCATE2,1LCDLOCATE3,1LCDWRITEDATASHOW12,16LCDLOCATE4,3LCDWRITEDATASHOW13,8DELAY1STIMES10TIMES20MOVEFLAG0NOWX7500NOWY5000DRAWFLAG0LAST0/CP10CP20/L1SQRTFLOAT1500NOWX1500NOWXFLOAT11500NOWY11500NOWYL2SQRTFLOAT9500NOWX9500NOWXFLOAT11500NOWY11500NOWYIE0X83TCON0X08TMOD0X01TH00XF8TL00X2FLCDWRITECMD0X01/清屏/液晶显示“坐标“/LCDWRITEDATASHOW21,16/CIRCLE5000,5000/WHILE1LCDLOCATE2,1/液晶显示“设定“/LCDWRITEDATASHOW22,8LCDLOCATE2,5/液晶显示“自定义1“/LCDWRITEDATASHOW221,7LCDDISPNOWX/10,NOWY/10MOVEFLAG1DRAWFLAG0WHILE1/选择运动模式/WHILE1IFBUTTONADD0DELAYMS10IFBUTTONADD0MOVEFLAGIFMOVEFLAG6MOVEFLAG1IFBUTTONENTER0DELAYMS10IFBUTTONENTER0BREAKLCDLOCATE2,5SWITCHMOVEFLAGCASE1LCDWRITEDATASHOW221,8BREAKCASE2LCDWRITEDATASHOW222,8BREAKCASE3LCDWRITEDATASHOW223,8BREAKCASE4LCDWRITEDATASHOW224,8BREAKDEFAULTLCDWRITEDATASHOW225,8BREAK/执行运动/SWITCHMOVEFLAGCASE1/执行自定义1矩形的运动/DEFMOVE1BREAKCASE2DEFMOVE2BREAK/执行自定义2半圆的运动/CASE3/执行圆周运动/UNSIGNEDCHARJLCDWRITECMD0X0FLCDLOCATE3,1/显示屏幕上的数据/LCDWRITEDATASHOW231,9SHOWXYLCDWRITECMD0X10/设置游标/JUMPTO5PLACEFLAG1/修改数据/ONEADDJUMPTO5PLACEFLAG0ONEADDJUMPTO3PLACEFLAG4ONEADDJUMPTO2PLACEFLAG3ONEADDLCDWRITECMD0X10PLACEFLAG2LAST1ONEADDCIRCLEAIMX,AIMYAIMX0AIMY0LCDLOCATE3,1FORJ0J0AFORJ7269J0JVOIDDELAY1SUNSIGNEDINTDATAA,JFORA100A0AFORJ1000J0JVOIDDELAY100USUNSIGNEDCHARJFORJ10J0JVOIDDELAYMSUNSIGNEDCHARKUNSIGNEDINTDATAA,JFORA0A80AIMX1IFPLACEFLAG1AIMX10IFAIMX80AIMX80IFPLACEFLAG2AIMYIFAIMY100AIMY0IFPLACEFLAG3AIMY10IFAIMY100AIMY100IFPLACEFLAG4AIMY100IFAIMY100AIMY100IFAIMY200AIMY200CHANGE1IFCHANGESHOWXY1AIMX,AIMYIFBUTTONENTER0DELAYMS10IFBUTTONENTER0CHANGE0SHOWXY1AIMX,AIMYIFLASTLCDWRITECMD0X0CLAST0BREAKVOIDLCDDISPUNSIGNEDINTPOX,UNSIGNEDINTPOYUNSIGNEDCHARJ,NUM3FORJ2J0JNUMJPOX100X30POX/10IFJ0BREAKFORJ0J0JNUMJPOY100X30POY/10IFJ0BREAKFORJ0J0JNUM1JPOX100X30POX/10IFJ0BREAKFORJ2J0JNUM2JPOY100X30POY/10IFJ0BREAKLCDLOCATE4,1WRITEDATA0X20WRITEDATA0X20WRITEDATASHOW240FORJ0JL3L1L1L3DIR11/DIR11SHOUELSEL1L3L1DIR10/FANGIFL2L4L2L2L4DIR20/SHOUELSEL2L4L2DIR21/FANGSTARTMOTORL1,L2L11L1L22L2L1L3L2L4/NOWXNEXTX/NOWYNEXTY/电动机运转函数/VOIDSTARTMOTORUNSIGNEDINTLX,UNSIGNEDINTLYTIMES1LX/FLOATC400TIMES14TIMES1TIMES2LY/FLOATC400TIMES
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司员工之家管理制度
- 少先队文明班管理制度
- 商联会微信群管理制度
- 医院健康周期管理制度
- 工厂疫情防疫管理制度
- 医院负面清单管理制度
- 医院数据归档管理制度
- 党内工作经费管理制度
- 公车封存制度管理制度
- 公司酒驾醉驾管理制度
- 4.1+陆地水体及其相互关系1河流的补给课件【要点精讲+拓展提升】人教版(2019)高中地理选择性必修1+
- 中秋节起源及相关习俗介绍
- 美国家庭万用亲子英文英语8000句(一)
- 建筑装饰装修施工课件
- 雷雨第四幕剧本由中门上不做声地走进来雨衣上雨还在往下滴发鬓有些
- 江苏省南京市建邺区2020-2021学年五年级下学期期末数学试卷含答案
- 企业安全生产主体责任落实二
- 新工艺、新技术、新设备、新材料的采用详解
- 02R112 拱顶油罐图集
- 浙江省建设工程“钱江杯”奖(优质工程)评审细则 申报工程
- 【科目一考试】安徽省东至县驾校模拟考试练习300题
评论
0/150
提交评论