1、. . . . 电子线路设计2课程设计报告单片机控制的步进电动机姓 名: 班 级:09车辆工程2班学 号:指导老师:日期: 2011.6.62011.6.10华南农业大学工程学院7 / 21摘 要步进电机控制设计 摘 要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。步进电机控制系统以8086作为控制的核心元件,利用8255的C口控制步进电机,同时获取控制转动方向(即正转和反转),A口连接键盘,以选取不同档的移动速度,B口连接LED显示器,以显示
2、当前的速度档,8253作为定时器,提供必要的时钟信号。 本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、显示步数与设定速度等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力。关键词:步进电机,脉冲信号,方向控制,时钟信号1 绪论1.1 课题描述步进电机将脉冲信号转换成的机械角位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成比例,通过改变电脉冲频率,可在大围调速,同
3、时,该电机还能快速起动、制动、反转.此外,步进电机易于实现与单片机机或其它数字元件接口,适用于数字控制系统,并可取得较高的控制精度,系统硬件实施比较简单。这次数控原理的课程设计方案是基于单片机的步进电机运行控制系统。在这个控制系统中,控制器是它的核心,因为它担负着产生脉冲,发送、接受控制命令等任务。该系统的步进电机驱动控制电路,采用低价的AT89C51为控制器,可直接对步进电机进行控制,省去了昂贵的专用步进电机控制器,简化了硬件线路,降低了成本,提高了系统的可靠性。. 步进电机是纯粹的数字控制电动机。它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制
4、。近几十年来,数字技术、计算机技术和永磁材料的迅速发展,为步进电机的应用开辟了广阔的前景。1.2 步进电机控制工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减
5、小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为四相八拍 ,即 A-AB-B-BC-C-CD-D-DA-A。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率
6、,就可以对步进电机进行调速。步进电机换向时 ,一定要在电机减速停止或降到突跳频率围之再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以与下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5s)、脉冲序列的均匀度与高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3 个过程。2 步进电机系统的总体设计2.1 系统设计方框图本系统是用单片机软件编程来产生脉冲分配信号,即把数字控制计数的高精度等方面的优势有效地应用于步进电机控制系统,同时本系统设计的步进电机控制器硬件电路十分简单,成本低,使用方便。本系统硬件方案论证
7、包括开关控制电路、复位电路、时钟电路、显示电路、光电耦合电路、功率放大电路的选择2.2 方框图的描述单片机的选择:本次设计以CPU选用AT89C5l作为步进电机的控制芯片AT89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上使用方便等优点。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且
8、价廉的方案。AT89C51的引脚结构图如图2所示,其管脚说明如下: 图2 AT89C51引脚结构图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电
9、阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入
10、,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高
11、。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。复位电路的设计:本设计采用
12、上电复位形式,微控制器上电后,系统时钟启动,当8051MCU的脚复位引第9脚接高电平并且时间超过2个机器周期,即可完成复位操作。如图4所示。图4 复位电路原理图开关控制电路:89C51单片机复位后P0-P3口初始状态为0FFH,通过按钮开关控制电机的换向和调速,系统不断检测P3.2-P3.3引脚的状态,按钮按下系统检测到低电平,执行相关操作,否则在上拉电阻和+5V电源作用下始终保持高电平。如图5所示。图5 开关控制电路原理图显示电路:显示电路有三个发光二极管分别显示电机的正转、反转、停止。发光二极管采用共阳极接法,+5V电源供电,分别接P0.0P0.2。编程时由三个引脚输出低电平控制通断。如图
13、6所示。图6 显示电路原理图光电耦合电路:光电耦合电路将步进电机的强电信号与微机的弱电信号进行隔离与电平转换。光电耦合器由发光源和受光器两部分组成。当有电流流过发光二极管时,发光二极管发光。光敏三极管接受光照后即可导通,从而产生电信号。使用光电耦合器时必须接外电路。主要考虑接驱动器和外接电阻。如图7所示。图7 光电耦合电路原理图功率放大电路:功率放大电路的功能是将环形分配器送来的弱电信号变为强电信号,在这里采用单电压驱动电路。如图8所示。图8 功率放大电路3 步进电机的软件设计3.1 主程序流程图步进电机系统主程序流程图如图9所示。 图9 主程序流程图3.2 中断子程序流程图中断子程序流程图如
14、图10所示。图10 中断子程序流程图3.3 步进电机系统程序ORG 0000HLJMP MAIN ORG 0003H LJMP LP0 ORG 0013H LJMP LP1ORG 0100HMAIN: MOV R7,#40H MOV P0,#04H MOV IE,#85H ; 外部中断0、中断1开中断 MOV SP,0030HTP: JNB P3.6,START2 ;P3.6检测到反转负脉冲跳转 P3.4 TP ;P3.4检测到正转脉冲,电机正转START: MOV P0,#00H SETB P0.0MOV R0,#00H ;正转START1:MOV P1,#00HMOV A,R0MOV DP
15、TR,#TABLEMOVC A,A+DPTRJZ START ;对 A 的判断,当 A = 0 时则转到 STARTMOV P1,ALCALL DELAYINC R0P3.5,START1 ;P3.5无负脉冲是跳转,电机继续运转MOV P1,#00H LCALL DELAY1 LJMP MAINSTART2:MOV P0,#00H SETB P0.1MOV P1,#00H ;反转MOV R0,#07START3:MOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRJZ START2MOV P1,A LCALL DELAYINC R0P3.5,START3MOV P1,#00
16、HLCALL DELAY1LJMP MAINDELAY:MOV R6,#248DJNZ R6,$DJNZ R7,DELAYRETDELAY1:MOV R4,#20 ;2S 延时子程序DEL2:MOV R3,#200DEL3:MOV R2,#250DJNZ R2,$DJNZ R3,DEL3DJNZ R4,DEL2MOV R7,#40 ;恢复R6、R7初始值 RETLP0: PUSH A ;加速子程序 PUSH PSW MOV A,R7 INC A JZ LT0 INC R7LT0: POP A POP PSW RETILP1: PUSH A ;减速子程序 PUSH PSW MOV A,R7 JZ
17、 LI DEC R7LT1: POP A POP PSW RETITABLE:DB 01H,03H,02H,06H,04H,05H; 正转表DB 00 ;正转结束DB 01H,05H,04H,06H,02H,03H ;反转表DB 00 ;反转结束END4 步进电机系统的总原理图与元器件清单4.1 系统总原理图系统总原理图如图11所示。图11 系统总原理图4.2 元器件清单表1 系统元器件清单位 号规 格位 号规 格C130pFR111KV7IN3904C230pFR121KV8IN3904C310uFR131KV9IN3904Y112MHZR141KU1AT89C51R14.7KR151KU2
18、PC817R24.7KR161KU3PC817R34.7KR172.2KU4PC817R41KR181KS1R51KV1DIP20000S2R61KV2DIP20000S3R710KV3IN5400S4R82.2KV4IN5400S5R91KV5IN5400R102.2KV6DIP20000目 录1 方案比较与选择(须详细阐述创新点或新见解)2 电路仿真与分析2.1电路仿真2.2电路分析3电路板制作、焊接、调试3.1 电路板制作3.2 电路板焊接3.3电路板调试4讨论与进一步研究建议5课程设计心得Abstract参考文献方案二:单片机控制步进电机驱动器工作原理 步进电机在控制系统中具有广泛的应
19、用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。 有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。1. 步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐
20、,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以
21、提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单四拍 b. 双四拍 c八拍图2.步进电机工作时序波形图2.基于AT89C2051的步进电机驱动器系统电路原理步进电机驱动器系统电路原理如图3:图3 步进电机驱动器系统电路原理图AT89C2051将控制脉冲从P1口的P1.4P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C205
22、1选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。图3中的RL1RL4为绕组阻,50电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1D4)而衰减掉,从而保护了功率管TIP122不受损坏。在50外接电阻上并联一个200F电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的200电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。3.软件设计该驱动器根据拨码开关K
23、X、KY的不同组合有三种工作方式供选择:方式1为中断方式:P3.5(INT1)为步进脉冲输入端,P3.7为正反转脉冲输入端。上位机(PC机或单片机)与驱动器仅以2条线相连。方式2为串行通讯方式:上位机(PC机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程。方式3为拨码开关控制方式:通过K1K5的不同组合,直接控制步进电机。当上电或按下复位键KR后,AT89C2051先检测拨码开关KX、KY的状态,根据KX、KY 的不同组合,进入不同的工作方式。以下给出方式1的程序流程框图与源程序。在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能平滑过渡,不至于
24、产生错步,应在每一步中设置标志位。其中20H单元的各位为步进电机正转标志位;21H单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。图4 方式1程序框图方式1源程序:MOV 20H,#00H ;20H单元置初值,电机正转位置指针MOV 21H,#00H ;21H单元置初值,电机反转位置指针MOV P1,#0C0H ;P1口置初值,防止电机上电短路MOV TMOD,#60H ;T1计数器置初值,开中断MOV TL1,#0FFHMOV TH1,#0FFHSETB ET1
25、SETB EASETB TR1SJMP $;*计数器1中断程序*IT1P: P3.7,FAN ;电机正、反转指针;*电机正转* 00H,LOOP0 01H,LOOP1 02H,LOOP2 03H,LOOP3 04H,LOOP4 05H,LOOP5 06H,LOOP6 07H,LOOP7LOOP0: MOV P1,#0D0HMOV 20H,#02HMOV 21H,#40HAJMP QUITLOOP1: MOV P1,#090HMOV 20H,#04HMOV 21H,#20HAJMP QUITLOOP2: MOV P1,#0B0HMOV 20H,#08HMOV 21H,#10HAJMP QUITL
26、OOP3: MOV P1,#030HMOV 20H,#10HMOV 21H,#08HAJMP QUITLOOP4: MOV P1,#070HMOV 20H,#20HMOV 21H,#04HAJMP QUITLOOP5: MOV P1,#060HMOV 20H,#40HMOV 21H,#02HAJMP QUITLOOP6: MOV P1,#0E0HMOV 20H,#80HMOV 21H,#01HAJMP QUITLOOP7: MOV P1,#0C0HMOV ; 20H,#01HMOV 21H,#80HAJMP QUIT;*电机反转*FAN: 08H,LOOQ0 09H,LOOQ1 0AH,LOO
27、Q2 0BH,LOOQ3 0CH,LOOQ4 0DH,LOOQ5 0EH,LOOQ6 0FH,LOOQ7LOOQ0: MOV P1,#0A0HMOV 21H,#02HMOV 20H,#40HAJMP QUITLOOQ1: MOV P1,#0E0HMOV 21H,#04HMOV 20H,#20HAJMP QUITLOOQ2: MOV P1,#0C0HMOV 21H,#08HMOV 20H,#10HAJMP QUITLOOQ3: MOV P1,#0D0HMOV 21H,#10HMOV 20H,#08HAJMP QUITLOOQ4: MOV P1,#050HMOV 21H,#20HMOV 20H,#
28、04HAJMP QUITLOOQ5: MOV P1,#070HMOV 21H,#40HMOV 20H,#02HAJMP QUITLOOQ6: MOV P1,#030HMOV 21H,#80HMOV 20H,#01HAJMP QUITLOOQ7: MOV P1,#0B0HMOV 21H,#01HMOV 20H,#80HQUIT: RETIEND任务安排:1.方案比较与选择 邓浩成 真强2. 电路仿真与分析 邓浩成 真强3. 电路板制作、焊接、 董杰龙,单楚良,符子锐电路板调试 全队4. 课程设计心得 全队设计时间安排:6月3号前完成方案提出和比较,确定最终选择方案,提交元器件清单6月6号前完成电路的仿真和分析6月8号完成电路板制作、焊接、调试6月10号提交作品,设计报告