基于单片机步进电机控制设计-课程设计_第1页
基于单片机步进电机控制设计-课程设计_第2页
基于单片机步进电机控制设计-课程设计_第3页
基于单片机步进电机控制设计-课程设计_第4页
基于单片机步进电机控制设计-课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计(论文)题 目 名 称 基于单片机步进电机控制设计 课 程 名 称 单片机原理及应在电气测控学科中的应用 学 生 姓 名 学 号 系 、专 业 指 导 教 师 2010年6月30日目录 TOC o 1-3 h z u HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493636#_Toc297493636 摘 要 PAGEREF _Toc297493636 h II HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc

2、l _Toc297493637#_Toc297493637 1单片机控制步进电机的原理及意义 PAGEREF _Toc297493637 h 1 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493638#_Toc297493638 1.1原理 PAGEREF _Toc297493638 h 1 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493639#_Toc297493639 1.2意义 PAG

3、EREF _Toc297493639 h 2 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493640#_Toc297493640 2控制系统的硬件设备 PAGEREF _Toc297493640 h 2 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493641#_Toc297493641 2.1总方框图及具体硬件连线图的设计 PAGEREF _Toc297493641 h 2 HYPERLINK

4、 file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493642#_Toc297493642 2.2 步进电机控制电路 PAGEREF _Toc297493642 h 3 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493643#_Toc297493643 2.3最小系统 PAGEREF _Toc297493643 h 4 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新

5、建文件夹课程设计.doc l _Toc297493644#_Toc297493644 2.4驱动电路 PAGEREF _Toc297493644 h 4 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493645#_Toc297493645 2.5显示电路 PAGEREF _Toc297493645 h 5 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493646#_Toc297493646 3.控

6、制系统的软件设计 PAGEREF _Toc297493646 h 6 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493647#_Toc297493647 3.1主程序设计 PAGEREF _Toc297493647 h 6 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493648#_Toc297493648 3.2定时中断设计 PAGEREF _Toc297493648 h 7 HYPERLIN

7、K file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493650#_Toc297493650 3.4源程序 PAGEREF _Toc297493650 h 8 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493651#_Toc297493651 4.仿真调试 PAGEREF _Toc297493651 h 12 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课

8、程设计.doc l _Toc297493652#_Toc297493652 4.1proteus 简介 PAGEREF _Toc297493652 h 12 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493653#_Toc297493653 4.2仿真结果 PAGEREF _Toc297493653 h 13 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493654#_Toc297493654

9、5.结束语 PAGEREF _Toc297493654 h 15 HYPERLINK file:/C:Documents%20and%20Settings张九经桌面新建文件夹课程设计.doc l _Toc297493655#_Toc297493655 6.参考文献 PAGEREF _Toc297493655 h 15 摘 要本设计是采用单片机AT89C51(12MHZ)对步进电机进行控制,通过I/O口输出的具有时序的方波作为步进电机的控制信号,用4个按钮来对电机的状态进行控制,单片机根据电机的状态信号将写入的程序通过CPU进行处理,发出脉冲控制信号,脉冲控制信号经过芯片ULN2003A驱动步进

10、电机,步进电机将脉冲控制信号转换为电机的角位移,使电机的转子根据脉冲数来实现电机准确的转速控制。在显示电路中,主要是利用了单片机的P0口和P2口。采用两个共阳数码管作显示。CPU根据发送过来的指令进行相应的动作,从而使数码管能够显示出相应的转速的等级, 其中电机转速的等级分为五级。同时电机也可以正反转,第一个数码管接的a、b、c、d、e、f、g、h分别接P0.0P0.7口,用于显示电机正反转状态,正转时显示“1”,反转时显示“一”,不转时显示“0”。关键词:AT89C51单片机;ULN2003A;20BY-0型步进电机;WAVE软;30PF的电容;12M晶体振荡器件;1单片机控制步进电机的原理

11、及意义1.1原理1. 步进电机 步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移

12、量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。2.原理根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段

13、时间内的反复正反转功能,也即数控机床的刀架自动进给运动。选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。步进电机能响应而不失步的最高步进频率称为“启动频率”。 步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第一个脉冲前发出。对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了降速换向加速3个过程。1.2意义 随着数字化技术地发展,数字控制技术

14、得到了广泛而升入的应用。步进电机是一种将数字信号直接转换成角位移或线位移的控制元件,具有快速启动和停止的特点。因为步进电机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛的应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机、投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活

15、,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。2、控制系统的硬件设备2.1总方框图及具体硬件连线图的设计 1.该设计的总方案图图如2.1所示,是由一个AT89C51(12MHZ)、两个共阳极数码显示管、芯片ULN2003A、步进电机,还有晶振和按钮复位电路以及开关控制器件连接而成。 89C51单片机复位电路键盘控制电路ULN2803启动电路电源及时钟电路图2.1 总体设计方框图状态显示电路步进电机2.设计一个单片机四相步进电机控制系统要求系统具有如下功能(1).用K1、K2状态变

16、化来实现电机的启动和换向功能。(2).第一个数码管用于显示电机正反转,正转显示“1”,反转显示“-”,不转时显示“0”。(3).通过S2、S3的断开和闭合。(4).复位电路采用手动复位。 根据设计要求用PROTUES所做的硬件连线如图2.2所示: 图2.2总体电路图 2.2. 步进电机控制电路1. 正反转控制 根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图2.3所示。通过K1、K2状态变化来实现电机的启动和换向功能。当K1、K2的状态变化时,内部程序检测P1.0和P1.1的状态来调用相应的启动和换向程序,发现系统的电

17、机的启动和正反转控制。2.转速控制根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,转速控制的方法主要有:软件延时和定时中断,在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2、S3的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。图2.3控制电路原理图2.3最小系统 对于没有内部没有晶振的单片机,接上电源和晶振就是该单片机的最小系统。对于这个设计的单片机来说,还有一个按钮复位电路

18、。电路如图2.4所示:图2.4复位及时钟振荡电路2.4. .驱动电路 通过ULN2003构成比较多的驱动电路,电路图如图3.3所示。通过单片机的P1.0P1.3输出脉冲到ULN2003的1B4B口,经信号放大后从1C4C口分别输出到电机的A、B、C、D相。图2.5步进电机驱动电路2.5显示电路在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为五级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。在显示电路中,主要是利用了单片机的P0口和P2口。采用两个共阳数码管作显示。第一个数码管用于显示电机正反转状态,正转时显示“1”,

19、反转时显示“一”,不转时显示“0”。第二个数码管用于显示电机的转速级别,共五级,即从15转速依次递增,“0”表示转速为零。电路如图2.6所示。图2.6显示电路3.控制系统的软件设计 3.1.主程序设计 主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。主程序流程图如图3.1所示: 初 始 化速度值为0?启动开关为0?停止计时器显 示启动计时器延 时停止计时器图3.1

20、 主程序流程图YNYN开始YY3.2定时中断设计步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。程序流程图如3.2所示:中断返回T0中断入口发速度脉冲读方向指示重送相关状态恢复现场保护现场中断次数-1=0?NY图3.2 定时中断程序流程图 3.3.外部中断设计外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为

21、定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮S2为INT0中断,其程序流程为原数据,当值等于5时,不改变原数值返回,小于5时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。程序流程图3.3所示:外部中断入口保护现场延时去抖中断返回速度值1恢复现场速度=上或限值?按钮是否弹起?NNYY图3.3 外部中断程序流程图3.4源程序汇编程序如下:SPEED EQU 10H ;SPEED为转速等级标志,共5级,即15FX EQU 11H ;FX为方向标志COUNT EQU 12H ;COUNT中断次数标志ORG 000

22、0HLJMP MAINORG 0003H ;外部中断0入口地址,加速子程序LJMP UPORG 0013H ;外部中断1入口地址,减速子程序LJMP DOWNORG 000BH ;定时器0中断入口地址,控制中断次数来达到控制转速LJMP ZDT0ORG 0030HMAIN: OV SP,#60H MOV TMOD,#01H;工作于定时、软件置位启动!模式1(16位计时器) MOV TH0,#0EFH MOV TL0,#0FAH MOV COUNT,#01H SETB ET0 ;定时/计数器允许中断 CLR IT0 ;外部中断为电平触发方式,低电平有效 CLR IT1 SETB EX0 ;外部允

23、许中断 SETB EX1 SETB EA ;开总中断 MOV R1,#11H;四相单四拍运行,共阳数码管方向显示8,速度值显示0 MOV SPEED,#00H ; MOV FX,#00H ;XIANS: MOV A,SPEED ; MOV DPTR,#LED ; MOVC A,A+DPTR ;查表获取等级对应数码管代码 MOV P2,A ;第二个数码管显示转速等级 MOV A,FX ;准备判断转向 CJNE A,#11H,ELS ; MOV P0, #0F9H ;第一个数码管显示1,表示正转 LJMP QDELS: CJNE A,#00H,ZHENG; MOV P0,#0C0H ;第一个数码管

24、显示0,表示不转 LJMP QDZHENG: MOV P0,#0BFH ;第一个数码管显示-,表示反转QD: JB P3.1,DD ;P3.1接启动开关K1,P3.1 =1时启动 CLR TR0 ;停止定时/计数器 MOV P0,#0FFH ;第一个数码管显示0,表示不转 MOV P2,#0FFH ;第二个数码管显示0,表示转速为0 MOV SPEED,#00H ;重新赋初值 MOV FX,#00H ; LJMP QDDD: MOV A,SPEED ; JNZ GO ;A不等于0,即初始速度不为零,则转移到GO CLR TR0 ;停止定时/计数器 LJMP QDGO: SETB TR0 ;开启

25、定时/计数器 ACALL DELAY LJMP XIANSDELAY: MOV R6,#10 ;延时子程序DEL1: MOV R7,#250 ;HERE1:DJNZ R7, HERE1 ; DJNZ R6,DEL1 ; RET 以下ZDT0为定时器中断程序ZDT0: PUSH ACC PUSH DPH PUSH DPL MOV TH0,#0EFH ; MOV TL0,#0FAH; DJNZ COUNT,EXIT ; JB P3.0,NIZHUAN ;查询方向标志,P3.0接换向开关K2 MOV FX,#11H ;NIZHUAN:MOV A,FX ; CJNE A,#11H,FZ ;若A不等于1

26、1,即正转,则转移到FZ MOV A,R1 ;R1记录上一次电机脉冲状态 MOV P1,A ; RR A ;循环右一位 MOV R1,A ; MOV P1,A ; LJMP RE FZ: MOV A,R1 ; MOV P1,A ; RL A ;循环左移一位 MOV P1,A ; MOV R1,A ;RE: MOV A,SPEED ; MOV DPTR,#TAB ; MOVC A,A+DPTR ; MOV COUNT,A ;把转速级别赋给COUNT JB P3.0 ,FFX ; P3.0接换向开关K2, 即换向位,若P3.0=1,则跳到FFX MOV FX,#11H ; LJMP EXITFFX

27、: MOV FX,#0FEH ;只要FX不等于11H,就可以通过循环左移或右移进行换向EXIT:POP DPL POP DPH POP ACC RETI 以下UP为加速中断程序UP: PUSH ACC ACALL DELAY ;延时防抖动 JB P3.2,UPEX ;接开关S2,低电平有效,若P3.2=1,则退出 MOV A,SPEED ; CJNE A,#5,SZ ;最大等级为5,若A不等于5,则转移到SZ LJMP UPEX ;若A=5,则退出SZ: INC SPEED ; SPEED= SPEED+1UPEX:POP ACCHERE2: JNB P3.2,HERE2;本指令为防止开关S2

28、按下去后弹不起,导致一直产生中断 RETI 以下DOWN为减速中断程序DOWN: PUSH ACC ACALL DELAY JB P3.3,DEX;接开关S3,低电平有效,若P3.3=1,则退出 MOV A,SPEED ; CJNE A,#0,SJ ; LJMP DEXSJ: DEC PEED ; SPEED= SPEED-1DEX: POP ACCHERE3:JNB P3.3,HERE3 ; RETITAB:DB 0,50,46,39,33,28;经仿真,小于21时,由于脉冲太快,会出现失步LED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H

29、 END 4.仿真调试4.1.proteus 简介 Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。proteus6.5是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,.)该软件的特点是: 1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论