文档库 最新最全的文档下载
当前位置:文档库 › 步进电机转速控制系统

步进电机转速控制系统

步进电机转速控制系统
步进电机转速控制系统

题目:步进电机转速控制显示系统

学生姓名:陶宁

学生学号: 0908020132 系别:电气信息工程

专业:自动化

届别: 2013届

指导教师:苗磊

电气信息工程学院制

2012年5月

步进电机转速控制显示系统

学生:陶宁

指导教师:苗磊

电气信息工程学院自动化系

1课程设计的任务与要求

1.1 课程设计的任务

对于步进电机的进行转速控制,包括正转与反转,并且通过LCD显示。

1.2 课程设计的要求

该设计要求通过程序实现单片机对电动机进行控制。共包含五个键盘,分别操控正转、反转、停止、加速、减速。并且讲电动机的转动状态反映在LCD上。

1.3 课程设计的研究基础

2步进电机转速控制显示系统方案制定

2.1 方案提出

方案一:使用开关直接控制电动机的正反转以及转速控制,此种设计非常简便易操作,共两个开关控制。

图1 方案一

方案二:使用四个五个开关分别控制电机的正转、反转、停止、加速、减速。

图2方案二

2.2 方案比较

方案一:本方案十分简单,除了实现正常的正转反转,只能实现步进电机的正转加速,还有反转减速,并不能实现正转减速或者反转加速等功能。程序设计上比较简单,实用性不大。

方案二:本方案较方案一复杂些,并且成功的实现了电机的正转加速和减速,反转的加速和减速,简单明了,控制范围更大,实用性更强。但是由于复杂性增加,程

序的编写难度上就增加了。

2.3 方案论证

对于以上两个方案比较分析得出:方案二成功的实现了方案一所有的功能,而且其他功能上更加全面。使用上也更加易操作。方案一对于简单的应用可以适用,但局限性很大,有时无法实现必要的功能。

2.4 方案选择

根据以上的比较论证,选择方案二。

3 步进电机转速控制显示系统方案设计

3.1各单元模块功能介绍及电路设计

该设计分为控制模块,驱动模块,显示模块。

控制模块:五个开关控制单片机的输入高低电平,通过单片机的接口功能设计程序控制输出电平的高低最后达到控制电动机正反转的功能。

驱动模块:通过单片机的P0.0到P0.3控制步进电机之前的放大噐ULN2003A,从而达到控制步进电机转速的效果。

显示模块:通过单片机中的P3.0到P3.5和P2.7控制LCD 12864,以显示目前电动机的状态。

3.2电路参数的计算及元器件的选择

12864液晶电源:VDD:+5V;LCD外接驱动电压为-5.0~-14.0V。

步进电机:额定电压12V;额定电流0.5A。

ULN2003A输入额定电压为+12V。

3.3 特殊器件的介绍

(1)AT89C51

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1)主要特性

a.与MCS-51 兼容

b.4K字节可编程闪烁存储器

c.寿命:1000写/擦循环

d.数据保留时间:10年

e.全静态工作:0Hz-24Hz

f.三级程序存储器锁定

g.128*8位内部RAM

k.可编程串行通道

l.低功耗的闲置和掉电模式

m.片内振荡器和时钟电路

2)管脚说明

a.VCC:供电电压。

b.GND:接地。

c.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

d.P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

e.P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。

f.P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流[3][4]。

(2)ULN2003A

ULN2003A是一个7路反向器电路,即当输入端为高电平时ULN2003A输出端为低电平,当输入端为低电平时ULN2003A输出端为高电平。共16个端口,其中1~7 口为输入端口,相对应16~10口为输出端口。8号口9号口为地与com端口[3]。

图3 ULN2003A

(3)步进电机MOTOR-STEPPER

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速目的[3]。

3.4 系统整体电路图

图4系统整体电路图

4 步进电机转速控制显示系统仿真和调试

4.1 仿真软件介绍

本设计主要采用Protues软件,Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三

合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。它具有丰富的元器件库,超过27000种元器件,可方便地创建新元件。

仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。

图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。

还提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号[1][2]。

4.2 系统仿真实现

(1)打开仿真,出现如图界面,目前电动机为停止状态。

图5初始状态

(2)按下K1正转开关,电动机开始正转,LCD显示正转。

图6正转状态

(3)按下K4开关,电动机开始加速转动,显示屏显示正转加速。

图7正转加速状态

(4)随后转速达到稳定,LCD显示正转正常运行。

图8正转正常运行状态

(5)按下K6开关,使电动机减速,显示正转减速运行。

图9正转减速

(6)当步进电机转速达到稳定时,LCD显示正转低速运行。

图10正转低速运行

(7)此时按下K3,无需先按下K2停止,电动机实现反转运行,显示反转低速运行。

图11反转低速运行

(8)此时按下K4,与正转加速类似,加速过程后,显示反转正常运行。

图12反转正常运行状态

4.3 系统测试

测试环境:20℃

测试仪器:XP系统计算机,protues仿真软件,keil程序编辑软件。

测量数据:暂无数据。

4.4 数据分析

由于本课程设计仅限于仿真阶段,实现其设计功能,未做出实体,所以暂时没有数据,有待以后深入研究发展。

5 总结

5.1 设计小结

本设计通过分析步进电机结构工作原理,查阅步进电机控制系统的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种既可用于精度要求不高,但控制需完备的场合,对本次设计,有以下结论:

(1)采用单片机为控制核心,利用其强大的功能,把开关和显示电路有机的结合起来,组成一个操作方便,交互性强的控制系统。而且整个系统所包含的技术包括了很多现本科学校自动化专业所要求的知识,有利于实践教学取得最大效果。

(2)系统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少量的修改,使系统功能得到一定程度的提高。

5.1 收获体会

通过对本设计的设计与研究,对于proteus有了更深层次的了解,对于软件操作也更加的熟练。基于以前的对于单片机的知识的学习,没有十分系统的做过相应的实验,此软件的仿真功能很好的解决了这一问题。使得对于单片机的各个接口,模块功能,程序的设计有了更深层次的理解。我们深知做的工作还很不够,由于软件和硬件的各方面原因,系统的应用讨论不够,精度还有待于进一步提高。

5.2 展望

随着技术的不断发展,步进电机的控制应用前景将越来越广阔,而其控制系统也将向着智能化和网络化的方向发展。此课程设计还是比较基础部分,基本上在实用上没有太大用途,但是我们要在现在的基础上,不断吸收新的技术和方法,并将其应用于课题研究上来,为以后学习更多的电子类如嵌入式、微机原理等知识打下了坚实基础。

6参考文献

[1]侯玉宝,等.基于proteus的51系列单片机设计与仿真[M].电子工业出版社,2010.

[2]林志琦,等.基于proteus的单片机可视化软硬件仿真[M].科学出版社,2006.

[3]李全利,等.单片机原理及接口技术[M].北京航空航天大学出版社,2010.

[4]薛均义,等.MCS-51 系列单片微型计算机及其应用[M].西安交通大学出版社,2009.

7附录

7.1系统主要功能展示图

图13 系统展示

7.2器件清单

7.3 C程序

#include

#include

#include

#define uc unsigned char #define ui unsigned int #define LCDPAGE 0xB8 #define LCDLINE 0x40 sbit p00=P0^0;

sbit p01=P0^1;

sbit p02=P0^2;

sbit p03=P0^3;

sbit E=P3^5;

sbit RW=P3^4;

sbit RS=P3^2;

sbit L=P3^1;

sbit R=P3^0;

sbit Busy=P2^7;

uc scan_key1,scan_key2;

uc step1;step2;

static step_index;

ui count1,count2;

uc butter;

static speed;

uc code CHANG[]=

{

0x20,0x18,0x08,0x09,0xEE,0xAA,0xA8,0xAF, 0xA8,0xA8,0xEC,0x0B,0x2A,0x18,0x08,0x00, 0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF, 0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00, };

uc code YUN[]=

{

0x40,0x41,0xCE,0x04,0x00,0x20,0x22,0xA2, 0x62,0x22,0xA2,0x22,0x22,0x22,0x20,0x00, 0x40,0x20,0x1F,0x20,0x28,0x4C,0x4A,0x49, 0x48,0x4C,0x44,0x45,0x5E,0x4C,0x40,0x00, };

uc code XING[]=

{

0x10,0x08,0x84,0xC6,0x73,0x22,0x40,0x44, 0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00,

0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00, 0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00, };

uc code ZHENG[ ] =

{

0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02, 0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00, 0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20, 0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00, };

uc code ZHUAN[ ] =

{

0xC8,0xA8,0x9C,0xEB,0x88,0x88,0x88,0x40, 0x48,0xF8,0x4F,0x48,0x48,0x48,0x40,0x00, 0x08,0x08,0x04,0xFF,0x04,0x04,0x00,0x02, 0x0B,0x12,0x22,0xD2,0x0E,0x02,0x00,0x00, };

uc code CONTRARY[ ] =

{

0x00,0x00,0xFE,0x12,0x72,0x92,0x12,0x12, 0x12,0x11,0x91,0x71,0x01,0x00,0x00,0x00, 0x40,0x30,0x4F,0x40,0x20,0x21,0x12,0x0C, 0x0C,0x12,0x11,0x20,0x60,0x20,0x00,0x00, };

uc code TING[] =

{

0x80,0x40,0x20,0xF8,0x07,0x02,0x04,0x74, 0x54,0x55,0x56,0x54,0x74,0x04,0x04,0x00, 0x00,0x00,0x00,0xFF,0x00,0x03,0x01,0x05, 0x45,0x85,0x7D,0x05,0x05,0x05,0x03,0x00,

uc code ZHI[ ] =

{

0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00, 0xFF,0x40,0x40,0x40,0x40,0x40,0x00,0x00, 0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40, 0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x00, };

uc code JIA[]=

{

0x00,0x08,0x08,0x08,0xFF,0x08,0x08,0xF8, 0x00,0xF8,0x08,0x08,0x08,0xF8,0x00,0x00, 0x40,0x20,0x18,0x07,0x00,0x20,0x40,0x3F, 0x00,0x7F,0x10,0x10,0x10,0x3F,0x00,0x00, };

uc code SU[]=

{

0x40,0x42,0xCC,0x00,0x04,0xE4,0x24,0x24, 0xFF,0x24,0x24,0x24,0xE4,0x04,0x00,0x00, 0x40,0x20,0x1F,0x20,0x48,0x49,0x45,0x43, 0x7F,0x41,0x43,0x45,0x4D,0x40,0x40,0x00, };

uc code JIAN[]=

{

0x00,0x02,0xEC,0x00,0xF8,0x28,0x28,0x28, 0x28,0x28,0xFF,0x08,0x8A,0xEC,0x48,0x00, 0x02,0x5F,0x20,0x18,0x07,0x00,0x1F,0x49, 0x5F,0x20,0x13,0x0C,0x13,0x20,0x78,0x00, };

uc code BAI[]=

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, };

uc code DI[]=

{

0x40,0x20,0xF0,0x0C,0x07,0x02,0xFC,0x44, 0x44,0x42,0xFE,0x43,0x43,0x42,0x40,0x00, 0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x20, 0x10,0x28,0x43,0x0C,0x10,0x20,0x78,0x00, };

void iniLCD(void);

void chkbusy(void);

void wcode(uc cd) ;

void wdata(uc dat);

void disrow(uc page,uc col,uc *temp);

void display( uc page,uc col,uc *temp);

void ground(step);

void run1();

void run2();

void stop();

void delay(ui time);

void iniLCD(void)

{ L=1;R=1;

wcode(0x38);

wcode(0x0f);

wcode(0xc0);

wcode(0x01);

wcode(0x06);

}

void chkbusy(void) {

E=1;

RS=0;

RW=1;

P2=0xff;

while(!Busy);

}

void wcode(uc cd) {

chkbusy();

P2=0xff;

RW=0;

RS=0;

P2=cd;

E=1;

E=0;

}

void wdata(uc dat) {

chkbusy();

P2=0xff;

RW=0;

RS=1;

P2=dat;

E=1;

E=0;

}

void disrow(uc page,uc col,uc *temp) {

uc i;

if(col<64)

{

L=1;R=0;

wcode(LCDPAGE+page);

wcode(LCDLINE+col);

if((col+16)<64)

{

for(i=0;i<16;i++)

wdata(*(temp+i));

}

else

{

for(i=0;i<64-col;i++)

wdata(*(temp+i));

L=0;R=1;

wcode(LCDPAGE+page);

wcode(LCDLINE);

for(i=64-col;i<16;i++)

wdata(*(temp+i));

}

}

else

{

L=0;R=1;

wcode(LCDPAGE+page);

wcode(LCDLINE+col-64);

for(i=0;i<16;i++)

wdata(*(temp+i));

}

}

void ground(step_index) {

P0=0x00;

switch(step_index)

{

case 0:

p00 = 1;

p01 = 0;

p02 = 0;

p03 = 0;

break;

case 1:

p00 = 1;

p01 = 1;

p02 = 0;

p03 = 0;

break;

case 2:

p00 = 0;

p01 = 1;

p02 = 0;

p03 = 0;

break;

case 3:

p00 = 0;

p01 = 1;

步进电机的速度控制

步进电机的速度控制 步进电机区别于其他控制用途电机的最大特点是,它可接受数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。这样的增量位置控制系统与传统的直流伺服系统相比,其成本明显降低,几乎不必进行系统调整。因此,步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得更为广泛的应用。 步进电机的速度特性 步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。由于步进电机是借助它的同步转矩而启动的,为了不发生失步,启动频率是不高的。特别是随着功率的增加,转子直径增大,惯量增大,启动频率和最高运行频率可能相差10倍之多。 为了充分发挥电机的快速性能,通常使电机在低于启动频率下启动,然后逐步增加脉冲频率直到所希望的速度,所选择的变化速率要保证电机不发生失步,并尽量缩短启动加速时间。为了保证电机的定位精度,在停止以前必须使电机从最高速度逐步减小脉冲率降到能够停止的速度(等于或稍大于启动速度)。因此,步进电机拖动负载高速移动一定距离并精确定位时,一般来说都应包括“启动-加速-高速运行(匀速)-减速-停止”五个阶段,速度特性通常为梯形,如果移动的距离很短则为三角形速度特性,如图1所示。 图1 步进电机的速度曲线 步进电机控制系统结构 PC机在适当的时刻通过对硬件控制电路上的8253计数器0赋初值,设置好加减速过程的频率变化(即速度、加速度变化),以防止失步。例如,在点位控制中设置好速度曲线图,在起动和升速时,使步进电机产生足够的转矩驱动负载,跟上规定的速度和加速度;在减速时,下降特性使负载不产生过冲,停止在规定的位置。硬件控制电路板上的8253产生脉冲方波作为中断信号源,启动细分驱动电路中的固化程序以产生一定频率的脉冲,经功率放大后驱动步进电机运动。步进电机运动方向的改变及启动和停止均由计算机控制硬件控制电路实现。 图2 步进电机控制系统 软件和硬件结合起来一起进行控制,具有电路简单、控制方便等优点。在这种控制中,微机软件占用的存储单元少,程序开发不受定时限制。只要外部中断允许,微机就能在电机的每一步之间自由地执行其他任务,以实现多台步进电机的运动控制。 定时器初值的确定 步进电机的实时控制运用PC机,脉冲方波的产生采用8253定时器,其计数器0工作于方式0以产生脉冲方波,计数器 1工作于方式1起记数作用,8253计数器0的钟频由2MHz晶振提供。设计算机赋给8253计数器0的初值为D1,则产生的脉冲方波频率为f1=f0/D1,周期为T1=1/f1=D1/f0,D1=f0T1=f0/f1。其中,f1为启动频率,f0为晶振频率。步进电机升降速数学模型为使步进电机在运行中不出现失步现象,一般要求其最高运行频率应小于(或等于)步进响应频率fs。在该频率下,步进电机可以任意启动、停止或反转而不发生失步现象。步进电机升降速有两种驱动方式,即三角形与梯形驱动方式(见图1),而三角形驱动方式是梯形驱动的特例,因而我们只要研究梯形方式。电机的加速和减速是通过计算机不断地修改定时器初值来实现的。在电机加速阶段,从启动瞬时开始,每产生一个脉冲,定时器初值减小某一定值,则相应的脉冲周期减小,即脉冲频率增加;在减速阶段,定时器初值不断增加,

PLC控制步进电机的实例(图与程序)

PLC控制步进电机的实例(图与程序) ·采用绝对位置控制指令(DRVA),大致阐述FX1S控制步进电机的方法。由于水平有限,本实例采用非专业述语论述,请勿引用。 ·FX系列PLC单元能同时输出两组100KHZ脉冲,是低成本控制伺服与步进电机的较好选择! ·PLS+,PLS-为步进驱动器的脉冲信号端子,DIR+,DIR-为步进驱动器的方向信号端子。 ·所谓绝对位置控制(DRVA),就是指定要走到距离原点的位置,原点位置数据存放于32位寄存器D8140里。当机械位于我们设定的原点位置时用程序把D8140的值清零,也就确定了原点的位置。 ·实例动作方式:X0闭合动作到A点停止,X1闭合动作到B点停止,接线图与动作位置示例如左图(距离用脉冲数表示)。 ·程序如下图:(此程序只为说明用,实用需改善。) ·说明: ·在原点时将D8140的值清零(本程序中没有做此功能) ·32位寄存器D8140是存放Y0的输出脉冲数,正转时增加,反转时减少。当正转动作到A点时,D8140的值是3000。此时闭合X1,机械反转动作到B点,也就是-3000的位置。D8140的值就是-3000。 ·当机械从A点向B点动作过程中,X1断开(如在C点断开)则D8140的值就是200,此时再闭合X0,机械正转动作到A点停止。 ·当机械停在A点时,再闭合X0,因为机械已经在距离原点3000的位置上,故而机械没有动作!

·把程序中的绝对位置指令(DRVA)换成相对位置指令(DRVI): ·当机械在B点时(假设此时D8140的值是-3000)闭合X0,则机械正转3000个脉冲停止,也就是停在了原点。D8140的值为0 ·当机械在B点时(假设此时D8140的值是-3000)闭合X1,则机械反转3000个脉冲停止,也就是停在了左边距离B点3000的位置(图中未画出),D8140的值为-6000。 ·一般两相步进电机驱动器端子示意图: ·FREE+,FREE-:脱机信号,步进电机的没有脉冲信号输入时具有自锁功能,也就是锁住转子不动。而当有脱机信号时解除自锁功能,转子处于自由状态并且不响应步进脉冲。 ·V+,GND:为驱动器直流电源端子,也有交流供电类型。 ·A+,A-,B+,B-分别接步进电机的两相线圈。

PID步进电机的调速

一、PID控制系统 PID是比例,积分,微分的缩写。 比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。 积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数T ,T i 越小,积分作用就越强。反之T大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。 微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID 控制器。

二阶系统数学模型 二阶系统方框图如下图所示 R(s) E(s) C(s) *0 图2-2标准形式二阶系统结构图 二阶系统闭环传递函数的标准形式 _ C(s) _ R(s) (2-1) 得出自然频率(或无阻尼振荡频率) (2-2) 阻尼比 ':=^/T TK (2-3) 令式(2-1 )的分母多项式为零,得二阶系统的特征方程 s 2 ? 2 — n …J =0 (2-4) 其两个根(闭环极点)为 (2-5) 显然,二阶系统的时间响应取决于 和二这两个参数。应当指出对于结构和功用不同 的二阶系统,?和*冷的物理含意是不同的 s i 、 2

步进电机转速实时控制课程设计word文档

微机原理 课程设计报告 题目步进电机转速实时控制学院 专业 学生姓名 学号年级 指导教师职称 二〇年月

步进电机转速实时控制 摘要:本设计采用电压为DC12V的四相八拍35BYJ46型步进电机,以8255A作为8086并行输出接口,并通过编写汇编语言控制8255A的A口,进而控制步进电机转速状态。通过输入预先设定好的转速状态对应值,即可控制电机的转速状态。转向可以通过查表来实现,以逐次递增方向查表,则步进电机正转;以逐次递减方向查表,则步进电机反转。转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速加快。 关键词:步进电机;8255A;控制

目录 第1章绪论 (1) 1.1 研究背景 (1) 1.2 选题的目的和意义 (1) 1.3 本课程设计的主要内容 (2) 第2章步进电机转速实时控制 (3) 2.1 设计方案 (3) 2.2 硬件系统基本原理 (3) 2.2.1 步进电机35BYJ46 (3) 2.2.2 可编程并行接口芯片8255A (6) 2.3 系统软件 (8) 2.3.1 软件框图 (8) 2.3.2 程序代码 (10) 第3章结束语 (15) 参考文献 (17)

第1章绪论 1.1 研究背景 在普通旋转电机的基础上产生的各种控制电机与普通电机本质上并没有差别,只是着重点不同。普通旋转电机主要是进行能量变换,要求有较高的力能指标,而控制电机主要是对控制信号进行传递和变换,要求有反应快、精度高、运行可靠等控制性能。控制电机因其各种特殊的控制性能而常在自动控制系统中作为执行元件、检测元件和解算元件。步进电机就是一种应用非常广泛的控制电机。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。当电机连续不断地收到脉冲信号,电机就一步一步地转动,这就是步进电机名称的由来。这一线性关系的存在,加上输入的脉冲与其位移量有严格的对应关系,不会产生步距脚累积误差的特点。使得在速度、位置等控制领域用步进电机来控制变化非常简单。如各种数控机床、自动绘图仪、机器人等。[1] 步进电动机经过几十年的发展,已成为除直流电动机和交流电动机以外的应用最广泛的第三类电动机。在开环高分辨率的定位系统中,至今还没有发现更合适取代它的产品,特别是在一些功率相当小的系统中,步进电机更具有无可替代的主流地位。预计未来步进电机的研究还会持续深入下去,研究方向之一是电机与驱动的一体化,使步进电机体积更小巧、性能更优越,性价比更高,在大量的民用设备中批量化使用,如家庭机器人、民用智能化设备等;研究方向之二是在功率或机座号相对较大的步进电动机中,与属于BIDCM(稀土永磁无刷直流电机)的交流伺服电动机系统会合,具体来说可能会借鉴交流伺服系统的控制技术,但保留了部分步进电动机的特点,形成一种新的“步进伺服电动机”或“伺服步进电动机”,在克服低频振荡、高频过载能力小、快速性不足和效率低等方面取得突破性进展,从而在现代军事、精密机械加工、航空航天等领域的应用越来越深入。[2] 1.2 选题的目的和意义 步进电机已被广泛地应用并且其应用前景十分乐观,因此学习和掌握步进电机是非常必要的。但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由形脉冲信号、功率驱动电路等组成控制系统方可使用。因此通过运用所学的专业知识,掌握四相步进电机接口电路

基于单片机步进电机速度控制研究(正式版)

文件编号:TP-AR-L2541 In Terms Of Organization Management, It Is Necessary To Form A Certain Guiding And Planning Executable Plan, So As To Help Decision-Makers To Carry Out Better Production And Management From Multiple Perspectives. (示范文本) 编订:_______________ 审核:_______________ 单位:_______________ 基于单片机步进电机速 度控制研究(正式版)

基于单片机步进电机速度控制研究 (正式版) 使用注意:该安全管理资料可用在组织/机构/单位管理上,形成一定的具有指导性,规划性的可执行计划,从而实现多角度地帮助决策人员进行更好的生产与管理。材料内容可根据实际情况作相应修改,请在使用时认真阅读。 本文对步进机一个全面的介绍,再基于单片机对 步进电机的控制。本文采用硬件控制系统,通过单片 机MC9S12XS128与光电编码器对步进电机进行速度的 控制。最后对步进电机的速度曲线进行研究。 步进电机又称为脉冲电动机或者阶跃电动 机,作为执行元件,是机电一体化的关键产品之一, 广泛应用于各种自动化控制系统之中,比如当今电子 钟表、工业机械手、包装机械和汽车制动元件的测试 中等。步进电机在未来应用前景会往更加小型化、从 圆形电动机往方形电动机和四相、五相往三相电动机

发展。而这便需要对步进电机的控制提出了更高的要求。 1.步进电机综合介绍 1.1.步进电机分类 步进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。按结构特点电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。目前使用最为广泛的为反应式和混合式步进电机。 1.1.1.反应式步进电机 反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。一般为三相,可实现大扭矩的输出,步进角一般为1.5度。它的结构简单,成本低,但噪音大。

步进电机的控制程序

mega16的,16和32管脚兼容,只不过flash大小不一样,不过中断向量号也不一样,你看下自己改改。时钟频率:内部RC 1M 芯片:ULN2003 键值:0 小角度快正转。1 小角度快倒。2 大角度快转。3 大角度快倒。4 小角度正慢转。5 小角度倒慢转。6 大角度正慢转。7 大角度倒慢转。********************************************************************/ #include #include #define uchar unsigned char #define uint unsigned int uchar a=0,b=0; uchar KEY_num=0xe1; unsigned int m=9000; const uchar f1[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03}; //正转时序3.75度 const uchar f2[]={0x04,0x06,0x02,0x03,0x01,0x09,0x08,0x0c}; //倒转时序3.75度 const uchar f3[]={0x01,0x02,0x04,0x08}; //正转时序7.5度 const uchar f4[]={0x01,0x08,0x04,0x02}; //倒转时序7.5度 void delay(int k) //延时 { int i; for(i=0;i

步进电机速度控制系统设计

目录 1 总体方案的确定 (1) 1.1 对步进电机的分析 (1) 1.2 电机的控制方案 (2) 1.3 控制算法的方案 (3) 1.4 串口通讯的模拟 (3) 2 硬件的设计与实现 (4) 2.1 微处理器的选择 (4) 2.2 控制电路的实现 (4) 2.3 键盘和显示电路 (6) 3 软件的设计与实现 (6) 3.1 控制信号输入程序 (7) 3.2 步进电机控制程序设计 (8) 3.3 程序分析及说明 (9) 4 系统的仿真与调试 (10) 4.1 程序的调试 (11) 4.2 串口通信的调试 (11) 4.3 调试结果及分析 (11) 5 设计总结 (13) 参考文献 (14) 附录 (15)

步进电机速度控制系统设计报告 1 总体方案的确定 系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。 1.1 对步进电机的分析 步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。 步进电机的工作就是步进转动。在一般的步进电机工作中,其电源都是采用单极性的直流电源。要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。 常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。

单片机汇编语言步进电机转速控制系统

大连理工大学本科设计报告题目:步进电机转速控制系统设计 课程名称:单片机综合设计 学院(系):电子信息与电气工程学部 专业: 班级: 学号: 学生姓名: 成绩: 2013 年7 月20 日

题目:步进电机转速控制系统设计 1 设计要求 1)利用ZLG7290的键盘控制直流电机(或步进电机的转速、转向); 2)也可以利用ADC模块(与电位器配合),利用电位器控制转速; 3)利用ZLG7290的8位LED数码管显示电机转向、转速参数显示。 2 设计分析及系统方案设计 实验要求使用步进电机作为被控制对象,由ZLG7290做人机对话平台,利用单片机的P1(8位)和P3(部分口线)构造系统。实验最终实现功能、设计思路以及方案设计如以下几个小节所述。 2.1 系统设计实现功能 根据设计要求、现有设备以及知识储备,完成功能如下: ①由按键S1~S8实现转速切换,其中S1~S4正转,S5~S8反转 ②按键S16作为停止键,按下S10后步进电机停止转动,再按S1~S16步进电机按 照按键对应转速以及转向转动 ③按键S10作为复位键,当按下S10后,无论当前处于何种状态,系统恢复至初 始态 ④8为LED数码管显示当前步进电机转速(speed=0/1 1~4),转速前0表示正转, 1表示反转 ⑤若按下停止键,数码管显示当前转速;若按下复位键,数码管显示初始态speed=00 2.2 设计思路 本次的设计是LED显示与步进电机相结合以及若干功能键的组合的一种设计。根据之前学习的按键中断显示实验和定时器实验,使用INT0和INT1,INT0作为按键中断,INT1作为定时器。在主程序中实现LED初始显示、定时器计时初始、按键中断初始。INT0中断调用中断服务子程序实现对按键键值的判断,并根据相应的按键值实现对应步进电机的变化,并显示该按键对应的转速。INT1定时器中断根据INT0的按键键值,对定时器设定相应的初值,实现步进电机按规定的转速转动。对于按键停止,则是利用中断优先级,当INT0的中断优先级高时,系统进入中断,此时INT1停止计时,也就实现了步进电机的停止,当改变定时器与按键中断的优先级时,即把INT0设为低优先级,INT1设为高优先级,步进电机重新开始转动。此时添加一个对INT0位地址的查询,若有按键即正/反转的4档转速所对应的按键,步进电机开始重新转动。对于复位功能,则同样是利用按键键值的判断,在对应键值下控制电机初始化。

基于单片机的步进电机转速控制

电子器件市场调研与系统设计实践 专业:*** 名: 号: 指导教师:

**** —大^学 ****学院 **** 年**月**日 基于单片机的步进电机调速与正反转控制系统 1 系统要求 步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线 位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。本设计基于单片机控制的步进电机设计课题是以单片机为主控制模块,从而实现电机的启停、正反转和调速的目的的一个设计课题。在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考和借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。 1.1 设计目的 《电子器件市场调研与系统设计实践》是本专业的重要实践教学环节,强调实际应用技能训练。结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。通过课程设计环节培养学生与人交往、独立思考和处理问题的能力。 1.2 设计内容及要求 本次课程设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角” ),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本次课程设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,

步进电机控制速度的方法

步进电机只能够由数字信号控制运行的,当脉冲提供给驱动器时,在过于短的时间里,控制系统发出的脉冲数太多,也就是脉冲频率过高,将导致步进电机堵转。要解决这个问题,必须采用加减速的办法。就是说,在步进电机起步时,要给逐渐升高的脉冲频率,减速时的脉冲频率需要逐渐减低。这就是我们常说的“加减速”方法。 步进电机转速度是根据输入的脉冲信号的变化来改变的,从理论上讲,给驱动器一个脉冲,步进电机就旋转一个步距角(细分时为一个细分步距角)。实际上,如果脉冲信号变化太快,步进电机由于内部的反向电动势的阻尼作用,转子与定子之间的磁反应将跟随不上电信号的变化,将导致堵转和丢步。 所以步进电机在高速启动时,需要采用脉冲频率升速的方法,在停止时也要有降速过程,以保证实现步进电机精密定位控制。加速和减速的原理是一样的。以加速实例加以说明:加速过程是由基础频率(低于步进电机的直接起动最高频率)与跳变频率(逐渐加快的频率)组成加速曲线(降速过程反之)。跳变频率是指步进电机在基础频率上逐渐提高的频率,此频率不能太大,否则会产生堵转和丢步。 步电机系统解决方案

加减速曲线一般为指数曲线或经过修调的指数曲线,当然也可采用直线或正弦曲线等。使用单片机或者PLC,都能够实现加减速控制。对于不同负载、不同转速,需要选择合适的基础频率与跳变频率,才能够达到最佳控制效果。指数曲线,在软件编程中,先算好时间常数存贮在计算机存贮器内,工作时指向选取。通常,完成步进电机的加减速时间为300ms以上。如果使用过于短的加减速时间,对绝大多数步进电机来说,就会难以实现步进电机的高速旋转。 深圳市维科特机电有限公司成立于2005年,是步进电机产品的销售、系统集成和应用方案提供商。我们和全球产品性价比高的生产厂家合作,结合本公司专家团队多年的客户服务经验,给客户提供有市场竞争力的步进电机系统解决方案。我们的主要产品有信浓(SHINANO KENSHI)混合式步进电机、日本脉冲(NPM)永磁式步进电机、减速步进电机、带刹车步进电机、直线步进电机、空心轴步进电机、防水步进电机以及步进驱动器、减振垫、制振环、电机引线、拖链线、齿轮、同步轮、手轮等专业配套产品。我们还供应德国TRINAMIC驱动芯片和日本NPM运动控制芯片。根据客户配套需要,我们还可以 步电机系统解决方案

步进电机控制及其汇编程序

综合实践报告之第二次大作业 题目:步进电机控制设计 说明:在工业电气自动化工程中,步进电机是一种常用的控制设备,它以脉冲信号控制电机的转速,在数控机床、仪器仪表、计算机外围设备以及其它自动设备中有广泛的应用。 步进电机是指一步步走的电动机,所谓“步”指转动角度,每步都会使电机转过一个固定的角度。步进电机有不同的种类,但其控制方法均相同,均以脉冲信号进行驱动,很适合使用单片机来进行控制。 本次大作业要求设计一个步进电机的控制部分。 已知: 采用2相制5线步进电机,其结构如下图所示,线圈中心抽头X1与X2连接在一起; B 相X1A 相 2相步进电机 步进电机采用1相激磁法,即在每一个瞬间只有一个线圈导通,其它线圈休息; 单片机与步进电机之间可采用ULN2003类的驱动IC ; 要求: 查找资料,设计出步进电机的硬件连接电路图; 给出控制软件流程图; 用汇编语言写出控制软件的代码。 提示:本作业对电机的转动方向不做要求,在实际应用中,改变线圈激磁的顺序可以改变步进电机的转动方向,每送一次激磁信号后应经过一小段时间延时,让步进电机有足够的时间建立激励磁场及转动。可以使用单片机的~端口输出控制信号,经驱动IC 传至步进电机。

电路图设计说明 此控制电路选用AT89S51型单片机作为驱动时序的输出控制器,其输出作为两相四线步进电机的时序信号,经过驱动芯片ULN2003放大后输入到两相四线步进电机的输入端口;单片机作为控制指令的输入按键K1-K3的输入端口,K1为电机正转按键,K2为电机正转按键,K3为电机停止按键,这三个按键均为高电平输入有效,按一下K1电机正转,按一下K2电机反转转,按一下K3电机停止。其硬件电路如图一: 控制程序流程图

步进电机的速度控制要点.(DOC)

步进电机的速度控制 步进电机是一种能将脉冲信号转换成角位移或线位移的执行器件,广泛应用于各种工业设备中。步进电机的角位移或线位移与控制脉冲数成正比。通过改变脉冲频率就可以调节电机的转速,实现电机的加减速,转向等。 在实际步进电机应用中,尤其在要求快速响应的控制系统中,其关键问题是如何保证步进电机在运行过程中不发生失步。 调速电动机控制系统按其功能分为以下几个部分:中央处理器首选8051系列单片机;测速电路;A/D转换电路;供电电路;过零脉冲的形成电路;可控硅的触发电路;通信串行接口电路;显示接口电路以及时钟复位电路。 步进脉冲的调频方法 1、软件延时:通过调用标准的延时子程序来实现。优点是程序简单,不占硬件资源,缺点是浪费CPU的宝贵时间,在控制过程中,CPU不能做其他的事。 2、硬件定时:假设控制器为AT89S52单片机,晶振频率为12MHZ,将T0作为定时器使用,设定T0工作在模式1(16为定时/计数器)。只需要改变T0的定时常数,就可以实现步进电机的调速。 步进电机的速度控制规律: 1、按梯形规律升降,即步进电机的转速每跃进一个台阶后,恒速行驶一段时间。这种方法的缺点是在恒速阶段没有加速,为充分利用步进电机的加速性能,而且高频阶段加速台阶高,步进电机在速度阶跃时会发生失步。 2、按直线规律升降速方式,由于这种升速方法的及速度是恒定的,其缺点是未充分考虑步进电机输出力矩随速度变化的特性,步进电机高速时会发生失步。 3、第三种是按指数规律升降速,在以微处理器为核心的驱动器中,常用定时常数递减(递加)的方法实现升降速,升速曲线成上凹形,低频时升速太慢,高速时升速太快。 (注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

基于单片机控制的步进电动机调速系统设计

论文题目:基于单片机控制的步进电动机调速系统设计 摘要 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。在本设计方案中采用AT89C51型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。 关键词:步进电机,单片机,调速系统

Abstract: Step-by-step electric motor is the ring opening gating element changing electricity pulse signal into angular displacement or line displacement. Under the situation of must overload, the electric motor rotation rate , discontinuous location depend on pulse signal frequency and pulse number only , make free from being loaded with the effect changing ,but be that being added a pulse signal , the electric motor by electric motor is to have rotated a step spur angle. This gleam of the sexual relationships existence, adds step-by-step electric motor characteristics such as only having the cyclicity error but there being no accumulative error.Feasible simplicity controlling a field using step-by-step electric motor to come to control changeable extraordinary in speed , location etc.Step-by-step electric motor speed regulation general be change import step-by-step electric motor pulse frequency come true step-by-step electric motor speed regulation, because of step-by-step electric motor every be given to a pulse right away rotate one fixed angle, such right away not bad pass under the control of step-by-step electric motor a pulse arrive at next pulse period come to change pulse frequency,Come to control the speed regulation , realizing step-by-step electric motor thereby to come to change the electric motor rotation rate step-by-step angle concretely the deferred length. Frequency adopt the internal timer of AT89C51 type monolithic machine to change CP pulse in the design plan in realizes the speed regulation controlling , realizing an electric motor and the function that the positive and negative rotates being in progress to step-by-step electric motor rotation rate thereby. Key words:Step-by-step electric motor , monolithic machine , speed regulation system

自己做的四相八拍步进电机调速

1 引言 在工业控制系统里步进电动机是主要的控制元件之一。步进电机具有快速启动停止,精确定位和能够使用数字信号进行控制,能够实现脉冲-角度转换的特点,因此得到广泛的应用。在使用步进电机的控制系统里,脉冲分配器产生周期的控制脉冲序列,步进电机驱动器每接收一个脉冲就控制步进电机沿给定方向步进一步。 本实验旨在通过控制AT89S52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转、反转、加速与减速。 具体工作过程是:给试验箱上电后,拨动启动开关,步进电机按照预先设置的转速和转动方式转动。调整正反转按钮,步进电机实现正反转切换;拨动加速开关,步进电机转速加快,速度达到最大值,不再加速;拨动减速开关时,电机减速转动,速度减到最小速度,停止减速。 2 四相步进机 2.I 步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2 步进电机的控制

1.换相顺序控制:通电换相这一过程称为脉冲分配。例如:混合式步进电机 的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进电机正 转,如果按反序通电换相,则电机就反转。 3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就转一步, 再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3 步进电机的工作过程 图2.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方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 八拍工作方式的电源通电时序与波形如图所示:

步进电机的控制电路和程序

步进电机的控制电路和程序 先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。 上图是我们将要使用的51单片机综合学习系统硬件平台,本期实验我们用到了综合系统主机、步进电机,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 步进电机分类与结构 现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图1 所示。 图1步进电机实物图 图 2 步进电机内部图 步进电机现场应用驱动电路 综合系统使用的是小型步进电机,对电压和电流 要求不是很高,为了说明应用原理,故采用最简单 的驱动电路,目的在于验证步进电机的使用,在正 式工业控制中还需在此基础上改进。一般的驱动电 路可以用图3的形式。 图3 一般驱动电路 在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多 场合用现成的集成电路作为多路驱动。常用的小型步进电机驱动电路可以用 ULN2003或ULN2803。本书配套实验板上用的是ULN2003。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图4:

步进电机转速与频率计算公式

-- -------- 步进电机的转速可以用频率来控制,步进电机的运行频率跟转速成正比,可以通过计算公式,计算出步进 电机的转速。 步进电机转速 = 频率 * 60 /((360/T)*x) 步进电机的转速单位是: 转 / 分 频率单位是:赫兹 x 实指细分倍数 T: 固有步进角 举例说明: 步进电机采用整步,即 1 细分;频率 1K ,即 1000 赫兹;套用公式: 1000 * 60/200=300 转/ 分 注意事项:此公式适应于两相步进电机。 步进电机空载最高转速的真正意义是什么 发布者: admi n 发布时间: 2010-4-12 阅读: 474 次 两相步进电机的空载转速最高可以达到 2000 转 /分钟以上,不过它只是一个参考值,没有什么实际意义,因为步进电机的转矩随着 转速的升高下降很快,转速高到一定程度时力矩几乎为零。步进电机在整步无细分情况下(每 200 个脉冲转一圈)提高时钟频率, 人们往往发现电机在远未达到空载最高速度时即发生堵转,以至于搞不清最高转速到底是多少,甚至怀疑自己的系统是否正常,这 就是其中的真正原因所在。 步进电机在低速下的运行性能才有实际意义,一般是每分钟 300 转到 600 转,考虑到用户使用机械减速装置带负载,要使电机提供足够的力矩,电机的常态速度常常被选择在每分钟几十转,此时电机供力大、效率高、噪音低,至于振动问题,则要靠增加驱动器细分的方法加以解决了。 最高空载转速的计算公式为: 空载转速(转 /分) =60 乘以 时钟频率 / 200 乘以 细分数 (M 是细分数) 假如 M=16 ,时钟频率 =150KHZ 则最高空载转速约等于 2800 转/ 分钟 即 60 乘以 150000,再除以 200 与 16 的积,得出的结果。

完整的单片机控制步进电机程序

#include "reg52.h" #include "INTRINS.H" #include #include #define uint unsigned int #define uchar unsigned char void check_addr(void); /*地址核对*/ uchar code slave_addr[4]={00, 01, 02, 255}; /*从机地址*/ uchar idata T0low, T0high,common_count,input_order,cmd_in_permit,interval; uchar sent_ok,speed_change,start_up,start_end,address_true,i; uint y1; uint code add[100]={60006,62771,63693,64154,64430,64614,64746,64845,64922,64983,65033,65075,651 11,65141,65167,65190,65211,65229,65245,65260,65273,65285,65296,65306,65315,65323,65331 ,65339,65345,65352,65358,65363,65368,65373,65378,65382,65387,65390,65394,65398,65401,6 5404,65407,65410,65413,65416,65418,65421,65423,65425,65428,65430,65432,65434,65435,654 37,65439,65441,65442,65444,65445,65447,65448,65450,65451,65452,65453,65455,65456,65457 ,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65469,65470,6 5471,65472,65472,65473,65474,65475,65475,65476,65477,65477,65478,65478,65479,65480,654 80,65481}; sbit P2_0=P2^0; /*作输入步进电机的脉冲信号发送口*/ sbit P2_2=P2^2; /*作输入步进电机的旋转方向信号发送口*/ sbit P1_0=P1^0; /*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/ sbit WD=P1^7; /*看门狗*/ main() { P2_0=0; P2_2=0; /*步进电机的旋转方向待试验后确定*/ P1_0=1; /*开机时需要关断,串口发送功能,需要时再接通*/ WD=1; /*看门狗先为1,电平翻转为喂狗*/ i=0; common_count=0; cmd_in_permit=0; input_order=0; interval=0; address_true=1; speed_change=0; start_up=0;

相关文档
相关文档 最新文档