步进电机速度控制系统设计
- 格式:doc
- 大小:142.00 KB
- 文档页数:27
摘要步进电机是一种将输入的电脉冲信号变换为阶跃性角位移或直线位移的电机,既给一个脉冲信号,电机就转动一个角度或前进一步,故而又称为脉冲电机。
它输出的角位移与输入的脉冲数成正比,转速与脉冲频率成正比。
步近电机必须与驱动器、控制器配套使用才能完成工作要求。
本设计既有硬件电路设计,也包括软件电路设计。
其中硬件电路设计主要有键盘电路,串行显示电路,驱动电路等。
软件设计主要有主程序,键盘扫描子程序,串行显示子程序和延时子程序等。
硬件设计采用57BYG350A型号的步进电机,与其配套的驱动器型号为MS-3H057M系列驱动器。
采用AT89S51单片机对步进电机进行控制,通过4×4矩阵键盘对步进电机的状态进行控制,采用LED数码管来显示步进电机的运行步数和运行速度。
关键字:步进电机,AT89C51,硬件接口电路,软件模块AbstractTread into the electrical engineering(The Stepping Motors) is a kind of electricity pulse signal transformation that will input to jumpssex Cape move or the straight line to move for the rank of electrical engineering, since give a pulse signal, the electrical engineering turns to move an angle or fronts further, hence be called the pulse electrical engineering again.Its output's Cape move with the importation of pulse the number becomes the direct proportion, turning to become the direct proportion with the pulse frequency soon.Tread the near electrical engineering must then can complete the work request with actuator, the controller kit usage.The design of both hardware circuit design, including software design. One major hardware circuit design circuit has a keyboard, serial show circuit, the driver circuit. Software Design main main program, keyboard scanning routines, serial display routines and routines, and so delayed. 57 BYG350A hardware design using models of stepping motor, instead of supporting the drive models for MS-3H057M series drives. AT89S51 microcontroller used to stepping motor control, through the 4 × 4 matrix key board on the status of stepping motor control, the use of LED digital display of the stepping motor running steps and speed.Keyword: stepping motor,AT89S51, Hardware circuit, Software module1 绪论1.1 课题背景步进电机是一种将电脉冲转化为角位移的机电执行元件,每外加一个控制脉冲,电机就运行一步故称为步进电机或脉冲马达。
步进电机调速系统的建模与仿真步进电机调速系统的建模与仿真步进电机调速系统是一种常见的工业控制系统,它通常用于控制电机的转速和位置。
本文将按照步骤思考的方式,介绍步进电机调速系统的建模与仿真方法。
1. 确定系统需求和参数在开始建模之前,我们首先需要确定步进电机调速系统的需求和参数。
例如,我们需要知道电机的额定转速、最大转矩以及负载的惯性等。
这些参数将对系统的建模和仿真过程产生重要影响。
2. 绘制系统框图根据步进电机调速系统的工作原理,我们可以绘制出系统的框图。
框图是由各个组成部分和它们之间的关系组成的图形,有助于我们理清系统的功能和信号流动。
在步进电机调速系统中,通常包括电机、驱动器、编码器和控制器等组件。
3. 建立数学模型在建模过程中,我们需要将系统转化为数学模型。
对于步进电机调速系统,可以采用转子惯性、电机动力学方程和电机驱动器的特性等来建立数学模型。
根据这些模型,我们可以得到系统的状态方程和输出方程。
4. 设计控制策略设计控制策略是步进电机调速系统建模的重要一步。
根据系统的需求和数学模型,我们可以选择适合的控制策略。
常见的控制策略包括比例积分控制(PID)和模糊控制等。
选择合适的控制策略可以提高系统的稳定性和性能。
5. 进行仿真分析完成步进电机调速系统的建模和控制策略设计后,我们可以进行仿真分析。
使用仿真软件,我们可以将系统的数学模型输入,并模拟系统的运行情况。
通过仿真分析,我们可以评估系统的性能,例如转速响应、位置控制精度等。
6. 优化和调试在仿真分析过程中,我们可能会发现系统存在一些问题,例如过大的超调、不稳定等。
这时,我们需要进行优化和调试,尝试调整控制策略的参数,以改善系统的性能。
通过多次优化和调试,最终得到满足系统需求的步进电机调速系统。
总结通过以上步骤,我们可以建立步进电机调速系统的数学模型,并进行仿真分析。
这种建模与仿真的方法可以帮助我们更好地了解步进电机调速系统的工作原理和性能,为实际系统的设计和控制提供参考。
Design of PLC Control System for Stepper MotorWu Ziming,Zhao Weixue(Heilongjiang University of Business and Technology, Harbin, Heilongjiang 150025, CHN)【Abstract】Firstly, designs the overall scheme of the stepper motor speed regulation electrical control system, and analyzes and selects the functions of the existing stepper drive functional mod⁃ules based on the corresponding modules. It mainly includes PLC control module, sensor module, motor drive module, power supply, and other parts. Secondly, a programming tool for the stepper motor speed control electrical control system was provided to control the sensors and the specific program for controlling the motor, and automatic cyclic positioning was achieved. In the field ex⁃periment, the specific methods of multiple working modes of the system are debugged, the physical objects of step positioning are analyzed, and the man-machine interface is added to realize the vi⁃sualization of the step motor speed control system.Key words:stepper motor;PLC;sensors;man-machine interface1引言在工业4.0的时代,步进驱动自动化的应用越来越广泛,其中,又以基于PLC的自动化控制系统最先进。
课程设计报告单片机课程设计课程设计题目:步进电机无级调速系统设计姓名:学号:专业:班级:指导教师:10年4月29 日目录摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。
采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。
软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。
本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。
软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。
软件采用在Keil软件环境下编辑的C语言。
本系统具有智能性、实用性及可靠性的特点。
本控制系统的设计采用实验室中的试验箱单片机控制,通过人为按动各开关实现步进电机的开关,以及电机的加速及减速功能,另外还增加可设正反转的功能,具有灵活方便、适应范围广易懂的特点,能够满足实现自身实践动手能力提高的需求。
如何控制步进电机速度(即如何计算脉冲频率)步进电机是一种常用的控制器件,它通过接收脉冲信号来进行精确的位置控制。
控制步进电机的速度就是控制脉冲的频率,也就是发送给电机的脉冲数目和时间的关系。
下面将介绍几种常见的方法来控制步进电机的速度。
1.简单定频控制方法:这种方法通过固定每秒脉冲数(也称为频率)来控制步进电机的速度。
通常,在开发步进电机控制系统时,我们会选择一个合适的频率,然后通过改变脉冲的间隔时间来调整步进电机的速度。
脉冲频率可以通过以下公式计算:频率=目标速度(转/秒)×每转需要的脉冲数。
2.脉冲宽度调制(PWM)控制方法:使用PWM调制技术可以在不改变脉冲频率的情况下改变脉冲的时间宽度,从而控制步进电机的速度。
通过改变每个脉冲的高电平时间和低电平时间的比例,可以实现步进电机的速度控制。
较长的高电平时间会导致步进电机转动较快,而较短的高电平时间会导致步进电机转动较慢。
3.脉冲加速与减速控制方法:步进电机的加速和减速是通过改变脉冲信号的频率和间隔时间来实现的。
在加速时,脉冲的频率逐渐增加,间隔时间逐渐减小,从而使步进电机从静止状态加速到目标速度。
在减速时,脉冲的频率逐渐减小,间隔时间逐渐增加,从而使步进电机从目标速度减速到静止状态。
在实际应用中,可以通过编程控制脉冲信号的频率来控制步进电机的速度。
根据不同的需求,可以选择适合的控制方法来实现步进电机的精准控制。
除了控制脉冲频率,步进电机的速度还受到其他因素的影响,如驱动器的最大输出速度、电机的最大速度等。
因此,在进行步进电机速度控制时,还需要考虑这些因素,并做好相应的调整以确保步进电机的正常运行。
基于stm32的步进电机控制系统设计与实现基于STM32的步进电机控制系统设计与实现1. 概述步进电机是一种非常常见的电动机,在许多自动化系统和工控设备中得到广泛应用。
它们具有精准的定位能力和高效的控制性能。
本文将介绍如何使用STM32微控制器来设计和实现步进电机控制系统。
2. 硬件设计首先需要确定步进电机的规格和要求,包括步距角、相数、电流和电压等。
根据步进电机的规格,选择合适的驱动器芯片,常见的有L298N、DRV8825等。
接下来,将选定的驱动器芯片与STM32微控制器相连。
通常,步进电机的控制信号需要使用到微控制器的GPIO引脚,同时由于步进电机的工作电流比较大,需要使用到微控制器的PWM输出信号来调节驱动器芯片的电流限制。
除此之外,还需要一个电源电路来提供驱动器和步进电机所需的电源。
可以选择使用一个电源模块,也可以自行设计电源电路。
3. 软件设计软件设计是步进电机控制系统的核心部分,主要包括步进电机驱动代码的编写和控制算法的实现。
首先,需要在STM32的开发环境中编写步进电机驱动代码。
根据所选的驱动器芯片和步进电机规格,编写相应的GPIO控制代码和PWM输出代码。
同时,可以添加一些保护性的代码,例如过流保护和过热保护等。
接下来,需要设计和实现步进电机的控制算法。
步进电机的控制算法通常是基于位置控制或速度控制的。
对于位置控制,可以使用开环控制或闭环控制,闭环控制通常需要使用到步进电机的编码器。
对于开环控制,可以通过控制步进电机的脉冲数来控制位置。
通过控制脉冲的频率和方向,可以实现步进电机的转动和停止。
这种方法简单直接,但是定位精度有限。
对于闭环控制,可以使用PID控制算法或者更高级的控制算法来实现位置控制。
通过读取步进电机的编码器反馈信号,可以实时调整控制输出。
这种方法可以提高定位精度和抗干扰能力,但是算法实现相对复杂。
4. 系统实现在完成硬件设计和软件设计后,可以进行系统的调试和实现。
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于stm32103的步进电机控制系统设计步进电机是一类常用的电机,广泛应用于控制系统中。
本文旨在介绍步进电机及其在控制系统中的应用,并概述本文的研究目的和重要性。
步进电机是一种将电脉冲信号转换为旋转运动的电机。
构成和工作方式步进电机由定子、转子和驱动电路组成。
定子是电磁铁,可以根据输入的电流控制电磁铁产生磁场。
转子是由磁性材料制成的旋转部分,定子的磁场会使得转子受到磁力的作用而旋转。
步进电机的工作方式是通过不断输入脉冲信号来控制电机的运动。
每一次输入一个脉冲信号,步进电机就会转动一定的步进角度。
步进角度取决于步进电机的类型和驱动电路的设置,常见的步进角度有1.8度和0.9度。
输入脉冲信号旋转的步进角度输入脉冲信号的频率和方向决定了步进电机的转动速度和方向。
每一个脉冲信号的到来,步进电机会按照预定的步进角度旋转。
例如,若步进电机的步进角度为1.8度,那么每接收一个脉冲信号,步进电机就会旋转1.8度的角度。
综上所述,步进电机通过输入脉冲信号实现了精确而可控的旋转运动。
本文将阐述基于STM单片机的步进电机控制系统设计。
该设计包括硬件电路设计和软件程序设计。
本文将介绍如何通过STM与步进电机进行通信和控制,以实现预定的步进运动。
步进电机控制系统的硬件电路设计主要包括以下部分:步进电机驱动电路:通过STM的GPIO口控制步进电机驱动电路,实现电机的正转、反转和停止等操作。
电源电路:为步进电机提供稳定的电源供电,保证系统正常工作。
外设接口:设计相应的接口电路,实现STM与外部设备的连接。
步进电机控制系统的软件程序设计主要涉及以下方面:初始化设置:在程序开始运行时,对STM进行初始化设置,包括引脚配置、时钟设置等。
步进电机驱动程序:编写相应的程序代码,通过GPIO口控制步进电机的驱动电路,实现电机的正转、反转和停止等操作。
运动控制程序:编写相应的程序代码,通过控制步进电机的驱动电路,实现预定的步进运动,包括移动一定的步数、以特定的速度旋转等。
基于单片机的步进电机控制系统设计引言:步进电机是一种常用的电机类型,具有精准的位置控制、高效的能量转换等特点。
在许多自动化设备中广泛应用,如数控机床、3D打印机、机器人等。
本文将以基于单片机的步进电机控制系统设计为主题,介绍系统的硬件设计、软件设计以及实验验证。
一、硬件设计1.步进电机选型:根据实际应用需求,选择适当的步进电机。
包括步距角、转速范围、扭矩要求等等。
2.电源设计:步进电机需要驱动电压和电流,根据步进电机的额定电压和电流选用适当的电源。
3.驱动电路设计:步进电机通常需要驱动电路来控制电流和脉冲序列。
常见的驱动电路有全桥驱动器、半桥驱动器等。
4.信号发生器设计:步进电机通过脉冲信号来控制转动角度和速度,因此需要信号发生器来产生合适的脉冲序列。
常见的信号发生器有定时器、计数器等。
5.单片机接口设计:单片机作为步进电机控制系统的核心,需要与其他硬件进行通信。
因此需要设计合适的接口电路,将单片机的输出信号转换为驱动电路和信号发生器所需的电压和电流。
二、软件设计1.单片机程序框架设计:根据具体的单片机型号和开发环境,设计合适的程序框架。
包括初始化设置、主循环、中断处理等。
2.脉冲生成程序设计:根据步进电机的控制方式(如全步进、半步进、微步进等),设计脉冲生成程序。
通过适当的延时和输出信号控制,产生合适的脉冲序列。
3.运动控制程序设计:设计运动控制程序,实现步进电机的前进、后退、加速、减速等功能。
根据具体需求,可以设计不同的运动控制算法,如速度环控制、位置环控制等。
4.保护机制设计:为了保护步进电机和控制系统,设计合适的保护机制。
如过流保护、过压保护、过载保护等。
三、实验验证1.硬件连接:将步进电机、驱动电路和单片机按照设计进行连接。
2.软件调试:通过单片机编程,调试程序代码。
确保脉冲生成、运动控制等功能正常工作。
3.功能测试:对步进电机控制系统进行功能测试,包括正转、反转、加速、减速等功能。
通过观察步进电机的运动状态和测量相关参数来验证系统设计的正确性和性能。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。
本设计运用了8086 CPU芯片以及74273芯片、8255A芯片和步进电机以及7位小功率驱动芯片ULN2003A、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。
绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。
该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速。
关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统1、课程设计任务书1.1任务和目的 (4)1.2设计题目 (4)1.3内容和要求 (4)1.4列出使用元器件和设备清单 (4)2、绪论 (4)3、步进电机的总体方案 (6)4、步进电机的硬件设计 (7)4.1总体设计思路 (7)4.2电路原理图 (10)4.3线路连接图 (11)5、步进电机软件设计 (12)5. 1流程图 (12)5.2控制程序 (14)&调试说明 (19)6.1调试过程 (19)6.2调试缺陷 (19)7、总结收获 (19)8、参考文献 (20)附录:元器件及设计清单1. 课程设计任务书1.1任务和目的掌握微机硬件和软件综合设计的方法。
1.2设计题目步进电机控制系统设计1.3内容和要求1. 基本要求:控制步进电机转动,要求转速1步/1秒;设计实现接口驱动电路。
2. 提高要求:改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3挡);1.4列出使用元器件和设备清单8086cpu可编程并行接口8255指示灯键盘74LS138译码器驱动模块步进电机2. 绪论步进电机又称脉冲电动机或阶跃电动机,国外一般称为Step motor或Steeping motor、Stepper servo Steppe,等等。
附一:封面**********学院毕业设计(论文)题目:步进电机控制系统设计专业:班级:姓名:学号:指导教师:2055 年 5 月 5 日附二:成绩评议表*************学院毕业设计(论文)成绩评议专业班级姓名学号题目步进电机控制系统设计指导教师评阅成绩评定:指导教师:年月日评阅教师意见评阅教师:年月日答辩小组意见答辩小组负责人:年月日中文摘要1、步进电机概述列出了步进电机的特点、技术参数和分类,并阐述了详细调速原理。
2、方案的论证确定了步进电机的控制方法、驱动方式、驱动电路以及基本方案。
3、硬件电路的设计对单片机、步进电机、驱动电路、显示电路与键盘、反馈电路进行了选择,并设计了电源电路、抗干扰及看门狗电路。
4、软件的设计对显示子程序、键盘子程序、驱动程序流程进行了设计,并绘制了正反转程序流程图。
5、总结关键词:步进电机 单片机 调速系统目录前言-----------------------------------------------05第一章步进电机概述---------------------------------061.1 步进电机的特点-----------------------------061.2 步进电机的技术参数-------------------------071.2.1步进电机的基本参数---------------------071.2.2步进电机动态指标及术语-----------------081.3步进电机的分类------------------------------101.4步进电机详细调速原理------------------------12第二章方案的论证-----------------------------------142.1控制方式的确定------------------------------142.2驱动方式的确定------------------------------162.3驱动电路的选择------------------------------172.4基本方案的确定------------------------------18第三章硬件电路的设计-------------------------------203.1单片机的选择--------------------------------203.1.1单片机的选择---------------------------203.1.2主要特性-------------------------------223.2步进电机的选择------------------------------233.2.1三相单三拍通电方式---------------------243.2.2三相双三拍通电方式---------------------253.3驱动电路的选择------------------------------293.4显示电路与键盘的选择------------------------313.5反馈电路的选择------------------------------34第四章软件的设计-----------------------------------374.1显示子程序的设计----------------------------374.2键盘子程序的设计----------------------------374.3驱动程序流程的设计--------------------------384.4正反转程序流程图----------------------------394.4.1正反转程序流程图----------------------394.4.2转速快慢程序流程图--------------------404.4.3定时中断流程图------------------------41五总结-------------------------------------------42前言第一章步进电机概述1.1步进电机的特点:1)一般步进电机的精度为步进角的3-5%,且不累积。
基于STM32的步进电机控制系统设计与实现1. 引言步进电机是一种常见的电动机类型,具有定位准确、结构简单、控制方便等优点,在自动化控制领域得到广泛应用。
本文将介绍基于STM32单片机的步进电机控制系统设计与实现,包括硬件设计、软件开发和系统测试等内容。
2. 硬件设计2.1 步进电机原理步进电机是一种将输入脉冲信号转换为角位移的设备。
其工作原理是通过改变相邻两相之间的电流顺序来实现转子旋转。
常见的步进电机有两相、三相和五相等不同类型。
2.2 STM32单片机选择在本设计中,我们选择了STM32系列单片机作为控制器。
STM32具有丰富的外设资源和强大的计算能力,非常适合用于步进电机控制系统。
2.3 步进电机驱动模块设计为了实现对步进电机的精确控制,我们需要设计一个步进电机驱动模块。
该模块主要包括功率放大器、驱动芯片和保护电路等部分。
2.4 电源供应设计步进电机控制系统需要稳定可靠的电源供应。
我们设计了一个电源模块,用于为整个系统提供稳定的直流电源。
3. 软件开发3.1 开发环境搭建在软件开发过程中,我们需要搭建相应的开发环境。
首先安装Keil MDK集成开发环境,并选择适合的STM32单片机系列进行配置。
3.2 步进电机控制算法步进电机控制算法是实现步进电机精确控制的关键。
我们可以采用脉冲计数法、速度闭环控制等方法来实现对步进电机的位置和速度控制。
3.3 驱动程序编写根据硬件设计和步进电机控制算法,我们编写相应的驱动程序。
该程序主要负责将控制信号转换为驱动模块所需的脉冲信号,并通过GPIO口输出。
3.4 系统调试与优化在完成软件编写后,我们需要对系统进行调试和优化。
通过调试工具和示波器等设备,对系统进行性能测试和功能验证,以确保系统工作正常。
4. 系统测试与评估在完成硬件设计和软件开发后,我们需要对系统进行全面的测试和评估。
主要包括功能测试、性能测试和稳定性测试等内容。
4.1 功能测试功能测试主要验证系统是否按照预期工作。
步进电机控制系统的设计
步进电机控制系统是一种常见的电机控制系统,用于控制步进电机的速度和方向。
设计步进电机控制系统需要考虑以下几个方面:
1. 选择合适的步进电机:根据应用场景,选择适合的步进电机型号和规格。
根据步进电机的电阻、电感等参数,计算出合适的电流和电压。
2. 选择合适的驱动器:根据步进电机的规格和控制要求,选择适合的驱动器型号。
常见的驱动器有常流驱动器和常压驱动器两种。
常流驱动器适用于控制步进电机的转速和保证输出力矩的精度;常压驱动器适用于控制步进电机的位置和运动精度。
3. 设计控制电路:根据步进电机的控制要求,设计相应的控制电路,包括信号输入电路、脉冲控制电路和电源电路。
根据实际需求,可以选择使用微控制器、PLC或者其他控制器实现控制。
4. 编写控制程序:根据实际控制要求,编写相应的控制程序。
程序可以使用各种高级语言编写,如C语言、Python等。
5. 测试和调试:完成步进电机控制系统的设计后,需要进行测试和调试。
测试包括电路测试和控制程序测试。
进行测试时需要注意安全,避免电路短路、过载等问题。
在调试过程中,需要根据测试结果进行调整优化,直到达到预期的控制效果。
总之,步进电机控制系统的设计需要充分考虑电机的规格和控制要求,选择合适的驱动器和控制器,设计合适的控制电路和编写适合的控制程序,并进行充分的测试和调试。
步进电机调速系统一.设计目的1.掌握步进电机的工作原理及控制方法2.了解控制步进电机转速的原理3.进一步掌握微机接口中的相关知识4.熟悉设计系统的方法二.设计要求1.以8086极其支持电路为基础,配必要的存储器、定时系统、控制接口、驱动电路、LED显示接口等构成微机控制的电机调速系统。
2.对步进电机的工作原理进行分析,通过“启、停、转速”等按键命令,实现对电机的平稳启动、停止和不同速率上的匀速转动,并通过LED显示转速;3.方案设计中要突出信号的变换、驱动电路的设计和步进电机控制程序的编制;三.设计思路(1)步进电机基本原理所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,电机就回转动一次。
使用键盘控制方式能对步进电机的转动方向、速度和角度进行调节。
(2)步进电机激励方式步进电机有三相激励,也有四相激励的。
现以两相四拍为例说明。
2相激励。
这种方式的工作波形如图所示。
它可看作是一种周期信号,每个周期可以为四个状态。
显然,任何时刻步进电机都有两相绕组有电流。
每一状态,步进电机走一步。
四.设计内容1.程序流程图2. 源程序P8255_A EQU 9800HP8255_B EQU 9801HP8255_C EQU 9802HP8255_MODE EQU 9803HDELAY_SET EQU 07FH ;延时常数MY_STACK SEGMENT PARA 'STACK'DB 100 DUP(?)MY_STACK ENDSMY_DATA SEGMENT PARA 'DATA'BUF DB ?KVL DB 2 DUP(?) ;击键次数备份,键值PT DB ? ;显示缓冲区指针DSBUF DB 4 DUP(?) ;显示缓冲区KD DB ? ;数码管数据信号KH DB ? ;键盘行信号KL DB ? ;键盘列信号、数码管位选信号KV A DB ? ;键值备份KVB DB ? ;在闪烁子程序中保存显示器原有的数据COUNT2 DB ? ;击键次数COUNT4 DB ? ;连续击键次数KTB DB 48H ;0 键码DB 44H ;1DB 34H ;2DB 24H ;3DB 42H ;4DB 32H ;5DB 22H ;6DB 41H ;7DB 31H ;8DB 21H ;9DB 11H ;ADB 12H ;BDB 14H ;CDB 18H ;DDB 28H ;EDB 38H ;FDB 00H ;10SGTB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82HDB 0F8H,80H,90H,88H,83H,0C6H,0A1HDB 86H,8EH,0FFH,8CH,89H,8EH,0BFH,0F7H; CHAR DB 'MY_DATA ENDsMY_CODE SEGMENT PARA 'CODE'MY_PROC PROC FARASSUME CS:MY_CODE, DS:MY_DATA, SS:MY_STACK START: MOV AX,MY_DATAMOV DS,AXSSS: MOV DX,P8255_MODEMOV AL,81H ;写8255控制字A、B输出,C输入OUT DX,ALSTART1: MOV BX,OFFSET DSBUFMOV PT,BLMOV DSBUF,15H ;_MOV DSBUF+1,10H ;空格MOV DSBUF+2,10HMOV DSBUF+3,10H;START2: CALL BLINK3 ;键盘扫描、显示子程序、光标闪动START3: CALL CHAG ;转数字键处理程序; CALL DELAYJMP START2 ;转下一轮处理程序MY_PROC ENDpCHAG PROC NEARMOV BH,00HMOV BL,PTMOV AL,COUNT4MOV [BX],AL ;键值送到显示缓冲区中CMP BL,OFFSET [DSBUF+3]JNZ CHAG2mov BL,OFFSET DSBUFMOV PT,BLCHAG1: RETCHAG ENDpCHAG2: INC BLMOV PT,BLJMP CHAG1BLINK PROC NEARMOV CX,100H ;熄灭显示器时间常数MOV BH,00HMOV BL,PTMOV Al,[BX]MOV KVB,AL;保存原显示器数据MOV AL,10H ;填入熄灭显示器的码MOV [BX],ALBLINK1: CALL DSKS ;键盘扫描BLINK2: CMP COUNT4,10HJNZ BLINK6 ;键按下返回LOOP BLINK1 ;没键按下继续循环MOV AL,KVBMOV BL,PTMOV [BX],ALBLINK3: MOV CX,150H ;点亮显示器时间常数BLINK4: CALL DSKSBLINK5: CMP COUNT4,10HJNZ BLINK7 ;键按下返回LOOP BLINK4 ;没键按下继续循环JMP BLINKBLINK6: MOV AL,KVB ;恢复原显示器中的数据MOV BL,PTMOV [BX],ALBLINK7: RETBLINK ENDpDSKS PROC NEAR ;键盘扫描处理程序PUSH CXCALL DSUP ;显示CALL KBS ;键盘扫描MOV AL,KVL+1 ;取上次按键键值CMP KV A,AL ;与本次键值相比MOV AL,KVL ;按键次数MOV COUNT2,ALMOV AL,KVLMOV COUNT4,ALJZ DSKS1MOV COUNT2,0FFH ;不相等,重新赋值MOV COUNT4,0FFHDSKS1: DEC COUNT4CMP COUNT4,0F8H ;为E0?JZ DSKS3CMP COUNT4,0EH ;为0E?JZ DSKS3CMP COUNT4,00H ;为00?JZ DSKS2MOV COUNT4,10H ;赋值DEC COUNT2JMP DSKS4DSKS2: MOV COUNT4,0fH ;按下键时间足够长则为连续击键DSKS3: MOV AL,COUNT4MOV COUNT2,ALMOV AL,KV AMOV COUNT4,ALDSKS4: MOV AL,COUNT2MOV KVL,ALMOV AL,KV AMOV KVL+1,AL ;备份键值MOV AL,COUNT4POP CXRETDSKS ENDpDSUP PROC NEARPUSH CXMOV CX,04H ;显示器个数MOV KL,01H ;选中的显示器MOV BX,OFFSET DSBUFDSUP2: MOV AL,00HMOV DX,P8255_B ;关闭显示器OUT DX,ALMOV AL,[BX] ;取显示缓冲区中的数据PUSH BXMOV AH,00HMOV DI,AXMOV BX,OFFSET SGTB ;编码MOV AX,[BX+DI]MOV AH,00HPOP BXMOV DX,P8255_A ;送显示器显示OUT DX,ALINC BXMOV AL,KLMOV DX,P8255_B ;送位选信号OUT DX,ALROL AL,1MOV KL,ALCALL DELAY ;下一位PUSH CXMOV CX,-1LOOP $POP CXLOOP DSUP2POP CXMOV AL,00HMOV DX,P8255_B ;关闭显示器OUT DX,ALRETDSUP ENDpKBS PROC NEAR ;键盘扫描程序MOV DX,P8255_A ;清显示器MOV AL,0FFHOUT DX,ALMOV CX,04H ;送列数MOV KL,0FEH ;扫描列初始值KBS1: MOV AL,KLMOV DX,P8255_B ;逐列清零OUT DX,ALSAL AL,1MOV KL,ALMOV DX,P8255_C ;读行信号IN AL,DXNOT ALAND AL,0FHCMP AL,00H ;是否有键按下JNZ KBS2LOOP KBS1 ;没键扫描下一列KBS2: CMP AL,0C0HJMP K0CMP AL, 0F9HJMP K1CMP AL, 0A4HJMP K2CMP AL ,0B0HJMP DSUP2K0:MOV BL,18HCALL DELAYMOV AL,BUFROR AL,1MOV BUF,ALJMP DSUP2K1:MOV BL,20HCALL DELAYMOV AL,BUFROL AL,1MOV BUF,ALJMP DSUP2K2:MOV BL,30HCALL DELAYMOV AL,BUFROR AL,1MOV BUF,ALJMP DSUP2MOV BX,CXMOV CX,04H ;拼装键号SAL BX,CLMOV CX,BXOR AL,CLMOV KV A,ALMOV DI,10H ;键盘个数MOV BX,OFFSET KTBKBS3: MOV AL,[BX+DI]CMP AL, KV A ;计算键值,无键按下返回00HJNZ KBS5KBS4: MOV AX,DIMOV KV A,AL ;保存键值CALL BREAKRETKBS5: DEC DIMOV AX,DICMP AL,00HJNZ KBS3JMP KBS4KBS ENDpDELAY PROC NEAR ;延时程序PUSHFPUSH DXPUSH CXMOV DX,DELAY_SETD1: MOV CX,-1D2: DEC BLDEC CXJNZ D2DEC DXJNZ D1POP CXPOP DXPOPFRETDELAY ENDpBREAK PROC NEAR ;按任意键退出PUSHFPUSH AXPUSH DXMOV AH,06HMOV DL,0FFHINT 21HJE RETURNMOV AX,4C00HINT 21HRETURN: POP DXPOP AXPOPFRETBREAK ENDPMY_CODE ENDSEND START五.运行结果当按下键盘上的0键时,电机开始转动,当按下键盘上的1键时,电机开始正向转动,当按下键盘上的2键时,电机开始反向转动,当按下键盘上的3键时,电机停止转动。
基于51单片机的步进电机控制系统设计与实现步进电机控制系统是基于51单片机的一种控制系统,它主要用来控制步进电机的转动方向和转速等参数。
下面详细解释一下这个系统的设计和实现。
1. 系统硬件设计步进电机控制系统的硬件主要包括51单片机、驱动电路、步进电机和电源等部分。
其中,驱动电路是控制步进电机的关键,它通常采用L298N芯片或ULN2003芯片等常用的驱动模块。
在硬件设计方面,主要需要考虑以下几个方面:(1)步进电机的种类和规格,以便选择合适的驱动电路和电源。
(2)驱动电路的接线和参数设置,例如步进电机的相序、脉冲频率和电流大小等。
(3)电源的选取和参数设置,以满足系统的供电要求和安全性要求。
2. 系统软件设计步进电机控制系统的软件设计主要包括编写控制程序和调试程序。
其中,控制程序是用来实现步进电机的正转、反转、加速和减速等控制功能,而调试程序则用来检测系统的电路和程序的正确性和稳定性。
在软件设计方面,主要需要考虑以下几个方面:(1)确定控制程序的算法和流程,例如使用“循环控制法”或“PID控制法”等控制方法。
(2)选择编程语言和编译器,例如使用汇编语言或C语言等。
(3)编写具体的控制程序和调试程序,并进行测试和调试,以确保程序的正确性和稳定性。
3.系统实现步进电机控制系统的实现主要包括硬件组装和软件烧录两个部分。
在硬件组装方面,需要按照硬件设计图纸进行零部件的选取和电路的组装,同时进行电源和信号线的接入。
在软件烧录方面,需要使用专用的编程器将程序烧录到51单片机的芯片中,并进行相应的设置和校验。
总之,基于51单片机的步进电机控制系统是一个功能强大、应用广泛的控制系统,可以实现精密控制和自动化控制等多种应用,具有很高的实用价值和研究价值。
目录1 总体方案的确定 (1)1.1 对步进电机的分析 (1)1.2 电机的控制方案 (2)1.3 控制算法的方案 (3)1.4 串口通讯的模拟 (3)2 硬件的设计与实现 (4)2.1 微处理器的选择 (4)2.2 控制电路的实现 (4)2.3 键盘和显示电路 (6)3 软件的设计与实现 (6)3.1 控制信号输入程序 (7)3.2 步进电机控制程序设计 (8)3.3 程序分析及说明 (9)4 系统的仿真与调试 (10)4.1 程序的调试 (11)4.2 串口通信的调试 (11)4.3 调试结果及分析 (11)5 设计总结 (13)参考文献 (14)附录 (15)步进电机速度控制系统设计报告1 总体方案的确定系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。
由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。
此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。
1.1 对步进电机的分析步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。
在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。
步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。
很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。
因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。
步进电机的工作就是步进转动。
在一般的步进电机工作中,其电源都是采用单极性的直流电源。
要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。
本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。
常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。
混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。
单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。
1.2 电机的控制方案步进电机有三相、四相、五相、六相等多种,不同的电机又各有很多工作方式。
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器。
典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。
环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。
环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。
另一类是用硬件构成的环形分配器,通常称为硬环形分配器。
功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机目的。
图1 典型步进电机控制框图软环形分配即采用微机控制取代脉冲分配器,直接将控制信号分管脚送到驱动电路,常用的办法是通过编程输出内存中定义好的控制方式输出字。
这样,当步进电机的相数和控制方式确定之后,以一定规律输出控制字就可以了。
软环形分配用程序取代了脉冲分配器,一定程度上降低了成本。
但如果要预存的控制字很多,就会占用单片机较多内存。
此外,当所控制的步进电机相数较多,需要的输出管脚也会随之增加,这样就占用了单片机较多的数据口,降低接口的利用率的同时限制了单片机实现更多功能。
由于任务要求系统有键盘、显示以及串口控制等多个部分,且要控制两部电机,为留出更多的数据接口实现上述功能,设计选择常规的电机控制电路。
由脉冲分配器完成对电机绕组电平的时序控制(即脉冲分配),从而每个电机只需单片机对应输出一个触发信号(控制方向)和一组脉冲波(控制速度)即可。
要注意的是,对脉冲波频率的计算和输出控制没有直接输出控制字的方法精确,响应效果也会因脉冲分配器的存在而稍差一些。
1.3 控制算法的方案单片机对步进电机的控制算法也有多种,如上述的输出字法就是利用单片机内部的计时功能定时输出控制字,把对电机速度的控制转变为对两次输出时间间隔的控制。
控制算法很大程度决定于电机的控制方案。
上文选定的电机控制方案是要求单片机实时输出改变电机方向的触发信号和控制电机转速的脉冲信号。
对于电机方向的控制,由按键或串口控制指令改写对应的标志量的值并由接口输出即可。
对电机速度的控制就是对输出脉冲波频率的控制,而频率的大小是要有时间标尺衡量的。
单片机内部对输出频率的控制是通过两个中间变量的比较运算实现的:其中一个变量(以A代替)由单片机内部的计时器改写,表征时间量作为标尺;另一个变量(以B代替)由按键或串口控制指令改写,表征速度值(其大小可通过算数运算与实际速度相统一)。
程序在每次执行计时中断程序时改变一次电平:原来是高电平则变为低电平,原来是低电平则变为高电平。
显然,B值的大小直接决定了比较结果产生的快慢,即输出端高低电平变化的快慢。
改变B 的大小就可以改变输出的脉冲频率,从而控制步进电机的速度。
变量的使用不仅方便地实现了对输出脉冲频率的控制,还有利于实现多部步进电机的异步运行。
针对每个电机定义一个速度变量,分别与时间标量进行比较运算,比较结果控制各自的管脚电平变化。
用取反运算或者位异或运算改写管脚电平,可以有效控制输出电平而不互相干扰。
1.4 串口通讯的模拟单片机上有通用异步接收/发送器用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入。
有两个缓冲器SBUF,一个作发送缓冲器,另一个作接收缓冲器。
短距离的机间通讯可使用UART的TTL电平,使用驱动芯片可接成RS232C与通用微机进行通讯。
波特率时钟必须从内部定时器1或定时器2获得。
本设计运用软件模拟上位机控制端,经过串口输出控制信号到单片机串行口,形成区别于键盘的另一种控制方式。
2 硬件的设计与实现2.1 微处理器的选择AT89C51是一种带4K字节闪烁可编程可擦除只读存储器和128bytes随机存取数据存储器的低电压、高性能CMOS8位微处理器。
片内置通用8位中央处理器,采用ATMEL公司的高密度、非易失性存储技术的生产,兼容标准MCS-51指令系统。
AT89C51提供以下标准功能:4K字节Flash闪存存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器;一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一次硬件复位。
用AT89C51足以实现对步进电机的简单控制。
2.2 控制电路的实现常规步进电机的驱动是用ULN达林顿驱动器实现的,其内部含有多个达林顿管,适于感性负载的驱动。
本文所设计的步进电机控制驱动器的框路图如图2:图2 步进电机控制驱动器框图L297芯片是一种硬件环分集成芯片,可产生四相驱动信号,用于计算机控制的两相双极或四相单极步进电机。
其内部主要部分是一组译码器,能产生各种所需的相序。
这一部分是由两种输入模式控制,方向控制(CW/CCW)和HALF/FULL,以及步进式时钟CLOCK,能将译码器从一阶梯推进至另一阶梯。
译码器有四个输出点连接到输出逻辑部分,提供抑制和斩波功能所需的相序。
因此L297能产生三种相序信号,对应于三种不同的工作方式:即半步方式(HALF STEP),基本步距(FULL STEP,整步)一相激励方式,基本步距两相激励方式。
脉冲分配器内部是一个3bit可逆计数器,加上组合逻辑产生每周期8步格雷码时序信号,就是半步工作方式的时序信号,此时HALF/FULL信号为高电。
若HALF/FULL取低电平,得到基本步距工作方式,即双四拍全阶梯工作方式。
L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的矩频特性。
每个斩波器由一个比较器、一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号。
L298是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电动机和步进电动机等。
L298具有两抑制输入,可使器件不受输入信号影响。
每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻,还可安置另一输入电源,使逻辑能在低电压下工作。
L298芯片是具有15个引出脚的多瓦数直插式封装的集成芯片。
由L297和L298所组成的步进电机控制电路如图3所示。
这种控制电路的优点是需要的元件较少,装配线路简单,成本低,可靠性高,占空间少。
控制电路所需信号也比较简易,可以简化和减轻微型计算机的负担。
另外,L297和L298都是独立的芯片,所以组合和控制十分灵活。
但缺点是,所控制的电机类型以及运行方式会受芯片限制。
图3 步进电机控制电路2.3 键盘和显示电路本设计键盘采用低电平有效的独立键盘,用位运算进行键盘扫描。
显示选用LM016L液晶显示器,可同时显示两部电机的运行方向和速度。
加入通信串口,晶振以及相关配件后的系统总电路图如下,(系统调试后的完整电路图见附录):3 软件的设计与实现单片机是系统的核心,主要承担控制信号的接受,逻辑分析和运算,控制量的输出和显示的运算和输出等功能。
本程序采用模块化设计,针对上述功能主要包括主函数、键盘扫描、串口中断、计时中断和显示程序几个模块。
其中,主函数主要负责对单片机、内部元件及中断等工作方式进行定义和设定,并协调好各模块之间的运行时序,其流程图如下:图5 主函数流程图3.1 控制信号输入程序控制信号可以通过独立键盘和串口通讯两种方式输入。
键盘的输入主要是用扫描程序,即不停取键盘接口的逻辑值,与特定值进行位运算就可以识别键盘的控制信息。
串口通讯控制信号的输入也是利用了扫描,不过单片机内软件所要做的,主要是定义计数器工作及串口协议,如波特率等。
成功实现串口通讯后,对获得的数据编辑运算就可以形成对应的控制输出。
为避免两种方式的控制信号冲突,程序通过外接开关选定控制方式。