当前位置:文档之家› 步进电动机控制系统设计报告

步进电动机控制系统设计报告

单片机原理与应用课程设计说明书题目:步进电动机控制系统设计系部:专业:班级:2013级1班学生姓名: 学号:指导教师:2013年 6 月22 日目录1.项目设计任务与要求 (1)2.项目设计方案 (1)2.1设计思路 (1)2.2器件选择方案 (1)2.2.1 单片机的选择 (1)2.2.2 AT80C51的主要性能 (1)2.2.3 AT80C51引脚图 (2)2.2.4 管脚作用: (2)2.2.5 四相步进电动机工作原理 (3)3 .硬件电路设计 (5)3.1步进电动机介绍 (5)3.2 步进电动机控制系统电路设计 (5)3.3步进电动机驱动电路 (5)3.4按键与指示电路 (6)3.5晶振电路和复位电路 (8)4.项目软件设计 (9)5.项目仿真与调试 (12)5.1程序的调试 (12)5.2步进电动机控制系统仿真 (13)5.2.1步进电动机正转仿真 (13)5.2.2步进电动机反转仿真 (14)5.2.3步进电动机停止仿真 (14)6.结论 (15)7.附录 (16)参考文献 (18)1.项目设计任务与要求使用80C51单片机对四相步进电动机进行控制,使其能够顺时针或逆时针旋转。

1)电动机运行平稳,正反转控制自如;2)根据要求改变运行圈数和运行速度;3)写出详细的电路工作原理、参数计算;4)画出仿真电路图;5)仿真测试并记录结果。

2.项目设计方案2.1设计思路步进电动机驱动原理如下:单片机发出脉冲信号,控制步进电动机定子的各相绕组以适当的时序通、断电,使其作步进式旋转。

四相步进电动机各相绕组的通电顺勋可以单四拍(A→B→C→D)、双四拍(AB→BC→CD→DA)和单双八拍(A→AB→B→BC →C→CD→D→DA)的方式进行。

按上述顺序切换,步进电动机转子按顺时针方向旋转。

若通电顺序相反,则电动机转子按逆时针方向旋转。

2.2器件选择方案2.2.1 单片机的选择本设计采用AT80C51单片机,80C51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、价格便宜、耗电低、技术成熟和成本低等优点。

许多功能部件集成在芯片内部,其信号通道受外接影响小,可靠性高,控制能力强,运行速度快等特点。

2.2.2 AT80C51的主要性能1.与STC89C52 单片机产品系列兼容;2.片内有4KB可在线重复编程的快闪擦写存储器;3.存储数据保存时间为10年;4.宽工作电压范围:VCC可为2.7V到6V;5.全静态工作:可从0Hz至16MHz ;6.程序存储器具有3级加密保护;7.128*8位内部RAM;8.32条可编程I/O线;9.两个16位定时器/计数器;10.中断结构具有5个中断源和2个优先级;11.可编程全双工串行通道;12.空闲状态维持低功耗和掉电状态保存存储内容。

2.2.3 AT80C51引脚图图1 80C51 PDIP封装引脚图2.2.4 管脚作用:VCC:电源电压,AT80C51电源的正极输入端,接+5V电压使AT80C51单片机正常工作。

是单片机的电源提供端口。

GND:接地。

P0:P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。

外部不扩展而单片应用时,则作一般双向I/O口用P0口每一个引脚可以推动8个LSTTL负载。

P1:P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O 口),其输出可以推动4个LSTTL负载。

仅供用户作为输入输出用的端口。

P2:P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。

外部不扩展而单片应用时,则作一般双向I/O口用。

每一个引脚可以推动4个LSTL负载。

P3:P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O 口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。

其特殊功能引脚分配如下:P3.0 RXD串行通信输入。

P3.1 TXD串行通信输出。

P3.2 INT0外部中断0输入,低电平有效。

P3.3 INT1外部中断1输入,低电平有效。

P3.4 T0计数器0外部事件计数输入端。

P3.5 T1计数器1 外部事件计数输入端。

P3.6 WR外部随机存储器的写选通,低电平有效。

P3.7 RD外部随机存储器的读选通,低电平有效。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

PSEN:外部程序存储器的选通信号。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

EA/VPP:片内片外程序储存器选择控制端。

PSEN:片外程序储存器(ROM)选通线。

2.2.5 四相步进电动机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。

如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。

图2是该四相反应式步进电机工作原理示意图。

图2 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的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方向转动。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图3所示:图3 步进电机工作时序波形图3 .硬件电路设计3.1步进电动机介绍步进电动机是工业过程中一种能够快速启动、反转和制动的执行机构,其功能是将电脉冲转换为相应的角位移或直线位移。

作为一种数字伺服执行机构,它具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。

本次设计,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管显示。

主要通过三大块来设计,包括驱动电路的设计、状态显示部分和按键部分是设计。

可以通过控制脉冲个数来控制角位移量,从而精确地控制转动角度;同时可以通过控制脉冲频率来控制电机转动的角度和加速度,从而达到调速的目的。

3.2 步进电动机控制系统电路设计步进电动机控制系统电路原理图如图4所示。

图4 步进电动机控制系统电路原理图图中除单片机、晶振电路、复位电路外,还包括步进电动机驱动电路,另外使用了3个按键S1~S3与3个发光二极管D1~D3,用来控制与指示电动机的正转、反转与停止,还使用了四个发光二极管D4~D7,作为步进电动机转动步数的指示。

3.3步进电动机驱动电路常用的小型步进电动机集成驱动电路为ULN2003。

ULN2003是高压大电流达林顿晶体管阵列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,可用于采用单片机控制的各类小型电动机的驱动。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003采用DIP—16或SOP—16塑料封装。

ULN2003内部结构即等效电路如图5所示。

图5 ULN2003的内部结构(a)内部结构(b)等效电路引脚1~7作为输入,引脚16~10作为输出,8脚接地,9脚接+5V电源,如果1脚接高电平1,则16脚输出低电平0。

ULN2003的驱动电流可达500mA。

图4中用P1.0~P3.2作为步进电动机驱动信号输出口,输出信号经ULN2003达林顿管进行电流放大后,驱动步进电动机运行。

3.4按键与指示电路P3.0~P3.2作为按键K1~K3的输入接口,K1~K3分别是正转、反转和停止按键。

如图6按键链接电路图。

图6 按键链接电路图P0.0~P0.2接了三个LED发光二极管D1~D3,用来指示当前步进电动机的正转、反转和停止运行情况,还使用了四个发光二极管D4~D7,作为步进电机转动步数的指示。

如图7和图8指示图。

图7 电动机工作指示链接电路图图8 步进电机转动步数的指示链接图3.5晶振电路和复位电路晶振电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度,本次设计采用的晶振为12MHz。

如图9晶振电路和复位电路链接图。

图9 晶振电路和复位电路链接图4.项目软件设计本项目的关键在于步进电动机通电序列的控制,表1给出了四相步进电动机的单四拍、双四拍与单双八拍三种通电模式。

表1 四相步进电动机的三种通电模式系统主程序框图如图10所示。

选择让四相步进电动机工作于单双八拍方式,按下正转键实现正传三圈,按下反转键实现反转三圈,按下停止键,立即停步。

设步进电动机的步进角为9°,C51语言程序设计如下:#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={ 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //步进电动机正转八拍A→AB→B→BC→C→CD→D→DAuchar code REV[]={ 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //步进电动机反转八拍AD→D→DC→C→CB→B→-BA→Asbit K1 = P3^0; //正转按键sbit K2 = P3^1; //反转按键sbit K3 = P3^2; //停止按键void DelayMS(uint ms) //延时程序{uchar i;while(ms--){for(i=0;i<120;i++);}}void SETP_MOTOR_FFW(uchar n) //步进电动机正转{uchar i,j;for(i=0;i<5*n;i++) //步进电动机的步距角为每拍9°,八拍为72°,转一圈需要五个八拍{for(j=0;j<8;j++){if(K3 == 0) break; //按下停止按键则跳出循环P1 = FFW[j];DelayMS(500);}}}void SETP_MOTOR_REV(uchar n) //步进电动机反转{uchar i,j;for(i=0;i<5*n;i++) //步进电动机的步距角为每排9°,八拍为72°,转一圈需要五个八拍{for(j=0;j<8;j++){if(K3 == 0) break; //按下停止按键则跳出循环P1 = REV[j];DelayMS(500);}}}void main(){uchar N = 3;while(1){if(K1 == 0) //当按键K1按下时,步进电动机开始正转三圈{P0 = 0xfe;SETP_MOTOR_FFW(N);if(K3 == 0) break;}else if(K2 == 0) //当按键K2按下时,步进电动机开始反转三圈{P0 = 0xfd;SETP_MOTOR_REV(N);if(K3 == 0) break; //当按键K3按下时,步进电动机停转}else{P0 = 0xfb; //待机状态时,停止指示灯亮P1 = 0x03; //P1.0和P1.1口处于高电平}}}5.项目仿真与调试5.1程序的调试把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合到一起用uVision3 IDE软件进行编译。

相关主题