基于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;
       }
    }
}
矩阵键盘和数码管显示程序这里不多做赘述,详情可以下载我的程序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Mysql介绍

    Mysql介绍Mysql介绍

  • 数据库去重有几种方法_去重数据库

    数据库去重有几种方法_去重数据库概述转发这个主要是有时会有重复数据的需求,留一个查询方法,大家有空也可以测试一下..一、Oracle数据库去重(推荐放在在第6点)1、环境准备可以看到“ALLEN”和“SMITH”这两个人的数据重复了,现在要求表中name重复的数据只保留一行,其他的删除。CREATETABLEhwb(idint,namevarchar(10));INSERTINTOhwbVALUES(1,’TOM’);INSERTINTOhwbVALUES(2,’A

  • anp相关_ANP是什么的缩写

    anp相关_ANP是什么的缩写https://www.ctolib.com/docs/sfile/prometheus-book/index.htmlprometheus指南https://e.huawei.com/cn/material/onLineView?MaterialID=c06476e14afe4d45916555318d7b5b5d华为FabricInsight技术白皮书转载于:h…

  • PathFileExists用法--使用#include

    PathFileExists用法--使用#includeBOOLPathFileExists(LPCTSTRpszPath);
            Determinesifafileexists.
    —经检测,该函数可以检测文件或目录是否存在!Remarks
    Thisfunctionteststhevalidityofthefileandpath.Itworksonlyonthelocalfilesystemoronaremotedrivethathasbeenmoun

  • Rest和RPC接口区别「建议收藏」

    Rest和RPC接口区别「建议收藏」接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如dubbo,netty、mina、thrift首先解释下两种接口调用:Rest:严格意义上说接口很规范,操作对象即为资源,对资源的四种操作(p…

  • 布隆过滤器原理简介视频_布隆过滤器误判怎么办

    布隆过滤器原理简介视频_布隆过滤器误判怎么办目录1.布隆过滤器简介2.布隆过滤器的实现思路3.布隆过滤器的公式4.实际应用场景1.布隆过滤器简介布隆过滤器(BloomFilter)是由一个很长的bit数组和一系列哈希函数组成的。本质上是一种数据结构,比较巧妙的概率型数据结构。它的特点是高效地插入和查询,并且根据查询结果可以知道某样东西一定不存在或者可能存在。相比于传统的List、Set、Map等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的,同时布隆过滤器还有一个缺陷就是数据只..

发表回复

您的电子邮箱地址不会被公开。

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