- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 ?0x08 ?1 ?1 ?0 ?0 ?0x0c ?0 ?1 ?0 ?0 ?0x04 ?0 ?1 ?1 ?0 ?0x06 ?0 ?0 ?1 ?0 ?0x02 ?0 ?0 ?1 ?1 ?0x03 ?0 ?0 ?0 ?1 ?0x01 ?1 ?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语言代码:
?#includeAT89X52.h?#includeintrins.h?#define uchar unsigned char?#define uint unsigned int??uchar 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;bb115;bb++)???? //1ms基准延时程序?? {??? ;?? }? }?}
void delay500us(void){? int j;? for(j=0;j57;j++)? {? ?;? }}void beep(void){? uchar t;? for(t=0;t100;t++)? {? ?delay500us();?FMQ=!FMQ;?? //产生脉冲? }? FMQ=1;??? //关闭蜂鸣器}
void motor_ccw(void){? uchar i,j;? for(j=0;j8;j++)???????????????? //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周? {? ?if(K3==0)?{?? break;?? //如果K3按下,退出此循环?}?for(i=0;i8;i++)? //旋转45度?{?? P1=CCW[i];?? delaynms(10);?? //调节转速?}? }}
void motor_cw(void){? uchar i,j;? for(j=0;j8;j++)? {? ?if(K3==0)?{?? break;?? //如果K3按下,退出此循环?}?for(i=0;i8;i++)? //旋转45度?{?? P1=CW[i];?? delaynms(2);?? //调节转速?}? }}
void main(void){?uchar r;?uchar N=64;????????? //因为步进电机是减速步进电机,减速比的1/
您可能关注的文档
最近下载
- (完整word版)人教版四年级上册数学复习教案.doc VIP
- 煤矿安全操作规程(2023年).docx
- 工作相关肌肉骨骼疾患的工效学预防指南 第 4 部分 轨道交通设备制造作业.pdf VIP
- 园林景观工程施工计划.pdf
- OC IIS的定义(液晶玻璃的检验与不良判定).ppt VIP
- 2025届高考语文复习:文言文阅读+课件.pptx VIP
- 大班数学《坐船去探险》教案课件材料.doc VIP
- 工作相关肌肉骨骼疾患的工效学预防指南 第 6 部分 木质家具制造作业.pdf VIP
- 初中英语八年级上册首字母填空专项练习(共100题,附参考答案).doc
- 工作相关肌肉骨骼疾患的工效学预防指南 第 9 部分 公交车驾驶作业.pdf VIP
文档评论(0)