找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4746|回复: 3
打印 上一主题 下一主题
收起左侧

51单片机学习:步进电机控制,正转反转等

[复制链接]
跳转到指定楼层
楼主
步进电机应用广泛,
例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合
一些概念:
拍数N
定子控制绕组每改变一次通电方式,即为一拍
一个磁场通电周期是  A-B-C-D-A
完成一个磁场周期性变化所需脉冲数,
也指电机转过一个齿距角所需脉冲数,用N表示
拍数又等于相数的1倍或2倍,
以四相电机为例,
有4相4拍, A-B-C-D-A...
   4相8拍, A-AB-B-BC-C-CD-D-DA-A...

齿距角θz
一个通电循环周期(比如4拍)转子转过一个齿距角
齿距角又等于360除以转子齿数Z,  θz=360/Z

步距角θs
步距角,即在没有减速齿轮的情况下,对于一个脉冲信号,转子所转过的机械角度.
也就是说,每一拍转子转过的角度称之为步距角,通常用θs表示
θs=齿距角/拍数
θs=360/(N*Z)
 
步距角的误差不会长期积累,只与输入脉冲信号数相对应,
可以组成结构较为简单而又具有一定精度的开环控制系统,
也可以在要求更高精度时组成闭环系统。

转速X
每分钟电机转了多少转?设脉冲频率f
一个脉冲,转子转过角度为1/(ZN),
X=60*f/(ZN)  拍数与齿数表示法
=(f*θs)/6  步距角表示法
以上都是网上搜到的,整理了下,有不对的敬请指出,谢谢.

---------------------------------------------------------







我手上用到的步进电机

24BYJ48-5v  减速永磁步进电机
功能特点:
采用ULN2003驱动,使用方便,带齿轮减速,噪音低,运转平稳,5V即可驱动,
器件参数:
1.额定电压:5-10V DC
2.直流电阻:60Ω±7%(25℃).
3.减速比:1/64
4.步距角:5.625°*(1/64),  含减速比
5.驱动方式:4相8拍
6.牵入转距:≥350gf.cm(工作频率:100PPS)
7.打滑扭力:800~1300gf.cm
8.温升:≤55K(5VDC 工作频率:100PPS)
9.噪音:≤35dB(空载,100PPS,水平距马达10cm)
10.绝缘耐压:600V AC/1秒
11.引线拉力强度:1Kgf/条
12.接线方式:5线4相
   1.VCC 红色
   2.A   橙色   
   3.B   黄色
   4.C   粉色
   5.D   蓝色
============================================================

  1. #include "my51.h"

  2. //4相8拍
  3. u8 code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆时针旋转相序表
  4. u8 code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //顺时针旋转相序表

  5. sbit S3=P3^5;  //反转 按键
  6. sbit S4=P3^6;  //正转 按键
  7. sbit S5=P3^4;  //停止 按键

  8. void motorTurn_ccw()          //转1圈,逆时针
  9. {        
  10.         u8 i,j;
  11.         for(j=0;j<8;j++)       //电机内部的转子旋转一周
  12.         {
  13.                 if(S5==0)        //按键没处理抖动
  14.                 {
  15.                         break;                   //如果停止键按下,退出此循环
  16.                 }
  17.                 for(i=0;i<8;i++)    //旋转45度, 8*5.625°=45°
  18.                 {
  19.                         P1=tableCCW[i];
  20.                         delayms(2);            //调节转速
  21.                 }
  22.         }
  23. }

  24. void motorTurn_cw()                          //转1圈 ,顺时针
  25. {
  26.         u8 i,j;
  27.         for(j=0;j<8;j++)                //8*45°=360°
  28.         {
  29.                 if(S5==0)
  30.                 {
  31.                         break;               //如果停止键按下,退出此循环
  32.                 }
  33.                 for(i=0;i<8;i++)    //旋转45度,8*5.625°=45°
  34.                 {
  35.                         P1=tableCW[i];
  36.                         delayms(2);     //调节转速
  37.                 }
  38.         }
  39. }


  40. void main()
  41. {
  42.         u8 r;
  43.         u8 N=64; //减速步进电机,减速比1/64,所以N=64时,步进电机外主轴转一圈
  44.         P1=0xff; _nop_();        
  45.         ledLock= LOCK;                  //我们的P1口接有8个led灯,先锁定,不要让它们亮 ,节能环保        
  46.         while(1)
  47.         {
  48.                 if(S3==0)                                  //按键了
  49.                 {
  50.                         for(r=0;r<n;r++)
  51.                         {
  52.                                 motorTurn_ccw();  //电机逆时针转
  53.                                 if(S5==0)
  54.                                 {
  55.                                    break;                  //俺S5键立马停止
  56.                                 }
  57.                         }
  58.                 }
  59.                 else if(S4==0)
  60.                 {
  61.                         for(r=0;r<n;r++)
  62.                         {
  63.                                 motorTurn_cw();    //电机顺时针转
  64.                             if(S5==0)
  65.                             {
  66.                                            break;
  67.                             }
  68.                         }
  69.                 }
  70.                 else
  71.                 {
  72.                         P1=0xf0;                            //平时也是停止的               
  73.                 }
  74.         }
  75. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:346066 发表于 2018-6-6 14:56 | 只看该作者
有具体的接线方式吗
回复

使用道具 举报

板凳
ID:380605 发表于 2018-10-15 10:45 | 只看该作者
在编译时显示第4行缺少分号是什么原因?
回复

使用道具 举报

地板
ID:304151 发表于 2018-12-24 09:16 | 只看该作者
这样的程序是不是步进电机直接单片机中间加3个按钮就可驱动了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表