28BYJ-48步进电机资料及调速程序

步电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)

左——右 CCW旋转方向(轴伸端视)

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

红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:

步进电机驱动

速度计算公式:运转速度=脉冲频率×60/步进电机分割数/减速比64

步进电机分割数=360/6.625

调速程序:

#include #include

#define uchar unsigned char #define uint unsigned int

#define st_mo P1

sbit k1=P2^0;//正转键 sbit k2=P2^1;//反转键 sbit k3=P2^2;//停止按键 sbit k4=P2^3;//加按键 sbit k5=P2^4;//减按键

sbit dula=P2^5;//定义段码位 sbit wela=P2^6;//定位段码位 sbit alarm=P2^7;//定义蜂鸣器位

uchar ccw[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //反转 uchar cw[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正传

uchar code ducode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义段码 uchar code wecode[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//定位段码

uchar tempdata[8],speed=10;

void delay(uchar z) //延时1ms { uchar i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); }

void delay500us(void) //延时500us {

int i;

for(i=0;i

void buzzer() //产生报警音 { uchar t;

for(t=0;t

alarm=1; //关闭蜂鸣器 }

void ccw_motor()//反转子程序 { uchar i; for(i=0;i

void cw_motor()//正转子程序 { uchar i; for(i=0;i

void diaplay(uchar first,uchar num) //LED 显示函数 { static uchar i; P0=0xff;

wela=1; wela=0; P0=wecode[i+first]; wela=1; wela=0; P0=tempdata[i]; dula=1; dula=0; i++; if(i==num) { i=0; } }

void init()/定时器1、2初始化函数 { TMOD|=0X11; TH0=(65536-2000)/256; TL0=(65536-2000)%256; TH1=(65536-1000)/256; TL1=(65536-1000)%256; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; PT0=1; //边沿触发 如不设置 LED显示时会跳动 }

void main() { uchar num; init(); while(1) { if(k1==0) { buzzer(); for(num=0;num

{ buzzer(); break; } cw_motor(); } } if(k2==0) { buzzer(); for(num=0;num

void timer0() interrupt 1//定时器1 { TH0=(65536-2000)/256; //延时2ms TL0=(65536-2000)%256; tempdata[0]=ducode[speed%10]; tempdata[1]=ducode[speed/10]; diaplay(0,2); }

void timer1() interrupt 3//定时器2 { TH1=(65536-1000)/256; //延时1ms TL1=(65536-1000)%256; if(k4==0) { delay(5); if(k4==0) speed++; }

while(k4==0);

if(k5==0) { delay(5); if(k5==0) { if(speed>2) speed--; } }

while(k5==0); }

效果图

步电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)

左——右 CCW旋转方向(轴伸端视)

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

红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:

步进电机驱动

速度计算公式:运转速度=脉冲频率×60/步进电机分割数/减速比64

步进电机分割数=360/6.625

调速程序:

#include #include

#define uchar unsigned char #define uint unsigned int

#define st_mo P1

sbit k1=P2^0;//正转键 sbit k2=P2^1;//反转键 sbit k3=P2^2;//停止按键 sbit k4=P2^3;//加按键 sbit k5=P2^4;//减按键

sbit dula=P2^5;//定义段码位 sbit wela=P2^6;//定位段码位 sbit alarm=P2^7;//定义蜂鸣器位

uchar ccw[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //反转 uchar cw[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正传

uchar code ducode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义段码 uchar code wecode[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//定位段码

uchar tempdata[8],speed=10;

void delay(uchar z) //延时1ms { uchar i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); }

void delay500us(void) //延时500us {

int i;

for(i=0;i

void buzzer() //产生报警音 { uchar t;

for(t=0;t

alarm=1; //关闭蜂鸣器 }

void ccw_motor()//反转子程序 { uchar i; for(i=0;i

void cw_motor()//正转子程序 { uchar i; for(i=0;i

void diaplay(uchar first,uchar num) //LED 显示函数 { static uchar i; P0=0xff;

wela=1; wela=0; P0=wecode[i+first]; wela=1; wela=0; P0=tempdata[i]; dula=1; dula=0; i++; if(i==num) { i=0; } }

void init()/定时器1、2初始化函数 { TMOD|=0X11; TH0=(65536-2000)/256; TL0=(65536-2000)%256; TH1=(65536-1000)/256; TL1=(65536-1000)%256; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; PT0=1; //边沿触发 如不设置 LED显示时会跳动 }

void main() { uchar num; init(); while(1) { if(k1==0) { buzzer(); for(num=0;num

{ buzzer(); break; } cw_motor(); } } if(k2==0) { buzzer(); for(num=0;num

void timer0() interrupt 1//定时器1 { TH0=(65536-2000)/256; //延时2ms TL0=(65536-2000)%256; tempdata[0]=ducode[speed%10]; tempdata[1]=ducode[speed/10]; diaplay(0,2); }

void timer1() interrupt 3//定时器2 { TH1=(65536-1000)/256; //延时1ms TL1=(65536-1000)%256; if(k4==0) { delay(5); if(k4==0) speed++; }

while(k4==0);

if(k5==0) { delay(5); if(k5==0) { if(speed>2) speed--; } }

while(k5==0); }

效果图


相关内容

  • 步进电机28BYJ-48
  • 步进电机 28BYJ-48介绍和驱动及编程 28BYJ-48步进电机: 步电机是一种将电脉冲转化为角位移的执行机构.通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角).您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的:同时您可以通过控制脉 ...

  • 自动循迹小车_报告
  • '杰威电子'杯电气学院第二届电子设计大赛 设计报告 参 赛 题 目: 智能循迹小车 学 院 班 级: 学 生 姓 名: 学 生 专 业: 日 期: 2013.3.29 '杰威电子'杯第二届院电子设计大赛组委会印制 目 录 目 录.................................... ...

  • 步进电机c程序
  • 步进电机控制程序 (2008-06-05 19:07:55) 转载 标签: 分类: 程序设计 it 步进电机(键盘控制可调速) #include #define uchar unsigned char static unsigned int count; //计数 static int step_i ...

  • 国旗升降系统论文样本
  • 广东药学院 课程设计(论文) 题目:基于自动国旗升降系统设计 目·录 摘 要................................................................................................................ ...

  • 液压系统升降机的设计
  • 江苏城市职业学院 毕业设计(论文) ( 届) 设计(论文)题目 办 学 点 (系) 专 业 班级 学号 学生姓名 指导教师 液压系统升降机的设计 职称 液压系统升降机的设计 摘 要 该设计的题目是液压系统升降机的设计,它主要包括三个部分的内容:主机参数的确定,液压系统的设计,控制部分的设计.在该设计 ...

  • A步进电机四相八拍
  • 一. 方案设计 本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2803作为步进电动机驱动电路主芯片,以8255A作为8088并行输出接口,8088对步进电机的控制信号则通过8255A送到ULN2803. 关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中 ...

  • 机床电气控制技术_习题集(含答案)
  • <机床电气控制技术>课程习题集 西南科技大学成人.网络教育学院 版权所有 习题 [说明]:本课程<机床电气控制技术>(编号为09006)共有单选题,简答题,综合设计题,填空题3,阅读分析等多种试题类型,其中,本习题集中有[简答题]等试题类型未进入. 一.单选题 1. 下列中哪 ...

  • 全液压升降机的设计
  • 设 计(论文) (说 明 书) 题 目: 全液压升降机的设计 姓 名: 编 号: 平顶山工业职业技术学院 年 月 日 毕 业 毕 业 设 计 (论文) 任 务 书 姓名 专业 机电一体化 任 务 下 达 日 期 年 月 日 设计(论文)开始日期 年 月 日 设计(论文)完成日期 年 月 日 设计(论 ...

  • 直流电机转速控制方案
  • 直流电机控制系统 SPCE061A应用方案 V1.0 – 2005.11.30 凌阳科技大学计划教育推广中心 北京海淀上地信息产业基地中黎科技园1号楼3层 TEL: 010-62981113 FAX: 010-62986660-2992 E-mail:[email protected] http ...