资源描述
目录
1.实验要求与设计 2
1.1设计目的 2
1.2 设计要求 2
1.3 设计思路 2
2.设计原理及分析 3
2.1 步进电机控制系统的组成 3
2.2 单片机最小系统 3
2.3 键盘控制电路 4
2.4 LED数码显示电路 5
3.系统的总体方案设计 6
3.1 步进电机总体设计框图 6
3.2 驱动控制系统组成 6
3.3 脉冲信号的产生 6
4.软件设计设计及调试 7
4.1 主程序流程图 7
4.2 INTO中断子程序框图 7
4.4 程序代码 9
5.实验心得与体会 16
参考文献 17
附:课程设计评分表 18
附:步进电机电路图 19
1.实验规定与设计
1.1设计目
以单片机为核心设计出一种单片机控制步进电机控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度控制,并且将步进电机转动速度动态显示在LED数码管上。
1.2 设计规定
1.运用键盘按键来控制步进电动机加速减速以及控制电动机正转、反转、启动、停止等操作,达到显示目。
2.理解步进电动机工作原理,会计算其各个量之间转换,例如,速度、时间、频率与步进角之间关系。
3.显示以51单片机为核心实用控制电路,并进行调试出成果。
1.3 设计思路
采用51系列单片机实现对步进电动机进行调速控制。一方面运用键盘按键来控制步进电动机加速减速以及控制电动机正转、反转、启动、停止等操作。达到显示目。最后使步进电动机控制能更加灵活。
本实验采用89C51做单片机运营,所用本实验只需要将其四相连接P1口得P1.0~P1.3口就行了,在AEDK实验教学机上,数码管和8279内部已经连接好,不需再连线。
本实验使用步进电机用直流+12V电压,电机线圈由A、B、C、D四相构成驱动方式为四相四拍方式,各线圈通电顺序如下表。表中一方面向A线圈输入驱动电流, 接着B、C、D线圈驱动,最后又返回到A线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。若通电顺序相反,则电机轴按逆时针方向旋转。
2.设计原理及分析
2.1 步进电机控制系统构成
步进电机控制系统共分为六个模块:单片机最小系统模块、键盘控制模块、数码显示模块、测速模块、步进电机驱动模块和电源模块。
1.单片机最小系统重要由复位电路和时钟电路构成。复位电路为单片机系统提供可靠复位,使单片机能正常启动。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。
2.键盘控制模块涉及方向控制键、加速键和减速键、启停键。实现对步进电机控制。并且键盘上连接有发光二极管,以批示键盘状态。
3.数码显示模块采用共阴极数码管来动态显示步进电机实际转动速度。
4.测速模块采用开关霍尔片对安放在步进电机转盘上小磁片磁信号进行检测,步进电机转盘每次带动小磁片通过霍尔片时,其都将有脉冲信号从霍尔片输出。单片机外部中断口对信号进行采集。
2.2 单片机最小系统
近年,由于CHMOS技术进步,大大地增进了单片机CMOS化。CMOS芯片除了低功耗特性之外,还具备功耗可控性,使单片机可以工作在功耗精细管理状态。这也是此后以80C51取代8051为原则MCU芯片因素。由于单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平提高,又浮现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺结合。当前生产CHMOS电路已达到LSTTL速度,传播延迟时间不大于2ns,它综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。
单片机是通过内部总线把计算机各重要部件接为一体,其内部总线涉及地址总线、数据总线和控制总线。其中,地址总线作用是在进行数据互换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线作用是在CPU与存储器或I/O接口之间,或存储器与外设之间互换数据;控制总线涉及CPU发出控制信号线和外部送入CPU应答信号线等。
考虑到经济和可靠性规定,本设计中采用AT89C51单片机,它宏晶科技设计生产单时钟/机器周期(1T)单片机。是高速/低功耗/超强抗干扰新一代8051单片机。指令代码完全兼容老式8051,但速度快8-12倍。
1. AT89C51单片机参数:
工作电压:5.5V—3.8V/3.3V
Flash程序存储器字节:4K
定期器T0、T1:有
中断优先级:2
2. AT89C51单片机长处:
超低功耗
超强抗干扰,超强抗静电
输入输出口多,最多有40个I/O
速度快,1个时钟/机器周期,可用低频率晶振
2.3 键盘控制电路
键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机重要手段。键盘实质是一组按键开关集合。键盘所用开关为机械弹性开关,运用了机械触点合、断作用。
一种电压信号在机械触点断开、闭合过程中,都会产生抖动,普通为5—10ms;两次抖动之间为稳定闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。
按键闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平高低状态检测,便可确认按键按下与否。在本设计中,高电平表达按键断开,低电平表达按键闭合状体。并且,为了能直观形象表达按键闭合与否,还为每个按键相应增长了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应发光二极管变亮。
为了保证单片机对一次按键动作只确认一次按键,必要消除抖动影响。消除按键抖动普通采用硬件、软件两种办法。由于硬件消抖电路设计复杂,本设计中没有采用,在此不再详细论述;软件消抖适合按键较多状况,以便简朴。其原理是在第一次检测到有键按下时,执行一段延时10ms子程序后在确认该键电平与否仍保持闭合状态电平,如果保持闭合状态电平则确以为真正有键按下,从而消除了抖动影响。其原理图如图2-3所示:
图2.1键盘控制模块原理图
2.4 LED数码显示电路
发光二极管LED是一种通电后能发光半导体器件,其导电性质与普通二极管类似。LED数码显示屏就是由发光二极管组合而成1种新型显示屏件。在单片机系统中应用非常普遍。
图2.2 数码管显示电路
3.系统总体方案设计
3.1 步进电机总体设计框图
图3.1 总体设计框图
本系统是单片机软件程序来产生脉冲分信号,即把数字控制技术高精度等方面优势有效应用于步进电机控制系统,本电路涉及开关控制电路,时钟电路,功率放大器电路等选取。
3.2 驱动控制系统构成
使用控制步进电机必要由环形脉冲,功率放大等构成控制系统,方框图3.2如下:
图3.2 控制系统构成图
3.3 脉冲信号产生
脉冲信号普通由单片机或CPU产生,普通脉冲信号占空比为0.3-0.4左右,点击转速越高,占空比越大。
4.软件设计设计及调试
4.1 主程序流程图
步进电机控制系统主程序在对8279系统初始化后重要完毕定期中断及定期器解决功能,如图4.1所示:
图4.1 主程序
系统上电复位后,先调用初始化子程序,对步进电机各端口,有关参数进行初始化,启动定期中断。实现电机控制程序和定期器解决程序功能。
4.2 INTO中断子程序框图
1.中断程序框图(图4.2)重要负责步进电机正,反转功能。
图4.2 INTO中断子程序框图
2.中断子程序框图(图4.3)负责解决键盘功能
一方面初始化实际键值参数,然后扫描键盘,读缓存,执行键盘之程序里指令,将相应变量值变化,为键盘解决子程序做准备。
图4.3 INTO中断子程序框图
4.4 程序代码
;--------------- ----
;Z8279入口地址
;--------------- ----
Z8279 EQU 8701H ;8279状态口地址
D8279 EQU 8700H ;8279数据口地址
;--------------- -------
;74LS273入口地址
;--------------- -------
PI EQU 8300H
;--------------- ----------
;定义RAM字节单元
;--------------- ----------
DIRE EQU 30H ;转形式
STAS EQU 31H ;相位
SPED EQU 32H ;速度指针0~3
SPEDED_VAL EQU 33H
KEY_VAL EQU 34H
DISPED_SBUF0 EQU 35H
DISPED_SBUF1 EQU 36H
DISPED_SBUF2 EQU 37H
ORG 0000H
LJMP START
ORG 000BH
LJMP INT0_P
ORG 001BH
LJMP INT1_P
ORG 0100H
START: MOV SP,#60H
LCALL INTI8279
LCALL INT_T0
LCALL INT_T1
MOV DIRE,#02H
MOV SPED,#04H
MOV STAS,#077H
SETB EA
;--------------- ----------
;8279初始化子程序
;--------------- ----------
INTI8279: MOV DPTR,#Z8279 ;清除命令
MOV A,#0D3H
MOVX @DPTR,A
MOV DPTR,#Z8279 ;键盘显示命令
MOV A,#000H;
MOVX @DPTR,A
MOV DPTR,#Z8279 ;时钟编程命令
MOV A,#038;
MOVX @DPTR,A
NOP
RET
;---------------
;初始化定期器0
;---------------
INT_T0: MOV TMOD,#011H
MOV TH0,#0FFH;
MOV TL0,#0FEH
CLR PT0
SETB ET0
SETB TR0
RET
;--------------- -----
;初始化定期器1;
;--------------- -----
INT_T1: MOV TMOD,#011H
MOV TH1,#04CH ;定期时间为50mS
MOV TL1,#000H
SETB PT1
SETB ET1
SETB TR1
RET
;--------------- ----------
;定期器0解决程序
;依照参数控制直流电机
;--------------- ----------
INT0_P: PUSH ACC ;堆栈
;--------------- ----------
;步进电机控制程序
;--------------- ----------
LCALL LP0
EXIT0: MOV TH0,#0FFH ;重装定期初值
MOV TL0,#0FEH
POP ACC
RETI
;---------------
;步进电机控制程序
;入口参数:
;---------------
LP0: MOV R7,SPEDED_VAL
LP1: LCALL DELAY
DJNZ R7,LP1
MOV A,DIRE
CJNE A,#00H,LP2 ;顺时针转
MOV A,STAS
RL A
MOV STAS,A
ANL A,#0FH
MOV P1,A ;相位输出
LJMP LP5
LP2: CJNE A,#01H,LP3 ;逆时针转
MOV A,STAS
RR A
MOV STAS,A
ANL A,#0FH
MOV P1,A ;相位输出
LJMP LP5
LP3: CJNE A,#02H,LP5 ;停转
LJMP LP5
LP5: NOP
RET
;---------------
;延时子程序
;---------------
DELAY: MOV R3,#20H ;延时子程序
DELAY1: MOV R4,#04FH
DJNZ R4,$
DJNZ R3,DELAY1
RET
;---------------
;定期器1解决程序
;键盘
;---------------
INT1_P: PUSH ACC ;堆栈
LCALL KD_KB
LCALL SBUF_DISPED0
LCALL LEDD_PROC0
EXIT1: MOV TH1,#04CH ;重装定期初值
MOV TL1,#000H
POP ACC
RETI
;------------------
;8279键盘译码解决主程序
;------------------
KD_KB: MOV DPTR,#Z8279 ;读状态字
MOVX A,@DPTR
ANL A,#0FH
JZ KD_KB1
MOV A,#40H;读FIFO ;传感器RAM命令
MOVX @DPTR,A
MOV DPTR,#D8279
MOVX A,@DPTR
ANL A,#3FH ;键值最大为64,屏蔽不用位
MOV KEY_VAL,A
LCALL JP0
KD_KB1: NOP
RET
;------------------
;功能键解决子程序
;入口参数:KEY_VALU
;------------------
KEY0: MOV A,KEY_VALU
CJNE A,#0AH,KEY1
LCALL KA0
LJMP KEY8
KEY1: CJNE A,#0BH,KEY2
LCALL KEY0
LJMP KEY8
KEY2: CJNE A,#0CH,KEY8
LCALL KEY0
LJMP KEY8
KEY8: NOP
RET
;---------------
;键A解决子程序
;键A为切换到正转键或者/正转级数参数更改键
;---------------
KA0: MOV A,DIRE
CJNE A,#00H,KA2
INC SPED
MOV A,SPED
CJNE A,#04H,KA1
MOV SPED,#00H
KA1: LCALL SPEDED_LOAD0
LJMP KA5
KA2: MOV SPED,#00H
MOV DIRE,#00H
MOV SPEDED_VAL,#61H
LJMP KA5
KA5: NOP
RET
;---------------
;装载正转占空参数
;---------------
SPEDED_LOAD0: MOV A,SPED
CJNE A,#00H,SPEDED_LOAD1
MOV SPEDED_VAL,#050H
LJMP SPEDED_LOAD8
SPEDED_LOAD1: CJNE A,#01H,SPEDED_LOAD2
MOV SPEDED_VAL,#020H
LJMP SPEDED_LOAD8
SPEDED_LOAD2: CJNE A,#02H,SPEDED_LOAD3
MOV SPEDED_VAL,#00AH
LJMP SPEDED_LOAD8
SPEDED_LOAD3: CJNE A,#03H,SPEDED_LOAD8
MOV SPEDED_VAL,#005H
LJMP SPEDED_LOAD8
SPEDED_LOAD8: NOP
RET
;---------------
;键B解决子程序
;键B为切换到反转键或者/反转级数参数更改键
;---------------
KB0: MOV A,DIRE
CJNE A,#01H,KB2
INC SPED
MOV A,SPED
CJNE A,#04H,KB1
MOV SPED,#00H
KB1: LCALL SPEDED_LOAD0
LJMP KB5
KB2: MOV SPED,#00H
MOV DIRE,#01H
MOV SPEDED_VAL,#61H
LJMP KB5
KB5: NOP
RET
;---------------
;键C解决子程序
;键C为切换到停止键
;---------------
KC0: MOV A,DIRE
CJNE A,#02H,KC1
LJMP KC5
KC1: MOV DIRE,#02H
MOV SPED,#04H
LJMP KC5
KC5: NOP
RET
;-----------------------
;数码显示子程序
;入口参数:DISPED_BUF0-DISPED_BUF5
;-----------------------
SBUF_DISPED0: MOV A,SPED
MOV DPTR,#SPEDED_TAB
MOVC A,@A+DPTR
MOV B,#100
DIV AB
MOV DISPED_SBUF0,A
MOV A,B
MOV B,#10
DIV AB
MOV DISPED_SBUF1,A
MOV DISPED_SBUF2,B
MOV DPTR,#Z8279 ;写显示命令
MOV A,#090H
MOVX @DPTR,A
MOV R0,#DISPED_SBUF2
MOV R6,#03H
SBUF_DISPED1: MOV DPTR,#LEDSEG_TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV DPTR,#D8279
MOVX @DPTR,A
DEC R0
DJNZ R6,SBUF_DISPED1
SBUF_DISPED2: NOP
RET
;---------------
;笔形码表
;---------------
LEDSEG_TAB:
DB 03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH ;'0,1,2,3,4,5,6,7,8,9'
DB 0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H,0FFH,0EFH ;加点数值
DB 000H ;灭码
SPEDED_TAB:
DB 010H,050H,090H,0F0H,#000H
END
5.实验心得与体会
通过这样长时间努力终于将课程设计完毕了,在这次设计中,咱们电路知识得到了较好补充和巩固,还使我提高了将理论知识运用到实际中能力。
通过这次课程设计,更深一步掌握了51单片机原理,理解了简朴步进电机控制系统构成原理,并初步掌握了步进电机设计及测试办法。提高了动手能力和排除故障能力。同步通过本次设计与调试,巩固了已学理论知识,将单片机理论和实践相结合,理解到步进电机各单元电路之间关系及影响,从而能对的设计、计算定期计数各个单元电路。初步掌握步进电机控制系统设计及测试办法,提高了动手能力和排除故障能力。
这次设计使咱们学到了此前课本知识中所不曾理解知识,更加明白了在如今信息时代下电子技能知识重要性,丰富了咱们对实际工艺技术、电子技术和设备技术等方面结识,掌握了分析问题、解决问题办法以及调试、计算等基本技能,使实际工作能力得到了有效提高。
在这次课程设计中非常感谢教师指引与协助,使咱们课程设计能更好完毕,这对于咱们此后学习、工作和生活均有很大协助。同步,咱们也充分结识到团队合伙重要性,这次经历对于咱们后来发展无疑是相称有协助。相信有了这次累积,毕业后工作学习将会更加顺利。
参照文献
[1] 朱兆优 陈坚 王海涛编著. 单片机原理与应用. 北京:电子工业出版社,7月
[2] 肖静编. 《mcs-51实验指引书》实验指引书. 东华理工大学机电学院
[3] 周荷琴 吴秀清编著. 微型计算机原理与接口技术.第四版. 中华人民共和国科学技术大学出版社,12月
附:课程设计评分表
东华理工大学长江学院
课程设计评分表
学生姓名: 万凯瑞 学号: 08314326
课程设计题目:步进电动机
项目内容
满分
实 评
选
题
能结合所学课程知识、有一定能力训练。符合选题规定
(3人一题)
5
工作量适中,难易度合理
10
能
力
水
平
能纯熟应用所学知识,有一定查阅文献及运用文献资料能力
10
理论根据充分,数据精确,公式推导对的
10
能应用计算机软件进行编程、资料收集录入、加工、排版、制图等
10
能体现创造性思维,或有独特看法
15
成
果
质
量
模型对的、合理,各项技术指标符合规定。
15
摘要论述简洁完整,假设合理、问题分析对的、数学用语精确、结论严谨合理;问题解决科学、条理分明、语言流畅、构造严谨、版面清晰
15
论文重要某些齐全、合理,符号统一、编号齐全。 格式、绘图、表格、插图等规范精确,符合论文规定
10
字数不少于字,不超过15000字
5
总 分
100
指引教师评语:
指引教师签名:
年 月 日
附:步进电机电路图
展开阅读全文