步进电机_28BYJ-48

合集下载

4-四相五线减速步进电机28BYJ-48原理、仿真及演示程序(使用ULN2003A驱动)

4-四相五线减速步进电机28BYJ-48原理、仿真及演示程序(使用ULN2003A驱动)

减速步进电机28BYJ-48的原理如下图:中间部分是转子,由一个永磁体组成,边上的是定子绕组。

当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转。

依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为A->B->C->D正转,反之则反转)。

而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。

由于步进电机的驱动电流较大,单片机不能直接驱动,一般都是使用ULN2003达林顿阵列驱动,当然,使用下拉电阻或三极管也是可以驱动的,只不过效果不是那么好,产生的扭力比较小。

参考:减速步进电机28BYJ-48最简单的驱动方法28BYJ-48的内部结构请见这里下面是一个步进电机的演示程序:#include <reg52.h>sbit key=P2^0; //按键控制步进电机的方向unsigned char speed=5; //步进电机的转速//八拍方式驱动,顺序为A AB B BC C CD D DAunsigned char codeclockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};void delay(unsigned char z){unsigned char x,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}void main(){unsigned char i;while(1){for(i=0;i<8;i++){if(key) //按键未按下,正转{P0=clockWise[i];delay(speed);}else //按键按下,反转{P0=clockWise[8-i];delay(speed);}}}}Proteus仿真图及Keil源文件下载:/filebox/down/fc/79bf41133cc59eaf2ca9531a5382557 b/835705302/blog/item/7d9eb519397d7e1d34fa4148.html。

拆解28BYJ-48步进电机

拆解28BYJ-48步进电机

拆解28BYJ-48步进电机
28BYJ-48型步进电机是学习单片机控制技术中经常使用的一种步进电机,其内部结构是怎样的呢?如果你有好奇心,那就跟我一起拆解观察一番。

下面就是将要拆解的28BYJ-48步进电机。

打开上盖可以看到减速齿轮组件。

拆下来的减速齿轮组件。

取出步进电机的转子,看似很简单的部件。

取出步进电机的定子线圈,这可是步进电机最重要的部件。

仔细看看这两组线圈。

步进电机就剩下一个外壳了。

简单吧?呵呵,其实步进电机并不神秘。

下面是28BYJ-48步进电机的尺寸及参数数据,供大家参考。

基于52单片机的28BYJ48步进电机运用

基于52单片机的28BYJ48步进电机运用

基于52单片机的28BYJ48步进电机运用52单片机是一种常见的单片机芯片,具有强大的处理能力和丰富的IO口,广泛用于各种电子产品中。

28BYJ48步进电机是一种小型步进电机,结构简单、价格低廉,常用于精密定位和控制系统。

本文将介绍基于52单片机的28BYJ48步进电机的应用。

一、28BYJ48步进电机介绍28BYJ48步进电机是一种4相5线小型步进电机,具有步距角度为5.625度、步相精度高、转速可调等特点。

它由一个固定齿状转子和一个旋转齿状定子组成,通过改变定子的相序来实现转动。

由于其结构简单、价格低廉、定位精度高等特点,广泛应用于机器人、摄像头云台、家电等领域。

二、52单片机的应用52单片机是一种基于MCS-51指令集的高性能8位单片机电路板,具有128KB的存储空间和23个可编程IO口。

它可以用于控制步进电机的转向、转速、步距等参数,实现精确的定位和运动控制。

三、基于52单片机的28BYJ48步进电机应用1.简单控制通过编程设置52单片机的IO口输出电平,可以实现对步进电机的简单控制。

例如,通过高低电平交替输出,可以实现电机的正反转。

2.精密定位利用52单片机的定时器和计数器功能,可以精确计算电机转动的步数,从而实现精密定位。

通过编程控制电机按照指定的步距和步数转动,可以将其用于精密位置控制系统。

3.运动控制结合传感器和52单片机的输入输出功能,可以实现对步进电机的运动控制。

例如,通过接入光电传感器或编码器,可以实时监测电机的转动角度和速度,并通过编程控制电机的转动,实现对运动速度和位置的精确控制。

4.多电机协同控制通过串行通信或CAN总线等方式,多个步进电机可以与单个52单片机进行协同控制。

通过编程设置不同电机的控制参数,可以实现多电机的同步运动和协同工作。

5.扩展应用利用52单片机的扩展IO口和外部模块接口,可以实现更多功能的扩展应用。

例如,结合显示模块和键盘模块,可以实现对步进电机的参数设置和状态显示;结合无线通信模块,可以实现远程控制和监控等功能。

28BYJ48电机详细使用说明

28BYJ48电机详细使用说明

24BYJ48 步进电机使用手册驱动方法及参数插入到开发板的方法:直接插入到LCD12864 位置一、前言:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

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

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

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

为此,黑金刚开发板套件中首次引入了步进电机技术,采用扩展的方式,方便用户应用掌握。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。

步进电机的主要特性:1、步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。

转动的速度和脉冲的频率成正比。

2、黑金刚配套的是28BYJ48 5V 驱动的4 相5 线的步进电机,而且是减速步进电机,减速比为1:64,步进角为5.625/64度。

如果需要转动 1 圈,那么需要360/5.625*64=4096个脉冲信号。

3、步进电机具有瞬间启动和急速停止的优越特性。

4、改变脉冲的顺序,可以方便的改变转动的方向。

因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心。

二、配套的原理图及程序:1、如果不考虑数据锁存功能,步进电机的扩展板电路可以简化为下图:2、黑金刚套件采用的是5V 步进电机,该步进电机的耗电流为200m a左右,采用uln2003 驱动,驱动端口为P0.0(A),P0.1(B),P0.2(C),P0.3(C)。

正转次序: AB 组--BC 组--CD 组--DA 组(即一个脉冲,正转5.625度);反转次序:AB组--AD组--CD组--CB组(即一个脉冲,正转5.625 度),如下表:表1:正转表表2:反转表3ASM 驱动程序:;*** ****步进电机的驱动********;F O S C = 12M H z;---------------------------------------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为5.625 度. 一圈360 度, 需要64 个脉冲完成!!!;---------------------------------------------------------------------------------; A 组线圈对应P0.0; B 组线圈对应P0.1; C 组线圈对应P0.2; D 组线圈对应P0.3; 正转次序:AB 组--BC组--CD组--DA组(即一个脉冲,正转5.625 度);----------------------------------------------------------------------------------ORG 0000HL J M P M A I NORG 0100HM A I N:;----------------------------正转--------------------------M OV R3,#192 ;正转3 圈共192 个脉冲S T A R T:M OV R0,#00HS T A R T1:M OV P0,#00HM OV A,R0M OV D P T R,#T A B LEM OV C A,@A+D P TRJ Z START ;对A 的判断,当A=0 时则转到S T A RTM OV P0,AL C A LL D EL AYI N C R0D J N Z R3,S T A R T1M OV P0,#00HLCALL D EL AY1;-----------------------------反转------------------------M OV R3,#128 ;反转2 圈共128 个脉冲S T A R T2:M OV P0,#00HM OV R0,#05S T A R T3:M OV A,R0M OV D P T R,#T A B LEM OV C A,@A+D P TRJ Z S T A R T2M OV P0,ACALL D EL AYI N C R0D J N Z R3,S T A R T3M OV P0,#00HLCALL D EL AY1L J M P M A I N;---------------------------转速控制-----------------------D EL AY:M OV R7,#10 ;步进电机的转速M3:M OV R6,#248D J N ZR6,$D J N Z R7,M3RET;---------------------------延时控制----------------------D EL AY1:M OV R4,#5 ;2S延时子程序D EL2:M OV R3,#200D EL3:M OV R2,#250D J N ZR2,$ D JN Z R3,D E L3D J N Z R4,DE L2RET;---------------------------正反转表----------------------T A B L E:DB 03H,06H,0C H,09H;正转表DB 00;正转结束DB 03H,09H,0C H,06H;反转表DB 00;反转结束E ND4、C语言驱动程序:/******************************步进电机的驱动************************************* ;F O S C = 12M H z;---------------------------------------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为5.625 度. 一圈360 度, 需要64 个脉冲完成!!!;---------------------------------------------------------------------------------; A 组线圈对应P0.0; B 组线圈对应P0.1; C 组线圈对应P0.2; D 组线圈对应P0.3; 正转次序:AB 组--BC组--CD组--DA组(即一个脉冲,正转5.625 度);----------------------------------------------------------------------------------**********************************************************************************/ /*头文件*/#i n c l ud e<r e g52.h>#i n c l ud e<i n t r i n s.h>#d e f i n e u i n t un s i gn e d i n t#d e f i n e u c h a r un s i gn e d c h a r#d e f i n e nop() _nop_()u c h a r code t a b l e1[]={0x03,0x06,0x0c,0x09};/*正转表*/u c h a r code t a b l e2[]={0x03,0x09,0x0c,0x06};/*反转表*/#d e f i n e m o t o r P0vo i d d e l a y(u c h a r m s)/*延时*/{u c h a r j;w h il e(m s--){f o r(j=0;j<250;j++){;}}}vo i d m a i n(){u c h a r i,j;w h il e(1){//正转3 圈共192 个脉冲j=0;f o r(i=0;i<192;i++){m o t o r = 0x00;m o t o r = t a b l e1[j];j++;i f(j>=4)j=0;d e l a y(2);}d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);//正转2 圈共128 个脉冲j=0;f o r(i=0;i<128;i++){m o t o r = 0x00;m o t o r = t a b l e2[j];j++;i f(j>=4)j=0;d e l a y(2);}d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);}}。

步进电机28BYJ规格书

步进电机28BYJ规格书

一、 特点:此产品为28BYJ系列步进电机,小体积、高转速、底振动。

具 有结构紧凑、力矩大、输入功率小、噪音小、 使用方便等特点。

二、 用途:产品广泛用于空调器、电动器械、冷暖通阀门、热水器自动调温系统、自动化仪器、舞台灯光、安防视频监控、及单片机学习开发等领域。

三、 极限参数:表1参数 最小值 最大值 单位 工作温度 1 +60 ℃ 储存温度 -20 +75 ℃四、 技术参数:表2参数 值 参数 值电压VDC 5 空载牵入频率Hz≥500直流电阻25°C Ω±7% 32空载牵出频率Hz≥600步距角 5.625°/64 绝缘耐压V 1S600减速比 1/64 温升 K ≤55 牵入转矩(100Hz时)gf.cm250 噪音 dB ≤40 自定位转矩gf.cm300 驱动方式 四相八拍连接线长:230mm,采用UL 26AWG 1061的电源线五、 外形尺寸:(单位:mm)六:接线示意图接线指示图红5黄3粉红2蓝1橙4七:分配方式八:铭牌13245连线 序号--蓝-黄粉红橙--红导线 颜色231+++-------64+5++分配顺序78++XXXXXXXXX 060000015表示此产品为2006年生产,编号为0000015的产品。

)印刷批号,从0000001开始逐张递增以当年的年份为编码,如2006年,用06表示XX XXXXXXXSTEP MOTOR28BYJ-485V DC。

28BYJ48电机详细使用说明

28BYJ48电机详细使用说明

MOV R3,#128
;反转 2 圈共 128 个脉冲
START2:
MOV P0,#00H
MOV R0,#05
START3:
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START2
MOV P0,A
CALL DELAY
INC R0
DJNZ R3,START3
MOV P0,#00H
motor = 0x00; motor = table1[j]; j++; if(j>=4) j=0; delay(2); } delay(200); delay(200); delay(200); delay(200); delay(200); //正转 2 圈共 128 个脉冲 j=0; for(i=0;i<128;i++){ motor = 0x00; motor = table2[j]; j++; if(j>=4) j=0; delay(2); } delay(200); delay(200); delay(200); delay(200); delay(200); } }
表 1:正转表
端口值
步数
P0.0(A) P0.1(B) P0.2(C) P0.3(D)
0x03
1
1
1
0
0
0x06
2
0
1
1
0
0x0C
3
0
0
1
1
0x09
4
1
0
0
1
表 2:反表
端口值
步数
P0.0(A) P0.1(B) P0.2(C) P0.3(D)

步进电机28BYJ规格书

步进电机28BYJ规格书

一、特点:
此产品为28BYJ系列步进电机,小体积、高转速、底振动。

具有结构紧凑、力矩大、输入功率小、噪音小、使用方便等特点。

二、用途:
产品广泛用于空调器、电动器械、冷暖通阀门、热水器自动调温系统、自动化仪器、舞台灯光、安防视频监控、及单片机学习开发等领域。

三、极限参数:
表1
四、技术参数:
表2
五、 外形尺寸:(单位:mm)
六:接线示意图
接线指示图红5
黄3粉红2
蓝1
橙4
七:分配方式
八:铭牌
1
3245连线 序号--蓝
-
黄粉红橙--红导线 颜色231+++-------64+5++分配顺序
78+
+XXXXXXXXX 060000015表示此产品为2006年生产,编号为0000015
的产品。


印刷批号,从0000001开始逐张递增
以当年的年份为编码,如2006年,用06表示XX XXXXXXX
STEP MOTOR
28BYJ-48
5V DC。

步进电机_28BYJ-48

步进电机_28BYJ-48

步进电机_28BYJ-48步进电机 28BYJ-48介绍和驱动及编程 28BYJ-48步进电机:步电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。

由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:橙 A P1.3 黄B P1.2 粉C P1.1 蓝D P1.0 十六制(P1口)1 0 0 0 0x081 1 0 0 0x0c0 1 0 0 0x040 1 1 0 0x060 0 1 0 0x020 0 1 1 0x030 0 0 1 0x011 0 0 1 0x09顺序刚好相反所以可以定义旋转相序uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表 uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表C语言代码:#include<AT89X52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表sbit K1=P3^2; //反转按键sbit K2=P3^3; //正转按键sbit K3=P3^4; //停止按键sbit FMQ=P3^6; // 蜂鸣器void delay500us(void) void delaynms(uint aa) {{ int j;uchar bb; for(j=0;j<57;j++)while(aa--) {{ ;} for(bb=0;bb<115;bb++) //1ms基准延时} 程序{; void beep(void)} {} uchar t;for(t=0;t<100;t++) } {delay500us(); for(j=0;j<8;j++){ FMQ=!FMQ; //产生脉冲} if(K3==0){ FMQ=1; //关闭蜂鸣器} break; //如果K3按下,退出此循环}for(i=0;i<8;i++) //旋转45度 void motor_ccw(void) { { P1=CW[i];uchar i,j; delaynms(2); //调节转速for(j=0;j<8;j++) //电机旋转一 }周,不是外面所看到的一周,是里面的传动 }轮转了一周 }{if(K3==0){void main(void) break; //如果K3按下,退出此循环} {uchar r; for(i=0;i<8;i++) //旋转45度{ uchar N=64; //因为步进电机是减速步P1=CCW[i]; 进电机,减速比的1/64 ,delaynms(10); //调节转速 //所以N=64时,步进电机主轴转一圈} while(1)} {} if(K1==0){beep(); void motor_cw(void) for(r=0;r<N;r++) { {uchar i,j; motor_ccw(); //电机逆转if(K3==0) break;{ }beep(); }break; }} else} P1=0xf0; //电机停止} }else if(K2==0){} beep();for(r=0;r<N;r++){motor_cw(); //电机反转if(K3==0){beep();附:步进电机小知识(转)1.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执行机构。

步进电机_28BYJ-48的原理及使用

步进电机_28BYJ-48的原理及使用

步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。

由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:橙黄粉蓝十六制(P1口)1 0 0 0 0x081 1 0 0 0x0c0 1 0 0 0x040 1 1 0 0x060 0 1 0 0x020 0 1 1 0x030 0 0 1 0x011 0 0 1 0x09顺序刚好相反所以可以定义旋转相序uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表C语言代码:#include<AT89X52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表sbit K1=P3^2; //反转按键sbit K2=P3^3; //正转按键sbit K3=P3^4; //停止按键sbit FMQ=P3^6; // 蜂鸣器void delaynms(uint aa){uchar bb;while(aa--){for(bb=0;bb<115;bb++) //1ms基准延时程序{;}}}void delay500us(void){int j;for(j=0;j<57;j++){;}}void beep(void){uchar t;for(t=0;t<100;t++){delay500us();FMQ=!FMQ; //产生脉冲}FMQ=1; //关闭蜂鸣器}void motor_ccw(void){uchar i,j;for(j=0;j<8;j++) //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周{if(K3==0){break; //如果K3按下,退出此循环}for(i=0;i<8;i++) //旋转45度{P1=CCW[i];delaynms(10); //调节转速}}}void motor_cw(void){uchar i,j;for(j=0;j<8;j++){if(K3==0){break; //如果K3按下,退出此循环}for(i=0;i<8;i++) //旋转45度{P1=CW[i];delaynms(2); //调节转速}}}void main(void){uchar r;uchar N=64; //因为步进电机是减速步进电机,减速比的1/64 ,//所以N=64时,步进电机主轴转一圈while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ccw(); //电机逆转if(K3==0){beep();break;}}}else if(K2==0){beep();for(r=0;r<N;r++){motor_cw(); //电机反转if(K3==0){beep();break;}}}elseP1=0xf0; //电机停止}}附:步进电机小知识(转)1.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执行机构。

28byj48型步进电机的控制方法

28byj48型步进电机的控制方法

28BYJ48型步进电机的控制方法2011-03-13 23:02:00|分类:单片机技术|举报|字号订阅前不久弄到一只28BYJ48型步进电机,没有资料,从网上查找,搜到一些资料,但按照网上介绍的程序实验,都没有成功。

后来根据资料的原理部分,试着自己编写了一段程序,经过多次实验调试,终于成功了。

哈哈,收获不小步进电机是一种将电脉冲转化为角位移的执行设备。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。

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

28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V。

当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A……),双(双相绕组通电)四拍(AB-BC-CD-DA-AB……),四相八拍(A-AB-B-BC-C-CD-D-DA-A……)。

本例是使用四相八拍驱动方式实现的。

下面是我写的C语言控制程序实现28BYJ48型步进电机正转五圈然后倒转五圈的效果://************************************************* *******************************//*标题:步进电机正反转演示程序 *//*文件:步进电机正反转演示.C *//*日期: 2011-3-13 *//*环境:使用自制单片机最小系统板测试通过 *//************************************************* *******************************//*描述: 28BYJ-48步进电机正反转控制 *//*电机使用端口:P1.0、P1.1、P1.2、P1.3 *//*单双八拍工作方式:A-AB-B-BC-C-CD-D-DA *//************************************************* *******************************#include <reg51.h>#include <intrins.h>//**********************正向旋转相序表*****************************unsigned char codeFFW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //**********************反向旋转相序表*****************************unsigned char codeREV[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //***********************延时子程序********************************void delay(unsigned int t){unsigned int k;while(t--){for(k=0; k<125; k++){}}}//**********************步进电机正转******************************void motor_ffw(unsigned int n) {unsigned char i;unsigned int j;for (j=0; j<8*64*n; j++){for (i=0; i<8; i++){P1 = FFW[i];delay(1);}}}//*********************步进电机反转******************************** void motor_rev(unsigned int n) {unsigned char i;unsigned int j;for (j=0; j<8*64*n; j++){for (i=0; i<8; i++){P1 = REV[i];delay(1);}}}//*************************主程序********************************* main(){while(1){motor_ffw(5); //电机正转5圈delay(1000);motor_rev(5); //电机反转5圈delay(1000);}}下面是赠送的几篇网络励志文章需要的便宜可以好好阅读下,不需要的朋友可以下载后编辑删除!!谢谢!!出路出路,走出去才有路“出路出路,走出去才有路。

2、28BYJ48电机详细使用说明(附带驱动程序).docx

2、28BYJ48电机详细使用说明(附带驱动程序).docx

24BYJ48步进电机使用手册外型尺寸驱动方法及参数左要技术参数电机型号V栢数相电阻Q±10Z步距角度减速比 起动转矩10OP. P. S g ・cm 起动频率 P.P.S 定位转矩 g. cm嫁擦转矩 g. cm 嘈声 dB 绝缘介电殘度 28BYJ - 485 4 300 5. 625/64 1:64 $300 =550 A 300——<35 600VAC10土0.5■ oo1oo 1900(UG DT]6.54321&线颜色 1 234 5 67 8 6红 + + + 十十十十 4祀 -一-3黄 — --2粉--—I 蓝••- —驱动方式:<4 1-2相駆动〉 —CCW 方向旋转(轴伸殆视〉插入到开发板的方法:W接插入到LCD 12864位買一、前言:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

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

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

便得在速度、位置等控制领域用步进电机来控制变的非常的简单为此,黑金刚开发板套件中首次引入了步进电机技术,采用扩展的方式,方便用户应用常握。

虽然步进电机已被广泛地应川,但步进电机并不能彖普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

因此用好步进电机却非易爭,它涉及到机械、电机、电了及计算机等许多匸业知识。

步进电机的主要特性:]、步进电机必须加驳动4训以运转,张动信号必须为脉冲信号,没仃脉冲的时候, 步讲巾机静止,如果加入适洱的脉冲信計,就矣以工常1的怡:(爲:儿必伯)皓m转动的凍府月恤汕的烦率成|勺@2、黑金刚配套的是28BYJ48 5V驱动的电?5线的步进电机,而且是减速步进电机,减速比为1: 64,步进角_为5.625/64度。

4-四相五线减速步进电机28BYJ-48原理、仿真及演示程序(使用ULN2019A驱动)共3页文档

4-四相五线减速步进电机28BYJ-48原理、仿真及演示程序(使用ULN2019A驱动)共3页文档

减速步进电机28BYJ-48的原理如下图:中间部分是转子,由一个永磁体组成,边上的是定子绕组。

当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转。

依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为A->B->C->D正转,反之则反转)。

而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。

由于步进电机的驱动电流较大,单片机不能直接驱动,一般都是使用ULN2003达林顿阵列驱动,当然,使用下拉电阻或三极管也是可以驱动的,只不过效果不是那么好,产生的扭力比较小。

参考:减速步进电机28BYJ-48最简单的驱动方法28BYJ-48的内部结构请见这里下面是一个步进电机的演示程序:#include <reg52.h>sbit key=P2^0; //按键控制步进电机的方向unsigned char speed=5; //步进电机的转速//八拍方式驱动,顺序为A AB B BC C CD D DAunsigned char codeclockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};void delay(unsigned char z){unsigned char x,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}void main(){unsigned char i;while(1){for(i=0;i<8;i++){if(key) //按键未按下,正转{P0=clockWise[i];delay(speed);}else //按键按下,反转{P0=clockWise[8-i];delay(speed);}}}}Proteus仿真图及Keil源文件下载:http://brsbox/filebox/down/fc/79bf41133cc59eaf2ca9531a5382557b 演示动画网站:http://hi.baidu/835705302/blog/item/7d9eb519397d7e1d34fa4148.ht ml希望以上资料对你有所帮助,附励志名言3条:1、生命对某些人来说是美丽的,这些人的一生都为某个目标而奋斗。

28BYJ48电机详细使用说明

28BYJ48电机详细使用说明

24BYJ48 步进电机使用手册驱动方法及参数插入到开发板的方法:直接插入到LCD12864 位置一、前言:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

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

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

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

为此,黑金刚开发板套件中首次引入了步进电机技术,采用扩展的方式,方便用户应用掌握。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。

步进电机的主要特性:1、步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。

转动的速度和脉冲的频率成正比。

2、黑金刚配套的是28BYJ48 5V 驱动的4 相5 线的步进电机,而且是减速步进电机,减速比为1:64,步进角为5.625/64度。

如果需要转动 1 圈,那么需要360/5.625*64=4096个脉冲信号。

3、步进电机具有瞬间启动和急速停止的优越特性。

4、改变脉冲的顺序,可以方便的改变转动的方向。

因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心。

二、配套的原理图及程序:1、如果不考虑数据锁存功能,步进电机的扩展板电路可以简化为下图:2、黑金刚套件采用的是5V 步进电机,该步进电机的耗电流为200m a左右,采用uln2003 驱动,驱动端口为P0.0(A),P0.1(B),P0.2(C),P0.3(C)。

正转次序: AB 组--BC 组--CD 组--DA 组(即一个脉冲,正转5.625度);反转次序:AB组--AD组--CD组--CB组(即一个脉冲,正转5.625 度),如下表:表1:正转表表2:反转表3ASM 驱动程序:;*** ****步进电机的驱动********;F O S C = 12M H z;---------------------------------------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为5.625 度. 一圈360 度, 需要64 个脉冲完成!!!;---------------------------------------------------------------------------------; A 组线圈对应P0.0; B 组线圈对应P0.1; C 组线圈对应P0.2; D 组线圈对应P0.3; 正转次序:AB 组--BC组--CD组--DA组(即一个脉冲,正转5.625 度);----------------------------------------------------------------------------------ORG 0000HL J M P M A I NORG 0100HM A I N:;----------------------------正转--------------------------M OV R3,#192 ;正转3 圈共192 个脉冲S T A R T:M OV R0,#00HS T A R T1:M OV P0,#00HM OV A,R0M OV D P T R,#T A B LEM OV C A,@A+D P TRJ Z START ;对A 的判断,当A=0 时则转到S T A RTM OV P0,AL C A LL D EL AYI N C R0D J N Z R3,S T A R T1M OV P0,#00HLCALL D EL AY1;-----------------------------反转------------------------M OV R3,#128 ;反转2 圈共128 个脉冲S T A R T2:M OV P0,#00HM OV R0,#05S T A R T3:M OV A,R0M OV D P T R,#T A B LEM OV C A,@A+D P TRJ Z S T A R T2M OV P0,ACALL D EL AYI N C R0D J N Z R3,S T A R T3M OV P0,#00HLCALL D EL AY1L J M P M A I N;---------------------------转速控制-----------------------D EL AY:M OV R7,#10 ;步进电机的转速M3:M OV R6,#248D J N ZR6,$D J N Z R7,M3RET;---------------------------延时控制----------------------D EL AY1:M OV R4,#5 ;2S延时子程序D EL2:M OV R3,#200D EL3:M OV R2,#250D J N ZR2,$ D JN Z R3,D E L3D J N Z R4,DE L2RET;---------------------------正反转表----------------------T A B L E:DB 03H,06H,0C H,09H;正转表DB 00;正转结束DB 03H,09H,0C H,06H;反转表DB 00;反转结束E ND4、C语言驱动程序:/******************************步进电机的驱动************************************* ;F O S C = 12M H z;---------------------------------------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为5.625 度. 一圈360 度, 需要64 个脉冲完成!!!;---------------------------------------------------------------------------------; A 组线圈对应P0.0; B 组线圈对应P0.1; C 组线圈对应P0.2; D 组线圈对应P0.3; 正转次序:AB 组--BC组--CD组--DA组(即一个脉冲,正转5.625 度);----------------------------------------------------------------------------------**********************************************************************************/ /*头文件*/#i n c l ud e<r e g52.h>#i n c l ud e<i n t r i n s.h>#d e f i n e u i n t un s i gn e d i n t#d e f i n e u c h a r un s i gn e d c h a r#d e f i n e nop() _nop_()u c h a r code t a b l e1[]={0x03,0x06,0x0c,0x09};/*正转表*/u c h a r code t a b l e2[]={0x03,0x09,0x0c,0x06};/*反转表*/#d e f i n e m o t o r P0vo i d d e l a y(u c h a r m s)/*延时*/{u c h a r j;w h il e(m s--){f o r(j=0;j<250;j++){;}}}vo i d m a i n(){u c h a r i,j;w h il e(1){//正转3 圈共192 个脉冲j=0;f o r(i=0;i<192;i++){m o t o r = 0x00;m o t o r = t a b l e1[j];j++;i f(j>=4)j=0;d e l a y(2);}d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);//正转2 圈共128 个脉冲j=0;f o r(i=0;i<128;i++){m o t o r = 0x00;m o t o r = t a b l e2[j];j++;i f(j>=4)j=0;d e l a y(2);}d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);d e l a y(200);}}。

步进电机28BYJ解读和编程

步进电机28BYJ解读和编程

28BYJ-48步进电机解读和驱动及编程28BYJ-48步进电机外观:步进电动机的步进角是5.625度(注意,是电机)。

因为这个是带减速齿轮的,所以最后在输出轴上的步进角是5.625/64=0.08789度(因为减速比是1/64)。

对于电机,是64个脉冲为一圈。

对于输出轴,是4096个脉冲为一圈(64×64)。

电机转64圈,输出轴转1圈。

2相电机基本步距角为1.8°.在不细分的情况下走一步是需要1个脉冲.走一圈360°就需要200个脉冲.步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。

由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:顺序刚好相反所以可以定义旋转相序uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表C语言代码:#include<AT89X52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表sbit K1=P3^2; //反转按键sbit K2=P3^3; //正转按键sbit K3=P3^4; //停止按键sbit FMQ=P3^6; // 蜂鸣器void delaynms(uintaa){uchar bb;while(aa--){for(bb=0;bb<115;bb++) //1ms基准延时程序{;}}}void delay500us(void){int j;for(j=0;j<57;j++){;}}void beep(void){uchar t;for(t=0;t<100;t++){delay500us();FMQ=!FMQ; //产生脉冲}FMQ=1; //关闭蜂鸣器}void motor_ccw(void){uchari,j;for(j=0;j<8;j++) //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周{if(K3==0){break; //如果K3按下,退出此循环}for(i=0;i<8;i++) //旋转45度{P1=CCW[i];delaynms(10); //调节转速}}}void motor_cw(void){uchari,j;for(j=0;j<8;j++){if(K3==0){break; //如果K3按下,退出此循环}for(i=0;i<8;i++) //旋转45度{P1=CW[i];delaynms(2); //调节转速}}}void main(void){uchar r;uchar N=64; //因为步进电机是减速步进电机,减速比的1/64 ,//所以N=64时,步进电机主轴转一圈while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ccw(); //电机逆转if(K3==0){beep();break;}}}else if(K2==0){beep();for(r=0;r<N;r++){motor_cw(); //电机反转if(K3==0){beep();break;}}}elseP1=0xf0; //电机停止}}附:步进电机小知识(转)1.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执行机构。

2、28BYJ48电机详细使用说明(附带驱动程序)

2、28BYJ48电机详细使用说明(附带驱动程序)
motor = 0x00; motor = table1[j]; j++; if(j>=4) j=0; delay(2); } delay(200); delay(200); delay(200); delay(200); delay(200); //正转 2 圈共 128 个脉冲 j=0; for(i=0;i<128;i++){ motor = 0x00; motor = table2[j]; j++; if(j>=4) j=0; delay(2); } delay(200); delay(200); delay(200); delay(200); delay(200); } }
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在 常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此 用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机的主要特性: 1、 步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候, 步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转 动的速度和脉冲的频率成正比。 2、 黑金刚配套的是 28BYJ48 5V 驱动的 4 相 5 线的步进电机,而且是减速步进电 机 , 减 速 比 为 1 : 64 , 步 进 角 为 5.625/64 度 。 如 果 需 要 转 动 1 圈 , 那 么 需 要 360/5.625*64=4096 个脉冲信号。 3、 步进电机具有瞬间启动和急速停止的优越特性。 4、 改变脉冲的顺序, 可以方便的改变转动的方向。 因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心。
MOV R3,#128

减速步进电机28BYJ-48最简单的驱动方法

减速步进电机28BYJ-48最简单的驱动方法
减速步进电机28byj48最简单的驱动方法28byj48是一款四相五线减速步进电机可以使用uln2003达林顿管驱动也可以使用l293d等电桥驱动
减速步进电机28BYJ-48最简单的驱动方法
28BYJ-48是一款四相五线减速步进电机,可以使用ULN2003达林顿管驱动,也可以使用L293D等电桥驱动。但是我使用L293D时引起电机颤抖,一直不转动,而我手边也没有达林顿管,没办法,只好试试土办法:直接使用单片机驱动!
当然,单片机上的电流太小,我们加上下拉电阻ห้องสมุดไป่ตู้行了。接线图:
该电机可以使用单四拍、双四拍和八拍方式驱动,下面是一个八拍方式驱动的Keil源码,呵呵,仅供测试,所以写的很简单:
看个效果图:

28BYJ48型步进电机的控制方法

28BYJ48型步进电机的控制方法

28BYJ48型步进电机的控制方法2011-03-13 23:02:00|分类:单片机技术|举报|字号订阅前不久弄到一只28BYJ48型步进电机,没有资料,从网上查找,搜到一些资料,但按照网上介绍的程序实验,都没有成功。

后来根据资料的原理部分,试着自己编写了一段程序,经过多次实验调试,终于成功了。

哈哈,收获不小!!!步进电机是一种将电脉冲转化为角位移的执行设备。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。

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

28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V。

当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A……),双(双相绕组通电)四拍(AB-BC-CD-DA-AB……),四相八拍(A-AB-B-BC-C-CD-D-DA-A……)。

本例是使用四相八拍驱动方式实现的。

下面是我写的C语言控制程序实现28BYJ48型步进电机正转五圈然后倒转五圈的效果://************************************************* *******************************//*标题:步进电机正反转演示程序 *//*文件:步进电机正反转演示.C *//*日期: 2011-3-13 *//*环境:使用自制单片机最小系统板测试通过 *//************************************************* *******************************//*描述: 28BYJ-48步进电机正反转控制 *//*电机使用端口:P1.0、P1.1、P1.2、P1.3 *//*单双八拍工作方式:A-AB-B-BC-C-CD-D-DA *//************************************************* *******************************#include <reg51.h>#include <intrins.h>//**********************正向旋转相序表*****************************unsigned char codeFFW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //**********************反向旋转相序表*****************************unsigned char codeREV[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //***********************延时子程序********************************void delay(unsigned int t){unsigned int k;while(t--){for(k=0; k<125; k++){}}}//**********************步进电机正转******************************void motor_ffw(unsigned int n) {unsigned char i;unsigned int j;for (j=0; j<8*64*n; j++){for (i=0; i<8; i++){P1 = FFW[i];delay(1);}}}//*********************步进电机反转******************************** void motor_rev(unsigned int n) {unsigned char i;unsigned int j;for (j=0; j<8*64*n; j++){for (i=0; i<8; i++){P1 = REV[i];delay(1);}}}//*************************主程序********************************* main(){while(1){motor_ffw(5); //电机正转5圈 delay(1000);motor_rev(5); //电机反转5圈 delay(1000);}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

步进电机 28BYJ-48介绍和驱动及编程28BYJ-48步进电机:步电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。

由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:顺序刚好相反所以可以定义旋转相序uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表C语言代码:#include<reg52..h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表 uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表 sbit K1=P2^3; //反转按键sbit K2=P2^2; //正转按键sbit K3=P2^1; //停止按键sbit FMQ=P3^6; // 蜂鸣器void delaynms(uint aa){uchar bb;while(aa--){for(bb=0;bb<115;bb++) //1ms基准延时程序{;}}}void delay500us(void) {int j;for(j=0;j<57;j++) {;}}void beep(void){uchar t;for(t=0;t<100;t++){delay500us();FMQ=!FMQ; //产生脉冲}FMQ=1; //关闭蜂鸣器}void motor_ccw(void){uchar i,j;for(j=0;j<8;j++) //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周{if(K3==0){break; //如果K3按下,退出此循环 }for(i=0;i<8;i++) //旋转45度{P1=CCW[i];delaynms(10); //调节转速}}}void motor_cw(void){uchar i,j;for(j=0;j<8;j++){if(K3==0){break; //如果K3按下,退出此循环 }for(i=0;i<8;i++) //旋转45度{P1=CW[i];delaynms(2); //调节转速}}}void main(void){uchar r;uchar N=64; //因为步进电机是减速步进电机,减速比的1/64 ,//所以N=64时,步进电机主轴转一圈 while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ccw(); //电机逆转if(K3==0){beep();break;}}}else if(K2==0){beep();for(r=0;r<N;r++){motor_cw(); //电机反转if(K3==0){beep(); break;}}}elseP1=0xf0; //电机停止 }}附:步进电机小知识(转)1.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

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

2.步进电机分哪几种?步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。

在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。

它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。

这种步进电机的应用最为广泛。

3.什么是保持转矩(HOLDING TORQUE)?保持转矩(HOLDING TORQUE)是指步进电机通电但没有转动时,定子锁住转子的力矩。

它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。

由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。

比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。

4.什么是DETENT TORQUE?DETENT TORQUE 是指步进电机没有通电的情况下,定子锁住转子的力矩。

DETENT TORQUE 在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。

5.步进电机精度为多少?是否累积?一般步进电机的精度为步进角的3-5%,且不累积。

6.步进电机的外表温度允许达到多少?步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

7.为什么步进电机的力矩会随转速的升高而下降?当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

8.为什么步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声?步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。

在有负载的情况下,启动频率应更低。

如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

9.如何克服两相混合式步进电机在低速运转时的振动和噪声?步进电机低速转动时振动和噪声大是其固有的缺点,一般可采用以下方案来克服:A.如步进电机正好工作在共振区,可通过改变减速比等机械传动避开共振区;B.采用带有细分功能的驱动器,这是最常用的、最简便的方法;C.换成步距角更小的步进电机,如三相或五相步进电机;D.换成交流伺服电机,几乎可以完全克服震动和噪声,但成本较高;E.在电机轴上加磁性阻尼器,市场上已有这种产品,但机械结构改变较大。

10.细分驱动器的细分数是否能代表精度?步进电机的细分技术实质上是一种电子阻尼技术(请参考有关文献),其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。

比如对于步进角为1.8°的两相混合式步进电机,如果细分驱动器的细分数设置为4,那么电机的运转分辨率为每个脉冲0.45°,电机的精度能否达到或接近0.45°,还取决于细分驱动器的细分电流控制精度等其它因素。

不同厂家的细分驱动器精度可能差别很大;细分数越大精度越难控制。

11.四相混合式步进电机与驱动器的串联接法和并联接法有什么区别?四相混合式步进电机一般由两相驱动器来驱动,因此,连接时可以采用串联接法或并联接法将四相电机接成两相使用。

串联接法一般在电机转速较的场合使用,此时需要的驱动器输出电流为电机相电流的0.7倍,因而电机发热小;并联接法一般在电机转速较高的场合使用(又称高速接法),所需要的驱动器输出电流为电机相电流的1.4倍,因而电机发热较大。

12.如何确定步进电机驱动器的直流供电电源?A.电压的确定混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电电压为12~48VDC),电源电压通常根据电机的工作转速和响应要求来选择。

如果电机工作转速较高或响应要求较快,那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输入电压,否则可能损坏驱动器。

B.电流的确定供电电源电流一般根据驱动器的输出相电流I来确定。

如果采用线性电源,电源电流一般可取I的1.1~1.3倍;如果采用开关电源,电源电流一般可取I 的1.5~2.0倍。

13.混合式步进电机驱动器的脱机信号FREE一般在什么情况下使用?当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。

在有些自动化设备中,如果在驱动器不断电的情况下要求直接转动电机轴(手动方式),就可以将FREE信号置低,使电机脱机,进行手动操作或调节。

手动完成后,再将FREE信号置高,以继续自动控制。

14.如果用简单的方法调整两相步进电机通电后的转动方向?只需将电机与驱动器接线的A+和A-(或者B+和B-)对调即可。

相关文档
最新文档