基于51单片机步进电机控制[通俗易懂]

基于51单片机步进电机控制[通俗易懂]实现功能:1、用矩阵键盘设定电机目标转速及旋转方向,范围100~300转/分;2、测量、显示电机实际转速和方向(正转显示“P”,反转显示“N”);从实现功能上分析,软件可以分解3个功能模块:1,步进电机控制模块2,矩阵键盘输入模块3,显示输出模块步进电机工作原理步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速…

大家好,又见面了,我是你们的朋友全栈君。

实现功能:

1
、用矩阵键盘设定电机目标转速及旋转方向,范围
100 ~300

/
分;
2
、测量、显示电机实际转速和方向(正转显示“
P
”,反转显示“
N
”);
 
从实现功能上分析,软件可以分解3个功能模块:
1,步进电机控制模块
2,矩阵键盘输入模块
3,显示输出模块
 

步进电机工作原理

步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行工作。因此,单片机通过向步进电机驱动电路发送控制信号就 能实现对步进电机的控制。 如图 1 所示,开始时,开关 SB 接通电源,SA、SC、SD 断开,B 相磁极和转子 0、3 号齿对齐,同时,转子的 1. 4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、A 相绕组磁极产生错齿。 当开关 sc 接通电源,SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1.4 号齿之间磁力线的作用,使转子转动,1. 4 号齿和 C 相绕组的磁极对齐。而 0、3号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次类推,A. B、C、D 四相绕组轮流供电,则转子会沿着 A. B、C、D 方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

                                                 基于51单片机步进电机控制[通俗易懂]

                                                                    图1  步进电机工作原理

步进电机工作模块

本次设计中采用四相单拍工作方式,在这种工作方式下,A、B、C、D 三相轮流通电,电流切换三次,磁场旋转一周,转 子向前转过一个齿距角。因此这种通电方式叫做四相单四拍工作方式。

基于51单片机步进电机控制[通俗易懂]

步进电机工作子程序

uchar code turn[]={0x10,0x20,0x40,0x80};//步进电机控制模型
void MOTOR_RUN()
{
   if(start)//起动标志位
   {
      if(zhuanxiang)//顺时针旋转
      {
         P3=turn[x];
         x++;
         if(x==4) x=0;
       }
      if(!zhuanxiang)//逆时针旋转
      {
        y–;
        P3=turn[y];
        if(y==0) y=4;
       }
    }
}
矩阵键盘和数码管显示程序这里不多做赘述,详情可以下载我的程序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138620.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • uint16,uint32是什么?

    uint16,uint32是什么?记得之前在刷笔试题的时候就看见过这个问题 发现当时上网百度后又忘了 最近在看 CryEngine3 引擎代码的时候又晕了 趁现在赶紧记下来 在查看 CE3 的代码时我发现了这个变量 TFlowNodeIdm flowNodeId 心想这是什么鬼 请理解一个菜鸟没啥经验 然后果断在 VS 下按 F12 查看定义 连着按了几次我终于捋清其中的奥妙 所以我干脆把 uint8 uint32

    2025年11月19日
    4
  • 面向对象和面向过程的区别理解_c是面向对象还是面向过程

    面向对象和面向过程的区别理解_c是面向对象还是面向过程一、面向对象和面向过程面向对象面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操作是分离的,函数本身只

    2022年8月16日
    7
  • 工业数据采集平台

    工业数据采集平台乐芯IOT数据采集平台产品是杭州乐芯科技有限公司为满足工业4.0大型集团工厂推出的新一代数据采集平台级产品,可满足单一平台(一个服务器)同时采集各类设备,同时兼容各种协议,单服务器压力测试达1000台,已经稳定在大型集团用户稳定运行。实现各种工业设备数据采集,包括数控机床数据采集、切割机数据采集、机器人数据采集、PLC数据采集、各种工业仪表(各类传感器、智能电表等)。并实现数据对接各大工业平台(如:根云平台、施耐德平台、阿里云平台等)。

    2022年5月23日
    105
  • XAMPP安装Windows10

    XAMPP安装Windows10下载XAMPPhttps://sourceforge.net/projects/xampp/files/我下载的是XAMPP7.4.3之后直接双击安装,尽量不要装在C盘,一直点下一步就好了安装完成后会有这样的界面(XAMPP控制面板窗口)(Apache和MySQL之前有写安装教程)点击“Apache”的“Config”键选择“Apache(httpd.conf)”,打开配置文件找…

    2022年7月15日
    18
  • 从0到1打造直播 App

    从0到1打造直播 App概要分享内容:互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——…….。从直播1.0秀场时代(YY),2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播app(Meerkat、Periscope),随着VA/AR/MR提出的沉浸式视听体验,直播4.0时代很快就能到来。在这个全民娱乐的时代,直播已经火得不要不要的,

    2022年5月29日
    42
  • Python输入输出(IO)[通俗易懂]

    Python输入输出(IO)[通俗易懂]程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输入和标准输出(键盘和显示器)在程序的

    2022年7月6日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号