原文链接:https://blog.csdn.net/return9/article/details/79490726

步进电机的相数是指电机内部的线圈组数,如4相就是有ABCD四组线圈。

拍数是指完成一个循环的通电次数。例如按照ABCD顺序完成一个循环,就称为单4拍。相邻的两个线圈也可以同时通电,例如可以按照AB-BC-CD-DA方式通电,这种就称为双4拍。注意,对同一个电机来说,单四拍与双四拍每拍转动的角度是相同的。还有一种方式是单个线圈与双个线圈轮流通电,就是A-AB-B-BC-C-CD-D-DA,这样就是四相八拍,这种方式工作时每拍转动的角度是4拍的一半。

步进电机的励磁方式分为全步励磁和半步励磁,其中全步励磁又有一相励磁(在没每一瞬间步进电机只有一个线圈导通,步进电机旋转1.8度)和二相励磁(在每一瞬间,步进电机有两个线圈同时导通1.8度);半步励磁又称一二相励磁(线圈交替导通)。

按照一定的顺序对这4组线圈通电,就可以驱动步进电机旋转。步进电机编码指的就是驱动电机的I/O口电平状态。比如用P0.0到P0.3四个端口去控制电机的4个线圈(4相),并分别对应线圈A、B、C、D,则P0=0x00时,电机无电,P0=0x01时,A相通电,P0=0x02时,B相通电,依此类推。就是电机转一圈P0的依次取值是为一个编码。

写成二进制。通电的顺序就是0001-0110-0010-1010-1000-1001-0001-0011,相序就是这样的。

编码其实就是定义好拍数,励磁方式之后。用01高低电平表示通电情况,十六进制表示即可。

例如(此处参考http://blog.csdn.net/yezhubenyue/article/details/6182495):
步进电机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放大再连接到相应的电机接口,如下:

顺序刚好相反

所以可以定义旋转相序
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<AT89X52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar 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;bb<115;bb++)     //1ms基准延时程序{;}}}void delay500us(void)
{int j;for(j=0;j<57;j++){;}
}void beep(void)
{uchar t;for(t=0;t<100;t++){delay500us();FMQ=!FMQ;   //产生脉冲}FMQ=1;    //关闭蜂鸣器
}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度{P1=CCW[i];delaynms(10);   //调节转速}}
}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度{P1=CW[i];delaynms(2);   //调节转速}}
}void main(void)
{uchar r;uchar N=64;          //因为步进电机是减速步进电机,减速比的1/64 ,//所以N=64时,步进电机主轴转一圈while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ccw();  //电机逆转if(K3==0){beep();break;}}}else if(K2==0){beep();for(r=0;r<N;r++){motor_cw();    //电机反转if(K3==0){beep();break;}}}elseP1=0xf0;    //电机停止}

关于步进电机励相数、拍数、励磁方式、编码相关推荐

  1. 步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,(毕业设计)基于单片机的步进电机控制系统(汇编及C语言程序各个)...

    基于单片机的步进电机控制系统设计 前言 步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性.通用性.可维护性以及性价比最优,根据控制系统功能要求及步进电机应 ...

  2. 步进电机定子相数:单相/两相/三相/四相/五相结构工作原理

    步进电机定子相数:单相/两相/三相/四相/五相结构工作原理 文章目录 决定步距角的因素 单相步进电机 两相步进电机 三相步进电机 四相步进电机 五相步进电机 相数与特性:分辨率.振动.转速 当步进电机 ...

  3. 一拍是多少秒 计算机制音乐,E哥谈如何计算音乐的拍数及每拍时值是多少及数学好对学音乐有帮助吗?...

    原标题:E哥谈如何计算音乐的拍数及每拍时值是多少及数学好对学音乐有帮助吗? 一.怎样计算音乐的节拍? 这个网上有很多回答,也有很多资料都很详细.我就不重复说了.我只举一个例子来直接说明. 1.这里只说 ...

  4. [信号基础] 信号频率,采样率,采样点(快拍数)等

    参考: <2>信号频率.采样频率.采样点数 - 简书 <3>2.3 信号采样与采样定理 - 物联网前沿实践 <4>语音信号处理--常识与基本概念 - 凌逆战 - 博 ...

  5. 一拍是多少秒 计算机制音乐,E哥谈如何计算音乐的拍数及每拍时值是多少数学好学音乐有帮助吗...

    一.怎样计算音乐的节拍? 这个网上有很多回答,包括这里问答也有很多回答.都很对.我就不重复说了.我只举一个例子,直接说明. 1.这里只说假定一个1/4音符表示一拍. 也就是上图A表示的是四分音符,也就 ...

  6. music介绍了快拍数

    MUSIC算法仿真分析 一.DOA估计方法 波达方向(Direction of arrival, DOA)是指空间信号的到达方向(各个信号到达阵列参考阵元的方向角,简称波达方向).它是空间谱估计理论的 ...

  7. 拍七游戏 许多人都曾经玩过“拍七”游戏。 规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过 (比如:7,14,17等都不能数出),下一人继续数下面的数

    /* 拍七游戏许多人都曾经玩过"拍七"游戏.规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17等都不能数出),下一人继续数 ...

  8. 步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,基于SCM和PLC的两种步进电机控制方法...

    引 言 步进电机位移与输入脉冲信号数相对应,精度高.响应特性好.可靠性高.速度可在较宽范围内平滑调节,是控制系统中一种重要的自动化执行元件. SCM(Single Chip Microcomputer ...

  9. 数钱数到手抽筋html5,数钱数到手抽筋的经典句子

    1.他两手抓住竹竿,像敏捷的猴子那样,双脚一蹬,就嘈嘈嘈地爬了上去. 2.父母会在历史博物馆里徜徉度过愉快的时光. 3.只要我的生命没有停止,对他的记忆就不会熄灭. 4.对于像数学物理这样的学科,我只 ...

最新文章

  1. 在asp.net中使用异步同步rss
  2. 一张图看程序媛阿源的2021个人年度流水账
  3. 字符串操作之字符串拷贝功能实现
  4. 静态代理设计与动态代理设计
  5. Oracle中Select语句完整的执行顺序
  6. dubbo2.6源码-负载均衡
  7. 支离破碎的 Android
  8. 奥维中如何关闭gcj02坐标_QGIS入门知识:啥是坐标系
  9. (2)二进制文件方式部署Kubernetes高可用集群----------部署环境准备
  10. 不同操作系统的user data存放目录
  11. DSPE-PEG-Hydroxyl DSPE-PEG-OH 磷脂-聚乙二醇-羟基概述
  12. Aqua Data Studio 19中文版
  13. 信创办公--基于WPS的Word最佳实践系列(利用表格控制排版)
  14. 河南大学大计算机考研复试分数线预测,2017年河南大学考研复试分数线以及复试通知...
  15. 个人云存储的两大强者比拼 百度云VS苹果iCloud
  16. 联想服务器查看raid信息,联想服务器raid信息恢复
  17. 网易免费的企业邮箱smtp的地址
  18. 5、异步流(Asynchronous Flow)
  19. “新基建”将改变什么
  20. PotPlayer播放蓝光片源及如何硬解码和音频源码输出

热门文章

  1. c语言s型曲线方程,电机控制 | S曲线加减速
  2. gh-ost封装脚本
  3. AI教程 如何在 Illustrator 中创建渐变颜色?
  4. 解决硬盘自动休眠问题
  5. 4、51单片机——LCD1602 驱动(郭天祥)
  6. 郭天祥的10天学会51单片机_第十三节
  7. STM32CubeMAX 安装 2020年3月26日
  8. 经济学文章---巨量人口对政经的加速减速效应、
  9. Git LFS(Large File Storage)使用简介
  10. 如何将腾讯QLV格式转换成MP4普通视频