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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言Prim算法和Prim-Alternat找最小生成树

文章目录 1、用prim算法求最小生成树C语言Prim算法实现 2、用Prim-Alternate算法求最小生成树3、C语言Prim-Alternate算法实现 1、用prim算法求最小生成树 绿色线会标记选过的边 从v1当作起始点开始,可选择: (v1,v2)权值为6 (v1,v3)权值为3 &…

C# as运算符

一、C# as运算符 as运算符用于执行引用类型的显式类型转换。请阅读C#数据类型。 using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Test {class Program{static void Main(string[] args){// C# as运算符-www.baike369.comob…

经济学SSCI期刊,中科院1区,领域内顶刊,影响力高

一、期刊名称 World Development 二、期刊简介概况 期刊类型:SSCI 学科领域:经济学 影响因子:6.9 中科院分区:1区 三、期刊征稿范围 《世界发展》是一本多学科的发展研究月刊。它力求探讨如何改善生活水平和一般人类状况&am…

【CN】项目介绍

云原生项目官网 毕业项目 Argo:持续集成和交付 英 [ˈɑ:ɡəu] 美 [ˈɑrˌɡo] Kubernetes 原生工具,用于运行工作流程、管理集群以及正确执行 GitOps。 Argo 于 2020 年 3 月 26 日被 CNCF 接受为孵化成熟度级别,然后于 2022 年 12 月…

Python编程入门教学:从基础到实践的全方位指导

Python编程入门教学:从基础到实践的全方位指导 Python,作为一种简洁、易读且功能强大的编程语言,正日益受到广大编程爱好者的青睐。无论你是编程小白还是有一定基础的开发者,本文都将为你提供一份从基础到实践的全方位Python编程…

AIGC绘画基础——Midjourney关键词大全+万能公式

距发布MJ初级注册入门教程已有时日,很多粉丝表示很有用,但关键词有很多人不知如何组合使用,那今天再给大家更新一期,主要是教大家如何用关键词、把控关键词描述,除此之外在文末更新了一大堆关键词给大家使用~ 一、Midj…

上传下载接口

【1】上传接口 POST form-data请求: URL:http://nginxIP:nginxPort/isa-eoms-service-taskflow-special/attachmentService/uploadFile 入参: uploadFile: 文件 fileType: (枚举:document, ima…

合并两个有序链表和合并 K 个升序链表

21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 […

NFTScan | 05.27~06.02 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.05.27~ 2024.06.02​ NFT Hot News 01/ Mint Blockchain 披露最新路线图,释放 NFT 生态重磅发展计划 5 月 28 日,Mint Blockchain 开发者团队 MintCore 更新…

map的顺序和逆序-------c++

map默认是升序 即最小的在前面降序&#xff08;最大的在前面&#xff09;&#xff1a;std::map<int, std::string, greater<int>> mapgreater;升序&#xff08;最小的在前面&#xff09;&#xff1a; std::map<int, std::string, less> mapless; // 升序 #i…

Arduino 串口接收数据

1、上位机发送十六进制 AA 01 DE 下位机回复AC&#xff0c;上位机发送十六进制 AA 02 DE 下位机回复AB。如下图所所示。 2、Arduino 代码如下。 #define ReceiveLen 100 // 接收数据数组长度 byte ReceiveData[ReceiveLen]; // 接收数据数组void loop() {// 串口接收数…

jadx-gui-1.5 反编译工具使用教程 反混淆 Java android 查看签名

JADX&#xff1a;JADX是一个强大的反编译工具&#xff0c;它支持命令行和图形界面操作。除了基本的反编译功能外&#xff0c;JADX还提供了反混淆功能&#xff0c;有助于提高反编译后代码的可读性。 在Android开发和安全分析领域&#xff0c;反编译工具扮演着至关重要的角色。这…

以sqlilabs靶场为例,讲解SQL注入攻击原理【25-31关】

【Less-25】 首先分析源码 发现把 SQL语句中的 or、and 替换成了空格&#xff0c;这就导致无法使用之前的sql注入方式。 解决方案&#xff1a;用 && 代替 and &#xff0c; 用 || 代替 or &#xff0c; 而且&在url中有特殊含义&#xff0c;如果直接使用会有问题&a…

Vue3(Ⅱ)

Vue3(Ⅱ) 3、 进阶 —— 路由 3.1、示例 3.2、to 的两种写法 3.3、命令路由 3.4、嵌套路由 3.5、query 参数 3.6、params 参数 3.7、路由的 props 配置 3.8、replace 属性 3.9、编程式导航 3.10、重定向4、 进阶 —— Pin…

上海公司注销剩下的专利怎么办

上海公司注销剩下的专利怎么办 公司都注销了&#xff0c;想起来公司还有之前申请的专利、商标没有过户&#xff01;&#xff01; 上次沟通一家已经注销的企业股东说到。 那么公司注销了&#xff0c;企业之前申请的专利、商标还有用吗&#xff1f; 其实这个要具体分析一下情…

LayerSkip:加速大模型推理的端到端解决方案

大模型&#xff08;LLMs&#xff09;在多种应用中表现出色&#xff0c;但其高昂的计算和内存需求导致部署成本昂贵&#xff0c;尤其是在GPU服务器上。现有加速方案在部署到普通GPU时往往会导致准确性显著下降&#xff0c;而将大模型&#xff08;LLMs&#xff09;进一步加速以部…

Java邮件客户端设计实现:使用JavaMail向QQ邮箱发邮件

目录 JavaMail 用JavaMail向qq邮箱发消息 ▐ 授权码的获取 JavaMail JavaMail 是一个用于发送和接收电子邮件的 Java API。它提供了一个平台无关和协议无关的框架&#xff0c;允许开发人员通过标准电子邮件协议&#xff08;如 SMTP、POP3 和 IMAP&#xff09;来创建、发送…

网络工程师---第四十六天

1、逻辑网络结构设计阶段中&#xff0c;要想实现核心层与汇聚层交换机全部互相连接&#xff0c;组网技术有哪些&#xff1f; 2、工作区子系统的通信布线规范有哪些&#xff1f; 3、综合布线中施工规范有哪些&#xff1f; 4、综合布线系统中核心机房通常包括哪些设备&#xff1f…

SpringBoot——整合拦截器(Interceptor)

目录 拦截器&#xff08;Interceptor&#xff09; 项目总结 新建一个SpringBoot项目​编辑 MyInterceptor自定义拦截器 InterceptorConfig配置类 InterceptorController控制器 SpringbootInterceptorApplication启动类 在开发SpringBoot项目时&#xff0c;开发人员经常需要…

Python 语法深度探索:揭秘编程的奥秘与魅力

Python 语法深度探索&#xff1a;揭秘编程的奥秘与魅力 Python&#xff0c;这门简洁而强大的编程语言&#xff0c;自诞生以来便以其易读性、清晰性和扩展性赢得了众多开发者的青睐。然而&#xff0c;Python语法的深度和广度却常常让人在探索中感到困惑&#xff0c;同时也在理解…