您的位置 首页 电源

根据proteus的步进电机操控

步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机

步进电机是机电操控中一种常用的执行机构,它的用处是将电脉冲转化为角位移,浅显地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向滚动一个固定的视点(及步进角)。经过操控脉冲个数即能够操控角位移量,然后到达精确定位的意图;一起经过操控脉冲频率来操控电机滚动的速度和加速度,然后到达调速的意图。

一、步进电机知识

常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可完成大转矩输出,步进角一般为1.5度,但噪声和振荡都很大。在欧美等发达国家80年代已被筛选;混合式步进是指混合了永磁式和反应式的长处。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的运用最为广泛。

二、永磁式步进电机的操控

  电子爱好者业余制造中常用的是永磁式步进电机。

图1 35BY48S03型步进电机的接线图

图1是该电机的接线图,从图中能够看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要运用步进电机滚动,只需轮番给各引出端通电即可。将COM端标识为C,只需AC、/AC、BC、/BC,轮番加电就能驱动步进电机作业,加电的方法能够有多种,假如将COM端接正电源,那么只需用开关元件(如三极管),将A、/A、B、/B轮番接地。

下表列出了该电机的一些典型参数:

表1 35BY48S03型步机电机参数

类型

步距角

相数

电压

电流

电阻

最大静转距

定位转距

滚动惯量

35BY48S03

7.5

4

12

0.26

47

180

65

2.5

有了这些参数,不难规划出操控电路,因其作业电压为12V,最大电流为0.26A,因而用一块开路输出达林顿驱动器(ULN2003)来作为驱动,经过P1.4~P1.7来操控各线圈的接通与堵截,电路如图所示。

图2 单片机操控35BY48S03型步进电机的电路原理图

开机时,P1.4~P1.7均为高电平,顺次将P1.4~P1.7切换为低电平即可驱动步进电机运转,注意在切换之前将前一个输出引脚变为高电平。假如要改动电机的滚动速度只需改动两次接通之间的时刻,而要改动电机的滚动方向,只需改动各线圈接通的次序。

三、步进电机的驱动实例

要求:操控电路如图2所示,开机后,电机不转,按下发动键,电机旋转,速度为25转/分,按下加1键,速度添加,按下减1键,速度下降,最高速度为100转/分,最低转带为25转/分,按下中止键,电机停转。速度值要求在数码管上显现出来。

1、要求剖析

按上面的剖析,改动转速,只需改动P1.0~P1.3轮番变低电平的时刻即可到达要求,这个时刻不该选用延时来完成,由于会影响到其他功用的完成。这儿以守时的方法来完成。下面首要核算一下守时时刻。

按要求,最低转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于50ms/脉冲。而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。能够列出下表:

表2 步进电机转速与守时器守时常数联系

速度

单步时刻(us)

TH1

TL1

实践守时(us)

25

50000

76

0

49996.8

26

48077

82

236

48074.18

27

46296

89

86

46292.61

28

44643

95

73

44640.155

100

12500

211

0

12499.2

表中不只核算出了TH1和TL1,并且还核算出了在这个守时常数下,实在的守时时刻,能够依据这个核算值来预算实在速度与理论速度的误差值。

表中TH1和TL1是依据守时时刻算出来的守时初值,这儿用到的晶振是11.0592M。有了上述表格,程序就不难完成了,运用守时/计数器T1为守时器,守时时刻到后切换输出脚即可。

2、程序完成

界说DSB-1A试验板的S1为发动键,S2为中止键,S3为加1键,S4为减1键,程序如下:

StartEndbit01H;起动及中止标志

MinSpdEQU25;开始滚动速度

MaxSpdEQU100;最高滚动速度

SpeedDATA23H;活动速度计数

DjCountDATA24H;操控电机输出的一个值,初始为11110 111

HiddenEQU10H;消隐码

CounterDATA57H;显现计数器

DISPBUFDATA58H;显现缓冲区

ORG0000H

AJMPMAIN

ORG 000BH

JMP DISP

ORG 001BH

JMP DJZD

ORG30H

MAIN:

MOVSP,#5FH

MOVP1,#0FFH

MOV A,#Hidden

MOV DispBuf,A

MOV DispBuf+1,A

MOV DispBuf+2,A

MOV DjCount,#11110111B

MOVSPEED,#MinSpd;开始滚动速度送入计数器

CLRStartEnd;停转状况

MOV TMOD,#00010001B ;

MOV TH0,#HIGH(65536-3000)

MOV TL0,#LOW(65536-3000)

MOV TH1,#0FFH;

MOV TL1,#0FFH

SETB TR0

SETB EA

SETB ET0

SETB ET1

LOOP: ACALLKEY;键盘程序

JNBF0,m_NEXT1 ;无键持续

ACALLKEYPROC ;不然调用键盘处理程序

m_NEXT1:

MOV A,Speed

MOV B,#10

DIV AB

MOV DispBuf+5,B ;最低位

MOV B,#10

DIV AB

MOV DispBuf+4,B

MOV DispBuf+3,A

JB StartEnd,m_Next2

CLR TR1 ;封闭电机

ORL P1,#11110000B

JMP LOOP

m_Next2:

SETB TR1 ;发动电机

AJMPLOOP ;主程序完毕

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/258124.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部