步进电机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 <stc8.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=P0^0;  // 反转按键
sbit K2=P0^1;  // 正转按键
sbit K3=P0^2;  // 停止按键// 四相的引脚定义
sbit A1 = P1^6;
sbit B1 = P1^5;
sbit C1 = P4^4;
sbit 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[i]);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[i]);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<N;r++){motor_ccw();  // 电机逆时针转if(K3==0){break;}}}else if(K2==0){for(r=0;r<N;r++){motor_cw(); // 电机顺时针转if(K3==0){break;}}}else          Give(0x00);    // 电机停止}} 

stc8a8k64s4单片机控制步进电机(四相八拍)实现顺时针转一圈和逆时针转一圈相关推荐

  1. 使用S7-200SMART定时器直接控制四相八拍步进电机

    S7-200SMART是西门子公司的一款小型PLC.本文介绍一种PLC直接控制步进电机的方法,会附带梯形图程序. 现有能搜到的很多教程都是使用步进电机驱动器,然后用开发工具中使用向导生成PWM子程序调 ...

  2. 四相八拍步进c语言程序,四相八拍的步进电机简单的驱动

    简单介绍: 1. 步进电机:就是将电脉冲信号转变为角位移或者线位移的 开环控制 电机 2. 开环控制:即开环控制系统,就是不降控制的结果反馈回来影响当前控制的系统. 所谓开环:就是没有反馈 3. 四相 ...

  3. 步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器

    步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器. 设计一个三选一数据选择器来控制pause信号选择工作方式,以及用两个74160与两个744 ...

  4. 四相八拍步进电机的转速如何计算?

    四相步进电机有两种运行方式  1.四相四拍:2.四相八拍. #拍数# 完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-B ...

  5. 51单片机控制步进电机-电路连接

    51单片机控制步进电机-电路连接 概要:本案例讲解的内容是51单片机控制步进电机硬件连接部分.后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 硬件清单: 1.51单片机控制板一个 2.二 ...

  6. Arduino单片机控制步进电机,关于步进电机的细分

    关于步进电机的细分 查询的资料说:增加细分数并不能增加力矩.但是,细分后会运行更平稳,减少低频振动和噪声.驱动器输出的工作电流越大,力矩越大.转速越快,工作电流会减小越快,力矩也会减小越快.建议步进电 ...

  7. 用单片机控制步进电机

    2006-05-07 17:11:19 学单片机 | 站长的书 | 学C语言 | 教学资料 | 销售中心 | 产品资料 | McuBBS | 下载中心 | 版主原创 | 关于我们 学 单 片 机 从 ...

  8. 单片机控制步进电机正反转

    单片机控制步进电机正反转 硬件连接: 程序: #include <reg52.h> #define uint unsigned int #define uchar unsigned cha ...

  9. 单片机控制步进电机T型加速实现原理

     单片机控制步进电机是通过时钟计数器计算次数产生脉冲 T型加速转换到数学计算 计数器每秒钟计数c=1000000次 脉冲频率从 v0 = 4K 到v = 40K次  v0时每个脉冲需要计数 m0 ...

最新文章

  1. poj 1716(贪心)
  2. wxWidgets:wxMutex类用法
  3. BZOJ 2134: 单选错位
  4. java源码导入eclipse_spring framework源码下载并导入eclipse
  5. vb net 模拟 ctrl+c_8款优秀的.NET开发工具,收藏了
  6. 微服务之旅的经验分享
  7. java 查找引用_java – Eclipse查找方法的引用
  8. 系统学习NLP(二十六)--NBSVM
  9. Redis结合Lua脚本实现高并发原子性操作
  10. 基于深度极限学习机DELM的回归预测
  11. html5用户输入后自动显示用户名已重复_lt;inputgt; | HTML输入框标签
  12. java摆渡人,视频丨越野怪兽 JAVA 摆渡人(ANIMA)山地车
  13. uni-app(vue小程序)学习笔记
  14. uniapp canvas 合成头像
  15. LC振荡电路设计原理
  16. 从头开始实现Java多人联机游戏(飞机大战)源码粘贴即用
  17. 周报,当前是第几周 ?
  18. 什么是机器人编程课程
  19. linux离线安装redmine_举个栗子!Tableau 技巧(97):离线安装 Linux 版 Tableau Server...
  20. 存储过程,查询结果赋值给定义变量

热门文章

  1. 中国手机网络制式常识
  2. 如何增强自己的UI审美,如何提高自己的产品平面设计的能力呢?
  3. 怎么实现定位到用户所在的城市
  4. 史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门
  5. 【iOS开发-59】LOL案例:单组tabView、alertView样式、实现监听,以及用reloadData数据刷新
  6. linux 创建用户命令
  7. 毕业论文关键字HTML5,论文关键词一般是几个?
  8. 二级c语言一本通pdf,《2020年全国计算机等级考试一本通:二级C语言》试题源文件...
  9. Host is not allowed to connect to this MySQL server的解决办法
  10. 如此好的树状数组学习资料