当前位置: 首页 > news >正文

基于单片机的步进电机控制系统的研究

摘要: 步进电机控制作为一种电机控制系统的重要模式,属于现代数字化控制的重要手段,其应用已经相当广泛。步进电机属于感应电机类,利用电子电路将直流电分为分时供电、多相时序供电控制电流,利用这种电流为电机供电,驱使电机工作。步进电机不能够在常规模式下使用,必须通过双环形脉冲信号驱动电路,因此在使用的过程中必将涉及多方面学科知识,目前已经成为电机一体化控制关键技术。
关键词: 单片机;步进电机;控制系统
步进电机的启动运行直接影响到数字控制的准确性和稳定性,因此在对单片机控制的过程中必须有效渡过加速度运行阶段,以保障电机精准、高效运行。目前的步进电机驱动技术主要采用了斩波恒流控制和正弦脉宽调制技术进行电机控制,极大限度的提高了电机的运行速度和运行精度。另外,单片机的电路设计上,其驱动器电路通常会采用单片机加外围电路方式,通过专用的SPWM芯片实现数字信号处理。本文针对单片机中利用步进电机控制系统进行电机运行控制,为提高单片机的电机运行速度和准确度提供建议。

1 理论概述

1.1 步进电机控制原理

步进电机和普通的电机组成基本一样,其主要的组成有:定子、转子等主要的组件。步进电机的主要控制原理在于通过磁通寻找最短路径,以此来一步步实现电机转动控制。步进电机运行可分为四个阶段,每个阶段转子的两极有多个牙齿,转子轴上多齿,因此电机运行中可能会出现错齿问题

1.2 步进电机系统组成

步进电机控制系统一般都是采用开环控制方式,其装置的成本低、结构相对简单、运行稳定。步进电机作为自动化控制装置,其被广泛应用于数控机床、机器人、智能控制、工业自动化等自动化控制领域。单片机的步进控制系统作为一种常用的步进电机控制系统,采用典型的步进电机控制驱动,主要包含了:步进控制器、驱动器以及步进电机三个部分。单片机选型为AT89S51时,其具备128字节的ram和4字节的flash闪存储存器。采用标准兼容的8051系统指令和引脚,可实现在线编程和传统方式编程。驱动器将单片机的输出脉冲加大,通过驱动步进电机实现电机运行,驱动器实现了输出功率放大的同时输出反相。步进电机采用了四相反应式步进电机,通过两种励磁方式推动运行

2 步进电机控制系统

2.1 基本组成

步进电机控制系统作为一个控制整体,其具有操作控制和运动控制系统之分,二者之间相互辅助共同形成了控制单片机电机运行。操作系统控制主要是将操作者的操作转化为运动系统能够接受分析的电信号,运动系统随之做出反应,完成操作者的规定、规范动作。运动控制则属于一种实实在在的控制技术,完成了物体的位置运动和速度控制操作。运动控制系统在一般的步进电机控制系统中由驱动、控制以及执行三个部分组成,运动控制系统在控制操作员的指令之下,驱动电机,通过电机完成执行任务操作。随着科学的不断发展,步进电机控制系统技术变得日益成熟,由操作系统的运营商提供操作规范,然后再通过运动控制系统接受电信号,驱动控制系统完成全套反应动作。目前,单片机的电机进行步进控制的时候,主要关注点在于控制对象的位置和速度,总结起来整个控制过程分为了控制、驱动以及执行等几个重要部分。

2.2 驱动控制系统组成

单片机进步电机控制系统主要分为了脉冲信号产生、脉冲信号分为两个主要部分,其中脉冲信号产生作为步进电机控制的重要开始。脉冲信号产生主要通过单片机完成,常规脉冲为0~5V,通过增加发电功率和时间延长时序以此控制软件编程。脉冲信号的分为则分为硬件法和软件法两种方式:其一,硬件法。硬件法则主要是通过一种特殊的脉冲分配装置控制脉冲信号的分布, 如, 常用的 PMM8713可以很好实现单片机输出脉冲信号分布,通过逻辑方式组合相绕组。硬件法利用特殊的脉冲控制分配器和触发器,通过这些装置来控制指令信号,然后直接通过放大器按照逻辑关系驱动电机
运动。其二,软件法。通过软件法编写程序,可以控制电机的电流转变过程按照一定的顺序来完成具体程序,利用单片机的输入输出接口驱动电路,并判断输出的具体的脉冲信号。脉冲信号控制的时候,
往往是通过旋转方式来控制脉冲,整个过程会缩短CPU运行时间。通过软件法搭建步进电机控制系统可以降低生产成本。因此,很多单片机的电机进行控制的时候选择软件法,其更加实惠。我国工业
生产不断实现数字化,利用软件法来实现步进电机控制系统搭建的相关技术也将变得更加成熟,符合于未来的电机控制系统开发发展方向。

2.3 功率放大器

单片机的输出脉冲电流比较小,因此需要功率放大操作,因此放大器被用于单片机的步进电机控制系统中。实现单片机的驱动系统的关键就是选择合适的功率放大器,具体的驱动步进电机控制进行旋转需放大脉冲信号。平均电流和电机转矩要尽可能保障电动机驱动系统选择额定平均电流更大目标。通过高功率放大器来控制和驱动特殊设备,也可以根据不同的需求制定出不同的驱动模式

3 单片机步进电机控制系统设计

步进电机控制电路采用四相步进电机,其具备良好的负载能力,其可以控制电机的安全、稳定、准确运行。步进电机定子绕组方案按照一定的顺序进行排列,转子则沿着固定方向一步一步转动。步进电机运行的四个阶段,必须满足电力秩序八拍,具体的顺序为:
A--AB--B--BC--C--CD--D--DA--A。
单片机步进电机控制系统的实现方案程序如下所示:
ORG 0000H
LJMP MIAN
MAIN:MOV Sp,#06H;堆栈指针
ACALL,DELAY
SMRUN;电机控制方式单八拍
MOV PI,#08H;A相开始通电
ACALL,DELAY
MOV PI,#06H;AB相开始通电
ACALL,DELAY
MOV PI,#02H;C相开始通电
ACALL,DELAY
MOV PI,03H;CD相开始通电
ACALL,DELAY
MOV PI,01H;D相开始通电
ACALL,DELAY
MOV PI,09H;DA相开始通电
ACALL,DELAY
MOV PI,R4,#10
DR1,AY1
MOV R5,#250
DJNZ R4,DELAY
RET
END
上述的程序设计按照步进电机运行的四个阶段,必须满足电力秩序八拍顺序而成,其能够满足单片机步进电机控制系统的要求。

4 结语

单片机在数控机床以及机械自动化中的应用相当广泛,而步进电机控制系统又是当前主流的脉冲控制系统。利用步进电机控制系统实现了将电子技术、驱动技术等融合在一起,可以实现对电机的
稳步、准确控制。单片机的步进电机控制系统最为主要的注意点在于电脉冲信号控制,通过控制相绕组实现对整个电流控制。步进电机控制系统必须突出其精确控制功能,同时还要尽可能减少累积误差,否则设计的步进电机控制系统则存在着系统缺陷,无法在市场上站稳脚跟或将失去竞争力。

相关文章:

基于单片机的步进电机控制系统的研究

摘要: 步进电机控制作为一种电机控制系统的重要模式,属于现代数字化控制的重要手段,其应用已经相当广泛。步进电机属于感应电机类,利用电子电路将直流电分为分时供电、多相时序供电控制电流,利用这种电流为电机供电,驱使电机工作。步进电机不能够在常规模式下使用,必须通过双环…...

BioPorto胰高血糖素样肽-1抗体(GLP-1)

丹麦BioPorto Diadnostics公司致力于提供世界领先的GLP-1抗体。基于结合GLP-1位点的不同,他们筛选出了不同的抗GLP-1抗体。有的抗体可以同时结合GLP-1的活性形式和非活性形式,有的专门结合生物活性形式的GLP-1。在开发和检测GLP-1相关治疗的过程中&#…...

Go 语言字符串及 strings 和 strconv 包

在 Go 语言编程中,字符串是最基本、最常用的数据类型之一。无论是处理用户输入、读取文件内容,还是生成输出,字符串操作无处不在。为了方便开发者对字符串进行各种操作,Go 语言提供了强大的 strings 包和 strconv 包。strings 包包…...

政府窗口服务第三方评估报告如何写

撰写政府窗口服务第三方评估报告需要结构清晰、内容详实,并包含对评估过程和结果的详细描述以及改进建议。以下是第三方评估机构民安智库(第三方社会评估调研公司)给出的一个政府窗口服务第三方评估报告简单的示例: 一、封面 报…...

若依前后端分离Spring Security新增手机号登录

备忘贴 转自:【若依RuoYi短信验证码登录】汇总_数据库_z_xiao_qiang-RuoYi 若依 配置Security: 按照Security的流程图可知,实现多种方式登录,只需要重写三个主要的组件,第一个用户认证处理过滤器,第二个用户认证tok…...

Oracle操作扩可变字符长度交易影响分析-较小

使用AI帮助学习知识 以下知识来至AI oracle 一张大表,对可变字符串长度从10扩到20位,oracle底层存储是否会发生变化,先锁表,更新表字典信息,然后会不会重新整理表,在有交易的情况下导致大量交易失效&#…...

全栈工程师需要具备哪些技能?

概论: 全栈工程师是一位能够从头到尾构建 Web 应用程序的工程师,能独立完成产品。技术包括前端部分、后端部分和应用程序所在的基础架构。他们在整个技术栈中工作,并了解其中的每个部分。从需求分析开始,到概要设计,详…...

用java实现客服聊天+网络爬虫下载音乐(java网络编程,io,多线程)

一 灵感: 在2022年的暑假,也就是我即将迈进高三的那个暑假,我并没有察觉自己应该要学习了,还是和过往的暑假一样玩着王者荣耀,凌晨2点睡觉,中午12点起床。我依稀记得这种状态一直持续到8月19。然而离开学还…...

基于springboot+vue的医院信息管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

乡村振兴与农业科技创新:加大农业科技研发投入,推动农业科技创新,促进农业现代化和美丽乡村建设

一、引言 在当代中国,乡村振兴已成为国家发展的重要战略之一。作为国民经济的基础,农业的发展直接关系到国家的稳定和人民的福祉。随着科技的不断进步,农业科技创新在推动农业现代化和美丽乡村建设中发挥着越来越重要的作用。本文旨在探讨如…...

Java 雪花算法:分布式唯一ID生成的魔法秘籍

欢迎来到本次博客的旅程,今天我们要揭开一个神秘算法的面纱,它就是在分布式系统中广受欢迎的——雪花算法(Snowflake)。这个算法不是用来预测雪花的形状,而是用来生成唯一的ID,保证在分布式系统中&#xff…...

mybatis配置环境流程

mybatis配置环境流程 为啥要用mybatis&#xff1a;通过Mybatis实现快速访问后端pgsql、mysql等数据库。 1.修改pom.xml&#xff0c;添加mybatis相关依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-s…...

UE5增强输入系统入门

UE4直接在项目设置里设置的轴映射和操作映射在UE5中被标记为废弃&#xff0c;改为使用增强输入系统。 这两天学习了下蓝图和c中增强输入系统的使用&#xff0c;在这里分享一下。 学习使用的模板是第三人称模板(蓝图/c)&#xff0c;代码蓝图都参考的模板。 增强输入系统 UE5…...

Python 语法好乱:深度解析与应对策略

Python 语法好乱&#xff1a;深度解析与应对策略 Python&#xff0c;作为一门简洁明了的编程语言&#xff0c;广受编程初学者的喜爱。然而&#xff0c;随着学习的深入&#xff0c;许多学习者会发现Python的语法似乎并不像初看起来那么简单&#xff0c;甚至有时会感到“好乱”。…...

移动端框架:加速移动应用开发与提升跨平台兼容性

在当今快速发展的移动应用领域&#xff0c;开发者们面临着如何快速构建、维护并发布跨平台应用的挑战。为了应对这一挑战&#xff0c;移动端框架应运而生&#xff0c;它们不仅加速了移动应用的开发流程&#xff0c;还提升了应用的跨平台兼容性&#xff0c;并确保了应用性能与原…...

Linux systemctl:掌握软件启动和关闭的利器

Linux systemctl&#xff1a;掌握软件启动和关闭的利器 在 Linux 操作系统中&#xff0c;systemctl 是一个强大的工具&#xff0c;用于管理系统服务的启动、停止和状态监控。本篇博客将深入介绍 systemctl 的使用方法&#xff0c;帮助你更好地掌握软件的启动和关闭。 1. syst…...

Jmeter干货分享:当你的Log viewer不显示日志时,可能是引入的Jar包冲突导致

问题描述 近期使用Jmeter时发现了一个非常奇怪的问题&#xff0c;就是Jmeter是可以正常使用运行脚本&#xff0c;但是在Log viewer中确没有任何日志&#xff0c;如下图&#xff1a; 问题排查过程 真是百思不得其解啊&#xff0c;在网上各种获取资料&#xff0c;大多数都是说跟…...

网络编程TCP

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:Java网络编程(下)&#x1f649; &#x1f439;今日诗词: 壮士当唱大风哥, 宵小之徒能几何&#xff1f;&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微…...

C++中的迭代器

目录 摘要 迭代器类别 1. 输入迭代器&#xff08;Input Iterator&#xff09; 2. 输出迭代器&#xff08;Output Iterator&#xff09; 3. 前向迭代器&#xff08;Forward Iterator&#xff09; 4. 双向迭代器&#xff08;Bidirectional Iterator&#xff09; 5. 随机访…...

8.1 Go 包的概念与使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

第一篇【传奇开心果系列】AI工业应用经典算法和Python示例:基于AI的智能制造技术经典算法与Python实践

传奇开心果博文系列 系列博文目录AI工业应用经典算法和Python示例系列 博文目录前言一、AI在智能制造方面的应用场景介绍二、基于AI的智能制造技术经典算法介绍三、支持向量机机器学习算法Python示例代码四、随机森林机器学习算法Python示例代码五、深度学习算法Python示例代码…...

Mathtype插入编号的高级格式会重置之前的简单格式的问题

文章标题没说人话&#xff0c;大致意思是&#xff1a; 先以简单格式插入几个编号 再设置高级格式的编号时&#xff0c;即使没有选择插入编号&#xff0c;在点击下图的确定键时&#xff0c;会连带前面的简单公式一并更新 我在网上没有找到相关的问题&#xff0c;即使关闭了…...

弘君资本:存储芯片概念强势,西测测试三连板,佰维存储涨超10%

存储芯片概念3日盘中强势拉升&#xff0c;截至发稿&#xff0c;西测测验、万润科技涨停&#xff0c;佰维存储涨超10%&#xff0c;香农芯创涨近7%&#xff0c;航天智装、普冉股份等涨超5%。值得注意的是&#xff0c;西测测验已连续3个交易日涨停。 职业方面&#xff0c;当时干流…...

【机器学习】逻辑回归:原理、应用与实践

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 逻辑回归&#xff1a;原理、应用与实践引言1. 逻辑回归基础1.1 基本概念1.2 Sig…...

C++:list模拟实现

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;list模拟实现》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 如果本篇文章对你有帮助&#xff0c;还请各位点点赞&#xff01;&#xf…...

植物大战僵尸杂交版全平台 PC MAC 安卓手机下载安装详细图文教程

最近植物大战僵尸杂交版非常的火&#xff0c;好多小伙伴都想玩一玩&#xff0c;但作者只分享了 win 版&#xff0c;像手机还有MAC电脑都没有办法安装&#xff0c;身为 MAC 党当然不能放弃&#xff0c;经过一番折腾&#xff0c;也是成功在所有平台包括手机和MAC电脑都成功安装上…...

发送Http请求的两种方式

说明&#xff1a;在项目中&#xff0c;我们有时会需要调用第三方接口&#xff0c;获取调用结果&#xff0c;来实现自己的业务逻辑。调用第三方接口&#xff0c;通常是双方确定好&#xff0c;由对方开放一个接口&#xff0c;需要我们根据他们提供的接口文档&#xff0c;组装Http…...

【算法训练记录——Day23】

Day23——二叉树Ⅸ 669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 今日内容&#xff1a; ● 669.修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 669.修剪二叉搜索树 思路&#xff1a;主要是…...

【wiki知识库】04.SpringBoot后端实现电子书的增删改查以及前端界面的展示

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 一、&#x1f525;今日内容 二、&#x1f30f;前端页面的改造 2.1新增电子书管理页面 2.2新增路由规则 2.3修改the-header代码 三、&#x1f697;SpringBoot后端Ebook模块改造 3.1增加电子书增/改接口 3.1.…...

NTLM Relay Gat:自动化NTLM中继安全检测工具

关于NTLM Relay Gat NTLM Relay Gat是一款功能强大的NTLM中继威胁检测工具&#xff0c;该工具旨在利用Impacket工具套件中的ntlmrelayx.py脚本在目标环境中实现NTLM中继攻击风险检测&#xff0c;以帮助研究人员确定目标环境是否能够抵御NTLM中继攻击。 功能介绍 1、多线程支持…...