完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。) 红线接电源5V,橙色电线接P1.6口,黄色电线接P1.5口,粉色电线接P4.4口,蓝色接P1.4口。 橙 黄 粉 蓝 十六制(数据) 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}; //正时钟旋转相序表 #include #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}; // 独立按键定义 ***it K1=P0^0; // 反转按键 ***it K2=P0^1; // 正转按键 ***it K3=P0^2; // 停止按键 // 四相的引脚定义 ***it A1 = P1^6; ***it B1 = P1^5; ***it C1 = P4^4; ***it D1 = P1^4; // 毫秒级延时 (根据自己的单片机修改) void delaynms(uint aa) { uchar i, j; while(aa--) { i = 12; j = 169; do { while (--j); } while (--i); } } // 给每个相赋值 void Give(unsigned char dat) { A1 = dat & 0x08; B1 = dat & 0x04; C1 = dat & 0x02; D1 = dat & 0x01; } // 步进电机逆时针转赋值 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度 { Give(CCW); delaynms(2); // 调节转速 } } } // 步进电机顺时针转赋值 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度 { Give(CW); delaynms(2); // 调节转速 } } } void main(void) { uchar r; uchar N=64; //因为步进电机是减速步进电机,减速比的1/64 , //所以N=64时,步进电机主轴转一圈 P07 = 0; // 开独立按键总开关 while(1) { if(K1==0) { for(r=0;r motor_ccw(); // 电机逆时针转 if(K3==0) { break; } } } else if(K2==0) { for(r=0;r motor_cw(); // 电机顺时针转 if(K3==0) { break; } } } else Give(0x00); // 电机停止 } } |
|
|
|
只有小组成员才能发言,加入小组>>
2431 浏览 0 评论
9078 浏览 4 评论
36741 浏览 19 评论
5020 浏览 0 评论
24701 浏览 34 评论
1512浏览 2评论
1730浏览 1评论
2170浏览 1评论
1538浏览 0评论
509浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:18 , Processed in 1.351785 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号