《步进电机转速控制(共12页).doc》由会员分享,可在线阅读,更多相关《步进电机转速控制(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上山东科技大学电工电子实验教学中心创新性实验结题报告 实验项目名称 基于MCS-51单片机的步进电机速度控制程序设计姓名 吴裕浩 学号 7 手机 Email 专 业 自动化 班级 2010-1 指导教师及职称 张仁彦 副教授 开课学期 2012 至2013 学年 1 学期提交时间 2013 年 1 月 14 日专心-专注-专业一、实验摘要 从工业化时代到来开始,机电设备便被广泛应用,而电动机作为传动中枢也有着很重要的作用。作为电动机的一种-步进电机其重要性也是不言而喻的,从工业生产中的自动化设备到高精端科技领域,都可以看到有步进电机的存在。 本实验便是基于MCS-51单
2、片机的,对其速度的控制。其功能实现为:可以通过键盘,来实现对步进电机速度的转换(速度档位分为高、中、低三档),并通过显示器将实际速度的大小显示出来。二、实验目的 1、通过键盘来实现对步进电机速度的转换,使步进电机在不同模式下拥有不同的转速,从而来满足不同的机电要求。2、三个按键分别对应步进电机高中低档,三个档次的转速有明显的区别。3、通过显示模块将实际转速显示出来。三、实验场地及仪器、设备和材料: 试验场地:微机原理实验室 仪器及设备:PC机一台(安装有Keil uVision3及STC_ISP_V480软件),单片机试验箱四、实验内容1、实验原理本实验用到的子模块电路主要有步进电机控制电路、
3、键盘电路以及数码管显示电路。步进电机电路示意图如图一所示,该步进电机内部有4相绕组,外引5根控制线,如图1所示,其中导线5接5V电源的“”极,导线1、2、3、4按照控制时序接5V电源的“”极。图1控制步进电机转速的程序中主要使用了单片机中的定时器中断系统来控制步进电机的转动,电机的驱动采用四相八拍的方式,如表1所示。表中“”表示接电源正极,“”表示接电源负极。表1电机端子序号电机绕组相数拍数顺序1234567854A3B2C1D 使用中断系统控制步进电机转动的原理是在给定时器赋初值后,定时器开始计时,当其计时完成时会进入中断,每次进入中断程序都会使当前拍数加一使其进入下一拍,这样循环往复就会使
4、电机在这八拍的作用下正常旋转。其优点在于使其转速稳定,不会受到主程序的影响,可以实现较高精度的控制。在本设计的主程序中,循环调用键盘扫描和显示程序,键盘扫描不断地扫描是否有键按下,若有键按下,则根据键值的不同,调至相应程序改变定时器的初值,从而使步进电机的转速改变。 1、各电路工作原理:(1)数码管动态显示原理本设计所用的数码管显示驱动电路如图2所示。设计中采用四位数码管,其段码值通过P0口输出,位控信号由P2口输出,显示时首先送出段码值再选中相应数码管要是稳定后,P0送出下一位段码,P2选中下一个数码管,再次延时稳定,以此方式继续下一位显示,直至所有信息显示完成,再次回到起始位置扫描显示,以
5、此完成信息的显示。图2 (2)键盘电路原理 键盘电路图如图3。图3 键盘电路本实验中我们采用扫描式键盘,共使用了K0、K1、K2和K3四个按键,分别控制电机的低速档、中速档、高速档和暂停。其工作原理是:在键盘扫描时对C0C2三个口首先全送低电平,检测R0口电平信号,若R0口为高电平说明无键按下,若其为低电平,则说明有键按下。当有键按下时,再分别给C0C2三列端口依次送低电平,若某列送低电平后R0再次检测到低电平,则说明此列有键按下,然后程序进行跳转,进入相应的子程序,重新设定定时器初值,同时改变显示缓冲区的数据。以上便是键盘扫描的整个工作原理。(3)总电路图关于定时器初值的计算如下所示:本实验
6、为采用定时器T0,实验中的高档每拍的间隔时间为1MS。首先确定定时器初值N:由于晶振为12MHz,所以,一个机器周期T=1us。所以,计数值M=t/T=1000/1=1000,,故计数初值N=65536-1000=64536=FC18H。所以定时器初值TH0赋0FCH,TL0赋18H。表3档位高中低速度 960r/min 480r/min 96r/min定时时间 1ms 2ms 10ms计数初值TH0=0FCH TL0=18HTH0=0F8HTL0=30HTH0=0D8HTL0=0F0H2、软件设计及流程主程序流程图如下:开始键盘扫描状态初始化有键按下YN判断键值更新显示缓存 调整转速调用显示
7、 扫描显示流程图如下:开始从显示缓冲取数 灭码是否到最后一位YN查表送段码送位控信号稳定显示返回本实验程序如下: ORG 0000HSJMP MAINORG 000BH ;定时器T0中断LJMP INTT0MAIN:MOV TMOD,#01H ;状态初始化SETB ET0SETB EASETB TR0MOV 50H,#0 ;50H存放拍数,初始拍数为0MOV 51H,#0 ;51H,52H为定时器初值,控制转速MOV 52H,#0MOV 54H,#10 ;53H-57H为显示缓冲区,显示档位及速度 MOV 53H,#0MOV 55H,#0MOV 56H,#0MOV 57H,#0CLR F0 ;
8、F0为有键标志ASDF:JB F0,QWE ACALL XIANSHI ;调显示程序QWE: ACALL SAO ;调扫描程序SJMP ASDF SAO: ;键盘扫描子程序 MOV P2,#0F0H ;P2键盘控制端MOV C,P2.4JC DONE1ACALL DELAYMOV C,P2.4JC DONE1MOV P2,#0FEHMOV C,P2.4JC YUSJMP DIYU:MOV P2,#0FDH MOV C,P2.4 JC YU1 SJMP ZHONGYU1:MOV P2,#0FBH MOV C,P2.4JC YU2SJMP GAOYU2: MOV P2,#0F7H MOV C,P2
9、.4JC DONE1SJMP TINGDI: MOV 51H,#0D8H ;低档 MOV 52H,#0F0H MOV 53H,#1 MOV 55H,#11 MOV 56H,#9 MOV 57H,#6 SJMP DONE0 ZHONG: MOV 51H,#0F8H ;中档 MOV 52H,#30H MOV 53H,#2 MOV 55H,#4 MOV 56H,#8 MOV 57H,#0 SJMP DONE0 GAO: MOV 51H,#0FCH ;高档 MOV 52H,#018H MOV 53H,#3 MOV 55H,#9 MOV 56H,#6 MOV 57H,#0 SJMP DONE0TING:
10、 MOV 51H,#0 ;停止 MOV 52H,#0 MOV 53H,#0 MOV 55H,#0 MOV 56H,#0 MOV 57H,#0DONE0: SETB F0 RETDONE1: CLR F0 RETDELAY: MOV R6,#14H ;延时去抖 DL: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DL RETINTT0: PUSH ACC ;定时器中断程序,控制电机转动 PUSH DPHPUSH DPL MOV A,50H /50H MOV DPTR,#TAB1MOVC A,A+DPTRMOV P1,AINC 50HMOV A,50HCJNE A,#8,DONE
11、MOV 50H,#0DONE: MOV TH0,51H /一毫秒 MOV TL0,52HPOP DPLPOP DPHPOP ACCRETITAB1: DB 0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H XIANSHI: ;显示子程序 MOV R0,#53H ;显示缓冲首址 MOVR2,#01H ;位控初始码(先亮最低位)LOOPC:MOVA,#0FFH ;共阳 灭码 MOV P0,A MOVA,R2 ;送位控信号 MOV P2,A MOVA,R0 ;从显示缓冲中取数 MOV DPTR,#TAB MOVCA,A+DPTR ;查出字形代码 MOV P0,A ;送显
12、示字符段代码 ACALLDELAY1 ;稳定显示信息 INC R0 ;取下一个数 MOVA,R2 JBACC.4,EXIT ;判断是否送到最高位? RL A MOVR2,A ;得到下一个位控信号 SJMP LOOPCEXIT:MOV P0,#0FFH RETDELAY1: MOV R3,#0FFH MOV R7,#0FFH DJNZ R7,$ DJNZ R3,$ RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0bFH,0FFH ;0,1,2,3,4,5,6,7,8,9,- END2、实验内容 根据实验原理,进行软件编写及实物连接测试
13、,观察实验效果。与预定功能进行对比,若有差距,则对硬件电路进行检查,对软件程序进行修改,直至与预期要求一致为止。3、实验步骤 (1)设定各级档位转速,求得每拍之间的延迟时间,根据晶振频率计算其对应的计数器初值,具体值见表3。 (2)根据硬件电路编程各功能程序(其中包括键盘扫描、数码管显示以及中断程序),编程完成后使用STC_ISP_V480将分别将各程序传送至单片机进行调试,观察各功能模块是否达到理想效果。 (3)模块调试成功后,整合各功能程序编写总程序,完成后将其传送至单片机进行总体调试。如未达到设计要求,根据具体情况分析并修改程序,然后再次进行硬件调试,直至达到设计要求。 (4)利用pro
14、tel等电子设计软件,绘制总原理图。五、实验结果与分析1、实验现象、数据记录(1)当按下K0按键时,电动机开始转动,转速很低,转动缓慢,显示模块显示有“1-096”字样。(2)当按下K1按键时,电动机开始转动,转速增加,转动稍慢,显示模块显示有“1-480”字样。(3)当按下K2按键时,电动机开始转动,转速进一步增加,转动稍快,显示模块显示有“1-960”字样。2、对实验现象、数据及观察结果的分析与讨论:(1)当按下K0按键时,电动机开始转动,转速很低,转动缓慢,显示模块显示有“1-096”字样。此时表明通过K0键的按下,程序已转入DI子程序,对定时器初值进行了相应的设定,以实现一定时间的延时
15、,从而达到对电动机转速的控制。观察到得转速为1.5r/min,经转速比转换得到其实际转速为96r/min。(2)当按下K1按键时,电动机开始转动,转速增加,转动稍慢,显示模块显示有“1-480”字样。此时表明通过K1键的按下,程序已转入ZHONG子程序,对定时器初值进行了相应的设定,以实现一定时间的延时,从而达到对电动机转速的控制。观察到得转速为7.5r/min,经转速比转换得到其实际转速为480r/min。(3)当按下K2按键时,电动机开始转动,转速进一步增加,转动稍快,显示模块显示有“1-960”字样。此时表明通过K2键的按下,程序已转入GAO子程序,对定时器初值进行了相应的设定,以实现一定时间的延时,从而达到对电动机转速的控制。观察到得转速为15r/min,经转速比转换得到其实际转速为960r/min。3、主要关键和创新点:1、对键盘的进行扫描,判断是否有键按下以及具体哪个键按下,以此来进行模式的选择,从而控制电动机的转速。2、对速度进行显示,显示的内容稳定清晰。 3、当进行按键操作或者对数码管进行显示的时候不能影响电动机的正常工作。六、指导老师评语及得分:指导教师签名: 年 月 日七、中心意见:中心主任: 年 月 日