




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE- 28 - / NUMPAGES29 学院单片机课程设计报告课题名称 基于单片机的步进电机控制系统的设计与实现单位学院所在院(系)计算机科学与技术系班级 1201班指导教师学生王明宇郭西西王 超嘉嘉黄 凯王 丹 2015年5月28日目录1.课程设计的目的1 2.课程设计题目描述和要求12.1设计题目要求12.2 原理图设计要求12.3程序设计要求12.4程序调试要求13.硬件设计 53.1单片机最小系统设计53.2主要电路分析54.软件设计104.1 系统软件运作主流程图 10 4.2键盘扫描流程图115.程序代码116.设计总结 157.参考文献 15人员分工:序号主要工作1 王
2、明宇 系统总体设计2 郭西西王 超 硬件设计与制作3嘉嘉软件设计4黄 凯 王 丹系统的软件调试和硬件调试1.课程设计目的(1) 进一步熟悉和掌握单片机的结构与工作原理。(2)设计一套硬件系统较简单、经济,但功能较为齐全,适应性强,操作方便,交互性强,可靠性高的步进电机控制系统。(3) 通过课程设计,能够有机地把电子技术、单片机技术、电机的控制技术结合起来(4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(5) 通过完成一个包括电路设计和程序开发的完整过程,使学生了解单片机应用系统开发与的全过程,为今后从事相应的工作打下良好的基础。2课程设计题目描述和要求2.1设计题目要求用
3、单片机完成基于单片机的步进电机控制系统的设计与实现。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。2.2 原理图设计要求(1) 原理图设计要严格符合作图规(布局、连线要正确,连线端子要有标号等)。(2) 图中所使用的各元器件要按标准正确标明序号与数值(如,P0 口;RST;)。(3) 原理图要完整(电源,单片机,外围
4、器件,扩器接口,输入/输出装置等要一应俱全)。2.3程序设计要求(1) 根据设计要求,将总体功能分解成若干个子功能模块,每个功能模块完成一个特定的功能。(2) 根据总体要求详细分解各功能模块,并确定各功能模块之间的关系,设计出完整的程序流程图(按流程图设计标准完成设计)。2.4 程序调试要求(1) 利用C语言编写程序(按C语言书写标准完成程序设计)。(2) 通过keil调试(按步骤一步一步完成程序调试、包括断点设置、存与代码分析等)。(3) 通过Altium Designer 7.0软件完成理论性仿真。(4) 通过实验板检验与调试。(5) 程序调试将设计完的程序输入,汇编,排除语法错误,生成H
5、EX文件(执行、检查、修改程序,直到达到要求为止)。3.硬件设计本设计采用单片机AT89S51来作为整个步进电机控制系统的运动控制核心部件,采用了电机驱动芯片L298与其外围电路构成了整个系统的驱动部分,再加上作为执行部件的步进电机来构成了一个基本的步进电机控制系统。系统的具体功能和要求如下: 1.单片机最小系统板的设计; 2.设计兼有两相两拍和两相四拍的脉冲分配器; 3.实现步进电机的启停、正转、反转控制; 4.驱动电路可提供电压为12V,电流为0.3A的驱动信号; 5.能实现步进电机的转速调节,最低转速为25转/分,最高转速为100转/分; 6.步进电机的转速由数码管显示; 7.键盘扫描电
6、路的设计整个系统的组成包括单片机最小系统,电机驱动模块,串口下载模块,数码管显示模块,电机驱动电流检测模块,独立按键等模块组成。具体框图如图所示:3.1单片机最小系统设计采用AT89S51单片机构成了控制系统的核心,其基本模块就主要包括复位电路和晶体震荡电路。在本设计当中,单片机的P 0口、P 1口、P 2口、P 3口全部参与系统工作,单片机最小系统的接线如图3.3所示:单片机端口分配与功能1、其中P 0口用于控制数码管的具体显示功能,既是数码管的段选。2、P 1口主要用于控制电机驱动芯片L298的工作,以与ADC0804芯片的编程的读写控制。3、P 2口主要用于控制数码管的公共端,既是数码管
7、的位选。与此同时还处理键盘扫描电路的。4、P 3口主要用于负责处理ADC0804的模数转化芯片的工作。3.2主要电路分析1. 串口通信模块本设计采用串口通信,来实现计算机与单片机的通信。其具体的电路图如图所示。2数码管显示电路设计本设计的显示部分可以用液晶显示的方案可供选择,液晶显示和数码管显示的区别主要体现在以下几个方面:数码管显示容单一,而液晶显示器显示容丰富,因为液晶一般都是七段八字的只能显示单一的容,而液晶显示的容就很丰富;数码管还比液晶显示耗电,而且使用液晶也比使用数码管显得美观。但是控制液晶显示器的时候占用的系统资源多,编程更复杂,最关键的是液晶显示的成本是数码管的几十倍,所以考虑
8、到应用价值,最终还是确定选用数码管实现本设计的显示部分功能。四位共阳数码管的管脚分配如下图所示:本设计选用了数码管显示设计,其段选的控制A、B、C、D、E、F、G、DP按照数码管的简介资料选用了P 0口作为其控制端口,其位选部分由于单片机的控制端口输出的电压不足以直接点亮数码管,所以在单片机控制端口和数码管的位选控制端口加入了三极管,其具体的电路连接如图所示。3电机驱动模块设计目前的电机的驱动技术的基本类型,考虑要硬件设计驱动电路的方法会电路复杂,调试不方便,而且采用多个元器件搭接,成本高。而直接采用集成的驱动芯片时电路稳定,成本低,易于控制,所以最终本设计是直接采用电机驱动芯片L298作为电
9、机驱动部分的核心部件。本设计的电机驱动部分是由驱动芯片L298与其外围电路构成,其中从L298的2、3脚和13、14脚(即芯片的输出端)依次按顺序连成一个插座,分别与步进电机的四根线相连。而5、6、7、10、11、12脚就依次与单片机的P1口的六个管脚相连。通过这一连接实现了单片机与L298以与步进电机的串联控制。图中很重要的部分是由四个二极管连成的保护电路,其作用是防止由于步进电机的转速提高而产生的自感电动势损坏芯片。由于本设计使用的电机驱动电压是使用了9V (也可以使用12V),所以二极管的负端接9V的参考电压。如果驱动芯片的电压改变,那么这个参考电压也随之一起改变。4. 驱动电流检测模块
10、设计本设计的驱动芯片电流检测模块的实际应用意义在于,检测流过电机的电流值并与时显示,对于防止电机过流而损坏电机有一定的意义。从上面的L298的芯片资料当中我们可以知道L298的Pin1和Pin15可与电流侦测电阻连接来侦测电机正常工作的情况下的工作电流。一般检测电流的方法是通过检测电压值,然后通过欧姆定律换算电流值的方法测试电流,本设计也不例外。设计采用的42BYG101反应式步进电机,其额定电流值0.2安,在加上一般常用的电流侦测电阻都是1欧姆或0.1欧姆,这样换算来检测到的电压值一般是在mV级,这样以来,要是直接将检测到的电压值送给ADC0804进行模数转换那么由于精度的原因势必会对检测结
11、果的准确性造成很大的影响。所以考虑到这一原因我们是先将检测到的电流值经过OP07作放大处理后再将信号送给模数转换芯片处理这样保证了检测值的可靠性。ADC0804输出的数字信号再送给单片机的P 3口,经过单片机处理后最后将检测到的数字信号通过数码管显示出来。而在显示这一部分有这样一个问题,就是步进电机的工作电流不是一个恒定值,它是随着时间的变化,会在一个小围不停的波动为了使显示出来的电流数据更可靠,我们通过单片编程,采用了取一段时间的电流的平均值显示出来。形象的展示这一模块的整个工作流程就是如下的图所示:5. 独立按键电路设计本设计一共设计了四个按键,其中一个是单片机复位电路按键,剩余三个按键是
12、分别一端接P2.1口,P2.2口,P2.3口另一端接地。此时按键的工作原理是按下按键之后就相当于是把对应的端口的电势拉低。在处理按键程序前就先去抖动,防止因按键时产生的机械抖动而错误的重复执行相应程序。所有按键处理程序都是在等按下后执行的。这些在软件编设计部分都会有说明。4.软件设计41 系统软件运作主流程图当给系统供电以后,通过单片机复位电路对系统进行上电复位系统经过初始化以后,便开始执行按键查询等待相应的操作,当有按键按下的时候程序便调用并执行相应的子程序,其具体的主流程图4.1如下所示:4.2系统初始化流程图对相应的系统参数进行初始化,包括系统上电默认运行参数设定,包括两相四拍的工作方式
13、,初始速度档位是30转/分,系统中断设定,定时器设定,载入定时器初值和默认的工作参数等,具体流程图如图4.2所示。5.程序代码按键子程序1、延时子程序:在本延时子程序当中每调用一次延时子程序延时时间是1毫秒。2、按键响应子函数:在本设计当中按键的一端接地,另一端接单片机的对应端口,所以当按键按下,既是将单片机对应端口电平拉低。所以在编程的时候判断按键按下是低电平有效。图4.3画出的是电机增速和减速的子程序框图。图3.3增速减速子程序 3、读ADC0804和模式切换程序框图如下图4.4所示,在本设计当中我的模式切换按键只有一个,负责电机的正反转控制,电流控制和电机启动和停止控制。由于编程的时候设
14、置的系统工作的默认状态是正转,转速30转/分。所以通过连续按模式切换键依次实现的功能是电机反转并显示转速,显示电机电流,系统停止工作,系统正转并显示转速依次切换。编程控制ADC0804工作就主要是负责读和写端口的电平来实现的。图3.4读ADC0804子程序与模式切换子程序4、控制步进电机转动的脉冲输入方式:两相四拍通电方式:正转:ABaBabAbAB反转:ABAbabaBAB两相八拍通电方式:正转:ABBaBaabbAbAAB反转:ABAAbbabaaBBAB以两相四拍正转为例其程序代码如下: if(i=1) AL=1; BL=1; aL=0; bL=0; else if(i=2) AL=0;
15、 BL=1; aL=1; bL=0; else if(i=3) AL=0; BL=0; aL=1; bL=1; else if(i=4) AL=1; BL=0; 系统组成3.4.1硬件设计如图是机械手微机控制系统硬件电路。本系统选用MCS-51系列中的8031芯片,扩展了一片2732,以存放用户程序。由于随机存储的数据不多,只利用片RAM。采用两位LED显示器和28键盘,P35、P36和P37分别输出X、Y、和Z方向的控制脉冲,P16和P1.7分别用来控制步进电机的正/反转和产生复位信号。 机械手动作 机械手装升降盘上,如图所示。图中A点固定,步进电机MZ带动B点,改变A、B间的较小距离,使得
16、机械手移动较大距离。货架 货架分三层,每层有4个包位,共计12个包位。 图中数字为包位编码,编码的个位数表示X位置,十位数表示Y位置(层数),以供计算机查讯、判断之用。本例采用SB-2A型步进电机,它工作于三相六拍的工作方式。 电机按顺时针方向旋转(即正转)时,各相脉冲顺序为:A=1A=1,B=1B=1B,C=1C=1C=1,A=1 电机按逆时针方向旋转(即反转)时,各相脉冲顺序为:A=1A=1,C=1C=1C=1,B=1B=1B=1,A=1 3.5程序设计系统软件包括:主程序、取包程序、存包程序、货位判断程序、X、Y方向运动和机械手动作子程序等。 (1)程序流程图 限于篇幅,只给出主要流程图
17、。2、脉冲序列的生成程序 对于步进电机的控制,实际上是控制步进脉冲的个数和步进脉冲的间隔,而步进电机的间隔又可转化为某基准延时子程序的循环次数。因此,可以很方便地用软件来控制步进电机的运行,达到各种控制目的。主程序功能:管理键盘和显示以与有关控制。无键按下或执行有关命令后,显示提示符“-”(2)程序清单 ORG 0000H AJMP MAIN MAIN: MOV SP, #60H SUN: SETB P3.5 SETB P3.6 SETB P3.7 CLR P1.6 CLR P1.7 MOV R0, #40H MOV A, #12H;字符“-” ML0: MOV R0, A ;的编码 INC
18、R0 CJNE R0, #42H, ML0SETB P1.7 ;复位信号 ;键输入/显示/键判断 F6H-特殊数据 R3-键号暂存器ML1:ACALL DIR ACALL KEY ADD A,0F6H ;键号+F6 用于数字/功能键的判断 JC SUN1 ;功能键转移至SUN1 MOV 41H,40H ;数字键号送显示缓冲区 MOV R0,40H MOV R3 , A ANL A,0FH ;保留低四位 MOV R0,A AJMP ML1功能键处理程序(A、B、C键) SUN1: MOV A, R3 ; CJNE A,0AH,SUN2 AJMP QBCX SUN2: CJNE A,0BH,SUN
19、3 AJMP CBCX SUN3: CJNE A,0CH,ML1 AJMP SUN键盘子程序 P1口-P1.6正/反转 P1.7复位 P3口- P3.3 P3.4 键盘行输入口R3-列扫描寄存器初值FEH R4-列号计数器 SBUF-发送缓冲器发送列扫描信号 KEY:ACALL KS1 JNZ LK1 NI:ACALL DIR AJMP KEY LK1:ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 AJMP NI LK2: MOV P1,00HMOV R6,05H ;延时等待发送 DK6: DJNZ R6, DK6 P33 LONE MOV A,00H AJMP
20、LKP LONE: P34, NEXT MOV A,08HLKP: ADD A, R4 PUSH ACC LK3: ACALL DIR ;仅做一次处理 ACALL KS1 JNZ LK3 POP ACC ;取键值于ACC RET MOV R3,0FEH MOV R4,00H LK4:MOV SBUF,R3NEXT: INC R4 MOV A, R3 JNB ACC.7,KED RL A MOV R3, A AJMP LK4 KED:AJMP KEY 判断键盘有无键按下子程序无键按下A=00H KS1: MOV SBUF,00H MOV R6,05H DS6: DJNZ R6, DS6 MOV
21、A, P3 CPL A ANL A,18H RET显示子程序P1口-LED位扫描输出口 R2-位扫描寄存器初值为01H SBUF-LED段码发送缓冲器DIR: PUSH PSW SETB PSW,4 MOV R0,40H MOV R2,01H D1: MOV P1,R2 MOV A,R0 ADD A,14H MOVC A,A+PC MOV SBUF,A MOV R7,02H D2: MOV R6,0FFH D3: DJNZ R6,D3 DJNZ R7,D2INC R0 MOV A,R2 RL A MOV R2,A JNB ACC.2,D1 POP PSW RET DB 3FH,06H,5BH,
22、4FH延时子程序YSH: PUSH PSW SETB PSW.3 MOV R0,0FFH SH: MOV R1,0FFH SH0: DJNZ R1,#H0 DJNZ R0, SH POP PSW RETDB 66H,60H,70H,07HDB 7FH,6rH,77H,7CHDB 39H,5EH,79H,71HDB 31H,6EH,40H,23HDB 00H延时子程序YSH: PUSH PSW SETB PSW.3 MOV R0,0FFH SH: MOV R1,0FFH SH0: DJNZ R1,#H0 DJNZ R0, SH POP PSW RET机械手控制示意图取包子程序 P1.6-正/反转
23、控制 30H、31H步进脉冲暂存器(X方向)QBCX: SETB P1.6 ;正转 MOV 30H,04H ; X0固定脉冲数 MOV 31H,0D8H ACALL XYXC ;调用X方向运行子程序 ACALL CSHC ;调用测试子程序 MOV 30H,33H ;X方向列脉冲数 MOV 31H, 34H ;送30H、31H单元 ACALL XYXC ;调用X方向运行子程序 MOV 30H,35H ;Y方向行脉冲数 MOV 31H,36H ;送30H、31H单元 ACALL YYXC ;调用Y方向运行子程序 ACALL QWZC ;调用取物子程序 CLR P1.6 ;反转MOV 30H, 35
24、H MOV 31H, 36H ACALL YYXC ;调用Y方向运行子程序 MOV 30H, 33H MOV 31H, 34H ACALL XYXC ;调用X方向运行子程序 MOV 30H,04H; X0固定脉冲数 MOV 31H, #0D8H ACALL XYXC ;调用X方向运行子程序 ACALL FWZC ;调用放物子程序 AJMP SUN存包子程序P.6-正/反转控制 30H、31H步进脉冲暂存器(X方向)33H、34H -35H、36HCBCX: ACALL QWZC SETB P16 MOV 30H,04H ;X0固定脉冲数 MOV 31H,0D8H ; ACALL XYXC AC
25、ALL CSHC MOV 30H,33H MOV 31H,34H ACALL XYXC MOV 30H,35HMOV 30H, 35H MOV 31H, 36H ACALL YYXC MOV 30H, 33H MOV 31H, 34H ACALL XYXC MOV 31H,04H MOV 31H,0D8H ACALL XYXC AJMP SUN MOV 31H,36H ACALL YYXC ACALL FWZC CLR P16MOV 30H, 35H MOV 31H, 36H ACALL YYXC MOV 30H, 33H MOV 31H, 34H ACALL XYXC MOV 31H,04H
26、 MOV 31H,0D8H ACALL XYXC AJMP SUNX方向运行程序P35脉冲信号输出线-控制MX电机XYXC: PU3H PSW SETB PSW.4 MOV R0,30H ABC0: MOV R1,31H ABC1: CLR P35 ACALL YSH SETB P35 ACALL YSH DJNZ R1,ABC1 DJNZ R1,ABC0 POP PSW RETY方向运行程序P36脉冲信号输出线-控制MY电机 YYXC: PUSH PSW SETB PSW.4 MOV R0, 30H ADC2: MOV R1,31H ADC3: CLR P36 ACALL YSH SETB
27、P36 ACALL YSH DJNZ R1, ADC3 DJNZ R0, ADC2 POP PSW RET取物子程序P1.6正/反转 P36Y方向脉冲输出(40H) P3.7Z方向脉冲输出(66H) QWZC: PUSH PSW SETB PSW.4 SETB P1.6 MOV R0, 66H ABC4: CLR P3.7 ACALL YSH SETB P37 ACALL YSH DJNZ R0,ADC4 MOV R0,40H ABC5: CLR P36 ACALL YSH SETB P3.6 ACALL YSH DJNZ R0, ABC5DJNZ R0,ABC7 POP PSWCLR P16
28、 MOV R0,66H ABC6: CLR P37 ACALL YSH SETB P37 ACALL YSH DJNZ R0, ABC6 MOV R0,40H ABC7: CLR P36 ACALL YSH SETB P36 ACALL YSH RET放物子程序 P1.6正/反转 P36Y方向脉冲输出(40H) P3.7Z方向脉冲输出(66H)FWZC: PUSH PSW SETB PSW.4 SETB P16 MOV R0,40H ABC8:CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R0, ADC8MOV R0,66H ABC9: CLR P37 A
29、CALL YSH DJNZ R0,ABC9 CLR P16 MOV R0,40H ABC10: CLR P36 ACALL YSH SETB P36 ACALL YSH DJNZ R0,ADC10MOV R0, 66H ABC11:CLR P37 ACALL YSH SETB P37 ACALL YSH DJNZ R0, ADC11 POP PSW RET测试子程序41H货位列号暂存单元 40H货位层号暂存单元 41H 40H 33H 04H 03H 02H 01H 35H 05H 03H 01H34H CDH B9H 8AH 01H 36H BFH 5BH 5BH CSHC:PUSH A MOV A, 41H CJNE A, 03H, MN0 MOV 33H,04H MOV 34H,0CDH AJMP MN3 MN0: CJNE A,02H, MN1MOV 33H,03H MOV 34H,0B9H AJ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苗木库存管理合同
- 施工合同竞标协议
- 聚合纤维的防静电性能考核试卷
- 煤炭洗选厂设备维护与管理策略考核试卷
- 油气田开发综合效益评价与优化策略考核试卷
- 石油批发行业竞争分析考核试卷
- 篷布产业节能减排考核试卷
- 电气设备客户满意度提升考核试卷
- 畜牧业供应链管理与优化考核试卷
- 渔业产品营销渠道开发考试考核试卷
- 2025年高级考评员职业技能等级认定考试题(附答案)
- 培训课件:混凝土结构的施工技术(浇筑、养护)
- “中华传统文化经典研习”任务群下先秦诸子散文教学策略研究
- 2025年高考语文模拟作文导写及点评:社会时钟
- 《护理信息系统》课件
- 单片机技术与应用知到智慧树章节测试课后答案2024年秋甘肃省农垦中等专业学校
- 施工现场平面布置与临时设施、临时道路布置方案
- 建筑施工大型机械设备安全使用与管理培训
- T-CNPPA 3027-2024 药品泡罩包装应用指南
- 山东省潍坊市2025届高考数学二模试卷含解析
- 6S管理制度(可参考)-6s管理制度
评论
0/150
提交评论