28BYJ-48 四相八拍 减速步进电机
- 格式:pdf
- 大小:368.67 KB
- 文档页数:11
拆解28BYJ-48步进电机
28BYJ-48型步进电机是学习单片机控制技术中经常使用的一种步进电机,其内部结构是怎样的呢?如果你有好奇心,那就跟我一起拆解观察一番。
下面就是将要拆解的28BYJ-48步进电机。
打开上盖可以看到减速齿轮组件。
拆下来的减速齿轮组件。
取出步进电机的转子,看似很简单的部件。
取出步进电机的定子线圈,这可是步进电机最重要的部件。
仔细看看这两组线圈。
步进电机就剩下一个外壳了。
简单吧?呵呵,其实步进电机并不神秘。
下面是28BYJ-48步进电机的尺寸及参数数据,供大家参考。
基于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口和外部模块接口,可以实现更多功能的扩展应用。
例如,结合显示模块和键盘模块,可以实现对步进电机的参数设置和状态显示;结合无线通信模块,可以实现远程控制和监控等功能。
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);}}。
红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。
{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.什么是步进电机?步进电机是一种将电脉冲转化为角位移的执行机构。
/******************************28BYJ-48步进电机测试程序*************************************;FOSC = 12MHz; 步进电机的驱动信号必须为脉冲信号转动的速度和脉冲的频率成正比; 本步进电机步进角为 5.625 半步5.625/2度,减速比为32. 一圈 360 度 , 需要512 个脉冲完成 360=N*22.5/32;---------------------------------------------------------------------------------; A 组线圈对应 P2.0; B 组线圈对应 P2.1; C 组线圈对应 P2.2; D 组线圈对应 P2.3;----------------------------------------------------------------------------------********************************************************************* *************/#include <reg52.h>#include <lm1602.h>#define uint unsigned int#define uchar unsigned charuint i,j,k ;uint N=512;uchar code single_pos[4]={0x08,0x04,0x02,0x01}; /*单四拍正转表*/uchar code single_rev[4]={0x01,0x02,0x04,0x08}; /*单四拍反转表*/uchar code double_pos[4]={0x06,0x03,0x09,0x0c}; /*双四拍反转表*/uchar code double_rev[4]={0x0c,0x09,0x03,0x06}; /*双四拍反转表*/uchar code eight_pos[8]={0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c,0x0e}; /*八拍驱动正转*/uchar code eight_rev[8]={0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06}; /*八拍驱动正转*/void delay(uint z);void m_single_pos();void m_single_rev();void m_double_pos();void m_double_rev();void m_eight_pos();void m_eight_rev();void main(){while(1){m_single_pos(); //单四拍正转360度delay(200);m_single_rev(); //单四拍反转360度delay(200);m_double_pos(); //双四拍正转360度delay(200);m_double_rev(); //双四拍反转360度delay(200);m_eight_pos(); //八拍驱动正转360度delay(200);m_eight_rev(); //八拍驱动反转360度delay(200);}}void delay(uint z) /*延时z毫秒*/{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--) ;}/******************************单四拍驱动正转(N*22.5/32)*************************************/void m_single_pos(){for(k=0;k<N;k++){for(i=0;i<4;i++) //单四拍一个脉冲转子转动5.625度,四拍共22.5度{P2=single_pos[i] ;delay(5) ; //适当延时,保证转子转动时间,延时过短会丢拍}}}/******************************单四拍驱动反转(N*22.5/32)*************************************/void m_single_rev(){for(k=0;k<N;k++){for(i=0;i<4;i++) //单四拍一个脉冲转子转动5.625度,四拍共22.5度{P2=single_rev[i] ;delay(5) ;}}}/******************************双四拍驱动正转(N*22.5/32)*************************************/void m_double_pos(){for(k=0;k<N;k++){for(i=0;i<4;i++) //双四拍一个脉冲转子转动5.625度,四拍共22.5度,力矩较单四拍更大{P2=double_pos[i] ;delay(5) ;}}}/******************************双四拍驱动反转(N*22.5/32)*************************************/void m_double_rev(){for(k=0;k<N;k++){for(i=0;i<4;i++) //双四拍一个脉冲转子转动5.625度,四拍共22.5度力矩较单四拍更大{P2=double_rev[i] ;delay(5) ;}}}/******************************八拍驱动正转(N*22.5/32)*************************************/void m_eight_pos(){for(k=0;k<N;k++){for(i=0;i<8;i++) //八拍一个脉冲转子转动5.625/2度,八拍共22.5度{P2=eight_pos[i] ;delay(5) ;}}}/******************************八拍驱动反转(N*22.5/32)*************************************/void m_eight_rev(){for(k=0;k<N;k++){for(i=0;i<8;i++) //八拍一个脉冲转子转动5.625/2度,八拍共22.5度{P2=eight_rev[i] ;delay(5) ;}}}。
一、 特点:此产品为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。
一、特点:
此产品为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。