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

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

摘 要 近年来 步进电机凭借其定位精度高 使用方便 性价比高 容易控制等优点 在各领域受到广泛应用 文中利用C52 单片机设计了一种步进电机控制系统 介绍了其总体方案 主控制模块 驱动电路 键盘 晶振电路模块等 并使用Protues绘制仿真图 与编程软件进行联合调试仿真 仿真结果表明 所设计的步进电机控制系统正确有效
关键词 单片机 步进电机 控制系统 研究 仿真

0

步进电机又称脉冲电动机,凭借其定位精度高、使用方便、性价比高、容易控制等优点,在办公自动化、工厂自动化和计算机外部设备等领域中受到广泛应用 ,故对其控制系统的研究颇为重要。
本文采用 C52 单片机 设计步进电机的控制系统,并使用 Protues 绘制仿真图,同时与编程软件( Keil4 )进行联合调试仿真,仿真结果表明,所设计的步进电机控制系统使用便捷、有效。

1 步进电机简介

步进电机是一种感应电动机,根据电子电路的原理将直流电变为分时供电、多相时序控制的电流,用分时电流为步进电机供电,使步进电机正常工作,而驱动器就是一种能为其分时供电,多相时序的控制器
步进电机在不超过负载的情况下,其转速、停止的位置只由脉冲频率以及脉冲数决定,而负载以外的变化对其无影响,当驱动器接收到一个脉冲信号时,便会驱动步进电机按设定好的方向转动一个固定的角度(“步距角”),其旋转按设定方向一步步运行。步进电机通过控制脉冲个数来控制角位移量,从而达到精准定位。同时也可通过控制脉冲频率来控制其速度与加速度,从而达到调速的目的。

2 硬件设计

本文以 STC89C52 单片机为核心处理器,将按键作为输入模块,以控制步进电机的正转、反转、步进,并实现正反转。步进电机选用 28BYJ-48 型四相八拍式步进电机,系统构成如图 1 所示。
由于单片机直接输出的脉冲信号不大,无法让步进电机正常工作,因此不能将其直接连接到步进电机上,需要在它们之间加上一个驱动电路。对于直流电流小于 0.5 A 的步进电机来说,可通过型号为 ULN2003A 的达林顿芯片来驱动步进电机,从而使其正常工作。ULN2003A 系列驱动器的引脚与步进电机连线示意图如图 2 所示。左边 1 7 为输入端,接单片机P2 口的输出端,驱动信号由 P2 口的 P2.0 P2.3 输出,左侧10~ 16 为输出端引脚,接步进电机,引脚 9 5 V 电源,该驱动器提供的电流最高为 0.5 A
键盘是由若干按键组成的按键矩阵,是一种最简单的单片机输入设备,通过键盘输入相应数据和指令来实现人对机器的控制,键盘电路如图 3 所示。
本文采用外部中断的方式。信号输入部分为 P3 口, P1 口为发光二极管显示部分,P2 口作为电机的驱动部分,整体仿真电路如图 4 所示。

3 程序设计

系统主程序流程如图 5 所示。系统上电复位,对参数进行初始化,然后检测串口是否发送数据,当确定串口数据发送后程序便调用相应的子程序 ;如果串口没有发送数据则程序重新初始化。系统上电复位后,键盘初始化并复位,然后进入按键查询,等待操作。当有按键按下后,系统开始调用相应的子程序。按键程序流程如图 6 所示,步进电机工作流程如图 7 所示。

4 仿真调试

使用 Protues 绘制仿真图,与编程软件( Keil4 )进行联合 调试仿真。当步进电机接收到连续不断的脉冲信号时,则持续运转。步进电机的绕组通电状态每改变一次就会产生一个脉冲信号,转子也相应转过一个步距角。当通电状态结束一个循环时,转子会转过一个齿距。四相八拍方式的通电顺序为:A 相线圈最先通电 ;然后转换变为 A B 两相线圈同时通电 ;接着 B 相线圈通电 ;再之后 B C 两相线圈同时通电……(即按 A-AB-B-BC-C-CD-D-DA-A …的顺序进行)。当步进电机定子绕组按顺序周期性通电时,转子沿设定方向一步步转动。步进电机工作波形如图 8 所示。

5

本文采用 C52 单片机来设计步进电机的控制系统,介绍 了其总体方案、主控制模块、驱动电路、键盘、晶振电路模块等, 并使用 Protues 绘制仿真图,与编程软件进行联合调试仿真, 仿真结果表明,所设计的步进电机控制系统正确有效。
http://www.lryc.cn/news/357921.html

相关文章:

  • Fine-tuning和模型训练的关系
  • 【ai】livekit:Agents 3 : pythonsdk和livekit-agent的可编辑模式下的安装
  • 【传知代码】BERT论文解读及情感分类实战-论文复现
  • 【C language】判断一个正整数是否是2^n
  • 解锁Android高效数据传输的秘钥 - Parcelable剖析
  • 前端 CSS 经典:filter 滤镜
  • 专业的力量-在成为专家的道路上前进
  • 10分钟掌握FL Studio21中文版,音乐制作更高效!
  • Python中4种读取JSON文件和提取JSON文件内容的方法
  • el-pagination在删除非第一页的最后一条数据遇到的问题
  • 视频汇聚平台LntonCVS视频监控系统前端错误日志记录及Debug模式详细讲解
  • 高并发项目-用户登录基本功能
  • kotlin基础之泛型和委托
  • awtk踩坑记录二:移植jerryscript到awtk design项目
  • 正邦科技(day2)
  • 技术架构设计指南:从需求到实现
  • 【数据结构:排序算法】堆排序(图文详解)
  • git 派生仓库怎么同步主仓库的新分支
  • 对比方案:5款知识中台工具的优缺点详解
  • 第16章-超声波跟随功能 基于STM32的三路超声波自动跟随小车 毕业设计 课程设计
  • 创新案例 | 持续增长,好孩子集团的全球化品牌矩阵战略与客户中心设计哲学
  • ResNet 原理剖析以及代码复现
  • 数据结构(十)图
  • 四数之和-力扣
  • JS 中怎么删除数组元素?有哪几种方法?
  • Git如何将pre-commit也提交到仓库
  • vmware中Ubuntu虚拟机和本地电脑Win10互相ping通
  • 比较含退格的字符串-力扣
  • NSSCTF-Web题目4
  • 7. CSS 网格布局