28BYJ48电机详细使用说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

24BYJ48步进电机使用手册驱动方法及参数插入到开发板的方法:直接插入到LCD12864位置一、前言:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。为此,黑金刚开发板套件中首次引入了步进电机技术,采用扩展的方式,方便用户应用掌握。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机的主要特性:1、步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。2、黑金刚配套的是28BYJ485V驱动的4相5线的步进电机,而且是减速步进电机,减速比为1:64,步进角为5.625/64度。如果需要转动1圈,那么需要360/5.625*64=4096个脉冲信号。3、步进电机具有瞬间启动和急速停止的优越特性。4、改变脉冲的顺序,可以方便的改变转动的方向。因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心。二、配套的原理图及程序:1、如果不考虑数据锁存功能,步进电机的扩展板电路可以简化为下图:2、黑金刚套件采用的是5V步进电机,该步进电机的耗电流为200ma左右,采用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:正转表端口值步数P0.0(A)P0.1(B)P0.2(C)P0.3(D)0x03111000x06201100x0C300110x0941001表2:反转表端口值步数P0.0(A)P0.1(B)P0.2(C)P0.3(D)0x03111000x09210010x0C300110x06401103ASM驱动程序:;*******步进电机的驱动********;FOSC=12MHz;---------------------------------------------------------------------------------;步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!;本步进电机步进角为5.625度.一圈360度,需要64个脉冲完成!!!;---------------------------------------------------------------------------------;A组线圈对应P0.0;B组线圈对应P0.1;C组线圈对应P0.2;D组线圈对应P0.3;正转次序:AB组--BC组--CD组--DA组(即一个脉冲,正转5.625度);----------------------------------------------------------------------------------ORG0000HLJMPMAINORG0100HMAIN:;----------------------------正转--------------------------MOVR3,#192;正转3圈共192个脉冲START:MOVR0,#00HSTART1:MOVP0,#00HMOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZSTART;对A的判断,当A=0时则转到STARTMOVP0,ALCALLDELAYINCR0DJNZR3,START1MOVP0,#00HLCALLDELAY1;-----------------------------反转------------------------MOVR3,#128;反转2圈共128个脉冲START2:MOVP0,#00HMOVR0,#05START3:MOVA,R0MOVDPTR,#TABLEMOVCA,@A+DPTRJZSTART2MOVP0,ACALLDELAYINCR0DJNZR3,START3MOVP0,#00HLCALLDELAY1LJMPMAIN;---------------------------转速控制-----------------------DELAY:MOVR7,#10;步进电机的转速M3:MOVR6,#248DJNZR6,$DJNZR7,M3RET;---------------------------延时控制----------------------DELAY1:MOVR4,#5;2S延时子程序DEL2:MOVR3,#200DEL3:MOVR2,#250DJNZR2,$DJNZR3,DEL3DJNZR4,DEL2RET;---------------------------正反转表----------------------TABLE:DB03H,06H,0CH,09H;正转表DB00;正转结束DB03H,09H,0CH,06H;反转表DB00;反转结束END4、C语言驱动程序:/******************************步进电机的驱动*************************************;FOSC=12MHz;---------------------------------------------------------------------------------;步进电机的驱动信号必须为脉冲信号!!!转动的速度和脉冲的频率成正比!!!;本步进电机步进角为5.625度.一圈360度,需要64个脉冲完成!!!;---------------------------------------------------------------------------------;A组线圈对应P0.0;B组线圈对应P0.1;C组线圈对应P0.2;D组线圈对应P0.3;正转次序:AB组--BC组--CD组--DA组(即一个脉冲,正转5.625度);----------------------------------------------------------------------------------**********************************************************************************//*头文件*/#includereg52.h#includeintrins.h#defineuintunsignedint#defineucharunsignedchar#definenop()_nop_()ucharcodetable1[]={0x03,0x06,0x0c,0x09};/*正转表*/ucharcodetable2[]={0x03,0x09,0x0c,0x06};/*反转表*/#definemotorP0voiddelay(ucharms)/*延时*/{ucharj;while(ms--){for(j=0;j250;j++){;}}}voidmain(){uchari,j;while(1){//正转3圈共192个脉冲j=0;for(i=0;i192;i++){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;i128;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 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功