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

步进电机指数规律升降速的单片机控制系统设计

第二章 系统工作原理和总体方案拟定
2.1控制方案论证与比较
2.1.1步进电机控制系统的构成
步进电机的工作过程一般由控制器控制,控制器按照设计者的要求完成一定的控制过程,是功率放大电路按照要求的规律驱动步进电机运行。旧式的步进电机控制系统由脉冲发生器、步进控制器、功率放大器和步进电机组成,如图2.1所示。步进控制器包括缓冲寄存器、环形分配器、控制逻辑,其作用主要是将输入脉冲变为环形脉冲,以便实现对电机的转动和正反转的控制。功率放大器的作用是将步进控制器输出的环形脉冲加以放大,以驱动步进电机转动。这种控制方案由于是用各种逻辑电路来实现控制过程,线路复杂、控制方案改变困难、成本高。

图2.1步进电机控制系统的组成
随着单片微型计算机迅速发展和普及,为设计功能很强而价格低廉的步进电机控制器提供了条件。采用计算机控制系统,只要控制输入电脉冲的数量、频率以及电机绕组通电相序即可获得所需的转角、转速及转向。这不仅简化了线路,降低了成本,而且操作方便,提高了可靠性。图2.2为单片机控制步进电机的系统结构图。

图2.2单片机控制步进电机的系统结构图
第三章 控制系统的数学模型
由2.3节分析可知,把矩-频特性作为加速范围下可以达到(但不能超过)的最大输出转矩来拟订升降速脉冲序列的规律,就接近于最大转矩控制的最佳升降速规律。所以用步进电机的动力学方程和矩-频特性曲线来导出步进电机的最佳升降速的控制算法,并用单片机对其进行离散控制。
3.1 步进电机升速的控制算法
在步进电机的控制系统中,如图3-1,给一个电脉冲信号,步进电机就转动一个角度或前进一步。设输入为脉冲数,输出为转角,则(为步矩角),这就是步进电机输入/输出的比例关系。

图3.1 步进电机与驱动电路特性框图

步进电机的旋转物体动力学方程式为:

(3-1)
式中为输出力矩,为转子转动惯量,为阻尼系数,为负载转矩,为转子位置,如为电机的回转角速度,,则(3-1)式用表示的方程为:

(3-2)

如驱动脉冲的频率用表示,由,有,则式(3-2)变为:

(3-3)

如果电机尽可能快的加速,则所有频率下都必须产生最大转矩,由式(3-3)步进电机的运动一定满足下式:

(3-4)
式中为步进电机输出转矩。
假设矩-频特性曲线是线性下降的,电机的输出转矩可由下式求出:
第四章 控制系统的硬件设计
4.1 系统的硬件结构
计算机的硬件和软件是相互结合而工作的,有些任务必须由硬件来实现,另
外有些任务必须由软件来实现。但是也有一些任务可以由软件来完成,也可由硬
件来完成。一般来说,增加硬件会提高成本,但能简化设计程序,且实时性好。
反之,加重软件任务,会增加编程调试工作量,但能降低硬件成本。所以要合理
的安排软、硬件的结构。
本系统步进电机速度的控制是由改变发出脉冲的时间间隔来实现的,用定时
器来控制发出脉冲的时间间隔,这样更能发挥硬件实时性的优势,同时能够减轻
软件的任务。
系统的硬件框图如图4.1所示。系统采用单片机作为核心部件,通过扩展外围
设备及接口电路完成对步进电机的并行控制。

第五章 控制系统的软件设计
本系统的软件用 C51 语言编写,采用模块化结构。采用指数规律升降速,用定时器中断方式来控制电动机的速度,升降速的控制实际上就是不断的改变定时器装载值的大小。为了便于编制程序,不必每步都计算装载值,可以用阶梯曲线来逼近升降速曲线,即进行离散化处理。对于每一档频率,软件系统可以通过查表方法查出所需的装载值。
5.1 软件结构设计
进行软件结构设计的任务是确定程序结构、划分功能模块。本系统采用模块化编程,模块化编程是一种软件设计方法,各模块分别编写、编译和调试,最后模块一起连接/定位。模块化编程有以下优点:
1.模块化编程使程序开发更有效。小块程序更易理解和调试。知道模块的输入和输出就可以直接测试小模块。
2.当同类的需求较多时,可把程序放入库中以备以后使用。例如,显示驱动,若要再使用显示驱动,由库中把它取出而不需全部的重新编写。
3.模块化编程使得要解决的问题与特定的模块分离,很容易找到出错的模块,大大简化了调试。
本系统软件的模块规划如图5.1所示,各个模块的具体实现见程序流程图部分。各个模块化文件如下:
1.global.c:定义全局变量类型的模块。
2.main.c:主程序模块。在主程序模块中,控制系统的流程、对系统的资源进行全面的管理、处理输入与显示等。
3.initial.c:初始化模块。在初始化模块中,对CPU的寄存器、I/O、中断、外部芯片(如 8255A)、变量等分别进行初始化。
4.control.c:控制函数模块。升降速由控制函数来实现,在升降速控制函数中实现步进电机的走步,累计走过的步数。当控制函数中等待时间到,则响应定时器中断服务函数。
5.keyinput.c:键盘输入处理模块。本系统的键盘显示接口采用 8255A 芯片,由键盘扫描函数来实现对键盘的处理功能。在键盘输入处理模块中,调用显示函数对输入的键盘数据进行显示。
6.display.c:七段 LED 显示输出模块。显示函数 display 将键盘输入的数实时的显示出来,并可以显示操作提示。
7.operate.c:计算参数模块。在函数 operate 中,根据输入的步数和运行速度计算降速段各档的定时时间间隔及各档的步数。函数 keyconvert 和函数 hexbcd 分别实现对键值的转换和拆分处理。

图5.1 主要程序模块图

http://www.cnnetsun.cn/news/783929.html

相关文章:

  • 西门子PLC一拖二恒压供水实战手记
  • 基于LSTM神经网络的短期风速预测实现方案
  • 图中最短环bfs
  • 【毕业设计】基于springboot的运动用品商城系统(源码+文档+远程调试,全bao定制等)
  • 基于python的小型民营加油站管理系统vue3
  • 计算机辅助V型往复式活塞压缩机设计
  • 亚马逊广告越投越亏:问题不在ACOS,而在“假归因”和“错利润”
  • 基于plc的药片自动装瓶系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 收藏!大模型应用开发入行指南:小白/程序员必看的风口赛道攻略
  • 如果你有电脑,这个寒假请一定要死磕这三个黑客技术!零基础学黑客技术看这一篇就够了!
  • Spring Boot 工厂 + 策略模式,3 步统一多端登录
  • 做同事排班优化程序,输入团队人数,休假需求,工作岗位要求,自动生成月度排班表,兼顾公平性和工作需求,支持手动调整。
  • 2025年转行进入网络安全领域薪资及工作安排与前景如何
  • 使用 UI Automator 改进 Espresso Android UI 测试
  • T6113卧式镗床
  • Win神仙软件来了!内置400+工具神器,全网最狠工具箱,且全部为绿色版本 Centrack在线工具包
  • Z30130X31型钻床
  • 农业数据采集CKEDITOR粘贴截图如何自动存入PHP?
  • 导师严选2026 AI论文软件TOP10:继续教育必备测评
  • 学霸同款10个AI论文软件,自考毕业轻松搞定!
  • 基于S7 - 300 PLC和Wincc的三路抢答器控制系统实现
  • 2026年最热门的十大网络安全职位
  • 从 Transformer 到 Mamba:YOLOv8 中 VSSBlock(MambaLayer)的核心原理解析与结构演进
  • YOLOv13 新思路解析:SFHF + 傅里叶频域特征融合实现 mAP 提升 7.66%
  • 大模型微调技术全攻略:从基础到前沿,一篇掌握(建议收藏)
  • 8645378
  • 低功耗蓝牙技术入门指南(7)-- 通用属性规范(GATT)和 通用访问规范(GAP)以及安全管理器协议( SMP)
  • 第7章 股权众筹的适配评估与运作实践
  • 『折行内注』术幼稚版范例——“九九表”精致打印
  • 【收藏】大模型别只用来聊天!手把手教你搭建运维场景AI Agent,自动汇总告警生成报告