还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
学校代码:11509学号:1005073029HefeiUniversity毕业设计(论文)BACHELORDISSERTATION论文题目基于MCS51单片机步进电机的控制系统设计与实现学位类别工学学士学科专业10级自动化2班作者姓名导师姓名完成时间2014年5月12日基于MCS51单片机步进电机的控制系统设计与实现中文摘要步进电机最早出现在十九世纪初期,经过一段时期的发展步进电机被广泛应用在各个领域,因为其具有良好的控制作用所以对步进电机控系统进一步的探索有着更为深远的意义本设计是基于单片步进电机的控制系统,硬件设计采用STC89C52单片机为控制核心;选取ULN2003作为驱动器提供脉冲频率,驱动步进电机运转;通过键盘的加减速按钮、正反转按钮和停止按钮来控制步进电机的速度、方向和停止,最后通过测试传感器将这几个参数显示在12864液晶显示器上软件设计采用KEIL软件工具进行C语言编写,通过各个模块端口的定义,编写出了步进电机加减速控制和正反转的程序,最后通过各模块程序调试对硬件电路施行控制本设计以经济实用为原则,通过软硬件结合的设计,实现了对步进电机转动速度和方向的有效控制该系统具有控制性好,设计成本低等优点关键字STC89C52;步进电机;控制系统;测速传感器SteppermotorcontrolsystemdesignandimplementationbasedonMCS51microcontrollerABSTRACTThesteppingmotor wasinventedintheearly1800safteralongperiodofdevelopmentofthesteppermotoriswidelyusedinvariousfieldsbecauseithasgoodcontroleffect.Thereforethestudyofthesteppermotorcontrolsystemhasaveryimportantsignificance.ThisdesignissteppermotorcontrolsystembasedmicrocomputerhardwaredesignusesSTC89C52microcontrollerasthecontrolcore;selectULN2003asdriverprovidespulsefrequencydrivesteppermotorrotation;throughaccelerationanddecelerationbuttonkeyboardforwardandreversebuttonandstopbuttonstocontrolthesteppermotorspeeddirectionandstopsThentheseseveralparameterswasdisplayedontheLCDmonitor12864bythespeedsensor.SoftwaredesignusingKEILsoftwaretoolsforClanguagedefinedeachmoduleportandwriteasteppermotorcontrolaccelerationanddecelerationandreversingtheprocess.finallytocontrolthehardwarecircuitthroughdebugging.Thedesignprincipleofeconomicalandpracticalthroughcombinationofsoftwareandhardwaredesignedtoachievetheeffectivecontrolofthesteppermotorrotationspeedanddirection.Thesystemhasgoodcontrollabilityandlowcoat.Keywords:STC89C52;steppermotor;controlsystems;speedsensor目录TOC\o1-3\h\z\u第一章绪论1HYPERLINK\l_Toc
3887826341.1课题背景1HYPERLINK\l_Toc
3887826351.2课题研究的目的及意义2HYPERLINK\l_Toc
3887826361.3系统设计的主要任务2HYPERLINK\l_Toc388782637第二章总体方案设计
32.1系统总体设计与分析3HYPERLINK\l_Toc
3887826392.2各模块功能说明3HYPERLINK\l_Toc
3887826402.3本章小结4第三章控制系统硬件分析与设计5HYPERLINK\l_Toc
3887826423.
1.中央处理器模块5HYPERLINK\l_Toc
3887826433.
1.1单片机5HYPERLINK\l_Toc
3887826443.
1.2复位电路7HYPERLINK\l_Toc
3887826453.
1.3振荡电路8HYPERLINK\l_Toc
3887826463.2显示模块8HYPERLINK\l_Toc
3887826473.3驱动模块9HYPERLINK\l_Toc
3887826483.
3.1步进电机10HYPERLINK\l_Toc
3887826493.
3.2ULN200311HYPERLINK\l_Toc
3887826503.4电源模块12HYPERLINK\l_Toc
3887826513.5键盘模块12HYPERLINK\l_Toc
3887826523.6本章小结13第四章控制系统软件分析与设计14HYPERLINK\l_Toc
3887826544.1主程序流程图14HYPERLINK\l_Toc
3887826554.212864显示程序流程图15HYPERLINK\l_Toc
3887826564.3正反转程序流程图16HYPERLINK\l_Toc
3887826574.4加减速程序流程图17HYPERLINK\l_Toc
3887826584.5本章小结17第五章系统的测试与结果分析18HYPERLINK\l_Toc
3887826605.1软件测试工具18HYPERLINK\l_Toc
3887826615.2测试数据与分析19HYPERLINK\l_Toc
3887826625.
2.1圈数测试19HYPERLINK\l_Toc
3887826635.
2.2速度测试19HYPERLINK\l_Toc
3887826645.3本章小结21第六章毕业设计总结22参考文献23致谢24附录25HYPERLINK\l_Toc388782669附录一系统电路仿真图25HYPERLINK\l_Toc388782670附录二系统实物图26HYPERLINK\l_Toc388782671附录三单片机端口分配表2728第一章绪论本章简单的介绍了步进电机的发展史,步进电机在各个领域的应用论述了研究本课题的目的和意义,最后简要的叙述了本设计控制系统需要完成的几项任务
1.1课题背景在21世纪,电动机在我们社会中扮演着十分重要的角色,无论在工业、农业还是在我们日常生活中起着重要的作用步进电机是一种特殊的可以控制的电动机,在现代社会的额各个领域有着广泛的应用因为步进电机具有良好的控制作用,而且是当今机械电子工程的主要构件之一因此步进电机大量地使用在各类不同的自动化设备及控制装置等领域[
[1]]早期的步进电机大约出现在十九世纪三十年代左右,在通电的情况下,有一种能够自由旋转的电磁铁,就是我们所说的早期步进电机,其工作原理和现在的步进电机本质上是相同的[
[2]]到了上世纪初,由于出现大规模的战争,军工业和造船业等重工业的快速发展,步进电机的需求量被无线放大同时期的西方报纸和期刊先后刊登了大量步进电机在军工业和造船业上应用的文章,那是的文章已经详细的介绍了不进电机电的设计方法和计算等在后来的一段时期这些理论被用于实践指导步进电机的结构设计和批量的生产[
[3]]到了二十世纪八十年代后,步进电动机的控制方式开始变得更加多样化,主要原因是多用途模式的步进电机的产生在微电子个计算机技术高速发展的情况下,直接引起了对步进电机的使用数量成爆炸式增长,在各国家的军事领域和国民经济领域都有着广泛的应用步进电机实际上是一种将电脉冲转化为角位移的控制元件,它突出的优点是自身构造简单,具有快速的启动、停止和反转响应,运行安全可靠步进电机还有一些非常特殊的地方,它的步距值不会随着现场温度和电压的变化而改变,同时误差亦不会长时间积累,所以给实践的操作中带来了很大的方便[
[4]]步进电机大量使用在各类产品中,其中消费类产品包括打印机和照相机等;工业产品包括机器人、数字控制体系和纸带传送机构等因此对步进电机的详细研究具有十分重要的意义本文设计了一种以STC89C52单片机为核心元件的控制系统
1.2课题研究的目的及意义随着现代工业和农业的不断发展壮大,步进电机的使用量也成爆炸式增长以前的步进电机的控制精度和控制效果已无法达到当今社会生产力的要求,因此如何更好的发展和应用步进电机是非常值得思考的本课题的设计就是对步进电机进行控制,其本身就具有一些突出的优点是快速的起动、停止和反转响应;由于其采用开环控制,从而自身构造更加简易化并且成本低[
[5]]在微电子个计算机技术高速发展的情况下,步进电机也朝着小型化矩形化发展以适应当前各种设备的需要,所以本课题对于步进电机控制的研究具有十分重要的意义
1.3系统设计的主要任务设计的该控制系统应完成以下几项任务
(1)步进电机的启动和停止控制;
(2)步进电机的加速和减速控制;
(3)步进电机的正反转控制;
(4)步进电机的转速动态显示在液晶显示器上第二章总体方案设计
2.1系统总体设计与分析本设计是使用STC89C52为控制元件,设计出一种基于单片机步进电机的控制系统该控制系统通过自有的键盘模块来实现对步进电机的运转进行有效的控制,并且将步进电机的转速显示在液晶显示器上,转动方向以文字的形式显示在液晶显示器上下图是系统总体结构框图图1系统总体结构框图
2.2各模块功能说明本设计控制系统有五个模块中央处理器模块、12864液晶显示模块、步进电机驱动模块、电源模块和键盘模块
(1)中央处理器模块主要由振荡电路和复位电路构成振荡电路是给最小系统模块提供给频率,单片机的运行速度就是一该频率为基准的,频率高单片机运行速度快复位电路就是系统运行时在受到外部干扰,内部程序运行出错时,通过按下复位按钮可以让原程序重新开始运行,保证了单片机的正常启动[
[6]]
(2)本设计的显示模块采用12864液晶器来动态显示步进电机的转动速度和方向
(3)本世纪的进电机驱动模块选用驱动器ULN2003为步进电机提供电脉冲信号,进而驱动步进电机转动ULN2003的输入端与单片机的P1口相连
(4)电源模块是通过整流桥将变压器降压过来的交流电压转化为直流5V供给其他四个模块
(5)本设计的键盘模块包括了控制方向按钮键、加速按钮键、减速按钮键和启停按钮键,与单片机的P3口相连,通过这些键盘按钮可以对步进电机的转动状态进行有效的控制
2.3本章小结本章首先简单的说明了该设计的思想,在控制低成本,且能完成该设计的情况下,通过综合考虑用了以STC89C52单片机作为本设计系统的控制核心元件第三章控制系统硬件分析与设计
3.
1.中央处理器模块中央处理器系统就是用最少的电子元件搭建的单片机而且能够正常工作的系统,其最小系统包括了单片机,复位电路、振荡电路和外部扩展等部分组成中央处理器模块电路图如下图2中央处理器模块电路图
3.
1.1单片机
(1)概述单片机也就是微型处理器,世界上第一个位微处理器是因特尔公司研制出来的因特尔公司的8051单片机是当时最成功的微处理器基于这种单片机的操作系统在当代仍有使用[
[7]]单片机的主要组成部分包括运算器、控制器寄存器和输入输出设备其中运算器的功能是执行各种算术的运算和逻辑比较;控制器的功能是指令的存取以及控制CPU与和输入输出设备的数据交换单片机相当于一个微型计算机,但是其没有计算机的外围设备[
[8]]单片机具有一些明显的有点,体积小、重量轻而且价格便宜,为学生的学习和研发人员提供了便利的条件另外在学习单片机之后我们能够很轻松的接受复杂的计算机原理和结构的知识单片机的出现首先应用在工业领域单片机在各个领域都有着广泛的应用,它的发展趋势是小型化和高度集中化8051是一款饱受好评的单片机,它生产出来之后就被大量使用这种单片机具有明显的优越性就是其体积小、简单可靠而且性能不错经过无数次的发展,2000年ARM退出了32位的高端单片机,但是其价格比较昂贵,没有8051性价比高因此8051单片机一直在广泛使用这在二十一世纪,单片机存在在各种电子器件产品中,最典型的我们周中使用的手机,电话,游戏机等,家庭的家用电器,笔记本电脑内部都有单片机我们日常出门的交通工具汽车上就包含了几十个单片机,有的大型重工业控制系统上单片机的应用数量更多单片机是世界上使用数量最多的处理器
(2)单片机的选择设计产品我们首先要考虑到经济性和可靠性,本设计采用STC89C52单片机足以满足我们设计的需要,其是一种单时钟的单片机,其拥有以下优点运算速度高、功耗低、抗干扰能力强等STC89C52的运算速度是早期8051的10倍左右STC89C52主要特性如下针对本系统,RAM和Flash容量足够大,有定时器中断功能能实现实时温度的采集,提供有EEPROM,可以设置掉电保护,是之前设置的温度不丢失,全双工的工作方式是的系统更加可靠[
[9]]
(3)引脚功能说明图3单片机引脚功能图VCC电源电压 GND接地 P0口(32脚~39脚)通常被定义为数据/地址的低八位,适用于外部数据寄存器P0口通常作为一个输入端口,使用时要接上上拉电阻P1口(1脚~8脚)是一个输入输出的端口,每个端口可以独立控制P2口(21脚~28脚)具有P0和P1的基本功能既可以做输入输出端口也可以做外部数据寄存器,每个端口也可以独立控制P3口(10脚~17脚)可以作为一个输入输出端口,也可以充当单片机的一个特殊功能端口下表是P3口个引脚功能说明如下[
[10]]表
1.P3口引脚功能说明端口引脚功能P
3.010串行输入口P
3.111串行输出口P
3.212外部中断0P
3.313外部中断1P
3.414计数器0外部输入P
3.515计数器1外部输出P
3.616外部数据存储器写选通P
3.717外部数据存储器读选通
3.
1.2复位电路复位电路其作用是把原有状态的电路初始化到一个确定的电路,单片机的复位端口接上适当的电阻和电容构成的电路就是所说的中央处理器系统的复位电路复位电路一般包括上电复位和按键复位,本设计采用的按键复位,通过一个独立按键来手动控制电路的复位复位电路图如下所示图4复位电路图
3.
1.3振荡电路振荡电路晶振是组成单片机系统的关键元件之一,晶振电路在单片机系统里存在着十分中重要的作用,晶振两端接在单片机的XTAL1和XTAL2引脚上单片机的晶振的实质作用是给中央处理器提供时钟电路,单片机工作运行的速度与晶振提供的频率有关本设计的晶振电路用了30pf的电容和12MH的晶体振荡器作为核心元件振荡电路图如下图5振荡电路图
3.2显示模块本设计显示部分采用12864液晶显示器,通过各个端口的定义,在12864上动态的显示步进电机的速度和方向显示模块电路图如下图6显示电路模块图112864的基本特性12864是128*64点阵http://baike.baidu.com/view/
545607.htm\t_blank型液晶模块的点阵数简称,因为要更人性化显示中文汉字,所以12864是最好的选择12864液晶显示器是一种内部含有简体中文字库的点阵图形液晶显示模块其内部设置了大量的点阵和ASCII字符集,可以完成数学、汉字和图形的显示其串口借口引脚信号表如下[
[11]]表
2.12864串口接口管脚信号引脚号引脚名称引脚功能1VSS电源地2VDD电源正3V0对比度(亮度)调整4RS低电平时,数据显示高电平时,指令数据显示5R/W高电平时,数据读低电平时,数据写6E使能信号7-14DB0-DB7八位数据三态线15PSB高电平时,并口方式低电平时,串口方式16NC空脚17/RESET复位端,低电平有效18VRLCD驱动电压输出端
3.3驱动模块本系统设计的主要目的是为了有效的控制步进电机的转动速度个运转方向,所以我们要把单片机的电脉冲信号转化为能使步进电机转动的步距角,本设计中我采用了驱动器ULN2003作为脉冲信号的提供原驱动模块电路图如下所示图7驱动电路模块图
3.
3.1步进电机
(1)步进电机的工作原理通常电动机是由静止的转子和转动的转子组成,电动机的转子是一种永磁体,当有电流通过定子绕组时,定子起着接受电能产生旋转磁场的作用转子在该磁场的作用下旋转一个角度,从而让转子的磁场方向与定子的磁场方向保持一致同样,定子的磁场旋转一个角度,转子也会沿着该方向转动相同的角度每接收一个电脉冲信号,电动机就会转动一个固定角度脉冲数量越多电机旋转角度越大,脉冲频率越高电机转速越快,可以看出它们两辆成正比关系我们只需要改变绕组的通电顺序就能够改变电动机的转动方向因此控制电动机的转动实际上就是控制脉冲数量和频率[
[12]]
(2)步进电机的分类步进电机根据结构的差异通常分为以下三类表
3.步进电机分类类别反应式步进电机永磁式步进电机混合式步进电机结构有软磁材料组成定子绕组和转子步进电机的转子用永磁材料制成定子上有多相绕组、转子上采用永磁材料力矩小大大步距角小(
1.2o)大(
7.5o或15o)小精度差差好动态性能差好好
(3)步进电机的主要特点和特性步进电机转动的前提是必须添加驱动,脉冲信号时唯一能驱动电机运转的驱动信号,也就是没有脉冲信号电机就不会运转当添加一个稳定的脉冲信号,其就会按照固定的角度转动,转动的速度与脉冲频率成正比能够瞬间启动和快速停止时步进电机的一个优越特性改变步进电机转动方向的一个简便方法就是改变脉冲顺序步进电机主要具有以下有点[
[13]]
1、电机旋转的角度与脉冲数成正比;
2、最大的转矩出现在电机停止的位置上;
3、每一步的精度在3%~5%,而且误差不会长期积累,上一步的误差不会叠加到下一步,因而具有良好的位置精度;
4、电机具有快速的起停和反转响应;
5、步进电机没有电刷,运行可靠,因此电机自身的轴承寿命决定了电机的寿命;
6、因为没有反馈环节,故控制简单;
7、脉冲信号的频率决定了转速,故电机有较宽的调速范围但是,这种电机也有自身的缺点
1、在控制不当的情况下容易产生共振;
2、很难获得较高的转动速度;
3、转矩较小;
4、在体积重量方面没有优势,能源利用率低;
5、过载运转时会破坏同步,高速转动时会产生振动和噪声
(4)本设计采用了28BY-J48型进电机其参数如下[
[14]]表
4.28BY-J48型进电机技术参数电压V项数步距角度减速比定位转矩g.cm
545.625/641:64=
3003.
3.2ULN2003ULN2003是一种晶体管阵列,它的明显特点是功能强大,而且成本不高,是各种电路的理想器件,应用范围非常广图
8、图9是ULN2003的芯片引脚图和外形图图8ULN2003芯片引脚图图9ULN2003外形图
3.4电源模块下图是电源模块图,有两套电源电路,其中一个是备用电路如下图所示图10电源模块图电源模块整流桥采用的是2W10整流桥,其是一种圆形直插式整流桥其最大平均工作电流2A,最大反向电压时1000V[
[15]]整流桥外形图如下图11整流桥外形图
3.5键盘模块键盘模块主要是对步进电机的转动速度和转动方向进行有效的控制,该模块包含了加速按钮、减速按钮、正反转按钮和停止按钮控制不进电机电的转速只需要按下加速或者减速按钮;对步进电机的方向进行控制我们只需要按下正或反转按钮;停止按钮可以随时让步进电机停止转动键盘模块电路图如下所示图12键盘模块电路图
3.6本章小结本章内容首先介绍了该控制系统的组成模块,并对各个模块硬件设计作了详细的说明另外,还对步进电机和单片机的原理等知识作了说明第四章控制系统软件分析与设计综合总体设计方案和各模块硬件电路的考虑,该系统的软件设计思路第一步各模块初始化,对
12864、驱动器进行设置为下一步接受信息做好准备第二步通过ULN2003产生的脉冲驱动电机转动,显示在12864上,在通过键盘扫描得到设定的信息;第三步通过键盘按钮里控制步进电机的运转情况,并显示在显示器上
4.1主程序流程图图13主程序流程图主程序流程图首先是对各个模块进行初始化,包括12864,步进电机等然后通过按键扫描得出设定速度并进行显示然后读FLAG标志选择是正转还是反转,正转时,确定转速和圈数,然后调用12864显示程序显示然后返回按键扫描,构成循环
4.212864显示程序流程图图1412864显示程序流程图12864显示程序流程图首先是初始化,针对显示屏进行设计,比如设定游标的移动方向,游标位置反白允许,设定CGRAM地址,并口或者工作模式等等第二步写指令,写入控制指令,选择写入12864的显示位置第三步,写入数据,可以写入单个字符也可以写入字符串,单个数据时要加入0X30还可以写入图片内容,在写入时逐个写入,直到结束第四步,12864内部写计数器计数器为0时,显示结束,完成一次显示过程
4.3正反转程序流程图图15正反转程序流程图正反转程序流程图首先是在主程序里面初始化定时器0,主要是开总中断,开外部中断0,设定边沿式触发中断然后设定一个正反转FLAG标志,判断当FLAG标志位’1’为时选择正转,反之,FLSF标志位位‘0’时选择反转该改变FALG标志的方法是选择外部中断具体是通过一个独立按键作为外部中断0的输入,当有按键按下时,边沿触发,然后申请中断,执行中断服务程序在中断服务程序里面首先按键去抖动程序,去抖动后对FLAG标志取反从而每按一次按键FLAG标志位改变一次,执行结束后返回主程序这样每按一次按键正反转改变一次实现正反转
4.4加减速程序流程图图16加减速程序流程图加减速程序流程图通过两个独立按键实现,一个代表加速,一个代表减速首先设置按键对应单片机端口部分,然后检测是否有低电平,当检测到有低电平时,延时10ms去抖动,再次判断是否有低电平,仍然是低电平时判断按键是否释放,当按键释放时才执行下一部程序,针对本程序,当加按键按下后增加转速NUM值就可以加速,反之,减按键按下后减小NUM值从而减小速度
4.5本章小结本章简单的介绍了系统软件设计的思想,并且说明了主程序和各子程序的设计方法和思路,描绘出了各程序流程图第五章系统的测试与结果分析
5.1软件测试工具KEIL是常用的开发软件,适应于包括大部分的单片机系统和部分嵌入式系统的开发它的突出特点是操作者可在初始化新建工程文件时将单片机的芯片资料库直接添加到开发环境中,这样使得用户软件编写变得更加便捷灵活工程文件一旦生成操作者就不再需要进行文件的初始化操作,而且可以直接将程序代码放进工程中如下图所示图17KEIL界面图运用软件调试工具Debug可以很好的观察程序执行过程表示启动和停止调试模式;表示打开和关闭项目窗口;表示打开和关闭输出窗口;表示设置程序断点等等可以帮助操作者进行程序的分析、差错以及时序的确定如下图所示:图18Debug调试界面
5.2测试数据与分析通过由测速传感器和最小系统构成的测试平台,检测步进电机转动的圈数和速度的误差该测试平台的实物图如下图19测试平台实物图
5.
2.1圈数测试首先在步进电机转动时开始计数,直到步进电机停止转动,记录电机转动了多少圈将记录的圈数与先前程序设置的圈数进行比较,下面是电机正转和反转时测试的圈数数据表表5正转时测试的圈数数据测试次数1234设定值(圈数)406080100实测值(圈数)406080100表6反转时的测试圈数数据测试次数1234设定值(圈数)-40-60-80-100实测值(圈数)406080100测试结果说明步进电机在正常运转时,设定的圈数和实际测得的圈数相同进而说明转过的圈数没有误差
5.
2.2速度测试电机转动时,通过测速传感器模块将步进电机的速度动态显示在显示器上,通过加减速键盘按钮来改变设定值,同时也改变了电机的实际转速然后将其实际转速与先前设定的速度进行比较,下面是电机正转和反转时测试的速度数据表表7电机正转时测试速度数据测试次数1234567设定值(r/min)708090100908070实测值(r/min)67778696867767表8电机反转时测试速度数据测试次数1234567设定值(r/min)-70-80-90-100-90-80-70实测值(r/min)68778797877768为了更加直观的反应实际测量速度与设定速度的误差,我们用折线图展现出来下图是正转是的实测速度与设定速度折线图,反转类似在这省略了图20实测速度与设定速度折线图从上图可以看出步进电机实测速度与设定速度的误差始终保持在一定范围,误差没有因为测量次数的增加而积累,所以可以认为其误差不会长期积累下面用正转时的数据表格来计算误差,证明其误差不会积累第一次测量误差第二次测量误差第三次测量误差…第七次测量误差通过数据分析可以得到步进电机的误差始终在一定范围内,误差不会积累
5.3本章小结本章首先介绍了设计使用的KEIL软件工具,接着重点叙述了本设计通过测试平台证明了步进电机的转动圈数没有误,转速的误差在一定范围内,且不会长期积累进而也证明了步进电机具有良好的控制作用第六章毕业设计总结通过近期的努力,毕业设计顺利的完成了本次设计主要呈现了对单片机在控制欲实现及步进电机的简单应用,在本次设计中,通过自身的努力让我在各方面的能力都有一定的提高通过这次设计,我对单片机的调试、ULN2003的工作原理和12864显示器等都有了一些新的认识和了解同时,我对本设计的总体硬件电路的组装和调试印象很深,总体电路的组装和调试十分重要,直接关系到设计的电路能否正常运行在本设计的软件编程方面,为了能把各个模块的程序良好的组合在一起并能够顺利的实现运作,进行了大量的程序调试,需要经几个模块程序一起调试,在这个过程中话费了大量的时间本设计完成了题目所要求的基本功能,原计划要扩展一下该设计,但是由于时间和精力现在无法实习,在以后的工作中可以继续完成参考文献
[1]坂本正文.步进电机应用可以[M].北京:科学出版社,2006:23-
45.
[2]张强吴红星谢宗武.基于单片机的电动机控制技术[J].北京:中国电力出版社,2008221:34-
58.
[3]栾居里.永磁同步电动机的开环步进驱动器的研究[J].机械设计与制造2012162:135-
143.
[4]袁任光张伟武.电动机控制电路选用与258实例[M].北京:机械工业出版社2005:56-
60.
[5]王秀和.永磁电机[M].北京:中国电力出版社2007:21-
35.
[6]房玉明杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用2006182:202-
223.
[7]H.S.Kim,K.H.Kim,M.J.Youn.On-LineDead-TimeCompensationMethodBasedOnTimeDelayControl[J].IEEETrans.onControlSystemsTechnology2003112:279-
285.
[8]刘国荣.单片微型计算机技术[M].北京:机械工业出版社1996:105-
112.
[9]宏晶科技http://analytics.eefocus.com/jump/download-vendor/url=http%3A%2F%2Fwww.mcu-memory.com\t_blank.STC89C52RC单片机中文资料[J].技术手册2012311-13
[10]黄友锐.单片机原理及应用[M].合肥:合肥工业大学出版社,
2006.
[11]绘晶科技.12864液晶显示器中文资料[J].技术手册20126,16-18
[12]栾居里.永磁同步电动机的开环步进驱动器的研究[J].机械设计与制造2012163:105-
116.
[13]王润孝秦现生.机床数控原理与系统[M].西安:西北工业大学出版社1997:45-
56.
[14]德昌机电科技.步进电机中文资料[J].技术手册20134-
6.
[15]鼎好电子科技.整流桥英文资料[J].技术手册20122-
3.致谢在此次的毕业设计过程中,我要感谢院系领导能给我这样一个好平台去锻炼与展示自己感谢储忠老师在此过程中给我的解惑与指导帮助记得在上学期刚选题的时候,曾经对这个课题有比较多的疑问和考虑首先是对题意的要求了解的不够深,其次是采用的制冷方法很难确定,可以确定的话成本也很难接受由于在之前,比如参电协焊接大赛或数学建模比赛,我们所做的都是一个团队去完成的所以,个人都没有经历过自己独立的去完成一个项目,显然得到的锻炼也相对较少对于本次毕业设计的方案,我是纠结了很久,与老师交流了很多,也同实验室里的同学交流了不少当然,我想还是我之前学习的知识不够,才导致了我在本次设计中遇到诸多问题经过了这次的毕业设计,我遇到了很多困难,也成长了不少矛盾的确是在推动我们前进的动力虽然,我日后的工作不一定是与本专业相关的,但是作为大学里的最后一次作业,那一定要认认真真的去完成我觉得做事还是不能好高骛远,得从小事做起,成功是积累出来的在做事的过程中一定要仔细、认真、用心哪怕是最小、做不起眼的工作也要做好!例如,在设计电源的过程中就由于自己的大意,没有考虑好功耗,导致电源芯片发热严重同时经过了这次的独立设计,让我提高了自学能力与自己解决问题的能力回想起刚接触本课题时的那种心态,与如今顺利完成时的心态真的感觉很有成就感,我想这足以让人自信不已不过还是设计的有点不足,很多功能并不是很稳定也通过了这次的设计让我对日后的工作有了更多的认识与理解当然,这得感谢丁老师给我提供的指导,真的非常的感谢!大学的这四年里,遇到了好老师,对学生影响真的很大还有就是很多帮助我的同学们有了你们的帮助,我的专业知识学变得更加的扎实、牢固,我迷茫与纠结的时间也少很多最后,衷心地感谢储老师和帮助我的同学!致谢人魏伟2014年05月12日于合肥学院附录附录一系统电路仿真图附录二系统实物图附录三单片机端口分配表引脚号引脚分配说明引脚号引脚分配说明P
0.0接12864的4脚(RS)P
1.4接加速按钮脚P
0.1接12864的5脚R/WP
1.5接减速按钮脚P
0.2接12864的6脚EP
1.6接圈数按钮脚P
0.3接12864的7脚DB0P
2.1接12864的12脚DB5P
0.4接12864的8脚DB1P
2.2接12864的13脚DB6P
0.5接12864的9脚DB2P
2.3接12864的14脚DB7P
0.6接12864的10脚DB3P
2.4接12864的15脚PSBP
0.7接12864的11脚DB4P
2.5接12864的16脚NCP
1.0接UNL2003输入口1P
2.6接12864的17脚/RESETP
1.1接UNL2003输入口2P
3.2接正反转按钮脚P
1.2接UNL2003输入口3P
3.3接测试传感器D0口P
1.3接UNL2003输入口4附录四系统程序
1.主程序/*------------------------------------------------主程序------------------------------------------------*/voidmain{Init_0;//外部中断0Init_Timer0;//定时器中断0Init_1;//外部中断1Init_ST7920;//初始化LCD_PutString01步进电机控制系统;//Y从1-4;X从0-7;LCD_PutString02当前速度:r/m;LCD_PutString03设定速度r/m;LCD_PutString04显示圈q;while1{sudu_sd;//矩阵键盘显示设定速度dianji;//控制电机加减速和正反转sudu_jc;//检测实际速度qs_jc;//检测实际圈数}}
2.显示部分#includedelay.h#include
12864.hsbitRS=P2^4;//12864sbitRW=P2^5;sbitE=P2^6;sbitRES=P2^3;sbitPSB=P2^1;sbitPAUSE=P3^0;sbitKEY_ADD=P1^4;//按键sbitKEY_DEC=P1^5;unsignedcharSpeed=6;//电机实际转速unsignedcharnumm;//设定速度unsignedchardis
[2];#defineDataPortP0//MCUP0------LCM/*------------------------------------------------检测忙位------------------------------------------------*/voidCheck_Busy{RS=0;RW=1;E=1;DataPort=0xff;whileDataPort0x80==0x80;//忙则等待E=0;}/*------------------------------------------------写命令------------------------------------------------*/voidWrite_CmdunsignedcharCmd{Check_Busy;RS=0;RW=0;E=1;DataPort=Cmd;DelayUs2x5;E=0;DelayUs2x5;}/*------------------------------------------------写数据------------------------------------------------*/voidWrite_DataunsignedcharData{Check_Busy;RS=1;RW=0;E=1;DataPort=Data;DelayUs2x5;E=0;DelayUs2x5;}/*------------------------------------------------液晶屏初始化------------------------------------------------*/voidInit_ST7920{DelayMs40;//大于40MS的延时程序PSB=1;//设置为8BIT并口工作模式DelayMs1;//延时RES=0;//复位DelayMs1;//延时RES=1;//复位置高DelayMs10;Write_Cmd0x30;//选择基本指令集DelayUs2x50;//延时大于100usWrite_Cmd0x30;//选择8bit数据流DelayUs2x20;//延时大于37usWrite_Cmd0x0c;//开显示无游标、不反白DelayUs2x50;//延时大于100usWrite_Cmd0x01;//清除显示,并且设定地址指针为00HDelayMs15;//延时大于10msWrite_Cmd0x06;//指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位,光标从右向左加1位移动DelayUs2x50;//延时大于100us}/*------------------------------------------------显示字符串x:横坐标值,范围0~8y:纵坐标值,范围1~4------------------------------------------------*/voidLCD_PutStringunsignedcharxunsignedcharyunsignedcharcode*s{switchy{case1:Write_Cmd0x80+x;break;case2:Write_Cmd0x90+x;break;case3:Write_Cmd0x88+x;break;case4:Write_Cmd0x98+x;break;default:break;}while*s0{Write_Data*s;s++;DelayUs2x50;}}/*------------------------------------------------设定速度显示位置//位置显示与上述一样------------------------------------------------*/voidLCD_POSunsignedcharXunsignedcharY{unsignedcharpos;ifY==1{Y=0x80;}elseifY==2{Y=0x90;}elseifY==3{Y=0x88;}elseifY==4{Y=0x98;}pos=Y+X;Write_Cmdpos;//显示地址}/*------------------------------------------------按键扫描子程序,设置初始速度值程序------------------------------------------------*/voidKEY_SCANvoid//扫描按键设置初始时钟信号{unsignedcharshiwei;unsignedchargewei;if!KEY_ADD//十位自我设置{DelayMs10;if!KEY_ADD{while!KEY_ADD;ifSpeed=2{Speed=Speed-1;}}}if!KEY_DEC//减自我设置{DelayMs10;if!KEY_DEC{while!KEY_DEC;Speed=Speed+1;}}ifSpeed==1{numm=36;}ifSpeed==2{numm=22;}ifSpeed==3{numm=14;}ifSpeed==4{numm=12;}ifSpeed==5{numm=10;}ifSpeed==6{numm=8;}shiwei=numm/10;gewei=numm%10;dis
[0]=shiwei+0x30;dis
[1]=gewei+0x30;}voidsudu_sdvoid//显示设定速度{unsignedcharj;KEY_SCAN;LCD_POS53;forj=0;j2;j++{Write_Datadis[j];}}unsignedcharspeed_numvoid//用于时间判断{unsignedcharnu;nu=Speed;returnnu;}
3.测试部分#includecesu.h#include
12864.h#includedelay.h#includetimer.hsbitKEY_YUZHI=P1^6;unsignedintcalsp;//设置读时间时间unsignedintcalxx;//设置读时间时间unsignedintcounter=0;//脉冲数unsignedintquanshu;unsignedintqsyz;//圈数预置12*30unsignedintqsqs1;unsignedintmotorspeed;unsignedchardis3
[3];unsignedchardis5
[3];unsignedchardis6
[3];bitFLAG2=1;/*------------------------------------------------定时器中断0和外部中断1模块程序------------------------------------------------*//*------------------------------------------------定时器初始化子程序------------------------------------------------*/voidInit_Timer0void{TMOD|=0x01;//使用模式1,16位定时器,使用|符号可以在使用多个定时器时不受影响//TH0=0x00;//给定初值//TL0=0x00;EA=1;//总中断打开ET0=1;//定时器中断打开TR0=1;//定时器开关打开}/*------------------------------------------------外部中断0初始化子程序------------------------------------------------*/voidInit_1void{EA=1;//开启总中断EX1=1;//开启外部中断1IT1=1;//设置成下降沿触发方式}/*------------------------------------------------定时器中断子程序------------------------------------------------*/voidTimer0_isrvoidinterrupt1{//unsignedcharj;TH0=65536-9217/256;TL0=65536-9217%256;//10000/
1.085=9217得到10ms执行一次calsp++;calxx++;}/*------------------------------------------------外部中断子程序------------------------------------------------*/voidINT1_isrinterrupt2{counter++;ifFLAG2==1{quanshu++;}ifFLAG2==0{//ifqsyz3//{qsyz--;//}}}/*------------------------------------------------脉冲计算------------------------------------------------*/voidcalspeed{unsignedcharGESHIBAI;//显示速度ifcalsp=1000//300*10ms=3s计算一次{motorspeed=counter/2;//由此转一圈两个高低电平,所以与除以
0.5;抵消/3*60=20counter=0;//清零脉冲数calsp=0;//清零标志}BAI=motorspeed/100;SHI=motorspeed%100/10;GE=motorspeed%100%10;dis3
[0]=BAI+0x30;dis3
[1]=SHI+0x30;dis3
[2]=GE+0x30;}voidsudu_jcvoid//显示检测速度{unsignedcharj;calspeed;LCD_POS52;forj=0;j3;j++{Write_Datadis3[j];}}voidquanshu_cal//检测圈数和预置圈数{unsignedcharGE1SHI1BAI1GE2SHI2BAI2;//显示圈数ifFLAG2==1{ifcalxx=50//50*10ms=
0.5s计算一次显示圈数{qs=quanshu/12;//最大65535calxx=0;}BAI1=qs/100;SHI1=qs%100/10;GE1=qs%100%10;dis5
[0]=BAI1+0x30;dis5
[1]=SHI1+0x30;dis5
[2]=GE1+0x30;}ifFLAG2==0{ifcalxx=50//50*10ms=
0.5s计算一次显示圈数{qs1=qsyz/12;//最大65535calxx=0;/*ifqs1==0{yuzhi_stop;DelayMs50000;}*/}BAI2=qs1/100;SHI2=qs1%100/10;GE2=qs1%100%10;dis6
[0]=BAI2+0x30;dis6
[1]=SHI2+0x30;dis6
[2]=GE2+0x30;}}voidqs_jcvoid//显示检测圈数{unsignedchari;if!KEY_YUZHI//加了个预置选择{DelayMs10;if!KEY_YUZHI{while!KEY_YUZHI;FLAG2=0;qsyz=120;//12*20}}ifFLAG2==1{quanshu_cal;LCD_POS54;fori=0;i3;i++{Write_Datadis5[i];}}ifFLAG2==0//{quanshu_cal;LCD_POS54;fori=0;i3;i++{Write_Datadis6[i];}}}论文撰写方法
一、论文的选题选题是论文撰写成败的关键因为,选题是论文撰写的第一步,它实际上就是确定“写什么”的问题,亦即确定科学研究的方向如果“写什么”不明确,“怎么写”就无从谈起 选题首先要符合专业培养目标,要与所学专业相关;其次,选题要有理论和现实意义,使其论文形成后既有理论支撑,同时要对现实有所促进;再次选题要注意一些有价值的课题,比如本专业的研究空白、有争议的话题,或者从一个新的角度来研究本专业的老话题、与研究领域有关的当前热点问题、新问题、亲自参与实践调查的课题;第四,选题要结合考虑资料的利用能找到比较充分的资料来源对于作者写作论文有重要帮助;最后,选题宜小不宜大题目范围太大易导致内容空泛,难于驾驭
(一)论文的选题的依据
1、依据个人兴趣爱好;
2、依据个人知识结构;
3、依据当前本专业的研究热点;
4、依据当前国际国内经济政治局势;
5、依据管理学权威刊物的近期发表论文;
6、请教他人
(二)毕业论文的选题原则和要求
1、注重选题的实用价值,选择具有现实意义的题目
(1)理论联系实际,注重现实意义;
(2)要注重选题的理论价值
2、勤于思考,刻意求新
(1)从观点、题目到材料直至论证方法全是新的;
(2)以新的材料论证旧的课题,从而提出新的或部分新的观点、新的看法;
(3)以新的角度或新的研究方法重做已有的课题,从而得出全部或部分新观点;
(4)对已有的观点、材料、研究方法提出质疑,虽然没有提出自己新的看法,但能够启发人们重新思考问题以上四个方面并不是对“新意”的全部概括,但只要能做到其中一点,就可以认为文章的选题有了新意
二、论文写作框架的确定 论文写作框架起疏通思路、安排材料、形成结构的作用一般来讲,学术论文框架需要采用递进的逻辑体系,不建议采用并列的逻辑体系,即论文的各个部分应该是层层递进,有一定的逻辑关系的如第一部分是相关概念和涵义,第二部分是问题提出,第三部分是分析问题,第四部分是解决问题的办法,第五部分是解决问题需要实现的一些条件和保障措施,第六部分是总结可以根据具体情况进行删减和添加 论文框架确定后,应交给导师审阅,再与导师仔细探讨行文的思路,听取导师的指导意见,最后确认论文写作内容框架,作为开题报告中的内容部分
三、文献综述
(一)文献综述的介绍 文献综述是在确定了选题后,在对选题所涉及的研究领域的文献进行广泛阅读和理解的基础上,对该研究领域的研究现状(包括主要学术观点、前人研究成果和研究水平、争论焦点、存在的问题及可能的原因等)、新水平、新动态、新技术和新发现、发展前景等内容进行综合分析、归纳整理和评论,并提出自己的见解和研究思路而写成的一种不同于毕业论文的文体它要求作者既要对所查阅资料的主要观点进行综合整理、陈述,还要根据自己的理解和认识,对综合整理后的文献进行比较专门的、全面的、深入的、系统的论述和相应的评价,而不仅仅是相关领域学术研究的“堆砌”
(二)文献来源 论文查阅的资料来源有
1、电子期刊包括电子期刊网上的期刊论文、硕士博士的学位论文以及一些电子书籍
2、纸质书籍如图书、期刊杂志、报纸等
(三)文献综述的写作 文献综述基本由前言引言、正文、结论和参考文献四大部分组成
1、前言引言简要介绍所综述的课题,研究目的及意义说明有关概念,规定综述范围,介绍本课题的基本内容包括研究的历史、现状、前景和争论焦点等,使读者对全文有一个概括的了解
2、正文是综述的主体部分,对某专业、学科在某阶段的发展历史和当前实际工作水平、成就和展望,以及有关各种情况都应作详细叙述,还要把同行对该方面的不同看法也写进去,进行分析研究此部分要特别注意两个问题,一是查阅文献的内容要围绕我们选题需要研究的主题内容,以为我们后续研究提供理论支持和依据,严禁文献综述的内容和查阅的资料和论文写作不相关;二是对文献查阅后,不能简单罗列,文献综述的重点在“综述述”,应该通过自己的归纳、总结和整理,进行综合的评述,不能只“述”不评,即只对观点、数据、事实等作纯客观的分析和介绍,不作评价、评议
3、结论结论是综述的结束语一般包括研究的结论,本课题研究的意义,存在的分歧,有待解决的问题和发展趋势等
4、参考文献注明作者所引用的资料,为人们核对或作进一步研究用,这些按引用顺序列出 前沿和结论部分和我的观点有许多不符合的地方,所以没做修改
四、开题报告
(一)研究的目的和意义 研究目的是简单叙述论文选题的背景,然后提出论文是为了研究什么,为了得到什么结果研究的意义一般从两个方面来描述一是论文研究对于当前相关研究的理论有什么贡献(理论意义、学术意义),二是论文研究对于当前社会经济发展有什么贡献(实践意义、指导意义)
(二)研究的内容及目标 研究内容部分即前述的论文框架体系,研究目标重点介绍研究什么,拟解决什么关键问题
(三)研究方案及可行性分析 此部分视具体写作情况和学校提供的资源情况而定
(四)研究进度计划 时间和内容按照系里的统一规定填写
五、论文的撰写
(一)论文构成
1.论文题目
2.论文目录
3.中英文摘要、关键词
4.论文正文
5.致谢
6.参考文献
(二)论文目录 一般先要确定论文目录,即论文题目、大标题和小标题,这使得论文的起草有了初步依据然后拟定内容提纲,把论文目录展开,加进必要材料予以扩充,使目录充实和具体化 编写提纲应该由简入繁,由部分到章节再到内容要点,逐步进行扩展首先根据行文的思路用最粗的轮廓勾勒出文章的几大块,也就是主要组成部分,然后在各部分内填入相应的章节具体来说写论文无非是提出问题、分析问题、解决问题(或者是理论、实证、结论),可以在先确定逻辑主线的基础上规划出三个部分,再用相应章节进行对应的填充,最后列出每一节的内容要点需要注意的一是要论点明确、论据充分;二是要平衡章节之间的长短,即合理安排各部分的篇幅,尽量长短相当,避免体例结构的不相称对于引入的理论部分要把字数控制在整个篇幅的四分之一左右
(三)中英文摘要、关键词 1.按照学校规定的格式撰写
2.英文忌用软件翻译,因为语法错误多,专业词汇翻译不够专业
3.关键词一般三个以上
(四)论文正文 论文的正文通常包括绪论、本论、结论三部分
1、绪论,又称前言、绪言,是正文的起始部分这一部分一般可涉及以下内容研究这一课题的目的、意义;提出问题,表明作者观点;说明作者论证这一课题的方法;概括介绍论述的内容或揭示问题的结论;历史回顾绪论部分在论文中所占比例通常较小要写得简明扼要,通常几百字即可
2、本论是论文的主体部分在这部分中要综合运用所学的基本原理、基本理论以及前面说收集的相关资料来详细地阐述论文的研究观点、成果可根据论题性质,用正面立论的或批驳不同看法或解决别人的疑难问题的方法,来论证文中的思想和新的见解如果是作者自己提出新的、创造性的东西要注意最重要的是言之存理这一部分要占全文的三分之二
3、结论是论文的最后部分,这部分的主要内容包括作者对研究的课题得出的答案;作者对研究的课题提出探讨性意见;对未解决的问题提出的某种设想等它的内容与绪论有关,是一篇论文要旨的简明扼要的提示通常这部分可以是围绕本论所作的结语,对本论部分进行强调(但注意不是本论部分的重复)如果结论已在绪论或本论部分作了提示,这部分也可以只做文章的收尾 论文的撰写一方面取决于资料的拥有,另一方面依靠平时理论素养和写作能力的积累撰写正文前,要对提纲进行再次检查和修改,使之更加完善文章起草要在思路明晰的基础上一气呵成,切忌断断续续起草阶段,要先形成初稿初稿的写作就是按照提纲形成是构思填充内容形成的论文应该是论点明确,内容充实;叙述上主次分明、详略得当;论文各部分条理清晰、层次分明;段落之间的衔接自然、舒展,逻辑性要强 撰写论文的过程中,忌大篇幅引用,切忌抄袭他人论文,国内一般认为不超过200字就不算抄袭然而,在考研与就业压力的夹缝中,大学毕业论文的生存处境日渐尴尬,弄虚作假现象泛滥,论文写作陷入抄袭的怪圈,毕业论文写作只是“网上摘些,书上的借用些,最后整合一下就算大功告成”“写论文惟一的收获就是学会了‘复制’、‘粘贴’的快捷键”那么我们该如何规避抄袭的风险?首先,每个内容小点一定要自己拟定紧接着,根据所收集到的资料对小点内容进行扩充充实,尽量使用自己的语言来陈述
(五)致谢可以在正文后对下列方面致谢:国家科学基金、资助研究工作的奖学金基金、合同单位、资助或支持的企业、组织或个人;协助完成研究工作和提供便利条件的组织或个人,在研究工作中提出建议和提供帮助的人;给予转载和引用权的资料、图片、文献、研究思想和设想的所有者其他应感谢的组织或个人内容应简洁明了、实事求是,避免俗套
(六)参考文献参考文献包括著作、论文等正式文献,也包括统计、工作报告等事实材料,还可以包括没有正式出版和发表的资料外文原文著作和论文,其参考文献的标题应当用原文列出注释和参考书目的标题主体和标识顺序,按“作(著)者/题(书)名/出版事项”顺序排列具体顺序为作者姓名、文献名称、版次(第一版不标注)、页码、出版地、出版社或刊物名、出版日期或刊物期数参考文献要另起一页,一律放在正文后,在文中要有引用标注,如×××
[1],参考文献一般不低于15-20篇注意事项论文格式
1、字体论文所用字体要求为宋体
2、字号第一层次题序和标题用小三号黑体字;第二层次题序和标题用四号黑体字;第三层次及以下题序和标题与第二层次同;正文用小四号宋体
3、摘要及关键词中文摘要及关键词“摘要”二字采用三号字黑体、居中书写,“摘”与“要”之间空两格,内容采用小四号宋体“关键词”三字采用小四号字黑体,顶格书写,一般为3—5个英文摘要应与中文摘要相对应,字体为小四号TimesNewRoman
4、目录“目录”二字采用三号字黑体、居中书写,“目”与“录”之间空两格,第一级层次采用小三号宋体字,其他级层次题目采用四号宋体字
5、正文文中标题 一级标题标题序号为“一”,用5号宋体加粗,独占行,末尾不加标点,如“
一、有利于品牌资产的提高”;二级标题标题序号为“
(一)”,用5号宋体加粗,独占行,末尾不加标点,如“
(一)有利于品牌资产的提高”;三级标题标题序号为“1”,用5号宋体加粗,可根据标题的长短决定是否独占行,若独占行,则末尾不加标点,若不独占行,标点后面须加句号,如“
1.有利于品牌资产的提高”四级标题标题序号为“
(1)”,用5号宋体,要求与三级标题相同;五级标题标题序号为“
①”,用5号宋体,要求与三级标题相同(注每级标题的下一级标题应各自连续编号)如“
①有利于品牌资产的提高”
6、标点注意论文文中标点的全角半角之分论文撰写常见问题
1.
一、
二、三级标题不规范,特别是标点符号不规范
2.摘要非摘要、关键词不关键
3.论文词汇太华丽,太煽情,表述不严谨
4.参考文献格式不规范
5.没有自己的观点和创新
6.抄袭现象严重论文检测论文写作完成后,建议提前进行论文抄袭检测现在高校使用的都是知网、维普、万方这三大系统1^1[]^2[]^3[]^4[]^5[]^6[]^7[]^8[]^9[]^10[]^11[]^12[]^13[]^14[]^15[]。