当前位置:文档之家› 步进电机指数规律升降速的单片机控制系统设计

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

优秀设计

3333学院

毕业设计(论文)说明书

题目步进电机指数规律升降速的

单片机控制系统设计

学生

系别机电工程系

专业班级机械设计制造及自动化机电

学号

指导老师

3333学院

毕业设计(论文)任务书

设计(论文)题目:步进电机指数规律升降速的单片机控制系统设计系:机电工程系专业:机电一体化班级:学号:

学生:指导教师:

接受任务时间

教研室主任(签名)系主任(签名)

1.毕业设计(论文)的主要内容及基本要求

用单片机对步进电机进行三相六拍的控制,通过软硬件设计,实现电机指数规律升降速。

(1) 系统总体方案拟定;

(2) 数学模型建立,求控制算法;

(3) 硬件设计;

(4) 软件设计;

编写设计说明书,完成系统控制硬件图1张 A 2;

2.指定查阅的主要参考文献及说明

(1) 《机电一体化系统设计》 (2) 《计算机控制系统分析与设计》

(3) 《单片机应用设计》 (4) 《电子电工技术》

(5) 《C语言程序设计》 (6) 《机床电气控制》

注:本表在学生接受任务时下达

摘要

从步进电机的矩-频特性可知,启动频率越高,启动转矩越小,带动负载的能力越差。当启动频率较高时,启动时会造成失步,而停止时由于惯性作用又会发生过冲,所以在步进电机控制中必须要采取升降速控制措施。本文根据步进电机的动力学方程和矩-频特性曲线建立系统的数学模型,采用指数规律的升降速算法,以单片机为核心对步进电机进行并行控制。系统的软件设计由C51 语言编程来实现。并设计了检测系统用于对步进电机转速和步数的检测。最后,本系统可以实现以下功能:在显示器的提示下,由键盘输入运行的步数和稳定运行的速度;由各个功能键控制系统的运行,按启动键后,步进电机按照输入的步数进行走步;如在运行期间按停止键,则步进电机停止运行。研究表明,采用指数规律的升降速曲线将大大地提高微机控制步进电机的最高工作频率,大大缩短所需的升降速时间。

关键词:步进电机,单片机,速度控制,C51 语言

ABSTRACT

According to torque vs. speed characteristic of stepping motor, the higher startup speed is, the smaller startup torque is and then the worse the capability of driving load is. When the startup speed is higher, stepping motor will lose steps. While stopping, it will also lose steps because of inertia. So, it needs to take speed control measures on control of stepping motor. Mathematic model of the system is educed by dynamics equation and torque vs. speed characteristic of stepping motor. It adopts speed control arithmetic of exponential rule and deals with process of acceleration and deceleration via discrete method. Single-chip microcomputer that is the core of system controls stepping motor. The system is programmed by C51 language. The test system is designed to test the rotate speed and steps of stepping motor. Finally, according to the direction of LED display, running steps and speed are input by keyboard. The system’s run is controlled by functional keys. Stepping motor will run to the given steps if the “start” key is pressed. Meanwhile, stepping motor will stop if the “stop” key is pressed during its running. The research shows: the method of acceleration and deceleration via exponential rule will greatly improve the highest running frequency of stepping motor and shorten the acceleration and deceleration time.

Keywords:stepping motor; single-chip microcomputer; speed control; C51 language

目录

中文摘要....................................................................................................................................................... I 英文摘要...................................................................................................................................................... I I 第一章绪论 . (1)

第二章系统工作原理和总体方案拟定 (3)

2.1控制方案论证与比较 (3)

2.1.1步进电机控制系统的构成 (3)

2.1.2步进电机的串行和并行控制 (3)

2.2步进电机工作原理和动态特性分析 (4)

2.2.1反应式步进电机原理 (4)

2.2.2 步进电机的动态特性 (6)

2.3步进电机升降速控制讨论 (7)

2.3.1步进电机的失步 (7)

2.3.2步进电机升降速曲线的分析 (8)

第三章控制系统的数学模型 (9)

3.1 步进电机升速的控制算法 (9)

3.2 步进电机升速过程的离散处理 (11)

3.3 步进电机降速过程的离散处理 (12)

3.4 步进电机升速过程运行参数的计算 (12)

第四章控制系统的硬件设计 (14)

4.1系统的硬件结构 (14)

4.2 系统的硬件设计 (15)

4.2.1 微处理器及存储器的配置 (15)

4.2.2 键盘与显示接口电路的设计 (16)

4.2.3 定时和报警电路的设计 (20)

4.2.4步进电机的脉冲分配 (20)

4.2.5 扩展存储器及扩展芯片地址的确定 (24)

4.3 硬件系统的合成及其原理图 (25)

第五章控制系统的软件设计 (26)

5.1 软件结构设计 (26)

5.2 系统的程序流程 (27)

5.3 程序设计问题分析 (38)

5.3.1 程序的初始化及变量的定义 (38)

5.3.2 存储类型与存储模式的定义 (39)

5.3.3 编译预处理的定义 (40)

5.3.4 数组查表功能 (40)

5.3.5 中断服务函数的定义 (41)

5.3.6 有关定时器精确定时的实现 (42)

5.3.7 主函数及键盘与显示功能的实现 (43)

第六章转速和步数检测系统设计 (45)

6.1 光电编码器的工作原理 (45)

6.2 检测系统的硬件设计 (45)

6.3 检测系统的软件设计 (47)

6.3.1 检测系统的流程图 (48)

6.3.1 检测系统程序 (48)

第七章结论 (49)

参考文献 (50)

致谢 (51)

附录A:步进电机升速过程运行参数计算程序 (52)

附录B:步进电机控制系统程序 (55)

附录C:步进电机检测系统程序 (63)

符号说明

B阻尼系数

C通电状态系数

f脉冲频率 Hz

f匀速运行时的频率 Hz g

f负载转矩下的最高运行频率 Hz m

f负载转矩下的最高启动频率 Hz q

f空载下的最高启动频率 Hz 0

f每档的频率 Hz i

J转动惯量2

kg?

m m步进电机的相数

N脉冲数

N每档脉冲数

i

n步进电机转速 r/min P转盘的窄缝数

T转矩 N2m

T负载转矩 N2m L

T电机输出转矩 N2m M

T最大转矩 N2m M

t时间 s

Z转子齿数

r

θ转子的位置角°

θ步距角°s

τ时间常数 s ω角速度s/?

第一章绪论

步进电机是一种将电脉冲信号变换成相应的机械角位移的机电执行元件。它具有工作状态不易受影响;控制性能好,在起动、停止、反转时不易“丢步”;没有积累误差等特点,因此被广泛应用于开环控制的机电一体化系统,使系统简化,并可靠地获得较好的位置精度,如各类数控机床、光学测量仪器、打印机、磁盘驱动器等。随着单片机控制技术的不断发展,基于单片机的步进电机控制系统广泛应用于各机械智能仪器和装备中,步进电机也成为主要的电气执行元件之一。

在数控点-位控制系统中,从起点至终点的运行速度都有一定要求。如果要求运行频率(速度)小于系统的极限起动频率,则系统可以按要求的频率(速度)直接起动,运行至终点后可立即停发脉冲串而令其停止。系统在这样的运行方式下其速度可认为是恒定的。但在一般情况下,系统的极限起动频率是比较低的,而要求的运行速度往往较高。从步进电机的矩-频特性可知,步进电机的转矩随着脉冲频率的上升而下降,启动频率越高,启动转矩越小,带动负载的能力越差,当启动频率较高并已超过极限起动频率会发生丢步或根本不能起动的情况,停止时又会发生过冲。所以,步进电机的升降速是精确控制步数和速度的关键问题,如果升降过程脉冲频率变化不合理,会造成升降时间延长,电机失步,力矩达不到要求等严重后果。

以前一般的升降速规律设计,常选用直线规律升降速,这种控制方法简单,但是由于它的脉冲变化有个恒定的加速度,所以它不能保证在升降速的过程中步进电机转子的角加速度的变化和它的输出力矩变化相适应,不能很好的发挥电机的加速性能。因此有必要对脉冲频率进行合理性的研究和论证,寻求一种较理想的指数升降速曲线,使步进电机在运行的过程中能够快速定位,并且运行步数准确。理想的升降速曲线是指数规律曲线,本文就是由步进电机的动力学方程和矩-频特性曲线推导出的指数规律的升降速控制算法,这样能够使得频率增高时,保证输出最大的力矩,能充分发挥步进电机的工作性能,使系统具有良好的动态特性。

在完成升降速曲线的参数计算得出升降速控制算法后,将要完成以下工作以具体实现单片机对步进电机升降速的并行控制。

1.本系统用单片机来实现步进电机升降速过程的控制,首先对升速过程进行离散处理,在程序运行前将升速过程的离散值固化在程序存储器中,降速过程则采用运行时实时计算定时器的装载值。程序运行时采用查表的方法将离散值装入定时器来控制步进电机的换相周期,使得步进电机按照指数规律进行走步。

2.以单片机为核心并选用必要的外围设备构成单片机对步进电机的控制系统。在硬

件设计中进行单片机和存储器的配置、键盘与显示电路的设计、定时和报警电路的设计、步进电机驱动电路的设计和存储器地址映像工作,生成步进电机控制系统的硬件原理图。

3.由于C51语言是一种结构化语言,可产生紧凑代码。本系统软件用C51语言编写,将大大的加快软件的开发速度,明显的增加软件的可读性,便于改进和扩充,可以很容易地进行单片机的程序移植工作,有利于产品中的单片机的重新选型。根据系统实现的功能划分程序模块,按照各个模块绘制程序流程图,进行模块化程序设计,并对其中一些关键技术进行具体的论述。

4.为了检测步进电机运行的转速和步数,进行步进电机转速和步数的检测系统的设计。论述检测系统的工作原理,并进行检测系统的硬件和软件设计。

步进电机升降速曲线控制方法

步进电机升降速曲线控制方法 在一些控制简单或要求低成本的运动控制系统中,经常用步进电机做执行 元件。步进电机在这种应用场合下最大的优势是:可以开环方式控制而无需反 馈就能对位置和速度进行控制。但也正是因为负载位置对控制电路没有反馈, 步进电机就必须正确响应每次励磁变化。如果励磁频率选择不当,电机不能够 移到新的位置,那么实际的负载位置相对控制器所期待的位置出现永久误差, 即发生失步现象或过冲现象。因此步进电机开环控制系统中,如何防止失步和 过冲是开环控制系统能否正常运行的关键。失步和过冲现象分别出现在步进电 机启动和停止的时候。一般情况下,系统的极限启动频率比较低,而要求的运 行速度往往比较高。如果系统以要求的运行速度直接启动,因为该速度已超过 极限启动频率而不能正常启动,轻则可能发生丢步,重则根本不能启动,产生 堵转。系统运行起来以后,如果达到终点时立即停止发送脉冲串,令其立即停止,则由于系统惯性作用,电机转子会转过平衡位置,如果负载的惯性很大, 会使步进电机转子转到接近终点平衡位置的下一个平衡位置,并在该位置停下。为了克服失步和过冲现象,应在步进电机启停时进行如图1 所示的升降速控制。600)this.width=600”border=0>从图1 可以看出,L2 段为恒速运行,L1 段为升频,L3 段为降频,按照“失步”的定义,如果在L1 及L3 段上升及下降的控制 频率变化大于步进电机的响应频率变化,步进电机就会失步,失步会导致步进 电机停转,经常会影响系统的正常工作,因此,在步进电机变速运行中,必须 进行正确的升降速控制。以下按不同的控制单元,介绍几种常用的步进电机升 降速控制方法。1、运动控制卡作上位控制单元——以MPC01 系列运动卡为例MPC01 系列运动控制卡可以作为PC 机运动控制系统的核心控制单元。卡上的专用运动控制芯片可自动进行升降速计算。其运动控制函数库中也有专门进行

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

四相步进电机控制系统设计资料讲解

四相步进电机控制系 统设计

课题:四相五线单4拍步进制电动机的正反转控制专业:机械电子工程 班级:2班 学号: 20110259 姓名:周后银 指导教师:李立成 设计日期: 2014.6.9~2014.6.20 成绩:

1概述 本实验旨在通过控制STC89C52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转10s、反转10s,连续运行1分钟,并用1602液晶显示屏显示出来。 具体工作过程是:给系统上电后,按下启动开关,步进电机按照预先 实验具体用到的仪器:STC89C52芯片、开关单元、四项步进电机、等硬件设 备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路、1602液晶显示屏显示电路。 2四相步进电机 2.1步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2步进电机的控制 1.换相顺序控制:通电换相这一过程称为脉冲分配。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进 电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就 转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3步进电机的驱动模块 ABCD四相工作指示灯指示四相五线步进电机的工作状态 2.4步进电机的工作过程 开关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相绕组产生错齿,

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

优秀设计 3333学院 毕业设计(论文)说明书 题目步进电机指数规律升降速的 单片机控制系统设计 学生 系别机电工程系 专业班级机械设计制造及自动化机电 学号 指导老师

3333学院 毕业设计(论文)任务书 设计(论文)题目:步进电机指数规律升降速的单片机控制系统设计系:机电工程系专业:机电一体化班级:学号: 学生:指导教师: 接受任务时间 教研室主任(签名)系主任(签名) 1.毕业设计(论文)的主要内容及基本要求 用单片机对步进电机进行三相六拍的控制,通过软硬件设计,实现电机指数规律升降速。 (1) 系统总体方案拟定; (2) 数学模型建立,求控制算法; (3) 硬件设计; (4) 软件设计; 编写设计说明书,完成系统控制硬件图1张 A 2; 2.指定查阅的主要参考文献及说明 (1) 《机电一体化系统设计》 (2) 《计算机控制系统分析与设计》 (3) 《单片机应用设计》 (4) 《电子电工技术》 (5) 《C语言程序设计》 (6) 《机床电气控制》 注:本表在学生接受任务时下达

摘要 从步进电机的矩-频特性可知,启动频率越高,启动转矩越小,带动负载的能力越差。当启动频率较高时,启动时会造成失步,而停止时由于惯性作用又会发生过冲,所以在步进电机控制中必须要采取升降速控制措施。本文根据步进电机的动力学方程和矩-频特性曲线建立系统的数学模型,采用指数规律的升降速算法,以单片机为核心对步进电机进行并行控制。系统的软件设计由C51 语言编程来实现。并设计了检测系统用于对步进电机转速和步数的检测。最后,本系统可以实现以下功能:在显示器的提示下,由键盘输入运行的步数和稳定运行的速度;由各个功能键控制系统的运行,按启动键后,步进电机按照输入的步数进行走步;如在运行期间按停止键,则步进电机停止运行。研究表明,采用指数规律的升降速曲线将大大地提高微机控制步进电机的最高工作频率,大大缩短所需的升降速时间。 关键词:步进电机,单片机,速度控制,C51 语言

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

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

编号: 综合智能电子 实训 (论文)说明书题目: 院(系):使用科技学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 2010年 1 月 6 日

目录 引言 第1章简介 1.1 步进电机 第2章步进电机原理 2.1 步进电机的工作原理 2.1.1结构及基本原理 2.1.2 电机的步进顺序 第3章系统的硬件设计 3.1 系统设计方案 3.2 主从机硬件部件介绍 3.2.1A T89S51简介 3.2.2 TGI2864E简介 3.2.3MAX485 串行通信 3.2.4TIP122 3.2.5 MOC70T2 3.3 LCD显示电路设计 3.4 电机驱动模块设计 第4章系统的软件实现 4.1 系统软件主流程图 4.2 系统初始化流程图 4.3 部分子程序 第五章总结 致谢 参考文献 摘要:本文使用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的使用实例。

关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真 In this paper, microcontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, the stepper motor control system application examples.

基于单片机的步进电机控制系统的设计_毕业设计

本科毕业设计 基于单片机的步进电机控制系统的设计

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD显示模块、步进电机驱动模块、位置检测模块共5个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、位置采集模块。 本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使用。关键词:单片机步进电机液晶显示键盘驱动

Design of the Stepping Motor Control System Based on SCM Qiu Haizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China) Abstract:With the development of automatic control system and the requirements of high-precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes, motor driver handler, the display module, position acquisition module. This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance; Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable ; Display the running distance and the actual running distance, which is more convenient for the operator to use. Key words: SCM stepper LCD keyboard driver

步进电机升降速曲线控制系统设计及其应用_王勇

控制工程Control Engineering of China Sep .2008Vol .15,No .5 2008年9月第15卷第5期文章编号:1671-7848(2008)05-0576-04 收稿日期:2007-05-31; 收修定稿日期:2007-08-05 基金项目:国家自然科学基金资助项目(60534010) 作者简介:王 勇(1977-),男,辽宁大连人,博士,主要研究方向为电动机伺服控制等;王 伟(1955-),男,(满族),教授,博士生 导师。 步进电机升降速曲线控制系统设计及其应用 王 勇,王 伟,杨文涛 (大连理工大学信息与控制研究中心,辽宁大连 116023) 摘 要:使用PLC 模块搭建步进电机控制系统时,系统灵活性差、造价高。针对此问题,提出基于AR M7微处理器的步进电机的嵌入式控制系统,并进行了两种步进电机升降速曲线的 设计与实现,给出了这两种曲线在工业定长嵌入式控制系统中的应用对比。实际运行表明,采用提出的升降速曲线策略的步进电机控制系统在未增加成本的情况下,有效抑制了失步和过冲现象,避免了机械柔性冲击,延长了系统寿命,提高了生产效率。关 键 词:步进电机;升降速曲线;嵌入式系统;AR M7微处理器中图分类号:TP 202 文献标识码:A Control System Design of Acceleration and Deceleration Curves of Stepping Motor and Its Application W ANG Yong ,W A NG W ei ,YA NG Wen -tao (Res earch Center of Information and Control ,Dalian Univers it y of Technol ogy ,Dalian 116023,China ) A bstract :The step motor is a kind of electric actuator that transfers electrical pulses into angular displacement .It is wildl y used in all kinds of open -loop control s y stems because of its no cumulative error and easy control .To the problem that PLC used in the control of step motor has disadvantages of high price and being unhandy in the system structure ,an ARM7processor based embedded control s y stem is proposed for step motor and two kinds of acceleration and deceleration curves are designed and implemented .An application comparison is given in the industrial constant length control .The results show that the proposed methods improve the out -of -step and overshoot performance of step motor s ystem and prolong the system life without more cost . Key words :step motor ;acceleration deceleration curve ;embedded system ;ARM7processor 1 引 言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。通常的步进电机控制系统设计是使用PLC 模块搭建系统。这种设计方案简单,硬件可选范围广,并且软件编程容易,直接通过梯形图编程即可完成相应功能。但PLC 系统造价高,系统灵活性差,针对某个具体应用场合,很难选择出一套完全与应用吻合的系统,往往造成系统资源浪费。并且在某些特殊应用的情况下,有些技术细节很难实现。 针对上述问题,本文提出基于AR M7微处理器的步进电机的嵌入式控制系统。在简要介绍使用ARM7对步进电机实现控制的基础上,进行了两种 步进电机升降速曲线,即分段线性加速[1] 和S 型曲 线加速[2] 的设计与实现,并且给出这两种曲线在工业定长系统中的应用对比。 2 升降速曲线控制系统结构 升降速曲线控制系统结构,如图1所示。 图1 升降速曲线控制系统结构 Fig .1 Control system frame for acceleration deceleration curve ARM 系列微处理器是32位高性能处理器的主要产品之一。其他的类似产品主要有PowerPC ,68K ,MIPS 等系列。而这其中AR M 控制器则是凭 DOI :10.14107/j .cn ki .kzgc .2008.05.003

基于单片机的步进电机驱动控制

基于单片机的步进电机驱动控制 一、步进电机概述 1.步进电机的定义 步进电机指的是以数字脉冲信号作为电机线或教位移的控制信号,并以数字脉冲频率对电机的转速进行控制的动力控制系统。 在负载正常范围的情况下,步进电机的运行状态只和数字脉冲发生器提供的信号的频率和脉冲占空比有关,一般情况下,电机的状态不受负载的影响。电机的运行角度只和每次所给予的脉冲信号强度有关,而电机的运行速度也只和脉冲信号的频率有直接关 系。这种采用弱点控制强电的控制方式使得步进电机在速度、位移等控制领域有着普通电机不能比拟的优势。 2.驱动控制系统框图 步进电机控制系统有着精确控制、运行稳定的特性,这一其他电机不能比拟的优势使得步进电机得到了广泛的应用。而一般对步进电机控制系统的驱动必须要包含脉冲信 号发生部分,功放部分和驱动控制部分等几个模块电路,我们根据这些通过的模块电路,可将步进电机控制系统的通用框图绘制如下: 在上图的步进电机驱动控制系统方框图中,控制步进电机运行状态的脉冲信号一 般由集成芯片产生,可以是单片机、等智能芯片,也可以是一般的数字电路集成芯片。信号分配环节则要根据步进电机的型号来选择,如四相步进电机有四相四拍和四相 八拍种信号分配的方式;两相步进电机有两相四拍和八拍等脉冲加载形式。功放部分 在驱动环节上显得尤为重要。动态平均电流是步进电机转矩大小的决定因素,前提条件 是电机的速度。电机力矩与平均电流成正比,驱动系统对电机的反电势消弱越多,则平 均电流就越大。 我们一般可以用恒压和恒压串电阻的方法来驱动,或者在条件允许的情况下我们可以用高低压驱动、恒流和细分数等方法来驱动实际的应用过程种,多采用数字集成驱 动芯片作为步进电机的驱动手段。 二、现阶段国内外步进电机驱动的常用方式 1.变频器控制方式 使用变频器对步进电机进行驱动控制时,可以很好的解决步进电机在启动和停止时 容易失步的问题,提高了系统的控制精度。但是变频器的应用成本较高,结构和操作也 比较复杂,无形中提高步进电机的控制难度。 2.PLC控制方式 使用ABB、西门子、欧姆龙等国际知名生产制造商研发的系列产品可以 实现对步进电机的理想化控制,但是基于核心的步进电机控制系统成本高昂,且 难以实现精确控制,在本系统中不太适合。 3.单片机控制方式 随着嵌入式系统在工业控制领域中的广泛应用,以单片机特别是系列单片机 作为控制核心的步进电机控制电路在生产生活领域得到了普及,单片机有着大规模数字

完整的单片机控制步进电机程序

#include "reg52.h" #include "INTRINS.H" #include #include #define uint unsigned int #define uchar unsigned char void check_addr(void); /*地址核对*/ uchar code slave_addr[4]={00, 01, 02, 255}; /*从机地址*/ uchar idata T0low, T0high,common_count,input_order,cmd_in_permit,interval; uchar sent_ok,speed_change,start_up,start_end,address_true,i; uint y1; uint code add[100]={60006,62771,63693,64154,64430,64614,64746,64845,64922,64983,65033,65075,651 11,65141,65167,65190,65211,65229,65245,65260,65273,65285,65296,65306,65315,65323,65331 ,65339,65345,65352,65358,65363,65368,65373,65378,65382,65387,65390,65394,65398,65401,6 5404,65407,65410,65413,65416,65418,65421,65423,65425,65428,65430,65432,65434,65435,654 37,65439,65441,65442,65444,65445,65447,65448,65450,65451,65452,65453,65455,65456,65457 ,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65469,65470,6 5471,65472,65472,65473,65474,65475,65475,65476,65477,65477,65478,65478,65479,65480,654 80,65481}; sbit P2_0=P2^0; /*作输入步进电机的脉冲信号发送口*/ sbit P2_2=P2^2; /*作输入步进电机的旋转方向信号发送口*/ sbit P1_0=P1^0; /*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/ sbit WD=P1^7; /*看门狗*/ main() { P2_0=0; P2_2=0; /*步进电机的旋转方向待试验后确定*/ P1_0=1; /*开机时需要关断,串口发送功能,需要时再接通*/ WD=1; /*看门狗先为1,电平翻转为喂狗*/ i=0; common_count=0; cmd_in_permit=0; input_order=0; interval=0; address_true=1; speed_change=0; start_up=0;

步进电机控制系统设计.

毕业设计论文 论文题目:基于单片机的步进电机控制电路板设计 摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。 系统由硬件设计和软件设计两部分组成。其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。软件采用在Keil软件环境下编辑

************* 第1章绪论 1.1 课题背景 当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机、雕刻机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。控制核心采用C51芯片,它以其独特的低成本,小体积广受欢迎,当然其易编程也是不可多得的优点为此,本文设计了一个单片机控制步进电机的控制系统,可以实现对步进电机转动速度和转动方向的高效控制。 1.2 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。 1

步进电机升降速曲线控制方法

步进电机升降速曲线控制方法 技术分类:电机与运动控制发表时间:2007-07-09 在一些控制简单或要求低成本的运动控制系统中,经常用步进电机做执行元件。步进电机在这种应用场合下最大的优势是:可以开环方式控制而无需反馈就能对位置和速度进行控制。但也正是因为负载位置对控制电路没有反馈,步进电机就必须正确响应每次励磁变化。如果励磁频率选择不当,电机不能够移到新的位置,那么实际的负载位置相对控制器所期待的位置出现永久误差,即发生失步现象或过冲现象。因此步进电机开环控制系统中,如何防止失步和过冲是开环控制系统能否正常运行的关键。 失步和过冲现象分别出现在步进电机启动和停止的时候。一般情况下,系统的极限启动频率比较低,而要求的运行速度往往比较高。如果系统以要求的运行速度直接启动,因为该速度已超过极限启动频率而不能正常启动,轻则可能发生丢步,重则根本不能启动,产生堵转。系统运行起来以后,如果达到终点时立即停止发送脉冲串,令其立即停止,则由于系统惯性作用,电机转子会转过平衡位置,如果负载的惯性很大,会使步进电机转子转到接近终点平衡位置的下一个平衡位置,并在该位置停下。 &nbs p; 为了克服失步和过冲现象,应在步进电机启停时进行如图1所示的升降速控制。 从图 1 可以看出,L2段为恒速运行,L1 段为升频,L3段为降频,按照“失步”的定义,如果在 L1 及 L3 段上升及下降的控制频率变化大于步进电机的响应频率变化,步进电机就会失步,失步会导致步进电机停转,经常会影响系统的正常工作,因此,在步进电机变速运行中,必须进行正确的升降速控制。

以下按不同的控制单元,介绍几种常用的步进电机升降速控制方法。 1、运动控制卡作上位控制单元——以MPC01系列运动卡为例 MPC01系列运动控制卡可以作为PC机运动控制系统的核心控制单元。卡上的专用运动控制芯片可自动进行升降速计算。其运动控制函数库中也有专门进行梯形升降速运动参数设置的函数——set_profile(int ch, double ls, double hs, double accel)。其参数定义如下: ch: 设定的轴号。 ls:?设定低速(起始速度)的值。单位为pps(脉冲/秒) hs: 设定高速(恒速段)的值。单位为pps(脉冲/秒) accel:设定加速度大小。单位为ppss(脉冲/秒/秒) 用户在调用运动指令函数时,只需指定总的脉冲数,运动控制卡上的专用运动控制芯片便按照set_profile函数设置的运动参数自动进行升降速计算,而不会占用PC机的CPU 资源。 2、用具有运动控制功能的PLC做上位控制单元——以松下FP0系列PLC为例 松下FP0系列PLC具有专用的运动控制指令,其CPU单元可自动进行图1所示的升降速计算。和MPC01系列运动控制卡相似,用户只需设置梯形速度的初速度ls、恒速hs、加速时间t和所需发的脉冲数P。运行此程序段,当PLC检测到输入端X2的一个上跳变时,便自动执行如图1所示的升降速脉冲输出功能。

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.doczj.com/doc/0b19426460.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

步进电机控制系统课程设计

河北xxxxxx学院 课程设计说明 书 题目:步进电机控制系统 学院(系): 年级专业: 学号: 学生姓名: 同组学生: 指导教师:

步进电机控制系统 设计者:xxxxx 指导老师:xxxx 1摘要: 由于步进电机自身的特点、不需要位置、速度等信号反馈,只需要脉冲发生器产生足够的脉冲数和合适的脉冲频率,就可以控制步进电机移动的距离和速度。步进电机的运转方向的控制为输入电机各绕组的通电顺序。例如,一个三相步进电机的通电顺序为:a—ab—b—bc—c—ca—a--.....,此时点击正转,若通电顺序改为:a—ac—c—cb—b—ba—a--.....时点击反转。既可以通过改变环形分配器的脉冲输出顺序,也可以通过编程改变输出脉冲的顺序,来改变输入到各绕组的通电顺序,达到控制电击方向的目的。 关键词:步进电机 PLC 步进电机驱动器 引言步进电机是一种常用的电气执行原件,一种多相或单相同步点击,在数控机床、包装机械等自动控制及检测仪表等方面得到广泛运用。随着plc的不短发展。其功能越来越强大,除了有简单的逻辑功能和顺序控制外,运算功能的加入、pid和各类高速指令、使得plc对复杂和特殊系统的控制应用更加广泛。Plc与数控技术的结合产生了各种不同类型的数控设备。 2 任务与要求 (1) 了解步进电机的原理 (2) 熟练使用PLC控制步进电机,了解步进电机驱动器原理 3 装置原理介绍 3.1控制系统功能框图 在步进电机控制系统中,首先控制步进电机使之稳步启动,然后高速运动,接近制定位置时,减速之后低速运动一段时间,在准确地停在预定的位置上,最后步进电机停留2s后,按照前进时的加速—高速—减速—低速的步骤返回到起始点,其运动状态转换过程平稳,其功能框图如图3.1所以,其简单工作过程如图3.2所示。 由于步进电机本身的结构特性决定了它要实现高速运转必须有加速过程,如果在启动时突然加载高频脉冲,电机会产生啸叫、失步甚至不能启动,在停止阶段也是这样,当高频脉冲突然降到零时,电机会产生啸叫和振动,所以在启动和停止时,都必须有一个加速和减速过程。 3.2步进电机控制系统硬件设计 由于步进电机的硬件结构特性,所以对输入的脉冲的频率有所限制,对于低频的脉冲输出时,plc可以利用定时器来完成。若要求步进电机的速度较快时,就需要用plc的高速脉冲输出指令,这时就需要在程序中设置相应的步骤来完成对步进电机的控制。 3.21 组建器材 (1)主机plc 根据系统的控制要求,采用三菱FX系统系列的plc作为控制器。(2)限位开关此系统中共用了两个限位开关:左限位开关和右限位开关。这两个限位开关的作用是控制物体的位置,防止物体超出合理的工作范围。 (3)步进电机步进电机是该系统的执行机构

51单片机控制步进电机程序及硬件电路图

#include static unsigned int count; //计数 static int step_index; //步进索引数,值为0-7 static bit turn; //步进电机转动方向 static bit stop_flag; //步进电机停止标志 static int speedlevel; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; //步进电机转速参数计数 void delay(unsigned int endcount); //延时函数,延时为endcount*0.5毫秒 void gorun(); //步进电机控制步进函数 void main(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许 TH0 = 0xFE;

TL0 = 0x0C; //设定时每隔0.5ms中断一次TR0 = 1; //开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do{ speedlevel = 2; delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0; }while(1); } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFE; TL0=0x0C; //设定时每隔0.5ms中断一次count++; spcount--; if(spcount<=0) { spcount = speedlevel; gorun(); } } void delay(unsigned int endcount) { count=0; do{}while(count

相关主题
文本预览
相关文档 最新文档