1、学校代码11509学号1005073029HEFEIUNIVERSITY毕业设计(论文)BACHELORDISSERTATION论文题目基于MCS51单片机步进电机的控制系统设计与实现学位类别工学学士学科专业10级自动化2班作者姓名导师姓名完成时间2014年5月12日基于MCS51单片机步进电机的控制系统设计与实现中文摘要步进电机最早出现在十九世纪初期,经过一段时期的发展步进电机被广泛应用在各个领域,因为其具有良好的控制作用。所以对步进电机控系统进一步的探索有着更为深远的意义。本设计是基于单片步进电机的控制系统,硬件设计采用STC89C52单片机为控制核心;选取ULN2003作为驱动器提供脉冲
2、频率,驱动步进电机运转;通过键盘的加减速按钮、正反转按钮和停止按钮来控制步进电机的速度、方向和停止,最后通过测试传感器将这几个参数显示在12864液晶显示器上。软件设计采用KEIL软件工具进行C语言编写,通过各个模块端口的定义,编写出了步进电机加减速控制和正反转的程序,最后通过各模块程序调试对硬件电路施行控制。本设计以经济实用为原则,通过软硬件结合的设计,实现了对步进电机转动速度和方向的有效控制。该系统具有控制性好,设计成本低等优点。关键字STC89C52;步进电机;控制系统;测速传感器STEPPERMOTORCONTROLSYSTEMDESIGNANDIMPLEMENTATIONBASEDO
3、NMCS51MICROCONTROLLERABSTRACTTHESTEPPINGMOTORWASINVENTEDINTHEEARLY1800S,AFTERALONGPERIODOFDEVELOPMENTOFTHESTEPPERMOTORISWIDELYUSEDINVARIOUSFIELDS,BECAUSEITHASGOODCONTROLEFFECTTHEREFORE,THESTUDYOFTHESTEPPERMOTORCONTROLSYSTEMHASAVERYIMPORTANTSIGNIFICANCETHISDESIGNISSTEPPERMOTORCONTROLSYSTEMBASEDMICROC
4、OMPUTER,HARDWAREDESIGNUSESSTC89C52MICROCONTROLLERASTHECONTROLCORESELECTULN2003ASDRIVERPROVIDESPULSEFREQUENCYDRIVESTEPPERMOTORROTATIONTHROUGHACCELERATIONANDDECELERATIONBUTTONKEYBOARD,FORWARDANDREVERSEBUTTONANDSTOPBUTTONSTOCONTROLTHESTEPPERMOTORSPEED,DIRECTIONANDSTOPS,THENTHESESEVERALPARAMETERSWASDISP
5、LAYEDONTHELCDMONITOR12864BYTHESPEEDSENSORSOFTWAREDESIGNUSINGKEILSOFTWARETOOLSFORCLANGUAGE,DEFINEDEACHMODULEPORT,ANDWRITEASTEPPERMOTORCONTROLACCELERATIONANDDECELERATIONANDREVERSINGTHEPROCESSFINALLYTOCONTROLTHEHARDWARECIRCUITTHROUGHDEBUGGINGTHEDESIGNPRINCIPLEOFECONOMICALANDPRACTICAL,THROUGHCOMBINATION
6、OFSOFTWAREANDHARDWAREDESIGNEDTOACHIEVETHEEFFECTIVECONTROLOFTHESTEPPERMOTORROTATIONSPEEDANDDIRECTIONTHESYSTEMHASGOODCONTROLLABILITYANDLOWCOATKEYWORDSSTC89C52STEPPERMOTORCONTROLSYSTEMSSPEEDSENSOR目录第一章绪论111课题背景112课题研究的目的及意义213系统设计的主要任务2第二章总体方案设计321系统总体设计与分析322各模块功能说明323本章小结4第三章控制系统硬件分析与设计531中央处理器模块5311
7、单片机5312复位电路7313振荡电路832显示模块833驱动模块9331步进电机10332ULN20031134电源模块1235键盘模块1236本章小结13第四章控制系统软件分析与设计1441主程序流程图144212864显示程序流程图1543正反转程序流程图1644加减速程序流程图1745本章小结17第五章系统的测试与结果分析1851软件测试工具1852测试数据与分析19521圈数测试19522速度测试1953本章小结21第六章毕业设计总结22参考文献23致谢24附录25附录一系统电路仿真图25附录二系统实物图26附录三单片机端口分配表27附录四系统程序281第一章绪论本章简单的介绍了步进
8、电机的发展史,步进电机在各个领域的应用。论述了研究本课题的目的和意义,最后简要的叙述了本设计控制系统需要完成的几项任务。11课题背景在21世纪,电动机在我们社会中扮演着十分重要的角色,无论在工业、农业还是在我们日常生活中起着重要的作用。步进电机是一种特殊的可以控制的电动机,在现代社会的额各个领域有着广泛的应用。因为步进电机具有良好的控制作用,而且是当今机械电子工程的主要构件之一。因此步进电机大量地使用在各类不同的自动化设备及控制装置等领域1。早期的步进电机大约出现在十九世纪三十年代左右,在通电的情况下,有一种能够自由旋转的电磁铁,就是我们所说的早期步进电机,其工作原理和现在的步进电机本质上是相
9、同的2。到了上世纪初,由于出现大规模的战争,军工业和造船业等重工业的快速发展,步进电机的需求量被无线放大。同时期的西方报纸和期刊先后刊登了大量步进电机在军工业和造船业上应用的文章,那是的文章已经详细的介绍了不进电机电的设计方法和计算等。在后来的一段时期这些理论被用于实践指导步进电机的结构设计和批量的生产3。到了二十世纪八十年代后,步进电动机的控制方式开始变得更加多样化,主要原因是多用途模式的步进电机的产生。在微电子个计算机技术高速发展的情况下,直接引起了对步进电机的使用数量成爆炸式增长,在各国家的军事领域和国民经济领域都有着广泛的应用。步进电机实际上是一种将电脉冲转化为角位移的控制元件,它突出
10、的优点是自身构造简单,具有快速的启动、停止和反转响应,运行安全可靠。步进电机还有一些非常特殊的地方,它的步距值不会随着现场温度和电压的变化而改变,同时误差亦不会长时间积累,所以给实践的操作中带来了很大的方便4。步进电机大量使用在各类产品中,其中消费类产品包括打印机和照相机等;工业产品包括机器人、数字控制体系和纸带传送机构等。因此对步进电机的详细研究具有十分重要的意义。本文设计了一种以STC89C52单片机为核心元件的控制系统。212课题研究的目的及意义随着现代工业和农业的不断发展壮大,步进电机的使用量也成爆炸式增长。以前的步进电机的控制精度和控制效果已无法达到当今社会生产力的要求,因此如何更好
11、的发展和应用步进电机是非常值得思考的。本课题的设计就是对步进电机进行控制,其本身就具有一些突出的优点是快速的起动、停止和反转响应;由于其采用开环控制,从而自身构造更加简易化并且成本低5。在微电子个计算机技术高速发展的情况下,步进电机也朝着小型化矩形化发展以适应当前各种设备的需要,所以本课题对于步进电机控制的研究具有十分重要的意义。13系统设计的主要任务设计的该控制系统应完成以下几项任务(1)步进电机的启动和停止控制;(2)步进电机的加速和减速控制;(3)步进电机的正反转控制;(4)步进电机的转速动态显示在液晶显示器上。3第二章总体方案设计21系统总体设计与分析本设计是使用STC89C52为控制
12、元件,设计出一种基于单片机步进电机的控制系统。该控制系统通过自有的键盘模块来实现对步进电机的运转进行有效的控制,并且将步进电机的转速显示在液晶显示器上,转动方向以文字的形式显示在液晶显示器上。下图是系统总体结构框图。图1系统总体结构框图22各模块功能说明本设计控制系统有五个模块中央处理器模块、12864液晶显示模块、步进电机驱动模块、电源模块和键盘模块。(1)中央处理器模块主要由振荡电路和复位电路构成。振荡电路是给最小系统模块提供给频率,单片机的运行速度就是一该频率为基准的,频率高单片机运行速度快。复位电路就是系统运行时在受到外部干扰,内部程序运行出错时,通过按下复位按钮可以让原程序重新开始运
13、行,保证了单片机的正常启动6。(2)本设计的显示模块采用12864液晶器来动态显示步进电机的转动速度和方向。(3)本世纪的进电机驱动模块选用驱动器ULN2003为步进电机提供电脉冲4信号,进而驱动步进电机转动。ULN2003的输入端与单片机的P1口相连。(4)电源模块是通过整流桥将变压器降压过来的交流电压转化为直流5V供给其他四个模块。(5)本设计的键盘模块包括了控制方向按钮键、加速按钮键、减速按钮键和启停按钮键,与单片机的P3口相连,通过这些键盘按钮可以对步进电机的转动状态进行有效的控制。23本章小结本章首先简单的说明了该设计的思想,在控制低成本,且能完成该设计的情况下,通过综合考虑用了以S
14、TC89C52单片机作为本设计系统的控制核心元件。5第三章控制系统硬件分析与设计31中央处理器模块中央处理器系统就是用最少的电子元件搭建的单片机而且能够正常工作的系统,其最小系统包括了单片机,复位电路、振荡电路和外部扩展等部分组成。中央处理器模块电路图如下XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P10/T21P11/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT01
15、2P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427U1AT89C52C110UFSW1GNDX1CRYSTALC230PFC330PF5VR110K图2中央处理器模块电路图311单片机(1)概述单片机也就是微型处理器,世界上第一个位微处理器是因特尔公司研制出来的。因特尔公司的8051单片机是当时最成功的微处理器。基于这种单片机的操作系统在当代仍有使用。7单片机的主要组成部分包括运算器、控制器寄存器和输入输出设备。其中运算
16、器的功能是执行各种算术的运算和逻辑比较;控制器的功能是指令的存取以及控制CPU与和输入输出设备的数据交换。单片机相当于一个微型计算机,但是其没有计算机的外围设备8。单片机具有一些明显的有点,体积小、重量轻而且价格便宜,为学生的学习和研发人员提供了便利的条件。另外在学习单片机之后我们能够很轻松的接受复杂的计算机原理和结构的知识。单片机的出现首先应用在工业领域。单片机在各个领域都有着广泛的应用,它的发展趋势是小型化和高度集中化。8051是一款饱受好评的单片机,它生产出来之后就被大量使用。这种单片机具有明显的优越性就是其体积小、简单可靠而且性能不错。经过无数次的发展,62000年ARM退出了32位的
17、高端单片机,但是其价格比较昂贵,没有8051性价比高。因此8051单片机一直在广泛使用这。在二十一世纪,单片机存在在各种电子器件产品中,最典型的我们周中使用的手机,电话,游戏机等,家庭的家用电器,笔记本电脑内部都有单片机。我们日常出门的交通工具汽车上就包含了几十个单片机,有的大型重工业控制系统上单片机的应用数量更多。单片机是世界上使用数量最多的处理器。(2)单片机的选择设计产品我们首先要考虑到经济性和可靠性,本设计采用STC89C52单片机足以满足我们设计的需要,其是一种单时钟的单片机,其拥有以下优点运算速度高、功耗低、抗干扰能力强等。STC89C52的运算速度是早期8051的10倍左右。ST
18、C89C52主要特性如下针对本系统,RAM和FLASH容量足够大,有定时器中断功能能实现实时温度的采集,提供有EEPROM,可以设置掉电保护,是之前设置的温度不丢失,全双工的工作方式是的系统更加可靠。9(3)引脚功能说明图3单片机引脚功能图VCC电源电压。GND接地。P0口(32脚39脚)通常被定义为数据/地址的低八位,适用于外部数据寄存器。P0口通常作为一个输入端口,使用时要接上上拉电阻。7P1口(1脚8脚)是一个输入输出的端口,每个端口可以独立控制。P2口(21脚28脚)具有P0和P1的基本功能既可以做输入输出端口也可以做外部数据寄存器,每个端口也可以独立控制。P3口(10脚17脚)可以作
19、为一个输入输出端口,也可以充当单片机的一个特殊功能端口。下表是P3口个引脚功能说明如下10表1P3口引脚功能说明端口引脚功能P3010串行输入口P3111串行输出口P3212外部中断0P3313外部中断1P3414计数器0外部输入P3515计数器1外部输出P3616外部数据存储器写选通P3717外部数据存储器读选通312复位电路复位电路其作用是把原有状态的电路初始化到一个确定的电路,单片机的复位端口接上适当的电阻和电容构成的电路就是所说的中央处理器系统的复位电路。复位电路一般包括上电复位和按键复位,本设计采用的按键复位,通过一个独立按键来手动控制电路的复位。复位电路图如下所示SW1GND5V复
20、位电路R110KC130UFRST图4复位电路图8313振荡电路振荡电路晶振是组成单片机系统的关键元件之一,晶振电路在单片机系统里存在着十分中重要的作用,晶振两端接在单片机的XTAL1和XTAL2引脚上。单片机的晶振的实质作用是给中央处理器提供时钟电路,单片机工作运行的速度与晶振提供的频率有关。本设计的晶振电路用了30PF的电容和12MH的晶体振荡器作为核心元件。振荡电路图如下C230PFC230PFX1CRYSTALXTAL1XTAL2图5振荡电路图32显示模块本设计显示部分采用12864液晶显示器,通过各个端口的定义,在12864上动态的显示步进电机的速度和方向。显示模块电路图如下CE7R
21、D6C/D8VSS2VDD3CON4WR5D010FS118FG1D111D212D313D414D515D616D717RST9LCD1PG12864F45RV110KP24P25P26P00P01P02P03P04P05P06P07P21P22P23图6显示电路模块图112864的基本特性12864是12864点阵型液晶模块的点阵数简称,因为要更人性化显示中文9汉字,所以12864是最好的选择。12864液晶显示器是一种内部含有简体中文字库的点阵图形液晶显示模块。其内部设置了大量的点阵和ASCII字符集,可以完成数学、汉字和图形的显示。其串口借口引脚信号表如下11表212864串口接口管脚
22、信号引脚号引脚名称引脚功能1VSS电源地2VDD电源正3V0对比度(亮度)调整4RS低电平时,数据显示高电平时,指令数据显示5R/W高电平时,数据读低电平时,数据写6E使能信号714DB0DB7八位数据三态线15PSB高电平时,并口方式低电平时,串口方式16NC空脚17/RESET复位端,低电平有效18VRLCD驱动电压输出端33驱动模块本系统设计的主要目的是为了有效的控制步进电机的转动速度个运转方向,所以我们要把单片机的电脉冲信号转化为能使步进电机转动的步距角,本设计中我采用了驱动器ULN2003作为脉冲信号的提供原。驱动模块电路图如下所示1B11C162B22C153B33C144B44C
23、135B55C126B66C117B77C10COM9U2ULN2004A888P10P11P12P13图7驱动电路模块图10331步进电机(1)步进电机的工作原理通常电动机是由静止的转子和转动的转子组成,电动机的转子是一种永磁体,当有电流通过定子绕组时,定子起着接受电能产生旋转磁场的作用。转子在该磁场的作用下旋转一个角度,从而让转子的磁场方向与定子的磁场方向保持一致。同样,定子的磁场旋转一个角度,转子也会沿着该方向转动相同的角度。每接收一个电脉冲信号,电动机就会转动一个固定角度。脉冲数量越多电机旋转角度越大,脉冲频率越高电机转速越快,可以看出它们两辆成正比关系。我们只需要改变绕组的通电顺序就
24、能够改变电动机的转动方向。因此控制电动机的转动实际上就是控制脉冲数量和频率。12(2)步进电机的分类步进电机根据结构的差异通常分为以下三类表3步进电机分类类别反应式步进电机永磁式步进电机混合式步进电机结构有软磁材料组成定子绕组和转子步进电机的转子用永磁材料制成定子上有多相绕组、转子上采用永磁材料力矩小大大步距角小(12O)大(75O或15O)小精度差差好动态性能差好好(3)步进电机的主要特点和特性步进电机转动的前提是必须添加驱动,脉冲信号时唯一能驱动电机运转的驱动信号,也就是没有脉冲信号电机就不会运转。当添加一个稳定的脉冲信号,其就会按照固定的角度转动,转动的速度与脉冲频率成正比。能够瞬间启动
25、和快速停止时步进电机的一个优越特性。改变步进电机转动方向的一个简便方法就是改变脉冲顺序。步进电机主要具有以下有点131、电机旋转的角度与脉冲数成正比;2、最大的转矩出现在电机停止的位置上;113、每一步的精度在35,而且误差不会长期积累,上一步的误差不会叠加到下一步,因而具有良好的位置精度;4、电机具有快速的起停和反转响应;5、步进电机没有电刷,运行可靠,因此电机自身的轴承寿命决定了电机的寿命;6、因为没有反馈环节,故控制简单;7、脉冲信号的频率决定了转速,故电机有较宽的调速范围。但是,这种电机也有自身的缺点1、在控制不当的情况下容易产生共振;2、很难获得较高的转动速度;3、转矩较小;4、在体
26、积重量方面没有优势,能源利用率低;5、过载运转时会破坏同步,高速转动时会产生振动和噪声。(4)本设计采用了28BYJ48型进电机。其参数如下14表428BYJ48型进电机技术参数电压V项数步距角度减速比定位转矩GCM545625/64164300332ULN2003ULN2003是一种晶体管阵列,它的明显特点是功能强大,而且成本不高,是各种电路的理想器件,应用范围非常广。图8、图9是ULN2003的芯片引脚图和外形图图8ULN2003芯片引脚图12图9ULN2003外形图34电源模块下图是电源模块图,有两套电源电路,其中一个是备用电路。如下图所示C11NFTR1TRAN2P2SBR12W005
27、GC21UFC31UFC41UFC51UFVI1VO3GND2U17805VI1VO3GND2U27805C61NFC71NFC81NF5V5V图10电源模块图电源模块整流桥采用的是2W10整流桥,其是一种圆形直插式整流桥。其最大平均工作电流2A,最大反向电压时1000V15。整流桥外形图如下图11整流桥外形图35键盘模块键盘模块主要是对步进电机的转动速度和转动方向进行有效的控制,该模块包含了加速按钮、减速按钮、正反转按钮和停止按钮。控制不进电机电的转速只需要按下加速或者减速按钮;对步进电机的方向进行控制我们只需要按下正或反转按钮;停止按钮可以随时让步进电机停止转动。键盘模块电路图如下所示13
28、XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P10/T21P11/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427U1AT89C521B11C1
29、62B22C153B33C144B44C135B55C126B66C117B77C10COM9U2ULN2004A加速减速正(反)传P32P33P15P14圈数图12键盘模块电路图36本章小结本章内容首先介绍了该控制系统的组成模块,并对各个模块硬件设计作了详细的说明。另外,还对步进电机和单片机的原理等知识作了说明。14第四章控制系统软件分析与设计综合总体设计方案和各模块硬件电路的考虑,该系统的软件设计思路第一步各模块初始化,对12864、驱动器进行设置为下一步接受信息做好准备。第二步通过ULN2003产生的脉冲驱动电机转动,显示在12864上,在通过键盘扫描得到设定的信息;第三步通过键盘按钮里
30、控制步进电机的运转情况,并显示在显示器上。41主程序流程图图13主程序流程图主程序流程图首先是对各个模块进行初始化,包括12864,步进电机等。15然后通过按键扫描得出设定速度并进行显示。然后读FLAG标志选择是正转还是反转,正转时,确定转速和圈数,然后调用12864显示程序显示。然后返回按键扫描,构成循环。4212864显示程序流程图图1412864显示程序流程图12864显示程序流程图首先是初始化,针对显示屏进行设计,比如设定游标的移动方向,游标位置反白允许,设定CGRAM地址,并口或者工作模式等等。第二步写指令,写入控制指令,选择写入12864的显示位置。第三步,写入数据,可以写入单个字
31、符也可以写入字符串,单个数据时要加入0X30,还可以写入图片内容,在写入时逐个写入,直到结束。第四步,12864内部写计数器计数器为0时,显示结束,完成一次显示过程。1643正反转程序流程图图15正反转程序流程图正反转程序流程图首先是在主程序里面初始化定时器0,主要是开总中断,开外部中断0,设定边沿式触发中断。然后设定一个正反转FLAG标志,判断当FLAG标志位1为时选择正转,反之,FLSF标志位位0时选择反转。该改变FALG标志的方法是选择外部中断。具体是通过一个独立按键作为外部中断0的输入,当有按键按下时,边沿触发,然后申请中断,执行中断服务程序。在中断服务程序里面首先按键去抖动程序,去抖
32、动后对FLAG标志取反从而每按一次按键FLAG标志位改变一次,执行结束后返回主程序。这样每按一次按键正反转改变一次实现正反转。1744加减速程序流程图图16加减速程序流程图加减速程序流程图通过两个独立按键实现,一个代表加速,一个代表减速。首先设置按键对应单片机端口部分,然后检测是否有低电平,当检测到有低电平时,延时10MS去抖动,再次判断是否有低电平,仍然是低电平时判断按键是否释放,当按键释放时才执行下一部程序,针对本程序,当加按键按下后增加转速NUM值就可以加速,反之,减按键按下后减小NUM值从而减小速度。45本章小结本章简单的介绍了系统软件设计的思想,并且说明了主程序和各子程序的设计方法和
33、思路,描绘出了各程序流程图。18第五章系统的测试与结果分析51软件测试工具KEIL是常用的开发软件,适应于包括大部分的单片机系统和部分嵌入式系统的开发。它的突出特点是操作者可在初始化新建工程文件时将单片机的芯片资料库直接添加到开发环境中,这样使得用户软件编写变得更加便捷灵活。工程文件一旦生成操作者就不再需要进行文件的初始化操作,而且可以直接将程序代码放进工程中。如下图所示图17KEIL界面图运用软件调试工具DEBUG可以很好的观察程序执行过程。表示启动和停止调试模式;表示打开和关闭项目窗口;表示打开和关闭输出窗口;表示设置程序断点等等可以帮助操作者进行程序的分析、差错以及时序的确定。如下图所示
34、图18DEBUG调试界面1952测试数据与分析通过由测速传感器和最小系统构成的测试平台,检测步进电机转动的圈数和速度的误差。该测试平台的实物图如下图19测试平台实物图521圈数测试首先在步进电机转动时开始计数,直到步进电机停止转动,记录电机转动了多少圈。将记录的圈数与先前程序设置的圈数进行比较,下面是电机正转和反转时测试的圈数数据表表5正转时测试的圈数数据测试次数1234设定值(圈数)406080100实测值(圈数)406080100表6反转时的测试圈数数据测试次数1234设定值(圈数)406080100实测值(圈数)406080100测试结果说明步进电机在正常运转时,设定的圈数和实际测得的圈
35、数相同。进而说明转过的圈数没有误差。522速度测试电机转动时,通过测速传感器模块将步进电机的速度动态显示在显示器上,通过加减速键盘按钮来改变设定值,同时也改变了电机的实际转速。然后将其实际转速与先前设定的速度进行比较,下面是电机正转和反转时测试的速度数据20表表7电机正转时测试速度数据测试次数1234567设定值(R/MIN)708090100908070实测值(R/MIN)67778696867767表8电机反转时测试速度数据测试次数1234567设定值(R/MIN)708090100908070实测值(R/MIN)68778797877768为了更加直观的反应实际测量速度与设定速度的误差,
36、我们用折线图展现出来。下图是正转是的实测速度与设定速度折线图,反转类似在这省略了。图20实测速度与设定速度折线图从上图可以看出步进电机实测速度与设定速度的误差始终保持在一定范围,误差没有因为测量次数的增加而积累,所以可以认为其误差不会长期积累。下面用正转时的数据表格来计算误差,证明其误差不会积累。第一次测量误差474100677067第二次测量误差90310077807721第三次测量误差444100869086第七次测量误差474100677067通过数据分析可以得到步进电机的误差始终在一定范围内,误差不会积累。53本章小结本章首先介绍了设计使用的KEIL软件工具,接着重点叙述了本设计通过测
37、试平台。证明了步进电机的转动圈数没有误,转速的误差在一定范围内,且不会长期积累。进而也证明了步进电机具有良好的控制作用。22第六章毕业设计总结通过近期的努力,毕业设计顺利的完成了。本次设计主要呈现了对单片机在控制欲实现及步进电机的简单应用,在本次设计中,通过自身的努力让我在各方面的能力都有一定的提高。通过这次设计,我对单片机的调试、ULN2003的工作原理和12864显示器等都有了一些新的认识和了解。同时,我对本设计的总体硬件电路的组装和调试印象很深,总体电路的组装和调试十分重要,直接关系到设计的电路能否正常运行。在本设计的软件编程方面,为了能把各个模块的程序良好的组合在一起并能够顺利的实现运
38、作,进行了大量的程序调试,需要经几个模块程序一起调试,在这个过程中话费了大量的时间。本设计完成了题目所要求的基本功能,原计划要扩展一下该设计,但是由于时间和精力现在无法实习,在以后的工作中可以继续完成。23参考文献1坂本正文步进电机应用可以M北京科学出版社,200623452张强,吴红星,谢宗武基于单片机的电动机控制技术J北京中国电力出版社,2008,22134583栾居里永磁同步电动机的开环步进驱动器的研究J机械设计与制造,2012,1621351434袁任光,张伟武电动机控制电路选用与258实例M北京机械工业出版社,200556605王秀和永磁电机M北京中国电力出版社,200721356房
39、玉明,杭柏林基于单片机的步进电机开环控制系统J电机与控制应用,2006,1822022237HSKIM,KHKIM,MJYOUNONLINEDEADTIMECOMPENSATIONMETHODBASEDONTIMEDELAYCONTROLJIEEETRANSONCONTROLSYSTEMSTECHNOLOGY,2003,1122792858刘国荣单片微型计算机技术M北京机械工业出版社,19961051129宏晶科技STC89C52RC单片机中文资料J技术手册,2012,3,111310黄友锐单片机原理及应用M合肥合肥工业大学出版社,200611绘晶科技12864液晶显示器中文资料J技术手册,2
40、012,6,161812栾居里永磁同步电动机的开环步进驱动器的研究J机械设计与制造,2012,16310511613王润孝,秦现生机床数控原理与系统M西安西北工业大学出版社,1997455614德昌机电科技步进电机中文资料J技术手册,2013,4615鼎好电子科技整流桥英文资料J技术手册,2012,2324致谢在此次的毕业设计过程中,我要感谢院系领导能给我这样一个好平台去锻炼与展示自己。感谢储忠老师在此过程中给我的解惑与指导帮助。记得在上学期刚选题的时候,曾经对这个课题有比较多的疑问和考虑。首先是对题意的要求了解的不够深,其次是采用的制冷方法很难确定,可以确定的话成本也很难接受。由于在之前,比
41、如参电协焊接大赛或数学建模比赛,我们所做的都是一个团队去完成的。所以,个人都没有经历过自己独立的去完成一个项目,显然得到的锻炼也相对较少。对于本次毕业设计的方案,我是纠结了很久,与老师交流了很多,也同实验室里的同学交流了不少。当然,我想还是我之前学习的知识不够,才导致了我在本次设计中遇到诸多问题。经过了这次的毕业设计,我遇到了很多困难,也成长了不少。矛盾的确是在推动我们前进的动力。虽然,我日后的工作不一定是与本专业相关的,但是作为大学里的最后一次作业,那一定要认认真真的去完成。我觉得做事还是不能好高骛远,得从小事做起,成功是积累出来的。在做事的过程中一定要仔细、认真、用心。哪怕是最小、做不起眼
42、的工作也要做好例如,在设计电源的过程中就由于自己的大意,没有考虑好功耗,导致电源芯片发热严重。同时经过了这次的独立设计,让我提高了自学能力与自己解决问题的能力。回想起刚接触本课题时的那种心态,与如今顺利完成时的心态。真的感觉很有成就感,我想这足以让人自信不已。不过还是设计的有点不足,很多功能并不是很稳定。也通过了这次的设计让我对日后的工作有了更多的认识与理解。当然,这得感谢丁老师给我提供的指导,真的非常的感谢大学的这四年里,遇到了好老师,对学生影响真的很大。还有就是很多帮助我的同学们。有了你们的帮助,我的专业知识学变得更加的扎实、牢固,我迷茫与纠结的时间也少很多。最后,衷心地感谢储老师和帮助我
43、的同学致谢人魏伟2014年05月12日于合肥学院25附录附录一系统电路仿真图P25P24P23P26XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P10/T21P11/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A922P22/A1023P
44、23/A1124P24/A1225P25/A1326P26/A1427U1AT89C52C110UFSW1GNDX1CRYSTALC230PFC330PF5V1B11C162B22C153B33C144B44C135B55C126B66C117B77C10COM9U2ULN2004A888RES2A03RW4GND15VOUT16VDD14E5D06D17D28D39D410D511D612D713CS11LCD1HDG12864L412864显示电路100RV110K234567891RP1RESPACK8加速减速正(反)传启停复位电路时钟电路步进电机R110K26附录二系统实物图27附录三
45、单片机端口分配表引脚号引脚分配说明引脚号引脚分配说明P00接12864的4脚(RS)P14接加速按钮脚P01接12864的5脚R/WP15接减速按钮脚P02接12864的6脚EP16接圈数按钮脚P03接12864的7脚DB0P21接12864的12脚DB5P04接12864的8脚DB1P22接12864的13脚DB6P05接12864的9脚DB2P23接12864的14脚DB7P06接12864的10脚DB3P24接12864的15脚PSBP07接12864的11脚DB4P25接12864的16脚NCP10接UNL2003输入口1P26接12864的17脚/RESETP11接UNL2003输入
46、口2P32接正反转按钮脚P12接UNL2003输入口3P33接测试传感器D0口P13接UNL2003输入口428附录四系统程序1主程序/主程序/VOIDMAININIT_0/外部中断0INIT_TIMER0/定时器中断0INIT_1/外部中断1INIT_ST7920/初始化LCD_PUTSTRING0,1,“步进电机控制系统“/Y从14;X从07;LCD_PUTSTRING0,2,“当前速度R/M“LCD_PUTSTRING0,3,“设定速度R/M“LCD_PUTSTRING0,4,“显示圈Q“WHILE1SUDU_SD/矩阵键盘显示设定速度DIANJI/控制电机加减速和正反转SUDU_JC/
47、检测实际速度QS_JC/检测实际圈数2显示部分INCLUDE“DELAYH“INCLUDE“12864H“SBITRSP24/12864SBITRWP25SBITEP26SBITRESP23SBITPSBP21SBITPAUSEP30SBITKEY_ADDP14/按键SBITKEY_DECP15UNSIGNEDCHARSPEED6/电机实际转速UNSIGNEDCHARNUMM/设定速度UNSIGNEDCHARDIS2DEFINEDATAPORTP0/MCUP0LCM29/检测忙位/VOIDCHECK_BUSYRS0RW1E1DATAPORT0XFFWHILEDATAPORT/忙则等待E0/写命
48、令/VOIDWRITE_CMDUNSIGNEDCHARCMDCHECK_BUSYRS0RW0E1DATAPORTCMDDELAYUS2X5E0DELAYUS2X5/写数据/VOIDWRITE_DATAUNSIGNEDCHARDATACHECK_BUSYRS1RW0E1DATAPORTDATADELAYUS2X5E0DELAYUS2X5/液晶屏初始化30/VOIDINIT_ST7920DELAYMS40/大于40MS的延时程序PSB1/设置为8BIT并口工作模式DELAYMS1/延时RES0/复位DELAYMS1/延时RES1/复位置高DELAYMS10WRITE_CMD0X30/选择基本指令集
49、DELAYUS2X50/延时大于100USWRITE_CMD0X30/选择8BIT数据流DELAYUS2X20/延时大于37USWRITE_CMD0X0C/开显示无游标、不反白DELAYUS2X50/延时大于100USWRITE_CMD0X01/清除显示,并且设定地址指针为00HDELAYMS15/延时大于10MSWRITE_CMD0X06/指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位,光标从右向左加1位移动DELAYUS2X50/延时大于100US/显示字符串X横坐标值,范围08Y纵坐标值,范围14/VOIDLCD_PUTSTRINGUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARCODESSWITCHYCASE1WRITE_CMD0X80XBREAKCASE2WRITE_CMD0X90XBREAKCASE3WRITE_CMD0X88XBREAKCASE4WRITE_CMD0X98XBREAKDEFAULTBREAKWHILES0WRITE_DATASSDELAYUS2X5031/设定速度显示位置/位置显示与上述一样/VOIDLCD_POSUNSIGNEDCHARX,UNSIGNE
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。