搜索
您的当前位置:首页正文

步进电机控制系统设计

来源:爱够旅游网


电气及自动化课程设计报告

题 目 步进电机控制系统设计

课 程 电机与拖动

学生姓名: 学生学号:

年 级: 2014级

专 业: 自动化

班 级: 2班 指导教师:

机械与电气工程学院制

2017年3月

目录

1设计的任务与要求 .....................................................................................................1

1.1 课程设计的任务 .............................................................................................1 1.2 课程设计的要求 .............................................................................................1 2 步进电机控制系统设计方案制定 ............................................................................1

2.1 步进电机工作的原理 .....................................................................................1 2.2 单片机的原理 .................................................................................................3 3 仿真软件介绍 ............................................................................................................5

3.1 Proteus软件介绍 ..........................................................................................5 3.2 Keil-uvision4软件介绍 ..............................................................................5 4 步进电机控制系统电路仿真设计 ............................................................................6

4.1驱动部分 ..........................................................................................................6

4.2时钟部分 ..........................................................................................................6 4.3 复位部分 .........................................................................................................7 4.4状态指示部分 ..................................................................................................7 4.5按键部分 ..........................................................................................................8 4.6系统程序框图 ..................................................................................................8 4.7 系统整图 .......................................................................................................10 4.8 元器件清单 ...................................................................................................10 5 步进电机控制系统电路仿真设计方案的仿真实现 ..............................................11 6.总结 ..........................................................................................................................18 7 参考文献 ..................................................................................................................18 附录: ..........................................................................................................................19

步进电机控制系统设计

1设计的任务与要求 1.1 课程设计的任务

步进电机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速启停,正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制设备等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电机的需求与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。 1.2 课程设计的要求

本次实验是基于单片机的控制系统设计,用汇编语言和C语言编写出电机正转、反转、调速、停止程序,通过单片机、电机的驱动芯片ULN2001以及相应的按键实现以上功能,并且步进电机的工作状态要用LCD液晶显示器显示出来。本次课程设计介绍步进电机以及单片机工作原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试。该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。 2 步进电机控制系统设计方案制定 2.1 步进电机工作的原理

步进电机的工作原理就是步进转动,其功能是将脉冲电信号变换为相应的角位移或者是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非

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

步进电机不能直接接到交直流电源上工作,而必须使用专用设备——步进电机驱动器。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成,步进电机控制器发出步进脉冲和方向信号。每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个歩距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向信号决定步进电机的顺时针或者逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器方向的信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。

如图1所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四项反应式步进电机工作原理图。

图1 四项步进电机步进示意图

开始时,开关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反向转动。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2所示。

a.单四拍 b.双四拍 c.八拍

图2 步进电机工作时序波形图

2.2 单片机的原理

(1)单片机原理概述

单片机是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。图3中表示单片机的典型结构。由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了系统配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。

图3 典型单片机结构

(2)AT89C51简介

AT89C51含E²PROM电可编闪速存储器。有两级或三级程序存储器保密系

统,防止E²PROM中的程序被非法复制。不可用紫外线擦除,调高了编程效率。程序存储器E²PROM容量可达20K字节。AT89C51的主要参数如表1所示。

表1 AT89C51的主要参数表

型号

定时器

I/O

串行口

中断

速度

其他特点

89C51 2 32 1 6 24 低电压

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能

CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,用工业标准的MCS—51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚如图4所示。

图4 单片机的引脚排列

3 仿真软件介绍 3.1 Proteus软件介绍

Proteus软件是英国Labcebter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。 3.2 Keil-uvision4软件介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。 C51 工具包的整体结构,其中 Vision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连

接、调试、仿 真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源 文件。然后分别由 C51 及 A51 编译器编译生成目标文件(.OBJ)。目标文件 可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝 对目标文件(.ABS)。ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试 器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对 目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 4 步进电机控制系统电路仿真设计 4.1驱动部分

如图5所示,此电路是步进电机的驱动部分,选用的是ULN2001芯片来驱动的,ULN2001系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。

图5 驱动部分

4.2时钟部分

时钟电路它控制计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度,本次设计采用的晶振为12MHz。如图6所示。

图6 时钟部分

4.3 复位部分

根据应用的要求,复位操作通常有两种基本形式:上电位复位和上电或者开关复位。本次设计使用上电复位。如图7所示。

图7 复位部分

基本电路的最后一个部分是存储器的设置,如果31引脚接电源,则采用内部存储器,如果31脚接地,则采用外部存储器。将时钟电路、复位电路连接并设置好存储器,就构成了最小系统。这是做任何单片机设计都必须有的部分。 4.4状态指示部分

状态指示用P0口控制LCD的显示,STA显示的是转动的速度,RUN显示的是机器是否运转,用它来表示步进电机所处的状态。如图8所示。

图8 状态指示部分

4.5按键部分

本次设计选用的是单片机的P2口来控制信号的输入,所以把按键开关和P2口连接起来,当按下开关KEY1时,相当于给P2.0口一个低电平,开始转动;当按下开关KEY2时,相当于给P2.1口一个低电平,步进电机反转,相反则正转;当按下开关KEY3时,相当于给P2.2口一个低电平,调节转速。如图9所示。

图9 按键部分

4.6系统程序框图

系统分为电机正转、电机反转、开始与转速的几部分组成,其主程序框图如图10所示。

图10 系统程序图

4.7 系统整图

系统整图如图11所示,本系统采用外部中断方式,P2口为信号的输入部分,P0口为发光LCD显示部分,P1口作为电机的驱动部分。

图11 系统整图

4.8 元器件清单

根据以上原理图,本次设计所需要的一些元器件如下表:

表2 元器件列表

序号

标号

器件名称

数值

1 C1、C2 电容 30PF、30PF

2 R1、R2、R3、R4 电阻 1K、10K、10K、10K

3 X1 晶振 12MHz

4 C3 电解电容 30PF

5 LCD1 液晶显示屏

6 RP1 排阻

7

按钮

8

步进电机

5 步进电机控制系统电路仿真设计方案的仿真实现

(1)速度1正转。运行程序,闭合开始按钮,断开正/反转按钮,速度按钮为速度1。LED1液晶显示屏显示数据如下:STA:Z SPD:1UN RUN:ON 步进电机显示转速为+127。如图12所示。

图12 速度1正转

(2)速度1反转。运行程序,闭合开始按钮,闭合正/反转按钮,速度按钮为速度1。LED1液晶显示屏显示数据如下:STA:F SPD:1UN RUN:ON

步进电机显示转速—149。如图13所示。

图13 速度1反转

(3)速度1正转停止。运行程序,断开开始按钮,断开正/反转按钮,速度按钮为速度1。LED1液晶显示屏显示数据如下:STA:Z SPD:1UN RUN:OFF 步进电机显示转速+138。如图14所示。

图14 速度1正转停止

(4)速度1反转停止。运行程序,断开开始按钮,闭合正/反转按钮,速度按钮为速度1。LED1液晶显示屏显示数据如下:STA:F SPD:1UN RUN:OFF 步进电机显示转速—117。如图15所示。

图15 速度1反转停止

(5)速度2正转。运行程序,闭合开始按钮,断开正/反转按钮,速度按钮为速度2。LED1液晶显示屏显示数据如下:STA:Z SPD:2UN RUN:ON 步进电机显示转速为+205。如图16所示。

图16 速度2正转

(6)速度2反转。运行程序,闭合开始按钮,闭合正/反转按钮,速度按钮为速度2。LED1液晶显示屏显示数据如下:STA:F SPD:2UN RUN:ON 步进电机显示转速为—223。如图17所示。

图17 速度2反转

(7)速度2正转停止。运行程序,断开开始按钮,断开正/反转按钮,速度

按钮为速度1。LED1液晶显示屏显示数据如下:STA:Z SPD:2UN RUN:OFF 步进电机显示转速为+221。如图18所示。

图18 速度2正转停止

(8)速度2反转停止。运行程序,断开开始按钮,闭合正/反转按钮,速度按钮为速度2。LED1液晶显示屏显示数据如下:STA:F SPD:2UN RUN:OFF 步进电机显示转速为—241。如图19所示。

图19 速度2反转停止

(9)速度3正转。运行程序,闭合开始按钮,断开正/反转按钮,速度按钮为速度3。LED1液晶显示屏显示数据如下:STA:Z SPD:3UN RUN:ON 步进电机显示转速为+307。如图20所示。

图20 速度3正转

(10)速度3反转。运行程序,闭合开始按钮,闭合正/反转按钮,速度按钮为速度3。LED1液晶显示屏显示数据如下:STA:F SPD:3UN RUN:ON 步进电机显示转速为—332。如图21所示。

图21 速度3反转

(11)速度3正转停止。运行程序,断开开始按钮,断开正/反转按钮,速度按钮为速度3。LED1液晶显示屏显示数据如下:STA:Z SPD:3UN RUN:OFF 步进电机显示转速为+315。如图22所示。

图22 速度3正转停止

(12)速度3反转停止。运行程序,断开开始按钮,闭合正/反转按钮,速度按钮为速度3。LED1液晶显示屏显示数据如下:STA:F SPD:3UN RUN:OFF 步进电机显示转速为—346。如图23所示。

图23 速度3反转停

6.总结

本次步进电机控制系统课程设计采用单片机为控制核心,利用其强大的功能,把按键电路和LCD显示电路,电机驱动电路有机的结合起来,组成一个操作方便,交互性强的简单系统。通过系统的设计实现了预期的设计目标。完成了整个硬件设计和软件编程,能通过按键电路控制步进电机的转速控制,能实现启动、正转、反转、速度控制;通过编程实现了通过单片机能输出四相八拍的脉冲控制序列。驱动电路能提供12V,0.38A的驱动信号;整个电机的转速,转动方向等都能通过LCD管显示出来。

在本设计中作为电机正常工作比较重要的电机驱动模块,本设计中采用驱动芯片ULN2001来实现的,其特点是成本低,可靠性高,出现问题容易维护,实现相对容易等特点。在电机工作模式上本设计实现了四相八拍的脉冲控制方式。 7 参考文献

[1]张友德.单片机微型机原理、应用与实验[M] .上海:复旦大学出版社 ,2005年:85-92. [2]李夙.异步电机直接转矩控制[M]. 北京:机械工业出版社,1998年:56-78. [3]王鸿钰.步进电机控制入门[M].上海:同济大学出版社 ,1990年:88-94. [4]王秀和.永磁电机[M].北京:中国电力出版社,2007:119-136.

[5]房玉明,杭柏林.基于单片机的步进电机开环控制系统[M]. 北京:电子工业出版社,2010年:156-161.

[6]吴玉香,李艳,刘华,毛宗源.电机及拖动. 北京:化学工业出版社,2013年:117-125.

附录:

C程序: #include\"reg51.h\"

#include\"intrins.h\" #include\"absacc.h\"

#define busy 0x80 #define uchar unsigned char #define unit unsigned int

sbit RS=P2^3; sbit RW=P2^4; sbit E=P2^5; sbit KEY1=P2^0; sbit KEY2=P2^1; sbit KEY3=P2^2;

uchar code tab[8]={0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03}; uchar temp; void delay(uchar k) { unit i,j; for(i=0;ifor(j=0;j<60;j++)

{;} } }

void test_1602busy() { P0=0xFF; E=1; RS=0; RW=1; _nop_(); _nop_(); while(P0&busy) { E=0; _nop_(); E=1; _nop_(); } E=0; }

void write_1602Command(uchar co) {

test_1602busy(); RS=0; RW=0; E=0; _nop_(); P0=co; _nop_(); E=1; _nop_(); E=0; }

void write_1602Data(uchar Data) {

test_1602busy(); P0=Data; RS=1; RW=0; E=1;

_nop_(); E=0; }

void init_1602(void) {

write_1602Command(0x38); delay(5);

write_1602Command(0x01); delay(5);

write_1602Command(0x06); delay(5);

write_1602Command(0x0F); delay(5);

write_1602Command(0x0C); }

void DisplayOneChar(uchar X, uchar Y, uchar DData) { Y&=1; X&=15; if(Y)X|=0x40;

X|=0x80;

write_1602Command(X); write_1602Data(DData); }

void display_1602(uchar *DData,X,Y) {

uchar ListLength=0; Y&=0x01; X&=0x0F; while(X<16) {

DisplayOneChar(X,Y,DData[ListLength]) ; ListLength++; X++; } }

void main() { uchar i=0;

uchar delay_v=100; uchar flag=0; P1=0xFF; P2=0xFF; init_1602();

display_1602(\"STA: SPD: \ display_1602(\"RUN: \ while(1) {

if(KEY2==1)DisplayOneChar(4,0,'Z'); else DisplayOneChar(4,0,'F');

if(KEY3==0) { i++; i=i%3;

while(KEY3==0) {;} } switch(i) {

case 0:delay_v=100;DisplayOneChar(13,0,'1');break;

case 1:delay_v=75;DisplayOneChar(13,0,'2');break; case 2:delay_v=100;DisplayOneChar(13,0,'3');break; }

if(KEY1==0) {

display_1602(\" if(flag==0) {

if(KEY2==1) { temp=0; P1=tab[temp]; flag=1; delay(delay_v);}

if(KEY2==0) { temp=6; P1=tab[temp]; flag=1; delay(delay_v);} }

RUN:ON \ if(KEY2==1) { temp++; if(temp==8) {temp=0;} P1=tab[temp]; delay(delay_v); }

if(KEY2==0) { temp--; if(temp==0xFF) {temp=7;} P1=tab[temp]; delay(delay_v); } }

else display_1602(\" } }

RUN:off \

指导教师评语 指导教师签字: 成绩(60%) 年 月 日 答辩过程及评价 答辩小组签字: 成绩(40%) 年 月 日 院综合意见 分管院长签字(盖章): 综合成绩 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Top