基于51单片机的步进电机驱动程序

  • 一、步进电机分类
    • 1.按构造分类
    • 2.按定子上相数来分
  • 二、步进电机相关参数
    • 1.步距角
    • 2.分辨率
  • 三、四相单极性驱动及例程
  • 四、技巧及疑问
    • 1.有类似下面图片的步进电机如何写驱动。(图片中是28byj-48)
    • 2.确定脉冲发送频率
    • 3.步进电机振动时说明脉冲频率过高或者电压过低;
    • 4.疑问:如何精确确定步进电机脉冲频率?

一、步进电机分类

1.按构造分类

①反应式;
由定子和转子构成,定子上有绕组,转子由软磁材料制成。
②永磁式;
转子由永磁体制成,转子极数与定子极数相等。
③混合式
定子有多相绕组,转子由永磁体构成,转子与定子间齿轮接触,提高精度与稳定性,输出大力矩。

2.按定子上相数来分

单相、二相、三相、四相、五相。
两相四线需选择双极性驱动;两相六线可选择双极性驱动和单极性驱动。

单极性驱动▼

双极性驱动▼
写驱动程序时,直接按照以上图片左侧表格,写相关状态码,前往第三大点。

二、步进电机相关参数

1.步距角

步进电机在一个脉冲下的角位移(转了多少角度)。
就四线单极性驱动来说

unsigned char code Zhenzhuan[4]={0x02,0x04,0x08,0x10}; //由表格可得转一圈的状态  正转0000 0010,0000 0100,0000 1000,0001 0000

数组中一个元素就是一个脉冲。

2.分辨率

含义步进电机转一圈需要的脉冲数。

市面上常见的步进电机,有28步(如28byj-48)、42步进电机(3D打印机、写字机器人常用)。
分辨率=360/步距角。

三、四相单极性驱动及例程

#include <reg51.h>
unsigned char code Zhenzhuan[4]={0x02,0x04,0x08,0x10}; //由表格可得转一圈的状态  正转0000 0010,0000 0100,0000 1000,0001 0000
unsigned char code Fanzhuan[4]={0x01,0x08,0x04,0x02}; //反转                         0001 0000,0000 1000,0000 0100,0000 0010
/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void Delay(unsigned int i)//延时
{while(--i);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{unsigned char i;while(1){for(i=0;i<4;i++)      //4相{P1=Zhenzhuan[i];  //Delay(500);        //该参数可以调整电机转速 ,数字越小,转速越大,输出脉冲的频率}}
}

四、技巧及疑问

1.有类似下面图片的步进电机如何写驱动。(图片中是28byj-48)


①看图,5根线,一个循环(不是转一圈)需要8个脉冲。
则脉冲代码如下:

uchar code zheng_zhuan[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆时钟旋转相序表uchar code fan_zhuan[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //顺时针旋转相序表

②28BYJ-48步进电机,分辨率28,则转一圈需要28个脉冲。
当要控制该步进电机转动一圈时,两种办法,一、在数组中按照顺序从前到后复制28个代码(最容易实现)。二、在循环中实现。

for(j=1;j<5;j++)
{for(i=0;i<8;i++){P1= zheng_zhuan[i];delay(300);if(j==4&&i=3)i=7;}
}

2.确定脉冲发送频率

① 舵机基本算是 10ms;
② 查看步进电机参数;
③ 通过在延时函数中改变延时时间来试出来。

3.步进电机振动时说明脉冲频率过高或者电压过低;

4.疑问:如何精确确定步进电机脉冲频率?

基于51单片机的步进电机驱动程序相关推荐

  1. 51单片机 驱动步进电机 C语言 lcd,基于51单片机的步进电机驱动程序

    一.步进电机分类 1.按构造分类 ①反应式: 由定子和转子构成,定子上有绕组,转子由软磁材料制成. ②永磁式: 转子由永磁体制成,转子极数与定子极数相等. ③混合式 定子有多相绕组,转子由永磁体构成, ...

  2. 【033】基于51单片机的步进电机角度测量与速度设定Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的步进电机角度测量与速度设定proteus仿真设计一份: (2).基于51单片机的步进电机角度测量与速度设定proteus仿真设计keli源代码一份: (3) ...

  3. 步进电机的计算机控制系统设计,基于.51单片机的步进电机控制系统设计.doc

    基于51单片机的步进电机控制系统设计 中文摘要 步进电机是一种受,并且能将相应的或者的电动机.由于步进电机具有步距误差不积累.运行可靠.结构简单.惯性小.成本低等优点,因此,被广泛使用于计算机外围电路 ...

  4. 基于51单片机的步进电机的控制

    前面笔者分享过基于51单片机的两种小车制作,我们利用的是L298N驱动控制电机转动,那么接下来,笔者给大家介绍两种利用51单片机控制步进电机的小程序. 首先我们要如何使电机转动呢,源程序如下: #in ...

  5. 基于51单片机步进电机控速正反转proteus仿真

    本设计是基于51单片机步进电机控速正反转(原理图+源码+仿真) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0005 [文档]C0005 网盘链接 资 ...

  6. 基于51单片机驱动A4988实现步进电机逆时针转动

    基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...

  7. 基于51单片机简易智能家居

    基于51单片机的智能家居的设计 前言 一.项目简介 二.开发环境/工具: 1.Keil 5/Keil 4 2.STC-ISP 3.蓝牙串口助手 4.手机app 三.硬件设计: 1.单片机与蓝牙模块连接 ...

  8. 基于51单片机直流电机PWM调速设计

    具体实现功能 系统由STC89C52单片机.LCD1602液晶显示屏.霍尔测速传感器.3V直流电机.按键模块构成. 具体功能: 1.采用霍尔传感器非接触式测电机转速: 2.LCD1602液晶显示当前的 ...

  9. 基于51单片机的万年历(包含闹钟,秒表)实现

    开头唠一唠: 趁着寒假的时间,也趁着课程设计正好是做一个万年历.就打算好好从头到尾来一遍.涨涨知识.首先说的是本人也是小白一颗,大神们能帮忙指正错误的话,不胜感激.写博客只是为了总结经验,要是帮到一部 ...

  10. 基于51单片机的遥控小车

    基于51单片机的遥控小车(HC-05模块,L298n模块) 保姆级 1.硬件准备 2.部分硬件说明 USB转TTL模块 可以把串口发送的TTL信号转换成USB信号再发送给电脑,电脑就可以接收到单片机发 ...

最新文章

  1. usaco Healthy Holsteins
  2. python中turtle画圆填充颜色_用Python中的画图工具turtle绘制八卦图
  3. mybati内sql查询语句在两个日期内
  4. 在51aspx收集的农历日期类
  5. 全能HOOK框架 JNI NATIVE JAVA ART DALVIK
  6. 方法覆盖(方法重写)
  7. php中files和FILRS,php获取文件内容最后一行示例
  8. org.eclipse.birt.report.exception.ViewerException: 没有可用的报表设计对象.
  9. 公式中*和· 号的含义区分(GRU公式)
  10. IOS iframe宽高问题(来至stackoverflow)
  11. 模拟Windows任务管理器CPU使用率的动态折线图-农夫山泉
  12. 编译安装的mysql如何更改文件路径
  13. 5.3.2 先行发生
  14. H3CNE、H3CSE认证考试亲身奋斗过程的心得(拿出来晒晒)
  15. 打包或者编译python程序
  16. 面试:如何评价程序员
  17. 巴菲特致股东的信pdf_股神巴菲特发布致股东公开信,接班人仍是个谜
  18. MATLAB控制有效数字
  19. 【知识图谱】大数据环境下知识工程的机遇和挑战
  20. 大数据正当时,理解这几个术语很重要

热门文章

  1. 【论文阅读】Speicher: Securing LSM-based Key-Value Stores using Shielded Execution
  2. AnkhSvn推出1.02支持vs2008
  3. Visual studio插件:Visual Svn 替代工具--AnkhSvn
  4. z世代消费力白皮书_LSPACE丨Z世代虽穷但买的态度你真的懂吗
  5. 【报告分享】 2020国人旅游出行研究报告-企鹅智库(附下载)
  6. 如何调试 chrome插件
  7. wpsmac和pc版的区别_Mac版WPS Office和微软Office 2019哪个更好?
  8. 思维导图软件哪个好?盘点10款好用的思维导图软件
  9. 百度地图生成器添加标注后图标不显示的解决方法
  10. wsimport简单实现WebService