单片机两种方式控制步进电机旋转_机械/仪表_工程科技_专业资料。单片机课程设计说明书 设计题目 两种方式控制步进电机控制 指导教师: 设计者: 系 别: 班 级: 学 号: 机械工程学院 1 目录 序言………………………………………………………………
单片机课程设计说明书 设计题目 两种方式控制步进电机控制 指导教师: 设计者: 系 别: 班 级: 学 号: 机械工程学院 1 目录 序言……………………………………………………………………3 一、步进电机介绍……………………………………………………4 1.1 步进电机的概念……………………………………………4 1.1 步进电机的特点……………………………………………4 二、设计要求及任务…………………………………………………6 三、设计目的及原理…………………………………………………6 3.1 设计目的………………………………………………………6 3.2 设计原理………………………………………………………6 3.3 步进电机工作原理……………………………………………7 四、所需设…………………………………………………………8 五、设计思路…………………………………………………………8 5.1 提出方案………………………………………………………8 5.2 方案论证………………………………………………………9 六、调试程序…………………………………………………………10 七、设计程序…………………………………………………………15 八、总结………………………………………………………………18 九、参考文献…………………………………………………………19 2 序言 单片机技术是计算机技术发展的一个重要分支。由于单片机 具有集成度高、体积小、可靠性高、价格便宜等特点,在机电一体 化、工业控制、仪器仪表、家用电器、信息和通信产品、军事装 等领域均得到了广泛的应用。而步进电机就是其中的一小部分。 步进电机是把电脉冲信号变换成角位移以控制转子转动的微 特电机。在自动控制装置中作为执行元件。每输入一个脉冲信号, 步进电动机前进一步,故又称脉冲电动机。步进电动机多用于数字 式计算机的外部设,以及打印机、绘图机和磁盘等装置。 步进 电动机的驱动电源由变频脉冲信号源、脉冲分配器及脉冲放大器组 成,由此驱动电源向电机绕组提供脉冲电流。步进电动机的运行性 能决定于电机与驱动电源间的良好配合。主要用于数字控制系统 中,精度高,运行可靠。如采用位置检测和速度反馈,亦可实现闭 环控制。步进电动机已广泛地应用于数字控制系统中,如数模转换 装置、数控机床、计算机外围设、自动记录仪、钟表等之中,另 外在工业自动化生产线、印刷设等中亦有应用。 3 章 设计要求及任务 用 P1.0-P1.3 口控制一台步进电机,用两种方法实现单双 八拍控制。晶振频率 12Mhz 第二章 所需设 1、电脑一台 2、52 单片机开发系统一块 3、步进电机一个 4、 usb 转串口线 提出方案 方案一:电机的运转一般由脉冲信号和方向信号来控制的,脉 冲的频率控制电机的转速,脉冲的个数控制电机的转角,用单片机 控制步进电机,可以用一个输出口发送脉冲:高电平-延时-低电 平-延时-......延时的长短控制脉冲的频率,电平的转换次数就 是脉冲个数。 因为步进电机的控制室通过脉冲信号来控制的,经电脉冲信号 转变为角位移或线位移的开环控制元件,所以怎样产生这个脉冲信 4 号和产生怎样的脉冲信号是电机控制的关键。 5.2 方案论证 用单片机来产生着个脉冲信号,通过单片机的 P1 口输出脉冲 信 号 ,因 为所 选电 机 是四 相的 ,所 以 只需 要 P1 口 的 低四 位 P1.0~P1.3 分别接到电机的四根电线上。调试好程序之后转盘转动。 单片机的引脚功能: 1)VCC(40):电源+5V。 2)VSS(20):接地,也就是 GND。 3)XTL1(19)和 XTL2(18):振荡电路。 4)PSEN(29):片外 ROM 选通信号,低电平有效。 5)ALE/PROG(30):地址锁存信号输出端/EPROM 编程脉冲输入端。 6)RST/VPD(9):复位信号输入端/用电源输入端。 7 ) EA/VPP ( 31 ) : 内 / 外 部 ROM 选 5 择端 8)P0 口(39-32):双向 I/O 口。9.P1 口(1-8):准双向通用 I/0 口。 9)P2 口(21-28):准双向 I/0 口。 步进电机驱动和单片机连线图 第四章 调试程序 1、打开 Keil 软件,建立一个新工程,单机【Project】在下拉菜 单中找到【New project...】选项,如图 1 所示 6 图 1 建立新的工程组 2、选择工程要保存的路径,并且输入工程文件名。Keil 的一个工 程里通常含有很多小文件,为了方便管理,一般将一个工程放在一 个独立的文件夹下,并且给文件命名,如图 2 所示。 图 2 定义工程文件名 3、单击保存后会弹出一个对话框,要求选择单片机的机型,可以 根据使用的单片机来选择。Keil C51 几乎支持所有的 51 内核的单 片机,在这里选择 Atmel 的 AT89C52,如下图所示,选择后单机保 存,如图 3 所示。 7 图 3 选择单片机的型号 4、完成上一步骤后,窗口界面如图 4 所示。 图 4 工程组界面 到此为止,还没建好一个完整的工程,虽然工程名有了,但工 程当中还没有任何文件及代码,接下来就是添加文件及代码。 5、单击【File】菜单中的【new】菜单项,或者单机界面上的快捷 图标,如图 5 所示。 图 5 新建文件 6、新建文件后的窗口如图 6 所示。 8 图 6 文件界面 7、此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此 时这个新建文件与刚刚建立的工程还没有直接的联系,单机“保存” 图标,窗口界面如图 7 所示。 图 7 文件保存到工程组 输入要保存的文件名,同时必须输入正确的扩展名“.a”,然 后单击【保存】按钮。 8、回到编辑界面,单机【Target1】前面的“+”号,然后在【Source Goup 1】单击右键,弹出如图 8 所示的菜单。 9 图 8 添加程序至工程 然后选择【Add Files to Group‘Sourse Group 1’】菜单项弹出 图 9 对线】,单击【Add】按钮,再单击【Close】按钮,然 后再单击左侧【Sourse Group 1】前面的“+”,屏幕窗口如图 10 所示。 10 图 10 程序编写界面 10、编写好程序就要进行程序的编译,单机工具栏上的“编译”, 在编译的过程中,如果出现错误,修改程序直到没有错误为止,然 后一次点击“编译”“调试”,在此过程中出现错误的,也要修改程 序直到没有错误为止,编译过程中出现警告一般不必考虑,但特殊 时期也要通过修改程序消除警告。 第五章 种方式 设计程序 ORG 0000H LJMP MAIN(跳转到主程序) ORG 0100H(主程序存放地址0100H) MAIN: MOV SP,#60H ;设置堆栈指针(设置堆栈的长度为60H byte,首先 11 SP是堆栈指针指令,将立即数60H送SP,SP=(60H),即定义栈 顶位置为 内部RAM的60H单元) ACALL DELAY( 调用delay子程序) SMRUN: ;电机控制方式为单双八拍 MOV P1,#08H ;A ACALL DELAY MOV P1,#0CH ;AB ACALL DELAY MOV P1,#04H ;B ACALL DELAY MOV P1,#06H ;BC ACALL DELAY MOV P1,#02H ;C ACALL DELAY MOV P1,#03H ;CD ACALL DELAY MOV P1,#01H ;D ACALL DELAY MOV P1,#09H ;DA ACALL DELAY SJMP SMRUN ;循环转动 DELAY: ;延时程序 12 MOV R4,#10 DELAY1: MOV R5,#250 DJNZ R5,$ DJNZ R4,DELAY1(总延时时间:t=2*250*10=5000μs)) RET ; END 第二种方式 ORG 0000H (程序起始位置) AJMP START (系统复位后跳转向主程序start) ORG 000BH (start的起始地址为00BH) AJMP TT1 (跳转到TT1) ORG 0030H (TT1起始地址0030H) START: MOV P1,#0FFH (P1口置1) MOV TMOD,#01H (设置定时器0工作方式为1即16位定时器 ) MOV R2,#08H 08H赋值给R2 MOV R1,#02H 02H赋值给R1 MOV TH0,#0D8H 定时器0高八位初值 MOV TL0,#0F0H 低八位初始值 13 ORL IE,#82H 开启中断 MOV R0,#00H 00H赋值给R0 SETB TR0 启动定时器 LOOP: MOV A,R0 R0的内容给定时器A MOV DPTR,#NUM DPTR为间址寄存器 MOVC A,@A+DPTR CJNE R1,#00H,LOOP 寄存器R1的内容与0比较,不等则跳 loop MOV P1,A 是 p1 端口 累加器 A 中的数据传送到 p1 寄存器,也就 MOV R1,#02H INC R0 加一指令 DJNZ R2,LOOP (R2)-1放入R2,R2-1≠0 SJMP START 跳转到start NUM:DB 0f1h,0f3h,0f2h,0f6h,0f4h,0fch,0f8h,0f9h TT1: 定时中断程序 CLR TR0 复位定时器T0 DEC R1 寄存器R1减一再放入到R1中 MOV TH0,#0D8H }定时器高八位初值 MOV TL0,#0F0H 定时器低八位初值 SETB TR0 启动定时器T0 14 RETI END 中断返回 图 4.1 主程序流程图 如图所示,在主程序中 ADC0809 将采集到模拟数据(即电压值, 通过改变电位器来获得不同的电压值)转换为数字量,再将此数字 量传给单片机处理。单片机处理后送给数码管显示。 4.2 显示程序设计 15 示程序流程图 图 4.2 显 如图所示,ADC 转换后的数据经过单片机处理后送给数码管显示, 单片机首先输出位选指令,选中要显示的那们数码管。然后输出段 码指令,输出要显示的数字。依次输出各位要显示的数字、直到各 位数字显示完为止。 16 总结 通过这一学期单片机原理及其应用这门课程和本次课程设计, 作为一名大四的学生,我们觉得做单片机的课程设计是十分有意义 的,而且是十分必要的。 在课程设计环节中,我们觉得困难的是程序设计,首先要 理解原理,然后进行流程设计,转化为程序,进行调试,我们在调 试的时候出现了很多错误,改错的过程是非常痛苦的,好在我们耐 心地一一克服了,后敲定了合理的程序。但问题并没有因此结束, 当我们装上步进电机后,能否带动步进电机转起来等等一些列问题 让我们感到手足无措,但是在老师的指导下也一一克服了,后得 到了较为满意的结果,在此感谢老师的悉心指导。 还有一点体会就是要养成注释程序的好习惯,一个程序的完 美与否不仅是实现功能,而应该让人一看就明白你的思路,这样也 为资料的保存和交流提供了方便。通过这次的课程设计,我们懂得 了学习的重要性,了解到了理论知识与实践相结合的重要意义,学 会了坚持、耐心和努力,相信这些对我们今后的工作与学习都会有 很大的帮助。一个团队的合作是完成这次设计的关键,我们通过讨 论,研究方案,合理分工,使得这次设计能够较好的完成,在 合作中,互相学习,在一起设计中发现自己的不足和缺陷,并一起 进步,这也为我们今后的工作积累经验。 17 参考文献 [1] 赵巍 冯娜.单片机基础及应用(第二版),清华大学出版 社,2014. [2] 张毅刚.单片机原理及应用,高等教育出版社,2003. [3] 陈理壁. 步进电机及其应用. 科学技术出版社,1989. [4] 刘保延等. 步进电机及其驱动控制系统.哈尔滨工业大学出版 社,1997. [5]王福瑞. 单片微机测控系统设计大全 . 北京:北京航空航天大 学出版社,1998. 18
以上信息由无锡惠斯通电机科技有限公司整理编辑,了解更多步进电机,两相步进电机,混合式步进电机信息请访问http://www.huistong.com