单片机课程设计步进电机控制器设计.doc

上传人:laozhun 文档编号:4193897 上传时间:2023-04-09 格式:DOC 页数:20 大小:185KB
返回 下载 相关 举报
单片机课程设计步进电机控制器设计.doc_第1页
第1页 / 共20页
单片机课程设计步进电机控制器设计.doc_第2页
第2页 / 共20页
单片机课程设计步进电机控制器设计.doc_第3页
第3页 / 共20页
单片机课程设计步进电机控制器设计.doc_第4页
第4页 / 共20页
单片机课程设计步进电机控制器设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机课程设计步进电机控制器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计步进电机控制器设计.doc(20页珍藏版)》请在三一办公上搜索。

1、摘要步进电机是一种以脉冲信号控制转速的电机,它是将电脉冲信号转变为角位移或线位移的开环控制元件,很适合使用单片机来进行控制。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变得非常的简单。步进电机分为反应式、永磁式、混合式三类。其中混合式步进电机综合了反应式和永磁式的优点,它的动态性能好,控制精度高,是目前应用最为广泛的一种。目录一 设计目的3二 硬件电路设计及描述32.1 步进电机的基本特点3

2、2.2 步进电机的工作原理32.2.1 步进电机的启停控制32.2.2 步进电机的转向控制42.2.3 步进电机的速度控制42.2.4 步进电机的换向控制42.3 控制系统的硬件设计42.3.1 步进电机控制工程方案42.3.2 电路设计53 系统软件设计53.1总体设计53.1.1步进电机的工作方式53.2 程序流程图73.3 程序清单84 参考文献195 结束语20一 设计目的利用单片机来控制步进电机的转速、正转和反转,通过改变相序通电来实现正转和反转之间的转变,并且可通过显示步数的改变进一步调节步进电机的转速。步进电机的运行控制涉及位置控制和加、减速控制,其中,位置控制是最主要的控制,本

3、设计要求在位置上实现准确控制(要求转动步数有数字键直接输入)。 使步进电机具有运行步设置,在线正、反转以及启停控制,运行速度在线可调。二 硬件电路设计及描述2.1 步进电机的基本特点 步进电机之所以得到广泛应用的原因是由于步进电机有以下特性:(1)步进电机是在脉冲作用下工作,步进电机的速度与加在绕组上的脉冲频率成正比。(2)步进马达具有瞬间启动与急速停止的特性。(3)改变线圈励磁的顺序,就能改变马达的转动方向。2.2 步进电机的工作原理步进电机由定子和转子两部分组成,下面以两相反应式步进电机为例说明步进电机工作原理。两相步进电机的定子上有两对磁极,按N、S、N、S分配,每两个相对的磁极组成一队

4、。每对磁极都缠有同一个绕组,形成一相。转子是由软磁材料制成的,其外表面均匀分布着小齿,他们大小相同,间距相等。这些小齿与定子磁极上的小齿的锯齿相同,形状相似。如果按下表的时序给步机绕组通电,步进电机将产生转动,改变相序通电,步进电机的转向将反相,停止发送脉冲,步进电机将停止运转。 图一 步进电机结构 通电相序2.2.1 步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合

5、适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 2.2.2 步进电机的转向控制如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。2.2.3 步进电机的速度控制如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。2.2.4 步进电机的换向控制步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产

6、生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3 个过程。2.3 控制系统的硬件设计2.3.1 步进电机控制工程方案 基于单片机的步进电机控制方案如下图二所示,系统由键盘、微处理器和功率放大器三部分组成。键盘负责发布命令、输入数据,采用带中断的行列式键盘,微处理器负责将命令转化成控制信号。功率放大器具有信号放大的功能。 图二 单片机控制步进电机原理图2.3.2 电路设计在Proteus环境选用下列

7、元器件,设计电路如图三所示(1)IN4003、BUTTON:二极管、按钮;(2)7SEG-MPX4-CA、RESPACK-8、80C51、四位一体共阳极数码管、排阻、单片机;(3)RES、CAP、CAP-ELEC、AND-4、CRYSTAL:电阻、电容、电解电容、4输入与门、晶振;(4)MOTOR-BISTEPPEA、L298:步进直流电机、电机驱动模块。图三 单片机控制步进电机原理图3 系统软件设计3.1总体设计3.1.1步进电机的工作方式(1)三相单三拍工作方式 在这种工作方式下,A、B、C三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作

8、方式。这时步距角b (度)为 b = 360 /mz (公式1)式中:m定子相数; z 转子齿数单三拍的数学模型: 步序 控制位工作状态控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相100000001A01H 200000010B02H300000100C04H(2)三相六拍工作方式 在这种工作方式下,绕组以AABBBCCCAA时序(或反时序)转换6次,磁场旋转一周,转子前进一个齿距,每次切换均使转子转动1. 5,故这种通电方式称为三相六柏工作方式。其步距角b 为:b = 360 /2mz = 180 /mz(公式2)六拍的数学模型: 步序 控制位工作状态

9、控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相100000001A01H 200000011AB03H300000010B02H400000110BC06H500000100C04H600000101CA05H (3)双三拍工作方式 这种工作方式每次都是有两相导通,两相绕组处在相同电压之下,以ABBCCAAB (或反之)方式通电,故称为双三拍工作方式。以这种方式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。它的步距角计算公式与单三拍时的公式相同。极分度角/齿距角= R + k1/m进一步化简得齿数z:z = q (mR + k) (公式

10、3)式中:m相数; q每相的极数; k (m - 1)的正整数;R正整数,为0、1、2、3。双三拍的数学模型:步序 控制位工作状态控制模型P1.7P1.6P1.5P1.4P1.3P1.2C相P1.1B相P1.0A相100000011AB03H 200000110BC06H300000101CA05H3.2 程序流程图主程序主要完成初始化,设置中断入口程序,并将R7寄存器的5、6、7三位作为功能标志位,R7中的值不停的送累加器,并检测累加器高三位是否为1,若其中有某位为1则转向相应的功能程序。主程序不断的循环处于等待中断状态。流程图如图所示: 图四 主程序流程图抖动扫描键盘的键号释放键键号入累加

11、器返回中断主程序是否 图五 中断程序流程图3.3 程序清单ORG 0000H ;开始LJMP MAIN ;跳转至主程序ORG 0013H ;外部中断1入口地址 LJMP KEYL ;跳转至键盘程序ORG 0030H MAIN: MOV SP, #60H ;对SP赋值MOV R0, #00H ;赋值MOV R1, #00H ;赋值 MOV R3, #40 ;赋值MOV 72H, #40 ;赋值MOV P2, #0F0H ;赋值CLR P3.4 ;清零CLR 06HCLR P1.0CLR P1.1CLR P1.2CLR P1.3MOV 43H, #00H ;赋值MOV 42H, #00HMOV 4

12、1H, #00HMOV 40H, #00HMOV R7, #00HSETB EA ;开CPU中断 SETB IT1 ;设置边沿触发方式 SETB EX1 ;开外部中断1中断START: SETB 20H ;置1CJNE R7, #1,L1 ;判断R7是否为1,否则跳至L1CLR 20H ;清零LCALL ZZ ;调转子程序 SETB 20H ;置1LI: CJNE R7, #2,L2 CLR 20HLCALL FFSETB 20HL2: LCALL LEDNNT3: LJMP STARTLED: MOV DPTR, #TAB ;显示程序SETB P1.4CLR P1.5CLR P1.6CLR

13、P1.7MOV A, 43HMOVC A, A+DPTRMOV P0, ALCALL TTCLR P1.4SETB P1.5CLR P1.6CLR P1.7MOV A, 42HMOVC A, A+DPTRMOV P0, ALCALL TTCLR P1.4CLR P1.5SETB P1.6CLR P1.7MOV A, 41HMOVC A, A+DPTRMOV P0, ALCALL TTCLR P1.4CLR P1.5CLR P1.6SETB P1.7MOV A, 40HMOVC A, A+DPTRMOV P0, ALCALL TTCLR P1.7RETKEYL: MOV DPTR, #JS ;键

14、盘程序CLR EX1MOV 70H, R0MOV 71H, R1MOV 72H, R3MOV A, P2MOV P2, #0FHMOV 01H, P2MOV P2, #0F0HJNB ACC.4, E1JNB ACC.5, E2JNB ACC.6, E3JNB ACC.7, E4SETB EX1RETIE1: MOV 20H, #0LJMP KEYHE2: MOV 20H, #4LJMP KEYHE3: MOV 20H, #8LJMP KEYHE4: MOV 20H, #12LJMP KEYHKEYH: MOV A, 01HJNB ACC.0, D0JNB ACC.1, D1JNB ACC.2

15、, D2JNB ACC.3, D3SETB EX1RETID0: MOV A, #0ADD A, 20HMOV B, #3MUL ABJMP A+DPTRD1: MOV A, #1ADD A, 20HMOV B, #3MUL ABJMP A+DPTRD2: MOV A, #2ADD A, 20HMOV B, #3MUL ABJMP A+DPTRD3: MOV A, #3ADD A, 20HMOV B, #3MUL ABJMP A+DPTRJS: LJMP LOOP1LJMP LOOP2LJMP LOOP3LJMP LOOP10LJMP LOOP4LJMP LOOP5LJMP LOOP6LJMP

16、 LOOP11LJMP LOOP7LJMP LOOP8LJMP LOOP9LJMP LOOP15LJMP LOOP0LJMP LOOP12LJMP LOOP13LJMP LOOP14LOOP0: JB 20H,SS0LJMP WXSS0: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #0LJMP RRTLOOP1: JB 20H, SS1LJMP WXSS1: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #1LJMP RRTLOOP2: JB 20H, SS2LJMP WXSS2: MOV 43H, 4

17、2HMOV 42H, 41HMOV 41H, 40HMOV 40H, #2LJMP RRTLOOP3: JB 20H, SS3LJMP WXSS3: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #3LJMP RRTLOOP4: JB 20H, SS4LJMP WXSS4: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #4LJMP RRTLOOP5: JB 20H, SS5LJMP WXSS5: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #4LJMP RRT

18、LOOP6: JB 20H, SS6LJMP WXLOOP6: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #6LJMP RRTLOOP7: JB 20H, SS7LJMP WXSS7: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #7LJMP RRTLOOP8: JB 20H, SS8LJMP WXSS8: MOV 43H, 42HMOV 42H, 41HMOV 41H, 40HMOV 40H, #8LJMP RRTLOOP9: JB 20H, SS9LJMP WXSS9: MOV 43H, 42HM

19、OV 42H, 41HMOV 41H, 40HMOV 40H, #9LJMP RRTLOOP10: MOV A, 43HMOV B, #10MUL ABADD A, 42HMOV R0, AMOV A, 41HMOV B, #10MUL ABADD A, 40HMOV R1, AMOV R3, #40SETB P3.4SETB 06HMOV R7, #1MOV 73H, R7SETB EX1RETILOOP11: MOV A, 43HMOV B, #10MUL ABADD A, 42HMOV R0, AMOV A, 41HMOV B, #10MUL ABADD A, 40HMOV R1, AM

20、OV R3, #40SETB P3.4SETB 06HMOV R7, #2MOV 73H, R7SETB EX1RETILOOP12: CLR 06HSETB EX1MOV R0, 70HMOV R1, 71HMOV R3, 72HMOV R7, 73HRETILOOP13: SETB P3.4SETB 06HMOV R0, 70HMOV R1, 71HMOV R3, 72HCJNE R0, #00H,GP1CJNE R1, #00H,GP2LJMP GPGP1: INC R3LJMP GPGP2: DEC R1GP: MOV R7, 73HSETB EX1RETILOOP14: MOV SP

21、, #60HMOV R0, #00HMOV R1, #00HMOV R3, #40MOV 72H, #40MOV P2, #0F0HCLR P3.4CLR 06HCLR P1.0CLR P1.1CLR P1.2CLR P1.3MOV 43H, #00HMOV 42H, #00HMOV 41H, #00HMOV 40H, #00HMOV R7, #00HSETB EASETB IT1SETB EX1RETILOOP15: JB 20H, SS10LJMP WXSS10: MOV 40H, #00HMOV 41H, #00HMOV 42H, #00HMOV 43H, #00HSETB EX1RET

22、IRRT: SETB EX1CLR P3.4CLR 06HRETIWX: MOV R0, 70HMOV R1, 71HMOV R3, 72HMOV R7, 73HSETB 06HRETIZZ: CJNE R0, #00H, FORWCYCLE ;正转圈,步程序NEXT2: CJNE R1, #00H, STEPLCALL SCMOV R0, #00HMOV R1, #00HMOV R3, #40MOV 72H, #40MOV P2, #0F0HCLR P3.4CLR 06HMOV 43H, #00HMOV 42H, #00HMOV 41H, #00HMOV 40H, #00HMOV R7, #

23、00HSETB EASETB IT1SETB EX1RET FORWCYCLE: MOV R3, 72HNEXTFORSTEP: LCALL FORWSTEPDEC R3JB 06H, NT2CLR P3.4RETNT2: CJNE R3, #00H, NEXTFORSTEPMOV 72H, #40DEC R0LJMP ZZSTEP : LCALL FORWSTEP ;正转一步子程序JB 06H, NT1CLR P3.4RETNT1: DEC R1LJMP NEXT2FORWSTEP: JB 06H,NTLCALL SCMOV R7, #0RETNT: SETB P1.0CLR P1.1SET

24、B P1.2CLR P1.3LCALL SCSETB P1.0CLR P1.1CLR P1.2CLR P1.3LCALL SCSETB P1.0CLR P1.1CLR P1.2SETB P1.3LCALL SCSETB P1.3CLR P1.0CLR P1.1CLR P1.2LCALL SCCLR P1.0SETB P1.1CLR P1.2SETB P1.3LCALL SCCLR P1.0SETB P1.1CLR P1.2CLR P1.3LCALL SCCLR P1.0SETB P1.1SETB P1.2CLR P1.3LCALL SCCLR P1.3LCALL SCRETFF: CJNE R

25、0, #00H, BACKWCYCLE ;反转圈,步程序NEXT4: CJNE R1, #00H, STEP1LCALL SCMOV R0, #00HMOV R1, #OOHMOV R3, #40MOV 72H, #40MOV P2, #0F0HCLR P3.4CLR 06HMOV 43H, #00HMOV 42H, #00HMOV 41H, #00HMOV 40H, #00HMOV R7, #00HSETB EA SETB IT1SETB EX1RETBACKWCYCLE: MOV R3, 72HNEXTBACKSTEP: LCALL BACKSTEPDEC R3JB 06H, NT4CLR

26、 P3.4RETNT4: CJNE R3, #00H, NEXTBACKSTEPMOV 72H, #40DEC R0LJMP FFSTEP1: LCALL BACKSTEP ;反转一步子程序JB 06H, NT3CLR P3.4RETNT3: DEC R1LJMP NEXT4BACKSTEP: JB 06, NT5LCALL SCMOV R7, #0RETNT5: CLR P1.0CLR P1.1SETB P1.2CLR P1.3LCALL SCCLR P1.0SETB P1.1SETB P1.2CLR P1.3LCALL SCCLR P1.0SETB P1.1CLR P1.2CLR P1.3

27、LCALL SCSETB P1.3CLR P1.0CLR P1.1CLR P1.2LCALL SCSETB P1.0CLR P1.1CLR P1.2SETB P1.3LCALL SCSETB P1.0CLR P1.1CLR P1.2CLR P1.3LCALL SCSETB P1.0CLR P1.1SETB P1.2CLR P1.3LCALL SCRETSC: MOV DPTR, #TAB ;显示数据处理MOV A, R0MOV B, #10DIV ABMOV 43H, AMOV 42H, BMOV A, R1MOV B, #10DIV ABMOV 41H, AMOV 40H, BMOV R6,

28、 #30HNN: DJNZ R6, LED1RETLED1: LCALL LEDLJMP NNTT: MOV R5, #0FFH ;显示延时程序T1: NOPDJNZ R5, T1RETTAB: DB 40H, 79H,24H,30H,19H,12H,02H,78H,00H,10HEND4 参考文献单片机原理及接口技术 高等教育出版社 李全利单片机原理与应用系统设计 电子工业出版社 张齐单片机原理与应用设计 电子工业出版社 张毅刚、彭喜元基于Proteus的单片机应用技术 电子工业出版社 江世明51单片机开发入门与典型实例 人民邮电出版社 王守中、聂元明5 结束语从书本上的知识到自己亲手的课程

29、设计,每一步对我们来说无疑都是巨大的尝试和挑战,也成就了我们目前在大学期间独立完成的最大的项目。记得在刚接到这个课题时,我有些茫然不知所措。设计好一个步进电机需要什么专业知识?带着这个疑问我们开始了地学习和实验:去图书馆查阅相关资料、上网去了解相关的内容,渐渐头脑中的概念清晰了起来。在具体设计的过程中,我遇到了更大的困难。我不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。在这个循环往复的过程中,这篇稚嫩的设计日臻完善。虽然我的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程,同时,在此次设计中我学会了很多东西,对我来说这是一次非常有意义的设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号